<?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>205445</bug_id>
          
          <creation_ts>2019-12-19 04:34:55 -0800</creation_ts>
          <short_desc>REGRESSION(r253683): [GTK][WPE] Lots of offscreen-canvas WPT tests failing</short_desc>
          <delta_ts>2020-01-13 16:10:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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>
          <dependson>205850</dependson>
          <blocked>205342</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Chris Lord">clord</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>clord</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fujii</cc>
    
    <cc>rego</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600227</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-12-19 04:34:55 -0800</bug_when>
    <thetext>r253683 broken all offscreen-canvas tests, which used the canvas-related files in LayoutTests/imported/w3c/web-platform-tests/common/ that were deleted by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600233</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-12-19 04:55:54 -0800</bug_when>
    <thetext>Skipped the tests in r253747

Please revert the changes from r253747 when fixing this issue so those tests run back</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600269</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-12-19 08:00:21 -0800</bug_when>
    <thetext>So after updating, there are some legitimate failures, I think because the tests are malformed... I&apos;ll see about fixing them in wpt -_-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600328</commentid>
    <comment_count>3</comment_count>
      <attachid>386113</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-19 09:43:38 -0800</bug_when>
    <thetext>Created attachment 386113
WIP Patch

I will let somebody else take over (update expected results) given that I am unable to run those tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600669</commentid>
    <comment_count>4</comment_count>
      <attachid>386195</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-12-20 03:29:11 -0800</bug_when>
    <thetext>Created attachment 386195
Update OffscreenCanvas tests and related files

WIP patch - Note, the fixed tests also expose a debug-only assert with ImageBitmap creation, so that needs to be fixed before this can be applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605045</commentid>
    <comment_count>5</comment_count>
      <attachid>387322</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-01-10 03:07:57 -0800</bug_when>
    <thetext>Created attachment 387322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605065</commentid>
    <comment_count>6</comment_count>
      <attachid>387322</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-01-10 04:37:22 -0800</bug_when>
    <thetext>Comment on attachment 387322
Patch

Removing flags while I investigate failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605130</commentid>
    <comment_count>7</comment_count>
      <attachid>387341</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-01-10 09:00:39 -0800</bug_when>
    <thetext>Created attachment 387341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605765</commentid>
    <comment_count>8</comment_count>
      <attachid>387507</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-01-13 01:41:31 -0800</bug_when>
    <thetext>Created attachment 387507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605788</commentid>
    <comment_count>9</comment_count>
      <attachid>387507</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-01-13 03:41:29 -0800</bug_when>
    <thetext>Comment on attachment 387507
Patch

Looking good now. One new test passing because of the resource update I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606118</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-13 16:04:45 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387507:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606122</commentid>
    <comment_count>11</comment_count>
      <attachid>387507</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-13 16:10:55 -0800</bug_when>
    <thetext>Comment on attachment 387507
Patch

Clearing flags on attachment: 387507

Committed r254467: &lt;https://trac.webkit.org/changeset/254467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606124</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-13 16:10:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386113</attachid>
            <date>2019-12-19 09:43:38 -0800</date>
            <delta_ts>2019-12-20 03:29:11 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>205445_wip.patch</filename>
            <type>text/plain</type>
            <size>2257535</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9NRVRBLnltbAppbmRleCBiY2IzMGVkMjc2
Ni4uZDNlNGMzODdlOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9NRVRBLnltbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvTUVUQS55
bWwKQEAgLTMsNSArMyw0IEBAIHN1Z2dlc3RlZF9yZXZpZXdlcnM6CiAgIC0gQW1lbGlhQlIKICAg
LSBhbm5ldmsKICAgLSBrZW5ydXNzZWxsCi0gIC0gamRhc2hnCiAgIC0gZnNlcmIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkuaHRtbAppbmRleCBiYzJlZDljZWU1
ZS4uNmNmODc3OWFiMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS5jYW52YXMuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmNvcHk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDkgKzM5LDcgQEAgcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdjb3B5JzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
MTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkud29ya2VyLmpzCmluZGV4IDM1ZGQzZDlm
YWNmLi5hYTBmMzlkZDJiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKICAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
ZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMuZGVzdGluYXRpb24tYXRvcC5odG1sCmluZGV4IGMzNmIyMzJiNmRkLi5iMDg2YTU0MjliYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRp
b24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzUsOSArMzksNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
ICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwog
ICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUwLDI1
IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpz
CmluZGV4IDE3MTgxY2I0MjI0Li4xODc4NWQ3NTA3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRl
c3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5k
ZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGY3MjQ5ZTQwNDIwLi40MDJmMmMzOTMxYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52
YXMuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDkg
KzM5LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiAgICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2Iiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCAxMjUwNGY5NTBhNy4uYTJlNDAz
YmY3N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNhbnZhcy5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7
CiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUi
LCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCmluZGV4IDQ1NGNmNzU0NGFj
Li5iY2NjNTBhZWEzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zNSw5ICszOSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRp
b24tb3V0JzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIs
ICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC53b3JrZXIu
anMKaW5kZXggZWQ4ODM1YmY2ZTMuLjNhZTkxZTM5NTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDI1NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRp
b24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24tb3Zlci5odG1sCmluZGV4IDg3MmJmZTA4YzhjLi44MTI4ZTExMDgzNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5j
YW52YXMuZGVzdGluYXRpb24tb3ZlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzUsOSArMzksNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOwogICAgIGN0eC5k
cmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwy
NTUsMTQ2LDIyMyIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCmluZGV4IDhk
MzUwYzVkZTkwLi4zNTgyN2Q0ZWE5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIuaHRtbAppbmRl
eCA3ODFiNmMxZGVlZi4uMjAwODNiNTc1ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5saWdodGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlcjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuY2FudmFzLmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM1LDkgKzM5LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdsaWdodGVyJzsKICAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwy
NTUiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMubGlnaHRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNh
bnZhcy5saWdodGVyLndvcmtlci5qcwppbmRleCAwNjBjNmEzZmZhMy4uNDc0YzI5OWQxYTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw5ICszNSw3
IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnbGlnaHRlcic7CiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTkxLDI1NSwxMjgsMjU1LCAiNTAsMjUiLCAiMTkxLDI1NSwxMjgsMjU1IiwgNSk7Ci19
KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Ut
YXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0
b3AuaHRtbAppbmRleCAyMmVlZGMwODEyMC4uMTZmYjlmYjNjODcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZh
cy5zb3VyY2UtYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw5ICszOSw3IEBAIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
c291cmNlLWF0b3AnOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUs
NjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2Vy
LmpzCmluZGV4IDAwMDViY2E0YzM3Li42ODkxNTJhZTZmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsOSArMzUsNyBAQCBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ3NvdXJjZS1hdG9wJzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi5odG1sCmluZGV4
IDU2NGI4NjQ0NTdiLi5iZjY5YjJkYzBhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zNSw5ICszOSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewog
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKICAgICBjdHgu
ZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1
LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggODJhNTA4ZTc1MjUuLmQ2ODA2OGJk
OWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3Vy
Y2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
LnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogICAgIGN0eC5kcmF3SW1h
Z2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
c291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291
cmNlLW91dC5odG1sCmluZGV4IDQzMWQ2YmNmMThlLi4yMTUxNGQzMmU1ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNh
bnZhcy5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsOSArMzksNyBAQCBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdXQnOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUs
MCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCmlu
ZGV4IGNlMTZkM2JjNmE2Li5mMzBiY2QxNjM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdz
b3VyY2Utb3V0JzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
OTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1sCmluZGV4IDEyM2FhNWU2
NGQ2Li41NDgxMGFmN2Y5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM1LDkgKzM5LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7CiAgICAgY3R4
LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTks
MjU1LDM2LDIyMyIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMKaW5kZXggYjVkY2ZmZjNjZDUu
LjVhOTBhZWRjMmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNh
bnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMSw5ICszNSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwog
ICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUi
LCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLnhvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMueG9yLmh0bWwKaW5kZXggNDlhZTZjMDhjNjguLjFjNWFkYTc4N2Q0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy54b3I8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM1LDkgKzM5LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogICAgIGN0eC5kcmF3SW1h
Z2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwx
MjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
Lnhvci53b3JrZXIuanMKaW5kZXggZjNkNTAyNTVhYzUuLjE2ZDFlOWJlOWIwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3Iud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDkgKzM1LDcgQEAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICd4b3InOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4
LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuY29weS5odG1sCmluZGV4IDQ3NjFiMDQ3YTY4Li44ZjBjYWE0NGVhZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5j
b3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZp
bGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwo
KSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5j
b3B5Lndvcmtlci5qcwppbmRleCBmYzRhNGNiNThkMS4uMjU2OTY0YTBhNjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sCmluZGV4IGFh
ODYzZDE1Yzc2Li43YjI4NDJkMjFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlv
bi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRl
eCA2YzU4MDc4ODllZC4uYjQwYjhmMTVhY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNp
ZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXgg
M2JkZTNmZjdjNWYuLjZhZDRiYzRiNTNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24t
aW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9u
LiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGJjY2YzYTg4
NjlhLi5lZGMwZTk4N2E1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJl
Z2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNWRlZDBiMzYxNTQu
LjNkM2U2NmJhNjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNs
aXAuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5m
aWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGZlZTExM2ExYzYxLi41
YzZhMzdhNDI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9u
LiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sCmluZGV4IDQ3NzZlMGUyMTYwLi5m
ODE3YjM4ODA0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZp
bGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA1MTE2ODQ0MTEz
ZC4uY2IxM2IzZDVlMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAubGlnaHRlci5odG1sCmluZGV4IGJmMWNkOGJiMWI0Li4wMDc5NjZlMGMxNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
Y2xpcC5saWdodGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5saWdodGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5saWdodGVyLndvcmtlci5qcwppbmRleCBlOWU5ZmM5Y2Q2My4uODQwZDEw
ZjkxMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdo
dGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGln
aHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBh
ZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Ut
YXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9w
Lmh0bWwKaW5kZXggM2EwZjBkZjVkZTYuLjJiMDAwMDFlNjlkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3A8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9u
LiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzCmluZGV4IGE2ZTBmZGNmODI4Li5k
YWY1ZTk2MGIyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LnNvdXJjZS1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAu
c291cmNlLWluLmh0bWwKaW5kZXggMTVlMGFlZTU1MzIuLjY4MDljODA5ZjU3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5z
b3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJl
Z2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lv
bi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDZiNTIwYzFiMzkyLi44MWU4
ZWMxOWVkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2Vz
IG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5z
b3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LW91dC5odG1sCmluZGV4IDk3ZGU0MmQ5YmEzLi5hMWM5YzNjNmIxYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5zb3Vy
Y2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9u
LiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA3MmE4ZjI5MTFiYi4uNGZi
ZWE1YzJiZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5z
b3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNs
aXAuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBk
b2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xp
cC5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1vdmVyLmh0bWwKaW5kZXggOWFjMjMxZDZhNDUuLjgzNjgwNmYyOWE4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNs
aXAuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2VyLmpzCmluZGV4IGE1OTQ2
MjY2NTE0Li5jZjA0YjFlMzhhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lv
bi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAueG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNs
aXAueG9yLmh0bWwKaW5kZXggZmI5OTU4NDg4OGMuLmNhMzRjY2U5YzA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC54b3I8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLmNsaXAueG9yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZm
ZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0
IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzCmluZGV4
IDYyOTk2ODAyOWEwLi4zYmY5MmQ2ZTEzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwo
KSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmNhbnZhcy5odG1sCmluZGV4IDBjY2ZlYTlhNmVkLi5mZTk4MmFjM2U5NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZh
cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5jYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8g
YXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMKaW5kZXggYWI4YTY0MjRhY2QuLmQwM2E0
NTliODQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5n
bG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlz
YXRpb25zCiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAi
MiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNjb3B5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHkuaHRtbAppbmRl
eCBmNzk3YzYzNzY0OS4uZWEwYjFkOWJiYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuY2FudmFzY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknCiBjdHguZ2xvYmFsQWxwaGEgPSAwLjUxOwogY3R4
LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEzMCwgIjUwLDI1IiwgIjAsMjU1LDAsMTMw
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHkud29ya2VyLmpzCmluZGV4
IGJjOGRhYWY5MWFkLi4wNWM0NGM3MDg0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNjb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHkud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weScKIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTE7CiBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTMwLCAiNTAsMjUiLCAiMCwyNTUsMCwx
MzAiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm4uaHRtbAppbmRleCBl
YTZjNWFjMmQ2OC4uMTFiMjcwZjQxMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuY2FudmFzcGF0dGVybjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFz
cGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBj
dHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJl
cGVhdCcpOwogY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBh
bHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1
IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3Bh
dHRlcm4ud29ya2VyLmpzCmluZGV4IDA4YjVkNmFkOWRiLi45NmIwMDkyNDk4MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJu
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmNhbnZhc3BhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihvZmZz
Y3JlZW5DYW52YXMyLCAnbm8tcmVwZWF0Jyk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBh
dm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmRlZmF1bHQuaHRtbAppbmRleCA2YTE1YzBjODk3OC4uMTk3MzliODc4M2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVm
YXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAx
LjAsICJjdHguZ2xvYmFsQWxwaGEiLCAiMS4wIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1
bHQud29ya2VyLmpzCmluZGV4IGM5NjE5MjgyODRlLi5iMTIyNmI4YTJmZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQu
d29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFs
QWxwaGEsIDEuMCwgImN0eC5nbG9iYWxBbHBoYSIsICIxLjAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5m
aWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwu
aHRtbAppbmRleCAxM2FjZGFmZmZmNS4uMWI3NjE1YmVmMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
ZmlsbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAv
LyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUz
LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwud29ya2VyLmpzCmluZGV4IGQyZmJm
MDgyN2I0Li5hYWNjNDNjNDQ1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5maWxsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8v
IGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMs
MCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS5odG1sCmluZGV4IGYyNGUwNmEwOGU0Li4y
ZjdhNWU2ODRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9i
YWxBbHBoYS5pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuaW1hZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5pbWFnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
OSArMzUsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5p
bWFnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmltYWdlLndvcmtlci5qcwppbmRleCA0OTc0Njg3ZThkMi4uMTQzZDJlZTNhMjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Uud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Uu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw5ICszMSw3
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRl
cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Vw
YXR0ZXJuLmh0bWwKaW5kZXggMzNmYTIzYThmOTcuLmM1NzdiNWJmOWU5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0
ZXJuLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm48L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlcGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzIsOSArMzYsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHgu
Z2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1p
c2F0aW9ucwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIy
LDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi53b3JrZXIuanMKaW5kZXgg
ZDgwNWY2OWY0N2MuLmNjNzY1YjQ3MzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw5ICszMiw3IEBAIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7
IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci19
KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlu
dmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52
YWxpZC5odG1sCmluZGV4IGY0MjJjZmVhMjMzLi4wMjI5Nzc1OGM3NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlk
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5nbG9i
YWxBbHBoYSA9IC1JbmZpbml0eTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgYSwgImN0
eC5nbG9iYWxBbHBoYSIsICJhIik7CiBjdHguZ2xvYmFsQWxwaGEgPSBOYU47CiBfYXNzZXJ0U2Ft
ZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEiLCAiYSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5pbnZhbGlkLndvcmtlci5qcwppbmRleCAwOTViOTQ0NmI3Zi4uMWFiMzNlOWM1
YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
aW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9i
YWxBbHBoYS5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAtSW5maW5pdHk7CiBfYXNzZXJ0
U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEiLCAiYSIpOwogY3R4Lmds
b2JhbEFscGhhID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCBhLCAiY3R4Lmds
b2JhbEFscGhhIiwgImEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5nZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5nZS5odG1sCmluZGV4IGJkZTE1ZTJk
OGM3Li44YmM0NDBkNzAzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5yYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEucmFuZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5nZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsNyArMzAsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAwOwogX2Fzc2VydFNhbWUoY3R4Lmds
b2JhbEFscGhhLCAwLCAiY3R4Lmdsb2JhbEFscGhhIiwgIjAiKTsKIGN0eC5nbG9iYWxBbHBoYSA9
IDE7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEsICJjdHguZ2xvYmFsQWxwaGEiLCAi
MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2Uud29ya2VyLmpzCmluZGV4IGYzOGVlNTZmOWE3
Li41MDM4ZDYzZGEwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5yYW5nZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5yYW5nZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gMDsKIF9hc3NlcnRT
YW1lKGN0eC5nbG9iYWxBbHBoYSwgMCwgImN0eC5nbG9iYWxBbHBoYSIsICIwIik7CiBjdHguZ2xv
YmFsQWxwaGEgPSAxOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAxLCAiY3R4Lmdsb2Jh
bEFscGhhIiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmNvcHkuaHRtbAppbmRleCAzMDAxYWExYzQ5MS4uMzIyZjZjZmQwYTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1h
Z2UuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2UuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsOSArMzYsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIy
NTUsMjU1LDAsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmNvcHkud29ya2VyLmpzCmluZGV4IDA0NzZlM2ExMTQ5Li5iNmY4NDI1NjkwNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw5ICszMiw3IEBAIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9w
Lmh0bWwKaW5kZXggMmIxOGMzNmM3MTAuLjNjNTRhYzI2ZmI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0
aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDkgKzM2LDcgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlv
bi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggYjU4NzAwNDdhMmIuLjQ4ZjQ3MmJlZThjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
ZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDkgKzMyLDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1
LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbAppbmRleCBjZmRlODAxNDk2Zi4uMWVkYmNkY2Y0
NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMyLDkgKzM2LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5k
ZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBlZmY2NDc1YTVkYS4uNjIyYjM1Yjc5
NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOCw5ICszMiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1
LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRleCAxZjcwNTExOWFkYi4uZTFkMGNiYWQ4Y2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRp
b24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0
aW5hdGlvbi1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMiw5ICszNiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
ZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwppbmRleCBmZGE3M2Q5MmZjMi4uNTJjMTQy
ZWZjN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24tb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI4LDkgKzMyLDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1
NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggMWIyMWQyZDlmNTMuLmM1OTFh
NjU1OWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDkgKzM2LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIx
MDksMjU1LDE0NiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKaW5kZXgg
NjIwOTExZGQ0ZjAuLmZiMjAwZGYzZmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDkgKzMyLDcgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1
LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUo
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLmh0bWwKaW5kZXggZjg5OGU0NDc2
MjQuLjRiYThjZjdkMzljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdl
LmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDkgKzM2LDcgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3Jr
ZXIuanMKaW5kZXggNTc0ZGU1YzM0MDguLjIxMjQ0NmU1MTI2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDkgKzMyLDcgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwy
NTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3AuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3AuaHRtbAppbmRleCAwMTJkODky
MDE1OS4uMTVlMDU3ZGJlNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2Uuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLnNvdXJjZS1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMyLDkgKzM2LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQs
MTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5pbWFnZS5zb3VyY2UtYXRvcC53b3JrZXIuanMKaW5kZXggYjE1OWE3ZDBhNWMuLjgyY2E1Nzk0
ZTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LnNvdXJjZS1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjgsOSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwx
MjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2Uuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNv
dXJjZS1pbi5odG1sCmluZGV4IGY0MWZjNGFhMTBkLi5iODE5MGQzNjYyZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2Uu
c291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW48L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDkgKzM2LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwy
NSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDc4OWZjYjkwMzlk
Li45MTY5ZjU3OTg2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjgsOSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAg
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUs
MCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LnNvdXJjZS1vdXQuaHRtbAppbmRleCA5MTg2MGU3ODc5NS4uN2EzMDViYTdkODggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsOSArMzYsNyBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5
NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA1
ODNkMjIyMmU3Yi4uNTZjYzEzZTZjMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsOSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1
IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci5odG1sCmluZGV4IGI4ZTUyY2FjMGFkLi41YTNhNjc2
NDdiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3Vy
Y2Utb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291
cmNlLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFn
ZS5zb3VyY2Utb3ZlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsOSArMzYs
NyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Ut
b3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1vdmVyLndvcmtlci5qcwppbmRleCBiNDU5MzM5ZTRmZC4uMjEwYWYwMWJhNTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw5ICszMiw3
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLmh0bWwKaW5kZXggZDA1MDcx
MWRhMWUuLmI0MGNkYTgyZThhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UueG9yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS5pbWFnZS54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLnhvcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsOSArMzYsNyBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQs
MTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2VyLmpzCmluZGV4IGJkNzc3ODViNTU4
Li5lZDZiN2RmM2VlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS54b3Iud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UueG9yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
OSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9u
LmNhc2VzZW5zaXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmNhc2VzZW5zaXRpdmUuaHRtbAppbmRleCA3YzcwMTZlNGRlNC4uNDFkMzEyODdmNzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5z
aXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5j
YXNlc2Vuc2l0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdTb3VyY2Utb3Zlcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLndvcmtl
ci5qcwppbmRleCAwOTFkZmQ2MWJiZi4uZmEwYjYwMmZkZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnU291cmNlLW92ZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jbGVhci5odG1sCmluZGV4IGNiMTUyMDRhYzYxLi43NDZhYjI2MGI1OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmNsZWFyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjbGVhcic7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAnY2xlYXInLCAiY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiIsICInY2xlYXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLndv
cmtlci5qcwppbmRleCAxZWZkMTQ5NGU2MC4uNzE0OWZlOTNhZjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjbGVhcic7
CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAnY2xlYXInLCAiY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICInY2xlYXInIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRh
cmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2Vy
Lmh0bWwKaW5kZXggMWY0Y2ZiMDdhNjUuLjE2MTYxMWRhYjlkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5k
YXJrZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3In
OwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkYXJrZXInOwogX2Fzc2VydFNhbWUo
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIud29ya2VyLmpzCmlu
ZGV4IDJiMjgyZjU2NDBhLi42YjhlMzA0ZmQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGFya2VyJzsKIF9hc3Nl
cnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwKaW5k
ZXggYjExNGUxNDk0NzkuLmFhZGZiNWRjNjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAnc291cmNlLW92ZXIn
LCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICInc291cmNlLW92ZXInIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKaW5kZXggOTA2ZjFiYjMzOTAuLjJhZDgwYTY0
NmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5k
ZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNh
bWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3NvdXJjZS1vdmVyJywgImN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3NvdXJjZS1vdmVyJyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5n
ZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC5odG1s
CmluZGV4IGUzYzhmOWVlMmZiLi42ZTdhYjU1NTcyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgbW9kZXMubGVuZ3RoOyArK2kpCiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IG1vZGVzW2ldOwogICAgIF9hc3NlcnRT
YW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sIG1vZGVzW2ldLCAiY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiIsICJtb2Rlc1tcIiIrKGkpKyJcIl0iKTsKIH0KLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uZ2V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9u
LmdldC53b3JrZXIuanMKaW5kZXggMmRkNTBmYTZkOTcuLjQ2Y2VlMGI5ZjE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgZm9yICh2
YXIgaSA9IDA7IGkgPCBtb2Rlcy5sZW5ndGg7ICsraSkKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gbW9kZXNbaV07CiAgICAgX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiwgbW9kZXNbaV0sICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm1v
ZGVzW1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC5odG1sCmluZGV4
IDFiZmRiM2IxNjU3Li4wNGUzMjRmYmZjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxp
Z2h0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9y
JzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnaGlnaGxpZ2h0JzsKIF9hc3NlcnRT
YW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lndv
cmtlci5qcwppbmRleCBmYWM2NGZjZTEzNS4uYjU0MTdmMDZkYzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2hpZ2hsaWdodCc7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAn
eG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24ubnVsbHN1ZmZpeC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24ubnVsbHN1ZmZpeC5odG1sCmluZGV4IDdlMWQ2NWMzM2I2Li4zMmEwYzY2N2M4NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZp
eC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxz
dWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24ubnVsbHN1ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyAr
MjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3In
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC53b3JrZXIuanMKaW5kZXggODMxZjk0
Nzc0MTguLjU5NGY0MmViOWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwog
X2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIuaHRtbAppbmRl
eCA3MWEzNDQ1NGJiZi4uNzM5MDlmMzI2NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3ZlcjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUub3BlcmF0aW9uLm92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdvdmVyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLm92ZXIud29ya2VyLmpzCmluZGV4IDg5YzI2MzQ1ZjNjLi5iMzgxM2Yy
MzY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24u
b3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24ub3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1
LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdvdmVyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5odG1sCmluZGV4IDM2ZTk5MGZmMDVkLi5hYjJi
YWY0ZWMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24udW5yZWNvZ25pc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24udW5yZWNvZ25pc2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbm9uZXhpc3RlbnQnOwogX2Fzc2VydFNhbWUo
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQu
d29ya2VyLmpzCmluZGV4IDU5ODBkMTY2YTBlLi40ZThkYjQxNWE0NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlz
ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsx
OSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnbm9uZXhpc3RlbnQnOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5jb3B5Lmh0bWwKaW5kZXggOThmZDVkMjI0NjQuLmQ3YTU1ZTc4NmNkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmNvcHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLnNvbGlkLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5j
b3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS53
b3JrZXIuanMKaW5kZXggNDEyNDk2NzEzNjUuLjE4MTQ5ODczYzcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwg
MS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUs
MCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCBhM2I2
NDVmOWQ1Yi4uNDA0OGU2OTE2MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRp
b24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3Aud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1h
dG9wLndvcmtlci5qcwppbmRleCBiYjJiZjVhMzE2OS4uMGRlMjA5NTg3MTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlv
bi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0
b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggNDBkYmI0YzdmMDYuLjA3NDFkNDEwZTg1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0
aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0
aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Myw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24t
aW4nOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGI1NDIwOGY2NmNlLi4w
ZTlkOTNhMjcyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1pbic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAs
IDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIwLDI1NSwy
NTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC5odG1sCmluZGV4IDYyMTcx
ZWNhYzllLi43NzMyZTQ0MTUwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24t
b3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwg
MjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKaW5kZXgg
ZmJjZDc1ZDYxYTguLmVhZWNhYWFhM2U5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAppbmRl
eCAxNDY2OWQ2YmE0Yi4uZmUzODgzN2MzZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVz
dGluYXRpb24tb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92
ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5h
dGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA3NmQwZGYyNTgzNC4uYWIyYjlkNzAzYjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zl
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0
aW5hdGlvbi1vdmVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0
aW9uLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQubGlnaHRlci5odG1sCmluZGV4IGFmNzU3MmEwZDk1Li42OWFjNTM1Mzg0OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xp
ZC5saWdodGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnbGlnaHRlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEu
MCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUs
MjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcwppbmRleCAzNDRhNWEzYjc0
Yi4uYTgxZTM0MDA0ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQubGlnaHRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2xpZ2h0
ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5zb3VyY2UtYXRvcC5odG1sCmluZGV4IDA4MmQ0MjE1YTRkLi41OTIzNzk5YTdlZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRv
cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0
b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3Vy
Y2UtYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSww
LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRv
cC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1h
dG9wLndvcmtlci5qcwppbmRleCBjMmQwZjBlMTJjMy4uYTMzNWVhZWNmMDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1p
bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRt
bAppbmRleCBjMzU1MjY4NmIzMi4uZTJmMzM4ZTRjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
c291cmNlLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGRlOTRkMWVlYTNlLi5jMzM2
Mjg2MTRiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5z
b3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1p
bic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggODlmY2NmZWJjZDcuLmJjMjQwYzIwYmQ4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgy
NTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNzZlNmFk
YzE3NGEuLmE1NzU1NGE0NDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdzb3VyY2Utb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4w
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5zb3VyY2Utb3Zlci5odG1sCmluZGV4IGRlMjIwNmY1NGViLi45ZTliYzlkMWUwOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Ut
b3ZlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVy
Lndvcmtlci5qcwppbmRleCBlZGJkNjI4YTIyYy4uYWFjNWJiZWQwMmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnhvci5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3IuaHRtbAppbmRleCA4ZDQ4ZmY4
ZGJlZi4uNDdkZjcyNjAzOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQueG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC54b3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLnNvbGlkLnhvcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQueG9yPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwg
MCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC54b3Iud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC54b3Iud29ya2VyLmpzCmluZGV4IGEyNDU5NTE3MWQ5Li42NmRmMjYzYjk1MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3Iud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1
LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lmh0bWwKaW5kZXggY2YyNTZhOWQwNGEuLmRkMzM5
MGVlMjY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDE5MSwg
IjUwLDI1IiwgIjAsMCwyNTUsMTkxIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2Vy
LmpzCmluZGV4IDhmYjM1YWI0M2MyLi42NzYyNzIzOGQzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwg
MjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSwxOTEsICI1MCwyNSIsICIwLDAs
MjU1LDE5MSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC5o
dG1sCmluZGV4IDA0YmZjYTVlNjgwLi5mZWIzYmViNjU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1h
dG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwxOTEi
LCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKaW5kZXggYmMwMzZiMjI1YWIuLmVjZTBlNWNmMTk1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3Aud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGlu
YXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlv
bi1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDEyOCwxMjgsMTkxLCAiNTAsMjUiLCAiMCwxMjgsMTI4LDE5MSIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggZTQyOWMyYmRl
YWYuLmQwOTRhZWUzZmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
ZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9u
LWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsOTYs
ICI1MCwyNSIsICIwLDI1NSwwLDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24t
aW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5k
ZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggZjllZTZkMjEzYWIuLjY3YzZiNWY4MTkwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAu
NzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDk2LCAiNTAsMjUiLCAiMCwyNTUsMCw5NiIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRleCBh
ODBhM2E5MTcyOC4uMTc2ZTUwZGQxOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
ZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsy
Nyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDMyLCAiNTAsMjUiLCAiMCwyNTUsMCwzMiIsIDUpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKaW5kZXggZjYxYWMwZmQ3ZGYu
LjAxNmM1MGVmMWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDMyLCAiNTAs
MjUiLCAiMCwyNTUsMCwzMiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRp
b24tb3Zlci5odG1sCmluZGV4IDg3YWRjY2Y1OWEyLi42YmE1ZTBjZGJiZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0
aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1
LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1IiwgIjAsMTQ2
LDEwOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24t
b3Zlci53b3JrZXIuanMKaW5kZXggMTE2MGU3M2Q4NDQuLmRkYTc0ZjgxNjZkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92
ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdk
ZXN0aW5hdGlvbi1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDE0NiwxMDksMjIzLCAiNTAsMjUiLCAiMCwxNDYsMTA5LDIy
MyIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci5odG1sCmluZGV4IDlhZTVkZGViYTliLi5l
MDZmZTkxYjk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5saWdodGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5saWdodGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRl
cic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwxMjgsMTkxLDI1NSwgIjUwLDI1IiwgIjAsMTI4LDE5MSwyNTUiLCA1KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5saWdodGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMKaW5kZXggOGRhMTE0YzliMmIuLjkzZWFm
MWMxMGRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICds
aWdodGVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDEyOCwxOTEsMjU1LCAiNTAsMjUiLCAiMCwxMjgsMTkxLDI1NSIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwKaW5kZXggYmRiMjgzY2JhMDMuLjdj
ZTRiZjUyMDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LnNvdXJjZS1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3A8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwg
MC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsNjQsMTkxLDEyOCwgIjUwLDI1IiwgIjAsNjQsMTkx
LDEyOCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Aud29ya2VyLmpz
CmluZGV4IGEwM2UyZTRhMzMwLi42ZDRmZDFlYTIyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtYXRvcCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCw2NCwxOTEs
MTI4LCAiNTAsMjUiLCAiMCw2NCwxOTEsMTI4IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNl
LWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJj
ZS1pbi5odG1sCmluZGV4IDNmYjgzMGFlNTY0Li43MjdmMjZmNDAyOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtaW4uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsOTYs
ICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNl
LWluLndvcmtlci5qcwppbmRleCBmNDk1MzliNTllMS4uZWNkOGFhNWRmYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJj
ZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcg
KzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2Utb3V0Lmh0bWwKaW5kZXggYjM0MDViYjBmYWQuLmVkNDQ3ZDdmMmQwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1v
dXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcg
KzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMjU1LDk2LCAiNTAsMjUiLCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNv
dXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCBhZmExYWRmMTRhYS4uMjQzYzhiMzVkYTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3Nv
dXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbAppbmRleCBjYzFlOTUzMzA5Ni4uYmI0YjI4
ODllZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuc291cmNlLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LnNvdXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3ZlcjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdzb3VyY2Utb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwzNiwyMTksMjIzLCAiNTAsMjUiLCAiMCwzNiwyMTksMjIz
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci53b3JrZXIuanMKaW5k
ZXggODE1M2UxNzZhODcuLmJhODA0YjUwYmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDM2LDIxOSwyMjMs
ICI1MCwyNSIsICIwLDM2LDIxOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC54b3IuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwKaW5kZXgg
M2Y5OGU3OGEzYzYuLjc2MDAyMzM2YmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC54b3I8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LnhvcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCw2NCwxOTEsMTI4LCAiNTAsMjUiLCAiMCw2NCwxOTEsMTI4IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQueG9yLndvcmtlci5qcwppbmRleCA1ODYzNGJkNmU4ZS4uNTFmOGViMmE1YTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsNjQsMTkxLDEyOCwgIjUw
LDI1IiwgIjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS5odG1sCmlu
ZGV4IDQ5YTczODIwYTA1Li4zNDE4ZGZkZjA5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmls
bC5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5maWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ug
b2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFu
Z2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3Qg
YXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAw
Ljc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwg
IjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS53b3Jr
ZXIuanMKaW5kZXggOWVjYmY1ZDQ2MWYuLjc0YmIzNGExOWU0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVy
ZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0
eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCBiZjQxY2U2
MTUxNi4uNDg2NDk5NWQzYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0
ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Au
d29ya2VyLmpzCmluZGV4IDNmMWFmM2Q3ZDVjLi41NWU1OGM4OWE3MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9w
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJm
aWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgw
LDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSkn
OwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRp
b24taW4uaHRtbAppbmRleCBlMjdjNzBhMjM0YS4uMWNiNmQyNjM5N2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRl
c3RpbmF0aW9uLWluLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0t
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW48
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkg
dGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291
cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVu
Y2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOSw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAs
IDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGZlMWFlNjU2YmE4Li5i
OTYxZmQ1Mzk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkg
dGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxs
UmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
ZmlsbC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuc291cmNlLWluLmh0bWwKaW5kZXggNjZiMGQ2NDE5NjkuLmZkOWVjYzVjNTMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNv
dXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW48L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAo
MCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkg
ZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCww
KSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDcgKzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLndvcmtl
ci5qcwppbmRleCA0MmUxZmYwMzdlNC4uZjZjYWFjZTU0YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1p
bi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMg
bm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBu
b3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAs
IDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQuaHRtbAppbmRleCA1YzgwYzNmNzNm
NS4uNTc4YTFhNGJkNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwu
c291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0
aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4
ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwg
NTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291
cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDZmNzM4NzA0MzhkLi42ZGIxNzU3ZDFi
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmls
bC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0
IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwg
MC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkuaHRtbApp
bmRleCA3MzNhNTEzNTg3Ny4uYWU5MTk2YjdhZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2UuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHk8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0
aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4
ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsOSArMzcsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAx
MCwgNDAsIDUwLCAxMCwgMTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkud29ya2VyLmpzCmluZGV4IDc4OTgwNjZkZjM5Li41
MGYzYzgyNTZiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAs
IDEwLCAxMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUs
IDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggOTIyNGU3NGUwYWEu
LmExZDljMzNjNmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2Uo
KSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCww
LDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkg
ZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCww
KSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMz
LDkgKzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1
IiwgIjAsMCwwLDAiLCA1KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUo
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRp
b24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCBjMjc5OTYwNWUwMS4uOTNi
Y2Q5NGM2MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksOSArMzMsNyBAQCBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0
MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAi
NTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwK
aW5kZXggNTEwMmIxOTQxZGYuLjIyNjhmOTM4ODViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9u
LWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
ZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0
IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRy
YXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBh
cyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMyw5ICszNyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewog
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAx
MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCww
LDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsK
LQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdl
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCA5YTEwOTBkYTcx
Mi4uN2JmMTEyY2E5NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3Qg
Y292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi5odG1sCmluZGV4IDBk
MmE4OThiMTBlLi44ZjU0NDIzNzE2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2Uuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291
cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90
IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBj
b3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxl
YXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3LDcgQEAgcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
NDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwg
IjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi53b3JrZXIu
anMKaW5kZXggMDMwNzBiNGU5OTMuLjYwMGJjMmY2MTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1p
bi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3
IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAs
MCwwIiwgNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0
bWwKaW5kZXggMjY1OTAyYjNjZDYuLmQxNTYxNmQ2YmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292
ZXJlZC5pbWFnZS5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJh
d3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwg
YW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkg
KzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1Iiwg
IjAsMCwwLDAiLCA1KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5z
b3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA0MWIzZmE1NzYzYy4uZDAyN2JmM2MxMTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJj
ZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJk
cmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3Qg
YXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjksOSArMzMsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
ICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwg
MTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAs
MCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5jb3B5Lmh0bWwKaW5kZXggOTI0MjJmNThmNjQuLmQyNGY2YjRkYmEyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29w
eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHk8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0lt
YWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAs
MCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBv
ZiBhIGNhbnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5k
IGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3
LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIHZhciBvZmZzY3Jl
ZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzCmluZGV4IDc1Nzc4ZjQ0Y2I3Li5i
NTQwMDIwMTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdz
IHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hh
bmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnY29weSc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVz
dGluYXRpb24tYXRvcC5odG1sCmluZGV4IGIwNThjNmZiYjQ3Li4yMmE4YmRkYTdkNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRl
c3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9m
IGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQg
ZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52
YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5v
dCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiB2YXIgb2Zm
c2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndv
cmtlci5qcwppbmRleCAwZWVlNTFhYjBmMy4uYjgxMzAzMzk0ZmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1h
dG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhl
bHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQu
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2Rlc3RpbmF0aW9uLWF0b3AnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24t
aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGQ5YjlkYzNmNjQwLi45N2FmNjczMTUwNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNh
bnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdp
dGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5k
ZXggODMxNjM2NTVhOTIuLmFhY2Q5NmY1NTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4ud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5k
ZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFn
ZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWlu
JzsKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCmluZGV4
IGZjNTJkMTA5NGZkLi4zOTA0YWQ1NGFhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdl
KCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBh
IGNhbnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNj
cmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGNj
YTFiMWJkMzQ1Li5jYjEwNzBiMzdlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFz
IHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCmluZGV4IGI1NTVjNjUzMDY3Li43MDc4
OWY0ODZmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGEgY2FudmFz
IHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBu
byBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA0MGQ3Y2M4NTEzMi4u
NzI2YzNhODBjNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8g
Y29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNv
cHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
Y29weS5odG1sCmluZGV4IDBhNjdhNDVmODNmLi4xNmQ2OTQ4NTY1MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
cGF0dGVybi5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBw
aXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQg
ZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3Mg
cGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5k
IGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3
LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmZpbGxTdHls
ZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5j
b3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uY29weS53b3JrZXIuanMKaW5kZXggZWE0ZjQ3ZmI4MjMuLjVlMmQ2NTkwZmE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNv
cHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4g
ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAo
MCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOSw5ICszMyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
IGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcp
OwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC5odG1sCmluZGV4IDBiMjkw
ZDYwYWFjLi45ZjViOGU4NzUxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9w
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNl
LCAnbm8tcmVwZWF0Jyk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24t
YXRvcC53b3JrZXIuanMKaW5kZXggZjMyODExZTI1YmMuLjdjNGZiOTZhMzcyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0
aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUg
c291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxz
IHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewogICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNw
b25zZSwgJ25vLXJlcGVhdCcpOwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1
MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0
bWwKaW5kZXggODhlYzg5N2E2MmUuLjZjMDhkZDFhZTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0
aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW48L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRo
ZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhl
bHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwg
IjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0
aW9uLWluLndvcmtlci5qcwppbmRleCAwODAwZjBiZjdlNS4uMDA2MjY4ZGNmNjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNv
dXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1
bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjksOSArMzMsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9u
c2UsICduby1yZXBlYXQnKTsKICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLmh0bWwKaW5kZXggNzhk
MWZhZDY1YTEuLjNjZjBhYzkxYzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQucGF0dGVybi5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0
ZXJuLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3Mg
cGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5k
IGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw5ICsz
Nyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5maWxsU3R5
bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwogICAgIGN0eC5m
aWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
c291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcwppbmRleCBhMzRkOGY2ZDZlZS4uMTQ3MmUy
MGEyZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0
aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4
ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihy
ZXNwb25zZSwgJ25vLXJlcGVhdCcpOwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCmlu
ZGV4IDQ3MjM3ZTNkYmMyLi43YjhkZDhhYzM1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQucGF0dGVybi5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZp
bGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAs
MCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBm
aWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgw
LDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMzLDkgKzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQucGF0dGVybi5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggYmI0NTE0
ZTRlMzEuLmM5ZjcxZjIzNzgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBu
b3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5v
dCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5maWxsU3R5bGUgPSBjdHgu
Y3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwogICAgIGN0eC5maWxsUmVjdCgw
LCA1MCwgMTAwLCA1MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2UuaHRtbAppbmRleCBl
YzI0YTE5YzE3My4uMDFiM2ZmOWM2NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1
aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29vcmRpbmF0ZXNwYWNlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvb3Jk
aW5hdGVzcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29vcmRpbmF0ZSBzcGFjZSBnb2VzIGZy
b20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+VGhpcyBzaG91bGQgbm90IGJlIHVwc2lkZSBkb3duLgogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiQ29vcmRpbmF0ZSBzcGFjZSBnb2VzIGZyb20gdG9wLWxlZnQgdG8g
Ym90dG9tLXJpZ2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMjU1LDI1NSwgIjI1LDEyIiwgIjAsMjU1LDI1NSwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDAsMjU1LDI1NSwgIjc1
LDEyIiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwz
NywgMCwwLDI1NSwyNTUsICIyNSwzNyIsICIwLDAsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMCwyNTUsMjU1LCAiNzUsMzciLCAiMCwwLDI1NSwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVp
cmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzCmluZGV4IDdjYWQ5N2IyZGZi
Li5jMzlhNmE0NDMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8y
ZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJl
bWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+VGhpcyBzaG91bGQgbm90IGJlIHVwc2lkZSBkb3duLgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29vcmRp
bmF0ZSBzcGFjZSBnb2VzIGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUs
MjU1LDI1NSwgIjI1LDEyIiwgIjAsMjU1LDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDEyLCAwLDAsMjU1LDI1NSwgIjc1LDEyIiwgIjAsMCwyNTUsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwwLDI1NSwyNTUsICIyNSwzNyIs
ICIwLDAsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAs
MCwyNTUsMjU1LCAiNzUsMzciLCAiMCwwLDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy5odG1sCmlu
ZGV4IDBiZThiNThiNjFlLi40YzgxMDQ5NWM4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNl
LXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1y
ZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3MuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubWlzc2luZ2FyZ3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubWlzc2luZ2FyZ3M8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvcjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1p
c3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAg
aWYgKGN0eC50cmFuc2Zvcm0pIHsgLy8gKGF2b2lkIHNwdXJpb3VzIGZhaWx1cmVzLCBzaW5jZSB0
aGUgYWltIGhlcmUgaXMgbm90IHRvIHQKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC50cmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCk7IH0pOwogfQogaWYg
KGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKDEpOyB9KTsKICAg
ICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFu
c2Zvcm0oMSwgMCk7IH0pOwogICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwKTsgfSk7CkBAIC0xMTMsNyArMTE2LDYg
QEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIHZhciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRp
ZW50KDAsIDAsIDAsIDApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBnLmFkZENvbG9yU3RvcCgpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3Npbmdhcmdz
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3Mu
d29ya2VyLmpzCmluZGV4IDFhOWQ0MWUzODVkLi5iOGJjMTI3Yjg3NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvciIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgaWYgKGN0eC50cmFuc2Zvcm0pIHsgLy8gKGF2b2lkIHNw
dXJpb3VzIGZhaWx1cmVzLCBzaW5jZSB0aGUgYWltIGhlcmUgaXMgbm90IHRvIHQKICAgICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC50cmFuc2Zvcm0oMSwg
MCwgMCwgMSwgMCk7IH0pOwogfQogaWYgKGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oKTsg
fSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
c2V0VHJhbnNmb3JtKDEpOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCk7IH0pOwogICAgIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAw
KTsgfSk7CkBAIC0xMDksNyArMTEyLDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIHZhciBn
ID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgpOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCk7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVx
dWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVu
dHMvMmQudm9pZHJldHVybi5odG1sCmluZGV4IDQyZWI5OGVjMWVjLi5iZDFkNTQxMmY2MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnZvaWRyZXR1cm48
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudm9pZHJldHVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dm9pZCBtZXRob2RzIHJl
dHVybiB1bmRlZmluZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJ2b2lkIG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5lZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ3
LDcgKzUxLDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIH0KIF9hc3NlcnRTYW1lKGN0eC5k
cmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSwgdW5kZWZp
bmVkLCAiY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAsIDAsIDAs
IDApIiwgInVuZGVmaW5lZCIpOwogX2Fzc2VydFNhbWUoY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50
KDAsIDAsIDAsIDApLmFkZENvbG9yU3RvcCgwLCAnd2hpdGUnKSwgdW5kZWZpbmVkLCAiY3R4LmNy
ZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApLmFkZENvbG9yU3RvcCgwLCAnd2hpdGUnKSIs
ICJ1bmRlZmluZWQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZv
cm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3Jt
YW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMKaW5kZXggMGQ3ZGE1OTcy
NzUuLjYyODNmNTNjYTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRz
LzJkLnZvaWRyZXR1cm4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVu
dHMvMmQudm9pZHJldHVybi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInZvaWQg
bWV0aG9kcyByZXR1cm4gdW5kZWZpbmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyArNDcsNiBAQCBpZiAoY3R4
LnB1dEltYWdlRGF0YSkgewogfQogX2Fzc2VydFNhbWUoY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDApLCB1bmRlZmluZWQsICJjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCkiLCAidW5kZWZpbmVkIik7
CiBfYXNzZXJ0U2FtZShjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCkuYWRkQ29s
b3JTdG9wKDAsICd3aGl0ZScpLCB1bmRlZmluZWQsICJjdHguY3JlYXRlTGluZWFyR3JhZGllbnQo
MCwgMCwgMCwgMCkuYWRkQ29sb3JTdG9wKDAsICd3aGl0ZScpIiwgInVuZGVmaW5lZCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1ibG9iL29mZnNjcmVl
bmNhbnZhcy5jb252ZXJ0LnRvLmJsb2IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2Ny
ZWVuY2FudmFzLmNvbnZlcnQudG8uYmxvYi5odG1sCmluZGV4IDdkMjMwZDk2NmE5Li44Y2M3NjVj
M2NhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZzY3JlZW5jYW52YXMuY29u
dmVydC50by5ibG9iLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZzY3JlZW5jYW52
YXMuY29udmVydC50by5ibG9iLmh0bWwKQEAgLTE0NCwyMiArMTQ0LDUgQEAgYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgfSkpOwogfSwgIlRlc3QgdGhhdCBjYWxsIGNvbnZlcnRUb0Jsb2Ig
b24gYSBPZmZzY3JlZW5DYW52YXMgd2l0aCBzaXplIDAgdGhyb3dzIGV4Y2VwdGlvbiIpOwogCi1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7Ci0gICAg
aW1nLnNyYyA9ICIvaW1hZ2VzL2dyZWVuLnBuZyI7Ci0gICAgaW1nLmNyb3NzT3JpZ2luID0gImFu
b255bW91cyI7Ci0gICAgaW1nLm9ubG9hZCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAg
ICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMCwgMTApOwot
ICAgICAgICB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoIjJkIik7Ci0gICAg
ICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKLSAgICAgICAgb2Zmc2NyZWVuQ2FudmFzLmNv
bnZlcnRUb0Jsb2IoKS50aGVuKHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICBhc3NlcnRfZmFsc2UoImNvbnZlcnRUb0Jsb2IgZGlkbid0IHRocm93LCBidXQgc2hvdWxk
Iik7Ci0gICAgICAgIH0pLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAg
ICAgIGFzc2VydF90cnVlKGUgaW5zdGFuY2VvZiBET01FeGNlcHRpb24pOwotICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhlLm5hbWUsICJTZWN1cml0eUVycm9yIik7Ci0gICAgICAgIH0pKTsKLSAg
ICB9KTsKLX0sICJUZXN0IHRoYXQgY2FsbCBjb252ZXJ0VG9CbG9iIG9uIGEgT2Zmc2NyZWVuQ2Fu
dmFzIHdpdGggdGFpbnRlZCBvcmlnaW4gdGhyb3dzIGV4Y2VwdGlvbiIpOwotCiA8L3NjcmlwdD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZzY3JlZW5jYW52YXMuY29udmVy
dC50by5ibG9iLncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2NyZWVuY2FudmFzLmNv
bnZlcnQudG8uYmxvYi53Lmh0bWwKaW5kZXggMWM2OWQ0ZDI2MzYuLjcxZWFhOTYyNmFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29udmVydC10by1ibG9iL29mZnNjcmVlbmNhbnZhcy5jb252ZXJ0LnRvLmJs
b2Iudy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2NyZWVuY2FudmFzLmNvbnZl
cnQudG8uYmxvYi53Lmh0bWwKQEAgLTQwLDkgKzQwLDEyIEBAIGZ1bmN0aW9uIHRlc3RDb252ZXJ0
VG9CbG9iRXhjZXB0aW9uMSgpCiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAsIDEwKTsKICAgICBzZWxmLnBvc3RNZXNzYWdlKHtvZmZzY3JlZW5DYW52YXN9
LCBbb2Zmc2NyZWVuQ2FudmFzXSk7CiAgICAgb2Zmc2NyZWVuQ2FudmFzLmNvbnZlcnRUb0Jsb2Io
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgc2VsZi5w
b3N0TWVzc2FnZShlIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uICYmIGUubmFtZSA9PSAiSW52YWxp
ZFN0YXRlRXJyb3IiKTsKKyAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBET01FeGNlcHRpb24gJiYg
ZS5uYW1lID09ICJJbnZhbGlkU3RhdGVFcnJvciIpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0pOwogfQogCkBA
IC01MCwzMCArNTMsMTYgQEAgZnVuY3Rpb24gdGVzdENvbnZlcnRUb0Jsb2JFeGNlcHRpb24yKCkK
IHsKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygwLCAwKTsK
ICAgICBvZmZzY3JlZW5DYW52YXMuY29udmVydFRvQmxvYigpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoZmFsc2UpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfSwgZnVuY3Rpb24oZSkgewotICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKGUgaW5zdGFuY2Vv
ZiBET01FeGNlcHRpb24gJiYgZS5uYW1lID09ICJJbmRleFNpemVFcnJvciIpOwotICAgIH0pOwot
fQotCi1mdW5jdGlvbiB0ZXN0Q29udmVydFRvQmxvYkV4Y2VwdGlvbjMoYml0bWFwKQotewotICAg
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwLCAxMCk7Ci0gICAg
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOwotICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwKTsKLSAgICBvZmZzY3JlZW5DYW52YXMuY29udmVydFRvQmxvYigp
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoZmFsc2UpOwotICAg
IH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShlIGluc3RhbmNlb2Yg
RE9NRXhjZXB0aW9uICYmIGUubmFtZSA9PSAiU2VjdXJpdHlFcnJvciIpOworICAgICAgICBpZiAo
ZSBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlLm5hbWUgPT0gIkluZGV4U2l6ZUVycm9yIikK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfSk7CiB9CiAKIHNlbGYub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewot
ICAgIGlmIChlLmRhdGEgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCkgewotICAgICAgICB0ZXN0Q29u
dmVydFRvQmxvYkV4Y2VwdGlvbjMoZS5kYXRhKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQog
ICAgIHN3aXRjaChlLmRhdGEpIHsKICAgICAgICAgY2FzZSAndGVzdDEnOgogICAgICAgICAgICAg
dGVzdENvbnZlcnRUb0Jsb2IoImVtcHR5IiwgImVtcHR5Iik7CkBAIC0xMTIsMTAgKzEwMSwxMCBA
QCBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIHRlc3RDb252ZXJ0
VG9CbG9iKCJpbWFnZS93ZWJwIiwgMC4yKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlICd0ZXN0MTMnOgotICAgICAgICAgICAgdGVzdENvbnZlcnRUb0Jsb2JFeGNlcHRpb24xKCk7
CisgICAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHRlc3RDb252ZXJ0VG9CbG9iRXhjZXB0aW9u
MSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICd0ZXN0MTQnOgotICAgICAg
ICAgICAgdGVzdENvbnZlcnRUb0Jsb2JFeGNlcHRpb24yKCk7CisgICAgICAgICAgICBzZWxmLnBv
c3RNZXNzYWdlKHRlc3RDb252ZXJ0VG9CbG9iRXhjZXB0aW9uMigpKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgIH0KIH07CkBAIC0zMDAsOCArMjg5LDggQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7CiBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgd29ya2VyID0gbWFrZVdvcmtl
cih0KTsKICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKG1zZy5kYXRhKTsKLSAg
ICAgICAgdC5kb25lKCk7CisgICAgICAgIGlmIChtc2cuZGF0YSA9PSB0cnVlIHx8IG1zZy5kYXRh
ID09IGZhbHNlKQorICAgICAgICAgICAgYXNzZXJ0X3RydWUobXNnLmRhdGEpOwogICAgIH0pKTsK
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoJ3Rlc3QxMycpOwogfSwgIlRlc3QgdGhhdCBjYWxsIGNv
bnZlcnRUb0Jsb2Igb24gYSBkZXRhY2hlZCBPZmZzY3JlZW5DYW52YXMgdGhyb3dzIGV4Y2VwdGlv
biBpbiBhIHdvcmtlciIpOwpAQCAtMzA5LDI3ICsyOTgsMTEgQEAgYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7CiBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgd29ya2VyID0gbWFrZVdv
cmtlcih0KTsKICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgIGFzc2VydF90cnVlKG1zZy5kYXRhKTsK
LSAgICAgICAgdC5kb25lKCk7CisgICAgICAgIGlmIChtc2cuZGF0YSA9PSB0cnVlIHx8IG1zZy5k
YXRhID09IGZhbHNlKQorICAgICAgICAgICAgYXNzZXJ0X3RydWUobXNnLmRhdGEpOwogICAgIH0p
KTsKICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoJ3Rlc3QxNCcpOwogfSwgIlRlc3QgdGhhdCBjYWxs
IGNvbnZlcnRUb0Jsb2Igb24gYSBPZmZzY3JlZW5DYW52YXMgd2l0aCBzaXplIDAgdGhyb3dzIGV4
Y2VwdGlvbiBpbiBhIHdvcmtlciIpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2
YXIgaW1nID0gbmV3IEltYWdlKCk7Ci0gICAgaW1nLnNyYyA9ICIvaW1hZ2VzL2dyZWVuLnBuZyI7
Ci0gICAgaW1nLmNyb3NzT3JpZ2luID0gImFub255bW91cyI7Ci0gICAgaW1nLm9ubG9hZCA9IHQu
c3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgICBjcmVhdGVJbWFnZUJpdG1hcChpbWcpLnRo
ZW4odC5zdGVwX2Z1bmNfZG9uZShiaXRtYXAgPT4gewotICAgICAgICAgICAgdmFyIHdvcmtlciA9
IG1ha2VXb3JrZXIodCk7Ci0gICAgICAgICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgICAgICAgICAg
YXNzZXJ0X3RydWUobXNnLmRhdGEpOwotICAgICAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAg
ICAgICAgfSkpOwotICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKGJpdG1hcCk7Ci0gICAg
ICAgIH0pKTsKLSAgICB9KTsKLX0sICJUZXN0IHRoYXQgY2FsbCBjb252ZXJ0VG9CbG9iIG9uIGEg
T2Zmc2NyZWVuQ2FudmFzIHdpdGggdGFpbnRlZCBvcmlnaW4gdGhyb3dzIGV4Y2VwdGlvbiBpbiBh
IHdvcmtlciIpOwotCiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNhcmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLmh0bWwKaW5kZXggZGExZGM4ZmNjMmYu
LjQ0ZjMzY2Y1ZTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuM2FyZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UuM2FyZzwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmRyYXdJbWFnZS4zYXJnPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NCw5
ICs0OSw3IEBAIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlMSwgcmVzcG9uc2UyKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUs
ICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLjNhcmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLjNhcmcud29ya2VyLmpzCmluZGV4IDA4Y2IzNTNhNTBkLi5hNjAwZTJm
MjhmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjNhcmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS4zYXJnLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtNDAsOSArNDQsNyBAQCBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2Uy
XSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
NDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbAppbmRleCA2ZDVmYmZkZWZjMS4uZDgy
YWEyZDQ1ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS41YXJnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRt
bD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9v
bHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJ
bWFnZS41YXJnPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZHJhd0ltYWdlLjVhcmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ1LDkgKzUw
LDcgQEAgUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UxLCByZXNwb25zZTIpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAs
NDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuNWFyZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMKaW5kZXggMTdlMDFmYWQwMWUuLjZmYWZjNGU0ZjY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuNWFyZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjVhcmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC00MSw5ICs0NSw3IEBAIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwgcmVzcG9uc2UyKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwg
MCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy5odG1sCmluZGV4IDUzMGRjNjgz
YTUzLi40NGRhNWQ1ZTViYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy5odG1sCkBAIC0xLDkgKzEs
MTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWM8L3RpdGxlPgorPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsOSArMzgsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy53b3JrZXIuanMKaW5kZXggNTMwNDZlMjJkMDAuLjY5NzQ0
OWY2ZGZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuOWFyZy5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw5ICszMyw3IEBAIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5kZXN0cG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuOWFyZy5kZXN0cG9zLmh0bWwKaW5kZXggZTZjNzUxMjVjNzYuLmFhZDM4ZmVlNzJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5kZXN0cG9zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9D
VFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvczwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3M8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTQ2LDkgKzUxLDcgQEAgUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9t
aXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIpIHsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3Mu
d29ya2VyLmpzCmluZGV4IDJhMThhOTM1NWY1Li4xOWY0YmJjYjMwNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuZGVzdHBvcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQyLDkgKzQ2LDcgQEAgUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAw
LDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLmh0bWwKaW5kZXggODhi
OTYzNGQwOTkuLmNlN2Y4MzViYzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLmh0bWwK
QEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZTwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRl
c3RzaXplPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw5ICs1MSw3IEBAIFBy
b21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwg
cmVzcG9uc2UyKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
MCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10
LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlh
cmcuZGVzdHNpemUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUud29ya2VyLmpzCmluZGV4IGE5Zjk0MDcyNWNhLi4z
Yjg1NDYxZjcxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsOSArNDYsNyBAQCBQcm9taXNl
LmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3Bv
bnNlMikgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAs
MjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3Vy
Y2Vwb3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS45YXJnLnNvdXJjZXBvcy5odG1sCmluZGV4IDllYTU4YjkwOTNjLi5jMThhNDdmZjM0ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlh
cmcuc291cmNlcG9zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM4LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwg
MCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
NDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRv
bmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
c291cmNlcG9zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIuanMKaW5kZXggMGIxODg1ZDc1ZDEuLjg1
MjVlZTk5ZWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDkgKzMzLDcgQEAgcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwy
NTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbAppbmRleCAxMmFhZDZj
YTU5Mi4uNGI0M2Q1ZmIwOGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLmh0bWwK
QEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplPC90aXRs
ZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlhcmcu
c291cmNlc2l6ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsOSArNDUsNyBA
QCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUsMCwyNTUsICI4MCwyMCIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMw
LCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMzAsIDAsMjU1LDAsMjU1LCAiODAsMzAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXpl
Lndvcmtlci5qcwppbmRleCBlMWZhNjBkY2IyMS4uZDczZTNiOTUyZGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNp
emUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS45YXJnLnNvdXJjZXNpemUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zNiw5ICs0MCw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDIwLCAwLDI1
NSwwLDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjAsMzAsIDAsMjU1LDAsMjU1LCAiMjAsMzAiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwz
MCwgMCwyNTUsMCwyNTUsICI4MCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEu
aHRtbAppbmRleCBhYjY0M2RkYTY5Mi4uMzNiMjUwMmY2NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS5odG1sCkBA
IC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0
ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmFscGhhPC90aXRsZT4KKzxtZXRhIG5h
bWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmFscGhhPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw5ICszNiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcwppbmRl
eCBkNzFiM2Q1MGQ1Ni4uNWYyOWMxYTFjY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsOSArMzEsNyBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmlt
YXRlZC5wb3N0ZXIuaHRtbAppbmRleCA5MzVjNjZmYjUwYi4uMTZlOWY3OTFiMmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRl
ZC5wb3N0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3RlcjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1lPC9wPgpA
QCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0lt
YWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1lIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsOSAr
MzMsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLndvcmtlci5qcwppbmRleCBkMzI4ZDE4
ZDg2Zi4uYzNiNTY2ZTg0NGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhbiBBUE5H
IGRyYXdzIHRoZSBwb3N0ZXIgZnJhbWUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw5ICsyOCw3IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCmlu
ZGV4IDA1YmY2MjFjMzQ2Li5hNjRkMjBlNzMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbApAQCAtMSw5
ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBo
YXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5icm9rZW48L3RpdGxlPgorPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuYnJva2VuPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMCw5ICszNSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuYnJva2VuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5icm9rZW4ud29ya2VyLmpzCmluZGV4IGRiOTY4MTc1YTVlLi42MzE2M2Jk
NjBhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmJyb2tlbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDkgKzMwLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
Y2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuY2FudmFzLmh0bWwKaW5kZXggMzJmZjNmY2NiZGMuLjJmYzgyOTNjYjIyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNh
bnZhcy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmNhbnZhczwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5jYW52
YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMxLDYgQEAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
MCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5jYW52YXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKaW5kZXggOGFmODNmMjE3NjUuLjNmZjJkYmVj
ZDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwKaW5kZXgg
YTUxYzQxMWFkYzQuLjUxNjUxZTU2ZjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwKQEAgLTEsOSArMSwxMCBA
QAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5kcmF3SW1hZ2UuY2xpcDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5jbGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMiw5ICszNyw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC53b3JrZXIuanMKaW5kZXggZjAzNjNjMjJlN2EuLjkw
ZDBhYWQzZmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCw5ICszMiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS5odG1sCmluZGV4IDY4ZDY2ODQx
N2RiLi5iYTU2ZTM2NmY1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jb21wb3NpdGUuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5jb21wb3NpdGU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw5ICszNiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY29tcG9zaXRlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jb21wb3NpdGUud29ya2VyLmpz
CmluZGV4IDQzNWM3OTNlNGU1Li4wOWUzYjNhMDBhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDkgKzMx
LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxv
YXRzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5mbG9hdHNvdXJjZS5odG1sCmluZGV4IDFkM2IyMWI3ZGMyLi40OWE4OGZhYjAzNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZs
b2F0c291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0
bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRv
b2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3
SW1hZ2UuZmxvYXRzb3VyY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDkgKzMzLDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAs
IDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2Uu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmZsb2F0c291cmNlLndvcmtlci5qcwppbmRleCAzYTkwZDMzZjc4My4uNDUzOThlODMxOTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5m
bG9hdHNvdXJjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsOSArMjgsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAuMSwgMTAuMSwgMC4xLCAwLjEs
IDAsIDAsIDEwMCwgNTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVn
YXRpdmVkZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UubmVnYXRpdmVkZXN0Lmh0bWwKaW5kZXggM2IzYTYwOWI2NGYuLjk0NjY3MzhiY2Y1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bmVnYXRpdmVkZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQ
RSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBi
eSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Q8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
Pk5lZ2F0aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0
IHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk5lZ2F0aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRo
ZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQwLDkgKzQ1LDcgQEAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKaW5kZXggOTFj
ZjQ2NjNiMmYuLjI4NGI0NTg0MDY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTmVnYXRpdmUgZGVzdGluYXRpb24gd2lk
dGgvaGVpZ2h0IHJlcHJlc2VudHMgdGhlIGNvcnJlY3QgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzYs
OSArNDAsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyLmh0bWwK
aW5kZXggNzQxYWFlYTAyYTIuLjRjYmQzNzQ0NWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIu
aHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpcjwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdh
dGl2ZWRpcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3Qg
YWZmZWN0IHRoZSBkaXJlY3Rpb24gb2YgdGhlIGltYWdlPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTmVnYXRpdmUgZGltZW5zaW9ucyBkbyBu
b3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24gb2YgdGhlIGltYWdlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsOSArNDUs
NyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpci53b3Jr
ZXIuanMKaW5kZXggOWQ0ODEyYmYxNjkuLjAwZjBlN2VjMDY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
ZWdhdGl2ZWRpci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIGRp
bWVuc2lvbnMgZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM2LDkgKzQwLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAi
NTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2UuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2
ZXNvdXJjZS5odG1sCmluZGV4IDBhOTlhYTU2NzQxLi42NmU5YzIxMjIzMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291
cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm5lZ2F0aXZlc291cmNlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+
CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xz
L2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1h
Z2UubmVnYXRpdmVzb3VyY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk5l
Z2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5n
bGU8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJOZWdhdGl2ZSBzb3VyY2Ugd2lkdGgvaGVpZ2h0IHJlcHJlc2VudHMgdGhlIGNvcnJlY3QgcmVj
dGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNDAsOSArNDUsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwg
MCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10
LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5l
Z2F0aXZlc291cmNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMKaW5kZXggZmUwYjBjMTdhNzUu
LjBmMjQ1NDJkOTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQg
cmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNiw5ICs0MCw3IEBA
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCmluZGV4IDQ3ODAwMTFi
ZDMwLi45Y2ExYTg4NGI2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5ub25maW5pdGU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5kcmF3SW1hZ2UoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAt
MTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdl
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzMCw5ICszMzUsNyBA
QCBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAs
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA0ZWJjNzYx
NjUyNS4uZjVkMjY3ODU4MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzI2LDkgKzMzMCw3IEBAIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwogY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1s
CmluZGV4IGI2NmVmZWJmNzU2Li40ZDcxYzIxYmZiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbApAQCAt
MSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVz
dCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5ub3dyYXA8L3RpdGxlPgorPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uubm93cmFwPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5TdHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5nIGFy
b3VuZCB0aGUgZWRnZXM8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJTdHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5n
IGFyb3VuZCB0aGUgZWRnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw5ICszNyw3IEBAIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDQ1LDI1LCAwLDI1NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1NSwyNSwgMCwyNTUsMCwyNTUsICI1NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uubm93cmFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAud29ya2VyLmpzCmluZGV4IGIwMTQ5NzRiNjRiLi42ZjZi
MWU5M2EzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5k
IHRoZSBlZGdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDkgKzMyLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUs
MjUsIDAsMjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm51bGwuaHRtbAppbmRleCA3NzQ1MmI5Yzc3Ni4uMGNmOWNhMjZkNzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwuaHRt
bApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRo
aXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5udWxsPC90aXRsZT4KKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm51bGw8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMiwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxs
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5udWxsLndvcmtlci5qcwppbmRleCBlODg2YTMzNGNjMS4uOGVkMDg4N2VjZDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UubnVsbC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsg
fSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sCmluZGV4IGI0ZWNhMTRhOTk3Li40
Nzc2M2NkYjQzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0
b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJh
d0ltYWdlLnBhdGg8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5kcmF3SW1hZ2UucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsOSAr
MzYsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICBjdHguZmlsbCgpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcwppbmRleCA3ZTRhMjQwY2Vl
Ni4uYmE4MzAyYjVlMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDkgKzMxLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgY3R4
LmZpbGwoKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS5o
dG1sCmluZGV4IDY4MjhiN2MwOTVkLi5kZTRhMGY3ZWI1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjEuaHRtbApA
QCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zZWxmLjE8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uuc2VsZi4xPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAs
MjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUs
ICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5zZWxmLjEud29ya2VyLmpzCmluZGV4IGRkZDdlMThmZjIyLi41YWQ5MDQ4Y2FhZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYu
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLnNlbGYuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCww
LCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAs
MjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1
NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbAppbmRleCA2OTAyMDJk
MzMxNi4uYjJlNThkYjU3MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwKQEAgLTEsOSArMSwxMCBAQAog
PCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2Vu
ZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5kcmF3SW1hZ2Uuc2VsZi4yPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLnNlbGYuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLndvcmtlci5q
cwppbmRleCBiM2MwMDVlMmU3NS4uYzZmZTBkY2QyYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIw
LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwKaW5kZXggMmUzY2RjMDMwZmYuLmZmODNhYTAzMzBmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3Zn
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LnN2Zy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnN2ZzwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5zdmc8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGFuIFNWRyBpbWFnZTwvcD4KQEAgLTEx
LDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgp
IG9mIGFuIFNWRyBpbWFnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDkgKzMzLDcgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKaW5k
ZXggNjg2MGE4NTI1NmMuLjM4MjE5MGU2Y2QzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYW4gU1ZHIGltYWdlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsOSArMjgsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS50cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS50cmFuc2Zvcm0uaHRtbAppbmRleCAwODE3ZTgxODUxYS4uMmFkY2YwMjE0
MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS50cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UudHJhbnNmb3JtPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9
ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZHJhd0ltYWdlLnRyYW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzEsOSArMzYsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLnRyYW5zZm9ybS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLndvcmtlci5qcwppbmRleCA0MWIwZDRj
ZTVkYy4uNWUxMDk1YmM3NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFuc2Zvcm0ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw5ICszMSw3IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndyb25ndHlwZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndyb25ndHlwZS5o
dG1sCmluZGV4IGY5YjdmM2ExZmI3Li41Y2IyODM0NjZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndyb25ndHlwZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUu
aHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS53cm9uZ3R5cGU8L3RpdGxl
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uud3Jvbmd0
eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbmNvcnJlY3QgaW1hZ2UgdHlwZXMgaW4gZHJhd0lt
YWdlIGRvIG5vdCBtYXRjaCBhbnkgZGVmaW5lZCBvdmVybG9hZHMsIHNvIFdlYklETCB0aHJvd3Mg
YSBUeXBlRXJyb3I8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJJbmNvcnJlY3QgaW1hZ2UgdHlwZXMgaW4gZHJhd0ltYWdlIGRvIG5vdCBtYXRj
aCBhbnkgZGVmaW5lZCBvdmVybG9hZHMsIHNvIFdlYklETCB0aHJvd3MgYSBUeXBlRXJyb3IiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyNCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4
LmRyYXdJbWFnZSh1bmRlZmluZWQsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZSgwLCAwLCAwKTsgfSk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoIiIsIDAs
IDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndyb25ndHlwZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0eXBlLndvcmtl
ci5qcwppbmRleCBjNGY0NjY4ODU3YS4uZmZkYzI1MDIxNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9u
Z3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbmNvcnJlY3QgaW1hZ2Ug
dHlwZXMgaW4gZHJhd0ltYWdlIGRvIG5vdCBtYXRjaCBhbnkgZGVmaW5lZCBvdmVybG9hZHMsIHNv
IFdlYklETCB0aHJvd3MgYSBUeXBlRXJyb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZSh1bmRlZmluZWQsIDAsIDAp
OyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRy
YXdJbWFnZSgwLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoIiIsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLnplcm9jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS56ZXJvY2FudmFzLmh0bWwKaW5kZXggZWY2NmQ1ZWRjNTQuLmY5NDVjZWRhYjE1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuemVyb2NhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UuemVyb2NhbnZhczwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50
PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMSw2IEBAIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwKIG9mZnNjcmVlbkNh
bnZhczIud2lkdGggPSAwOwogb2Zmc2NyZWVuQ2FudmFzMi5oZWlnaHQgPSAwOwogYXNzZXJ0X3Ro
cm93cygiSU5WQUxJRF9TVEFURV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFz
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS56ZXJvY2FudmFzLndvcmtlci5qcwppbmRleCAzYTE3Y2ZlNWEzOS4uMWU5ZDYzY2Y5MmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56
ZXJvY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgYXNzZXJ0X3Rocm93cygiSU5WQUxJRF9TVEFU
RV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLAogb2Zm
c2NyZWVuQ2FudmFzMi53aWR0aCA9IDA7CiBvZmZzY3JlZW5DYW52YXMyLmhlaWdodCA9IDA7CiBh
c3NlcnRfdGhyb3dzKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnpl
cm9zb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS56ZXJvc291cmNlLmh0bWwKaW5kZXggYTc2NzBjZDlmMmUuLjY0NWUyYzk3MTFmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVy
b3NvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS56ZXJvc291cmNlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+
CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xz
L2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1h
Z2UuemVyb3NvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmRyYXdJbWFnZS56ZXJvc291cmNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2Ug
d2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgdGhyb3dzIElOREVYX1NJWkVfRVJSPC9w
PgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJh
d0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpF
X0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMyLDkgKzM3LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7CiAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7
CiAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNl
LmltYWdlLmh0bWwKaW5kZXggYzFmMmIzMjRkNWYuLmEzOGU5ODIwOGI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5p
bWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS56ZXJvc291cmNlLmltYWdlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0
bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRv
b2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3
SW1hZ2UuemVyb3NvdXJjZS5pbWFnZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5kcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgZnJvbSBpbWFn
ZSB0aHJvd3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSBy
ZWN0YW5nbGUgZnJvbSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw5
ICszNyw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTApOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsg
fSk7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9z
b3VyY2UuaW1hZ2Uud29ya2VyLmpzCmluZGV4IDNjYzNjNzIxMTllLi4zMDRhY2RjMTE3MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnpl
cm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xl
IGZyb20gaW1hZ2UgdGhyb3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsOSArMzIsNyBA
QCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBhc3NlcnRfdGhyb3dzKCJJ
TkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIDUwKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwogICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMK
aW5kZXggMGYwZWQ1ZDlkZDEuLjFlNmY1NGYzODgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3Vy
Y2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJv
LXNpemVkIHNvdXJjZSByZWN0YW5nbGUgdGhyb3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjgsOSArMzIsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBhc3Nl
cnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAxMCwgMTAsIDEsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsKICAgICBhc3NlcnRfdGhy
b3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sCmluZGV4IGU1MTQxZDY5YWViLi5i
Nzk1MDY4MTg1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0LmJhc2ljPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNs
ZWFyUmVjdC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0IGNsZWFycyB0byB0
cmFuc3BhcmVudCBibGFjazwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBjbGVhcnMgdG8gdHJhbnNwYXJlbnQgYmxhY2siKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy53b3JrZXIuanMK
aW5kZXggZWIwYWU0ZWZlMGMuLjc4NzFhMDM5NTAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2lj
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGNsZWFycyB0byB0
cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNs
aXAuaHRtbAppbmRleCAyNWFmMzJkY2ExNC4uMmMzZmYwZGY5MWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xp
cC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
bGVhclJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+Y2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMg
YWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4
LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzCmluZGV4IGNlNTg4NzFlY2ZjLi40
NTZhYWY0NjA0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFs
YWxwaGEuaHRtbAppbmRleCAxOWRkYWJmYzkzMi4uOWEyODljOWQ2ZGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxw
aGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0Lmdsb2JhbGFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3Qu
Z2xvYmFsYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBub3QgYWZmZWN0
ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhh
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBj
dHguZ2xvYmFsQWxwaGEgPSAwLjE7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxh
bHBoYS53b3JrZXIuanMKaW5kZXggYTI5Y2U0NGQ4MjguLjdmZWIxOWE5YTNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2Jh
bGFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiY2xlYXJSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbEFs
cGhhID0gMC4xOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRt
bAppbmRleCA2M2E5YWMzNTJlZi4uN2NiNTM0YzBlYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5nbG9iYWxjb21wb3NpdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJl
Y3QuZ2xvYmFsY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgaXMgbm90
IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZm
ZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKaW5kZXggNDg3M2IwYTM1OTguLjU2YzQ2ZDRiMmFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0
aW5hdGlvbi1hdG9wJzsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sCmluZGV4IDA2
NGY4MDU0NDIxLi41NWVlZjNkOWI5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRpdmUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0
Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+Y2xlYXJSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9mIG5lZ2F0aXZl
IHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwxMiwgMCwwLDAsMCwgIjI1LDEyIiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDAsMCwwLCAiNzUsMTIiLCAiMCwwLDAsMCIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMCwwLDAsICIyNSwzNyIs
ICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwwLDAs
MCwgIjc1LDM3IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA4ZGMxY2YyNGYxMi4uMTc1NjM0ZmM3MWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3QubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJjbGVhclJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDAsMCww
LCAiMjUsMTIiLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MTIsIDAsMCwwLDAsICI3NSwxMiIsICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwzNywgMCwwLDAsMCwgIjI1LDM3IiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDAsMCwwLCAiNzUsMzciLCAiMCwwLDAsMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUuaHRtbAppbmRleCA4
ZTNiMjQxYTViYS4uMWIyMzY2NzhhNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJS
ZWN0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3Qubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5jbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2LDYgQEAg
Y3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5jbGVh
clJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmNsZWFyUmVjdCgwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGJkNTEyMzM2
ZTAwLi5hNjhlNTRmZmQxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0KCkgd2l0aCBJbmZpbml0eS9O
YU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDcgKzQyLDYgQEAgY3R4LmNsZWFyUmVjdCgwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5jbGVhclJlY3QoMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwogY3R4LmNsZWFyUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgu
aHRtbAppbmRleCAwMGQyMjg2ZmI1Ni4uMTdmMjAwYTVkNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QucGF0aC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QucGF0aC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVh
clJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
Y2xlYXJSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRvZXMg
bm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgu
cmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFy
UmVjdC5wYXRoLndvcmtlci5qcwppbmRleCAzODU2NzJkOWYyOS4uNDY2MTY5YTVlYjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
cGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xl
YXJSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTYs
IDE2KTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0LnNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbAppbmRleCA1NGNiYmZiMjAxZi4uYThiYzQ3ZGJkMzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3Quc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0LnNoYWRvdzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3Qu
c2hhZG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgZG9lcyBub3QgZHJhdyBzaGFk
b3dzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiY2xlYXJSZWN0IGRvZXMgbm90IGRyYXcgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnNoYWRvd09mZnNldFggPSAwOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5j
bGVhclJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5qcwppbmRleCA4NmJkMTQ5
YTNmOC4uMmYwNmU4MWFmMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3Mi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMDsKIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7CiBjdHguY2xlYXJSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0u
aHRtbAppbmRleCAxNDI3OGFiMWE1OS4uYTMyYTdiMTI3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3JtLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50
cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY2xlYXJSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QudHJhbnNmb3JtPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3Jtczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNs
ZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguc2NhbGUoMTAsIDEwKTsKIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHguY2xlYXJSZWN0
KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFu
c2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4IGU1ZWEzMzM1NWE4Li42ZGEwZDJh
YjFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3JtLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zY2FsZSgxMCwgMTApOwogY3R4LnRyYW5zbGF0ZSgw
LCA1KTsKIGN0eC5jbGVhclJlY3QoMCwgLTUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby5odG1sCmluZGV4IGQxZjk1NTMwZWI4Li5jMDY4YTdh
NmI1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC56
ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5v
IGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNsZWFyUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgMCk7CiBjdHguY2xlYXJSZWN0
KDAsIDAsIDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLndvcmtlci5qcwpp
bmRleCAwMDg1MGM2YjBmMi4uMzMyY2NlMmJmOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9mIHplcm8gcGl4ZWxz
IGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5jbGVhclJlY3QoMCwg
MCwgMTAwLCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgNTApOwogY3R4LmNsZWFyUmVjdCgw
LCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5i
YXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LmJhc2ljLmh0bWwKaW5kZXggMmY2ZTZkMWE5ZmUuLjkyYWE4Nzc4NTNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3QuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFJlY3QuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFJlY3QuYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmZpbGxSZWN0IHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLndvcmtl
ci5qcwppbmRleCA4MDU1NjEwNDRmZi4uMTdlZWQzYTg3M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJh
c2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qgd29ya3MiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNs
aXAuaHRtbAppbmRleCBkZGM2MjVkZmJlNi4uYTdhMTYyZTM5MmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5jbGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5m
aWxsUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0
ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzCmluZGV4IDc0MGE5ZGU1ZTIwLi4xMTI1YTc0MTdl
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZp
bGxSZWN0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVnYXRpdmUuaHRtbAppbmRleCBiYTUy
NWNlMjM5Yy4uNDMzMzQ4NzE2ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5uZWdh
dGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Zmls
bFJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3
b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUsMCwy
NTUsICIyNSwzNyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMzcsIDAsMjU1LDAsMjU1LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggZGY2
NDRkNWZiMzguLjA4ZGUwZThmZGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVz
IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSww
LDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLmh0bWwKaW5kZXggN2JlZGVlNjMy
NzYuLjRkNzJkODhlMGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5ub25maW5p
dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFJlY3Qubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxs
UmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCgpIHdpdGggSW5maW5p
dHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGN0eC5maWxsUmVjdCgw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsUmVjdCgwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguZmlsbFJlY3QoMCwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNzk0NTViMjlmNjEuLmU3ZmI3ZjcwZWQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3Qubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbFJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzksNyArNDMsNiBAQCBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CiBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmZp
bGxSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGguaHRtbAppbmRleCBmZjY1MzBlOTg4NS4uZTQy
MzVkY2NmYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5maWxsUmVjdC5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5w
YXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1
cnJlbnQgcGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGxSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmZpbGxSZWN0LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgud29ya2VyLmpzCmluZGV4IDc0MzM2MjBlZDYx
Li4xZjA0NzJlYjg5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmZpbGxSZWN0LnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lmh0bWwKaW5kZXggMTM5OWJiYmZiNjIu
Ljc0NGI1MzU4MWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRvdy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5zaGFkb3c8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZmlsbFJlY3Quc2hhZG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBkcmF3cyBzaGFk
b3dzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiZmlsbFJlY3QgZHJhd3Mgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNo
YWRvd09mZnNldFggPSAwOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LnNoYWRvdy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuZmlsbFJlY3Quc2hhZG93Lndvcmtlci5qcwppbmRleCA3ZjA1NmY1MGQzYy4uZjMxYTQx
NjY2MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5maWxsUmVjdC5zaGFkb3cud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJmaWxsUmVjdCBkcmF3cyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBjdHguc2hhZG93T2Zmc2V0WCA9IDA7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZp
bGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuZmlsbFJlY3QudHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3JtLmh0bWwKaW5kZXggMjFiNzgwYTU1MjkuLmE0
NjUyYjUwM2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuZmlsbFJlY3QudHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC50cmFuc2Zvcm08L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFJlY3QudHJhbnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBp
cyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3Jt
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnRyYW5zbGF0ZSgwLCA1KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgLTUsIDEwLCA1KTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9ybS53
b3JrZXIuanMKaW5kZXggZDBiZmFhOWE0YmEuLmE2MWE1NjMzOTE3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3JtLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QudHJhbnNmb3JtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJl
Y3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LnRyYW5zbGF0ZSgwLCA1KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3Qo
MCwgLTUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QuemVyby5odG1sCmluZGV4IGIxMzA5ZWUxZjdjLi44YjY5YzVjMjcxNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3QuemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsUmVjdC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGxSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3Q8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBvZiB6
ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguZmls
bFJlY3QoMCwgMCwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuZmlsbFJlY3QuemVyby53b3JrZXIuanMKaW5kZXggYWZlMzgzMmNjMWMuLjZhNTM3ZDhk
NjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
ZmlsbFJlY3QuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5maWxsUmVjdCgwLCAw
LCAwLCA1MCk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuYmFzaWMuaHRtbAppbmRleCAzMjllMjk4
OTc0Yy4uMTE2Y2IyNDE5ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuYmFzaWMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5iYXNpYzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdHJva2VSZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0
IHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgic3Ryb2tlUmVjdCB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnN0cm9r
ZVN0eWxlID0gJyMwZjAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUs
IDI0LCA1MCwgMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC5iYXNpYy53b3JrZXIuanMKaW5kZXggMTNmZDJhZTliMGEuLmVhOTYxM2Fl
NjFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJzdHJva2VSZWN0IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHgu
c3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVj
dCgyNSwgMjQsIDUwLCAyKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0LmNsaXAuaHRtbAppbmRleCAxZjFjOTQ3ZDNlOS4uMTgzMmQ2ZDg5MGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0LmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0LmNsaXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcg
cmVnaW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgY3R4LnN0cm9rZVJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAud29ya2Vy
LmpzCmluZGV4IGRmYjY3MDVjMDZhLi43Yjc2MjEwZDdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
Y2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QgaXMgYWZm
ZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnN0
cm9rZVJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEuaHRtbAppbmRleCAzNWU0ZTA2Njdl
MS4uNTYzODk3ZjM2OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVj
dC5nbG9iYWxhbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5zdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVj
dCBpcyBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJl
Y3QoMjUsIDI0LCA1MCwgMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
Z2xvYmFsYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCmluZGV4IGYyNDEyMDAzNGYw
Li43YzgxYmNjODFhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBi
eSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0g
JyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1MCwg
Mik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5nbG9iYWxjb21wb3NpdGUuaHRtbAppbmRleCA0NGI4OTY2ZTQyOC4uNWQzNDRlODg1NzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lmdsb2JhbGNv
bXBvc2l0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+c3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgic3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBj
dHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xv
YmFsY29tcG9zaXRlLndvcmtlci5qcwppbmRleCA5M2JlNjNjM2ViYi4uZDZlNjQ4MTRlOTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguc3Ryb2tl
U3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwg
MjQsIDUwLCAyKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCww
LCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QubmVnYXRpdmUuaHRtbAppbmRleCBiZTVmOWFhM2M3NS4uZmM3MjQwZThhMGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5l
Z2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0
Lm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNp
emVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDAs
MjU1LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUsMCwyNTUsICIyNSwzNyIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMjU1LDAs
MjU1LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
bmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDljODM5NTBhOWZjLi43Y2Jj
Y2M0YzAxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUsMCwyNTUsICIy
NSwzNyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MzcsIDAsMjU1LDAsMjU1LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3Qubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUuaHRtbAppbmRleCA5MTk4MzY1ODc2Yy4u
NjIxZDdiNjk4YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lm5vbmZp
bml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
c3Ryb2tlUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0KCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ0LDcgKzQ4LDYgQEAgY3R4LnN0
cm9rZVJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVj
dCgwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3Qubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggN2ZiMTY4MTFh
MGEuLmJjZDBkZWIyNDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QoKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsNyArNDQsNiBAQCBjdHguc3Ryb2tlUmVjdCgw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5wYXRoLmh0bWwKaW5kZXggZGM0OWNiZmJlNjkuLjg3ZmJjNDRkODhiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QucGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5zdHJva2VSZWN0LnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5wYXRoPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5zdHJva2VSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ry
b2tlUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcg
KzI4LDYgQEAgY3R4LnN0cm9rZVJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QucGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLndvcmtlci5qcwppbmRleCBiNTkwOGIxNjc0Zi4uOGQ1
YmJiMDU5YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRo
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxNiwgMTYpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCmluZGV4IGEwNDJk
OTQzNTg5Li5jMTUwZjVmYWMxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3Quc2hh
ZG93PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnN0cm9rZVJlY3Quc2hhZG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJv
a2VSZWN0IGRyYXdzIHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRyYXdzIHNoYWRvd3MiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Nyw3ICszMSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSA1
MDsKIGN0eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcwpp
bmRleCA3ODFlMGI5NjljOS4uOWU5MWU5NzQyNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hh
ZG93Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBkcmF3cyBz
aGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7
CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAtNzUsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50
cmFuc2Zvcm0uaHRtbAppbmRleCBiYTg1OWI4ZDgzZS4uMmM5MDEyOWIzOTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5z
Zm9ybS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0
LnRyYW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkg
dHJhbnNmb3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1
OwogY3R4LnN0cm9rZVJlY3QoMi41LCAtMi42LCA1LCAwLjIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS53b3Jr
ZXIuanMKaW5kZXggODViYzZlOGIyM2MuLjg5Mjc1ZTgwOWVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxS
ZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0
eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1OwogY3R4LnN0cm9rZVJl
Y3QoMi41LCAtMi42LCA1LCAwLjIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QuemVyby4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEuaHRtbAppbmRleCA5NzNiOWQxYWYxNC4uMTI0ODJh
ZjRjNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lnplcm8uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
dHJva2VSZWN0Lnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiAweDAg
cGl4ZWxzIGRyYXdzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGlu
ZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4
LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMS53b3JrZXIu
anMKaW5kZXggNWQxZjQ2NjRhZmMuLmZmZWRiZTViZDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2Yg
MHgwIHBpeGVscyBkcmF3cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc3Ry
b2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LnN0cm9rZVJlY3Qo
NTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJv
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uMi5odG1sCmluZGV4IDE2MWUyNDA4MzlmLi5lZjQzODhmMDk5NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVy
by4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuemVyby4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuemVyby4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90
aGluZywgaW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRy
YXdzIG5vdGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0
eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMKaW5kZXggYmQ3Zjg1MjA4MzYu
LmRlNmNmZWU3NGY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3Ro
aW5nLCBpbmNsdWRpbmcgY2FwcyBhbmQgam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0
eC5saW5lQ2FwID0gJ3JvdW5kJzsKIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBjdHguc3Ryb2tl
UmVjdCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4zLmh0bWwKaW5kZXggNzU2NmJhODQ4MmEuLjgwNDI5Mjg0ZTk5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC56ZXJvLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC56
ZXJvLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBzdHJhaWdo
dCBsaW5lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7
CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56
ZXJvLjMud29ya2VyLmpzCmluZGV4IDBiNzNkZWIyNzZhLi5jNGJhMjRmMWIwNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVy
by4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC56ZXJvLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJz
dHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTYsNyArMjAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0g
NTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwKaW5kZXggZTQwZDc4
ZDA2ZGYuLjg2MGZlMzJkZDdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJv
LjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC56ZXJvLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9r
ZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9r
ZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5saW5lQ2FwID0g
J3JvdW5kJzsKIGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC53b3JrZXIuanMKaW5k
ZXggZTdkZTdhNWRkMTguLjMxZjA2NjEzZDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8u
NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBp
eGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIx
LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsKIGN0eC5z
dHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbAppbmRleCBjMjNmNjc1ZTgyNS4uNTAwNTM2N2Ix
YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lnplcm8uNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uNTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJv
a2VSZWN0Lnplcm8uNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBOeDAgcGl4
ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBpeGVs
cyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0cm9r
ZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lnplcm8uNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzCmluZGV4IGNiODIyNGVk
ODQ4Li4xNTU2NjNiYzFjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3Mg
YSBjbG9zZWQgbGluZSB3aXRoIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgubGlu
ZVdpZHRoID0gMjUwOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0eC5zdHJva2VSZWN0KDEw
MCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVs
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQu
aHRtbAppbmRleCAwZTAxMWFkZDJkNy4uYWRjNDgxOGI2NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmRlZmF1bHQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRT
YW1lKGN0eC5maWxsU3R5bGUsICcjMDAwMDAwJywgImN0eC5maWxsU3R5bGUiLCAiJyMwMDAwMDAn
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCBiZDVhZjUyMjhj
MS4uOTk1NjNmNzllYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICcjMDAwMDAwJywgImN0eC5maWxsU3R5bGUi
LCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3Bh
cmVudC5odG1sCmluZGV4IGQyMTI4MmE1OTAwLi5lMzk0Zjg1NTA5MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNl
bWl0cmFuc3BhcmVudC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUuZ2V0LnNlbWl0cmFuc3BhcmVudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSc7CiBhc3NlcnRfcmVn
ZXhwX21hdGNoKGN0eC5maWxsU3R5bGUsIC9ecmdiYVwoMjU1LCAyNTUsIDI1NSwgMFwuNFxkK1wp
JC8pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53
b3JrZXIuanMKaW5kZXggNmQ1NDRmMTdlMjIuLjdmYTE1N2QxOWM4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdl
dC5zZW1pdHJhbnNwYXJlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpJzsKIGFz
c2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL15yZ2JhXCgyNTUsIDI1NSwgMjU1LCAw
XC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbAppbmRleCA1ZGE1Yjk3
Njc1MS4uM2NiYTNhNGViODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5nZXQuc29saWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLmdldC5zb2xpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5maWxsU3R5bGUgPSAnI2ZhMCc7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCAnI2ZmYWEw
MCcsICJjdHguZmlsbFN0eWxlIiwgIicjZmZhYTAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNv
bGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5n
ZXQuc29saWQud29ya2VyLmpzCmluZGV4IGFlZWE0NGFiZDFjLi43ZmE3ZmQ1YWU5ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdl
dC5zb2xpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0
LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZmlsbFN0eWxlID0gJyNmYTAnOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgJyNm
ZmFhMDAnLCAiY3R4LmZpbGxTdHlsZSIsICInI2ZmYWEwMCciKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdl
dC50cmFuc3BhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLmdldC50cmFuc3BhcmVudC5odG1sCmluZGV4IGEzOTBhYmJiODczLi5mZDRjNDQ1NzNlZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50
cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5nZXQudHJhbnNwYXJlbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUuZ2V0LnRyYW5zcGFyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDApJzsKIF9hc3NlcnRTYW1lKGN0eC5maWxs
U3R5bGUsICdyZ2JhKDAsIDAsIDAsIDApJywgImN0eC5maWxsU3R5bGUiLCAiJ3JnYmEoMCwgMCwg
MCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC53b3Jr
ZXIuanMKaW5kZXggM2RmOTFkZDFhMWMuLjhiYjE3NWEwYmU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5z
cGFyZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQs
NyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLDAsMCwwKSc7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0
eWxlLCAncmdiYSgwLCAwLCAwLCAwKScsICJjdHguZmlsbFN0eWxlIiwgIidyZ2JhKDAsIDAsIDAs
IDApJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcuaHRtbAppbmRleCA4ZDIz
MjYyMDI5Yy4uY2YyY2E0YzA1NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmludmFsaWRzdHJp
bmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaW52YWxpZCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy53b3Jr
ZXIuanMKaW5kZXggNTAxODliZGY2OGYuLjcwNWY4YWU2OTczIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJp
bmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsy
Miw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFN0eWxlID0gJ2ludmFsaWQn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmludmFsaWR0eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbAppbmRleCAzZDEwNDNkMjhkNy4uNzNmNmJiYWY1
NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5p
bnZhbGlkdHlwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5pbnZhbGlkdHlwZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuaW52YWxpZHR5cGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLmlu
dmFsaWR0eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFN0eWxlID0gbnVsbDsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5p
bnZhbGlkdHlwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzCmluZGV4IDQyMmFlM2U4OWI5Li5hNTk4NjhkNGUx
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmlu
dmFsaWR0eXBlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFN0eWxlID0gbnVsbDsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC0xLmh0bWwKaW5kZXggZjc5NTY5NGJkZTkuLmVkODQ0ZWM3ZGU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5q
cwppbmRleCBjMTQ3OTA1ZDVmNy4uN2QzNzUxNmM5NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxw
IGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi5odG1sCmluZGV4IGEyYzJjNzBk
NjI1Li5iMzcwMzRiNTIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCmluZGV4IGQ3YTM3ZDJjMDM3
Li5lMTI1YzcwNDQwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUgLyAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUx
LCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sCmluZGV4IGEwYmY0ZjM3ZDBjLi4yZDQyOWYwYzhm
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIw
LjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIs
ICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzCmluZGV4IDE3MDlmNDkzZGE2Li5hZTQzYTYzNzZk
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MC4wLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUi
LCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtNC5odG1sCmluZGV4IGEyOGY2ODk0OGQ5Li40YWM4YWNkNzQxNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4w
JSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTQud29ya2VyLmpzCmluZGV4IDI5MzVjNTFmMjkxLi44YmExZDMzYTNjMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAu
MCUsIDUwLjAlLCAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUs
MCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtNS5odG1sCmluZGV4IDg3YTA5MzVkYWIyLi5jNjczMTk0Y2FlYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAl
LCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01
Lndvcmtlci5qcwppbmRleCA2NGM4MTA4MGUzZi4uYjM4ZDg0ZmFiODEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAu
MCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0
bWwKaW5kZXggYzE4ZjlkOTA1ODIuLjk0NmE3NzRmZGYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpz
CmluZGV4IGZlMzNmNGIyYmJhLi45OWNmYTI1ZWU1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAg
Y2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTcuaHRtbAppbmRleCAzYWQ5
NWRiMTU1Ny4uZWM5MzljZmNmMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Ny5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC03PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTcud29ya2VyLmpzCmlu
ZGV4IDIxZDUxZDdkN2Y4Li5mYmNiYmM5OTY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lmh0bWwKaW5k
ZXggOTk3MWIyMjViYTEuLjUyZGE4YzljYjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTguaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtODwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5NTEwMjRyYWQsIDEwMC4wJSwgNTAuMCUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTgud29ya2Vy
LmpzCmluZGV4IGI1YmM2NGM4YzhiLi4yZTMxMGRlMjY0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1
MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRt
bAppbmRleCAwZDk5ZDE0NTdlYi4uZDhjZGE3ZmZiYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtOS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTk8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDAuMzMzMzMzMzMzM3R1cm4sIDEwMC4wJSwgNTAu
MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTku
d29ya2VyLmpzCmluZGV4IGNhZTE5NTMxZWIwLi5mYmZjYmFlM2Y1ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC05Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDAuMzMzMzMzMzMzM3R1cm4sIDEw
MC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTEuaHRtbAppbmRleCA3ZjAzZjcxYmU2MC4uMzU1Y2U4OGY1YTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAl
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEu
d29ya2VyLmpzCmluZGV4IDIxYjQ0Y2U3ZjhjLi4xNmNmMTkzMmY1ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bGEtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCmlu
ZGV4IDAxNDk1N2RlZTEyLi5iOTEzMWE5M2I0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUgLyAwLjIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTIud29ya2VyLmpz
CmluZGV4IDdiZjc4YjkyODZjLi41YmJkNjE4ZTA3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA5
ZmRlN2JkOTYzZC4uYmY4YmQxYjVhOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwpp
bmRleCBmZjZhYjgwMTc2MS4uOTAwMTRjODIyZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAg
Y2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwKaW5kZXgg
NTY2OTkzMThhNWMuLjY1NmVhY2Y2YWNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC53b3JrZXIuanMK
aW5kZXggZjM5MTBlZjkwZjQuLjI1MWQ0N2ZmNTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxw
IGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sCmluZGV4
IDFlMTk5MGYyZmFlLi43NzQwM2NiMmYxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lndvcmtlci5q
cwppbmRleCBjOTYzMWVjMzAyNS4uOTIyMmY0YzVkNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4y
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCmlu
ZGV4IDBmMWI2NDRlYTIxLi42MDRkMmU3MWM4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lndvcmtlci5q
cwppbmRleCBjNmU0NDMwZDk0Ny4uYmMxZDMwYmU1NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTYud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sCmluZGV4
IGRhMjkwNzYyZDU3Li5hMzZmM2JiOWI3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTcud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53
b3JrZXIuanMKaW5kZXggY2ZlYWVmZDA2ZDcuLjBlODFhODM0ZDE3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS03Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMzMuMzMzMzMzMzNncmFkLCAx
MDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS04Lmh0bWwKaW5kZXggNDA0Mjc3ZDhhMGUuLjNmNWQxNWNkOTRiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS04Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTg8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMi4wOTQzOTUxMDI0cmFk
LCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTgud29ya2VyLmpzCmluZGV4IGZiMzQxNWFkOTAzLi5hNTNmNGNlNjc4YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMi4w
OTQzOTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS05Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKaW5kZXggMmJkNWExMGE5N2MuLjg1MjU4NzczZGU5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsYS05PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2wo
MC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtOS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05Lndvcmtlci5qcwppbmRleCAxZGYxYzgyYzhm
Yy4uZmZiYzRiMDY1NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTkud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4K
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAnaHNsKDAuMzMzMzMzMzMzM3R1cm4sIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2ItMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xLmh0bWwKaW5kZXggMzMxMmQwNWE0
MjYuLmNkODhkZWJmMjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigwLCAyNTUuMCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMKaW5kZXggNGQxMzg2YTU5YjAuLmIwOTVmMGU2
ODJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MCwgMjU1LjAsIDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi0yLmh0bWwKaW5kZXggNzE2ZDRmODA3ZTkuLmI2NDIzZmIwMjA1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwLCAyNTUsIDAsIDAuMiknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCmlu
ZGV4IDEwMDMwOWU1YmMyLi43NGJiYWIzODIxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRleCBiMGZhYTA1OTQ5ZC4uMzBm
MTNjMjhmNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAs
MjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItMy53b3JrZXIuanMKaW5kZXggNmFjNDc3OTVlZDguLjU4N2E1ZjM2Y2QwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMjU1
LCAwLCAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC5o
dG1sCmluZGV4IGRmODU4MDE5YTk5Li5jZWYwNGZkNzkyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5kZXggYWNkZmIy
ZGY0MTUuLmMyYjFjMmEzNjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiLTUuaHRtbAppbmRleCBiMzg5MDNiMGIyMy4uMTdmNTU5MWU3NzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4K
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAw
LjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndv
cmtlci5qcwppbmRleCA3YzQ0ZGRkMjFmYS4uNzIzNzkzNjQzZTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2It
NS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwIC8gMC4yKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbAppbmRleCBjNTRkOGRm
ZDBlOS4uNDYxNzRkNDBhZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiKDAgMjU1IDAgLyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAs
MjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi02Lndvcmtlci5qcwppbmRleCAyMWQ2MmY2MjEzMi4uMDRjM2U4
MWIyMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YigwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1
LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtMS5odG1sCmluZGV4IGRiYzgzMWRiMzgzLi43ODFlYmQzMjcwNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEt
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUuMCwgMCkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLndv
cmtlci5qcwppbmRleCBjYmI2ODA2MTA3NS4uM2RlYWQ3M2RjMmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2Jh
LTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUuMCwgMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sCmluZGV4IGMx
ZjljNmJhZjZiLi5iZTM2N2E2NDBlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMKaW5kZXggZWUzYTA5
YTg2OTguLmZkZmIxZTI4N2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUx
LCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZjk5MjY2M2RmNmEuLmE0MGMyMjdk
MTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAs
MjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcwppbmRleCA3YjVmMzkyNmU0MS4uYTQ1NmU2NTBkZjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTQuaHRtbAppbmRleCA0ODJjOTVmZWZjOC4uMDkzZTM0ZTA5OGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5q
cwppbmRleCA4ZTAyOTM1MGQzOC4uNGNkYTFiYTMyMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwIDI1NSAwKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwKaW5kZXggZGRmZmY1NTFkN2Mu
LjQ5NmU4Yjg2MWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAgMjU1IDAgLyAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAs
MjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUud29ya2VyLmpzCmluZGV4IDE0ZDJiMzAxNTM3Li5iZjli
NzZiZmNlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAgMjU1IDAgLyAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAi
MCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS02Lmh0bWwKaW5kZXggMzM5Y2Y1ZjkxOGIuLjgzMDZiODM2YjA4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiYS02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTY8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAgMjU1IDAg
LyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2Jh
LTYud29ya2VyLmpzCmluZGV4IDAxNmM3Y2M1MWE5Li4wZTIwZTg0OWRhNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAgMjU1IDAgLyAyMCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4My5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbAppbmRleCA2NjM3NjkzYjQxMC4uY2NjNzI5YTA0M2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oZXgzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhleDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhl
eDM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5qcwppbmRleCA4Y2NmZTZkNjk0ZS4u
MzEyZTA0MDJlZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
ZXg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aGV4NC5odG1sCmluZGV4IDQwM2VhOTAzODcxLi4wN2E1NjNhZGRkYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaGV4NDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaGV4NDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjBmJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oZXg0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oZXg0Lndvcmtlci5qcwppbmRleCBkODc0M2MzMGVjMi4uOTNiNTliYjBhNDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
ZXg0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaGV4NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwZic7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYuaHRtbAppbmRl
eCBjMmRiZTkwNGI1Ni4uNDQ5NDc4MmJjMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDY8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhleDY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMDBmRjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2
Lndvcmtlci5qcwppbmRleCBiNmZlNTgzYTg3OS4uM2IzNzNlZTk1YTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4
Ni53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICcjMDBmRjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC5odG1sCmluZGV4IGIwOTA5NmVh
ZTBjLi41MjVmMjA3NzI3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhleDguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaGV4ODwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaGV4ODwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwMGZmMDBmZic7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIu
anMKaW5kZXggMDZiNWZkMGZiZGMuLmI3MWYxNTEyYzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDgud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
IzAwZmYwMGZmJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLmh0bWwKaW5kZXggZjZmOTk4Mzg0ODQu
LjgwMjEwYTQ3MDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtMS53b3JrZXIuanMKaW5kZXggNTAzZjViNjU4YjguLjM3ZTcxOWQ0Yjg5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0y
Lmh0bWwKaW5kZXggN2RmOTExNTgwYTkuLjM2MDBmZjZkYjIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCggLTI0MCAsIDEwMCUgLCA1
MCUgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLndvcmtlci5qcwppbmRleCBiYjkxODJh
OGI4OC4uMmY1YjRlOTFiMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCggLTI0MCAsIDEw
MCUgLCA1MCUgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy5odG1sCmluZGV4IGU1NmM5NWZiMjc2
Li41ZWJlMmVhNzFlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMzYwMTIwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
My53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTMud29ya2VyLmpzCmluZGV4IDA4MDlmZDQyNGUxLi5mNDAxZjM4ZGQxOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0z
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDM2MDEyMCwgMTAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtNC5odG1sCmluZGV4IGYyM2E3NzA1Mzk0Li5mMjhjZjQ5ZDA5NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woLTM2MDI0MCwg
MTAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lndvcmtlci5qcwppbmRleCBj
Y2JjM2NkYTg4ZC4uODYxMTVhODg4YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYw
MjQwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwKaW5kZXggMGVmOGEw
YThjZGQuLjg3NzliZjk1NGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtNS53b3JrZXIuanMKaW5kZXggNDJhOWY5MDkyNGUuLjIxNmRlNTc1M2Mz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC02Lmh0bWwKaW5kZXggNDIwYjc4N2VjOGEuLmE0YTNlNzljNGM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgrMTIwLCArMTAwJSwgKzUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3JrZXIu
anMKaW5kZXggOWE1MzY4NjIwZjkuLjdhN2QzNGQ3M2I0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woKzEyMCwgKzEwMCUsICs1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0xLmh0bWwKaW5kZXggZjU4Njk1OGNkZGMuLjIzMzYyZjliMGJhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LWNsYW1wLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAsIDIwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtY2xhbXAtMS53b3JrZXIuanMKaW5kZXggNmM1OTg2MDZlZjYuLjJkYjA0NTg1YTRmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LWNsYW1wLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAyMDAlLCA1MCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLmh0bWwKaW5kZXggOTJjOWM5NWUyM2EuLjUz
OWE5YzEwZTg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIC0yMDAlLCA0OS45JSkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5q
cwppbmRleCA3YWFjMWM5OGU3ZC4uZTgxN2UwNWYyNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1j
bGFtcC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAsIC0yMDAlLCA0OS45JSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcs
MTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLWNsYW1wLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtY2xhbXAtMy5odG1sCmluZGV4IGE2Y2YxNTA2OWY3Li44OWE2ZThkMDE1
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCAyMDAlKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMjU1LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMud29ya2VyLmpzCmluZGV4IDM0
MTE1M2IwOTFkLi5lZDNlNmY3NmNhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnaHNsKDEyMCwgMTAwJSwgMjAwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUw
LDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1w
LTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtY2xhbXAtNC5odG1sCmluZGV4IGFjNDE0ZmQ2YmUwLi5hNWM0ZTIxOTdmOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuaHNsLWNsYW1wLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCAtMjAwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDI1
NSwgIjUwLDI1IiwgIjAsMCwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1w
LTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC00Lndvcmtlci5qcwppbmRleCA0MDM5NjJhZmM2NC4uYTZkMWViYzc4MDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIC0yMDAl
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLTEuaHRtbAppbmRleCBiZTU5NWQ3YTRjYy4uNmJhZmE2YmI0
MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUsIDAuNDk5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwx
MjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTEud29ya2VyLmpzCmluZGV4IDgxODVmZGQ3YzkwLi5mMDE3MDhkYjljMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgNTAlLCAwLjQ5OSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtMi5odG1sCmluZGV4IGMxZDA0ODZkZDdlLi4yOGUzZDZlOWEzNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsYSggMTIwLjAgLCAxMDAuMCUgLCA1MC4wJSAsIDEgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTIud29ya2VyLmpzCmluZGV4IDkxYzg4MmVjMDdlLi5lYmIzYjI1MDZmNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKCAxMjAuMCAsIDEwMC4wJSAsIDUwLjAlICwgMSApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbAppbmRleCA4MGIwZWNmMzM4
My4uMmM3ZjdhMTJiMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAyMDAl
LCA1MCUsIDEpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS53b3Jr
ZXIuanMKaW5kZXggYjAzMTQxNjYwMWYuLjlhZDY2N2NkMDMwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAyMDAlLCA1MCUsIDEpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIuaHRtbAppbmRleCBhZTRlNjM3YTIyOS4uNWYxM2FjNDQ3
Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAtMjAwJSwgNDkuOSUsIDEp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0yLndvcmtl
ci5qcwppbmRleCA2NzFjYTFhZDM5MC4uZTI2NmM0NDU4MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIC0yMDAlLCA0OS45JSwgMSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKaW5kZXggOWUzNTYzNGI1Mzcu
LmI5MWZmZDdmZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNs
YS1jbGFtcC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwg
MjAwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUs
MjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1w
LTMud29ya2VyLmpzCmluZGV4IGE2MDQ1YzYxNGFiLi5kM2MzOWYxMTVkZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
My53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgMjAwJSwgMSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwKaW5kZXggODU4YjQ1
OWMxZjUuLjJkNjY0MDJmNTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaHNsYS1jbGFtcC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90
ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwg
MTAwJSwgLTIwMCUsIDEpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwyNTUsICI1MCwyNSIsICIwLDAsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lndv
cmtlci5qcwppbmRleCA3N2JlN2JlMDQxYi4uZmViYWE1ZjQxNzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIC0yMDAlLCAxKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbAppbmRleCAyODUxMDhhNmU3NC4uZmQyZWU0NWU5
YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLWNsYW1wLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUsIDIpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS53b3JrZXIuanMKaW5kZXgg
ZDUzNGQ0ZDZjNzIuLjk0NDdjMGFhYzA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUsIDIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1w
LTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTYuaHRtbAppbmRleCA4MDU2NTExYjYzMy4uNzg5YzgyZWZiNjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTY8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAwJSwgLTIpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1j
bGFtcC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzCmluZGV4IDMyYTc3ZDkyMWUyLi4yNzY1MmE4
MWFhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAw
JSwgMCUsIC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQuaHRtbAppbmRleCBmMGVhMWE3MzNhYy4uOWU0YzRk
OWVmMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5odG1sNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5odG1sNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHRtbDQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmh0bWw0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnbGltRSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndvcmtlci5qcwppbmRleCBj
OTU0OTY2YzM4YS4uYTgzMjM0ZjdkMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2xpbUUnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhz
bC0xLmh0bWwKaW5kZXggYjIzYTM3NjJlZjMuLmU1YTc3MDI5MTA5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2wtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LWhzbC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgw
LCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS53b3Jr
ZXIuanMKaW5kZXggMjdkYjEyNTQ0OGEuLjhhMjg0YmU3ODNjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlLCA1MCUgLyAxKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbAppbmRleCAyMjI3ZDU1ZmIwYS4uZjI3
MDcyMGNjZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAgMTAwJSA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcwppbmRleCA0ZWRiYWU0ZDdlZC4uMTM3OGE0YTJh
ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2wtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
aHNsKDAgMTAwJSA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sCmlu
ZGV4IGRjN2NhYWQzZjdmLi43YmQ4Mzk0YjZjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wt
MzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSA1MCUp
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcwppbmRleCA0NzQ0
ZjllODczYy4uZjExOTZmNGIwNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTQuaHRtbAppbmRleCBhZmZiNjVlNzZjMS4uMDFjYzhiZmFlZWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
aHNsKDAgMTAwJSA1MCUgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQud29y
a2VyLmpzCmluZGV4IDU0NWRmMzA3Zjc1Li5jYWViOWVjNGQ0MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCAxMDAlIDUwJSAvKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAppbmRleCA0MDdmNmVlMmNjMi4uZTU2YWQ2
NzdmNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKaW5kZXggOTYwZTMxODQxNGMuLmVjMGEzZWI4MDgw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bCgwLCAxMDAlLCA1MCUgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbApp
bmRleCAzMTk2NzZlMjEwMi4uNDJkNjUyYzc2MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEt
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2xhLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsYS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCwgMTAw
JSwgNTAlIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIu
anMKaW5kZXggMGJiZjVhY2NkNWUuLmYyNTQzODhlODg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2xhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCmluZGV4IDAwMWUxYmFhNjJiLi43
YzlmMzEyNzVjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwIDEwMCUgNTAlLCAxKSc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcwppbmRleCBjMWU3YzBhNTY2My4u
MWM1ZTA4MTNkMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2xhKDAgMTAwJSA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMg
c2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsYS0zLmh0bWwKaW5kZXggNGU5ZTU5YzA1MjMuLmQ3ZGNmZGNmOTU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1oc2xhLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbGEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdoc2xhKDAsIDEwMCUgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0
aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0z
Lndvcmtlci5qcwppbmRleCBiYjQ1MjEzYzRmZC4uYjBhZDEyZjliNTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LWhzbGEtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUgNTAl
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2ItMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAppbmRleCBiYTBjYTVlMWJiYi4u
YmVlYjEzNjZkNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCwgMCAvIDEpJzsgfSBjYXRjaCAoZSkg
eyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJl
IGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcwppbmRleCAxN2E4ZjQ0MDU2Ni4uYzFhYTRm
MjU5OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2ItMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAncmdiKDI1NSwgMCwgMCAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi5odG1s
CmluZGV4IDQyMzU0YWU4Y2E2Li5mZGQzMGNhZjllOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2ItMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2ItMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1IDAgMCwg
MSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCmluZGV4IDdm
NmVmYzYwNjBlLi5kYmY1ZDE5YTVkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1IDAgMCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi0zLmh0bWwKaW5kZXggNDAyZTZhZDU3ZjAuLmQyMzkzOTdmZGI3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1yZ2ItMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYi0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J3JnYigyNTUsIDAgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMud29ya2Vy
LmpzCmluZGV4IGY1ZDU1MWMwNDFjLi5kYzAxYmM3OGYxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAwIDApJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1sCmluZGV4IDI1NTZhOWM5YjFlLi4xZjUyZWEzM2QwZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoMCAwIDAgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTQud29ya2VyLmpzCmluZGV4IDk2NmY0NjU4NjhmLi45MTQyM2IxYzJlNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAwIDAgLyknOyB9
IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3Qg
bWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKaW5kZXggYzJmYzFlZThmNmMuLjYxZmZh
YWZlZmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
Yi01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYigwLCAwLCAwIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYi01Lndvcmtlci5qcwppbmRleCAzYTU0MjQ2YzcwYS4uYzQ1NjgzMDQxOTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDAs
IDAsIDAgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBp
dCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEuaHRtbAppbmRleCBmODQy
ZWZhZjBlNi4uOGE0NDhlMjM0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYmEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2Jh
LTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwIC8gMSkn
OyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRu
J3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKaW5kZXggODhm
N2QzNTQ2NWYuLmRhZjU0MWQ0MDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAgLyAxKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYmEtMi5odG1sCmluZGV4IDIyNjYwY2EzOWJlLi5lZWZhMTc3NGMwYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgyNTUgMCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiYS0yLndvcmtlci5qcwppbmRleCBjZDRiNDg5MGJkOC4uNTRlNTNjMDdjMmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1
NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYmEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZTg5
YTcxNWVhNzYuLmZkZDlkNDZhYzVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
YS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCAwKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2JhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcwppbmRleCA5OTllMGI1
OTk5MC4uMjRiNDNmMTljNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKaW5kZXggMDdlZTM3MDE4
NTEuLmVlYzRiOWViYjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXgxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2YnOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcwpp
bmRleCBmNTk1ZTEwODA4Ny4uNzRiZDM5NjhmNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
JyNmJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDIuaHRtbAppbmRleCAzMzBjNGJhYzE3NC4uYWUwZjcwNWZhMjAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXgyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4MjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICcjZjAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBp
dCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4Mi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXgyLndvcmtlci5qcwppbmRleCA2ZmIxNmYzMGRlZS4uZTJlNWNiMjI3
YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKaW5kZXggMGE2OWMy
ODA0ZDQuLjYzZmVlZTZiN2VjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXgzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDM8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2cwMCc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMud29ya2Vy
LmpzCmluZGV4IDgzMmY0ZGVhMTIwLi42ZDk4N2Y3ODVlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4My53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5
bGUgPSAnI2cwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXg0Lmh0bWwKaW5kZXggNTU2NWU3MDAyZTUuLjI2NGM0YzVhZGM2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oZXg0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4NC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnI2ZnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4NC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcwppbmRleCBmN2E3MDk3YWNkZi4u
Y2FmZTYxYWVkZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbApp
bmRleCBiMWU0NTJjMjI3Mi4uM2M3ZDU4ZTdiOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmYwMDAnOyB9
IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3Qg
bWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg1Lndvcmtlci5qcwppbmRleCBhOTMxNDY3YjdhNy4uNTczMTM3Mzc5YmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhleDUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKaW5kZXggYjA5NTRlZjFmZTAuLmU3
YzBkMjZkZGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg2PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDY8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZnMDAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYud29ya2VyLmpzCmlu
ZGV4IDc1MDU0OGQ3NGU0Li4zZmQ1ZWM0NDEwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4Ni53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
I2ZnMDAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0
IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXg3Lmh0bWwKaW5kZXggZTUzY2I4N2E4YmMuLjdkZDMzMTJlYmI0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4Ny5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxs
U3R5bGUgPSAnI2ZmMDAwMGYnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4Ny53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcwppbmRleCA3Nzk2YTRlOTliMC4u
YThjMjNlMDJmMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMDBmJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRt
bAppbmRleCBhNTkzMzJmMDQwZC4uYjI0NjAwNDVjZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4ODwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmcwMDAw
ZmYnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXg4Lndvcmtlci5qcwppbmRleCAyMTU2ZWYwNmNjNy4uM2QzZGZjMTM1YjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDBmZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEuaHRtbAppbmRleCBmYjE1
NDg0NzhlYS4uYjU0ZDIzZWZmZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
LTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAlLCAxMDAlLCA1
MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcwppbmRleCBmMWIyYTUwODZmYy4uZWUzMGQzMjZkMTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAlLCAxMDAlLCA1MCUpJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi5o
dG1sCmluZGV4IDdmNTA5NjZlMGI1Li44ODQ2OGQ5YjViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdo
c2woeiwgMTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2wtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKaW5kZXggYjA5YTkyZGQ5NGEu
LjVjNmJlMzQxN2Y4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCh6LCAxMDAlLCA1
MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtMy5odG1sCmluZGV4IDcyNDRjZDBlMzRjLi44ZmZiNjNmNDNiYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aHNsLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2woMCwgMCwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIuanMKaW5kZXggMGIy
YTA2NTJhMzUuLmFjNzNiNTI5ZGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgw
LCAwLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtNC5odG1sCmluZGV4IDM1Nzc2NjZhOGM3Li4zODc0MDg5OTQ4MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzCmlu
ZGV4IGYxNzQzNDcyMjEzLi5mNDIzOWVjZGUwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdoc2woMCwgMTAwJSwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwKaW5kZXggYTNiOTA3MDg5ZTIuLmMzNWEyYzRl
YjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAuJSwgNTAlKSc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53
b3JrZXIuanMKaW5kZXggMzMxZWMwNzAyMzMuLjA5M2ZjNzg5NmEzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAuJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbAppbmRleCA5ZTgwYTYy
MjNiNy4uODc5ZTFiOGUxN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTY8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSwp
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC02Lndvcmtlci5qcwppbmRleCAzY2FkODRmNzdhNC4uZDIyNTJjMjIxNzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSwpJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLmh0
bWwKaW5kZXggMDkwNDIwOWNlMzYuLjM0Y2IzZTM1YjM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2xhLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdoc2xhKDAlLCAxMDAlLCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEud29ya2VyLmpzCmluZGV4IDAx
MWZiZTdiZDdkLi5hMGE3YjFlZjY5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xh
LTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bGEoMCUsIDEwMCUsIDUwJSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIuaHRtbAppbmRleCA2ZTg5ZTlkNzAwNy4uNmUw
ZmJlYTVhOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCwgMCwgNTAlLCAxKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaHNsYS0yLndvcmtlci5qcwppbmRleCA5YWM3NWI3ZGM1Mi4uY2VkNTgzYmUzMjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbGEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDAsIDUwJSwgMSknOyB9IGNhdGNoIChl
KSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhl
cmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMuaHRt
bAppbmRleCA4MmNhODQzYTQyZC4uYjUyNGFlYzQ5YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbGEtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J2hzbGEoMCwgMCwgNTAlLCAxLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMKaW5kZXggNWY1MTI2
ZWZjMTQuLmMwOGRhMzRhZDljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgw
LCAwLCA1MCUsIDEsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5uYW1lLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sCmluZGV4IDI2YmJkMjZiN2QxLi5hNzI3ODk4NjY0
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQubmFtZS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5h
bWUtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZGFya2Jyb3duJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEud29ya2Vy
LmpzCmluZGV4IDcwYjI0NDA4OWI2Li4yNjgxNzZmZGZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5uYW1lLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmls
bFN0eWxlID0gJ2Rhcmticm93bic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0
aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi5odG1sCmluZGV4IGQxMTJkNWQ2ODExLi44Yjk5
MTgxYzEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZmlyZWJyaWNrMSc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0y
Lndvcmtlci5qcwppbmRleCAxYWEwZjUyODQzNC4uMjk4MmU1NzNiY2MgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUt
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdmaXJlYnJpY2sxJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hv
dWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zLmh0bWwKaW5kZXggMDdhMGY2Y2M4
M2IuLjdmZWFjMDJiZWYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQubmFtZS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUt
MzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZWQgYmx1ZSc7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS0zLndvcmtlci5qcwppbmRleCBhYmM1NzlhODg5YS4uNTZhMDAzZmUwMDkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZWQgYmx1ZSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC5odG1sCmluZGV4IGE2OWMz
MGU4NzY0Li45MTM3Nzg5ZmE3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5u
YW1lLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnInJlZCInOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtNC53b3JrZXIuanMKaW5kZXggN2IyZjExOWQwZTcuLmZkMTk4YmE3YTlhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5uYW1lLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnInJlZCInOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBz
aG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTUuaHRtbAppbmRleCAzZjNhZTYz
MTE5Mi4uZDQ1MDk3NTE1MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5uYW1lLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFt
ZS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyJyZWQnOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5h
bWUtNS53b3JrZXIuanMKaW5kZXggYTNmOWNmMTQ0ZTguLjk0MGU1MGJkZjUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5u
YW1lLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnInJlZCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2ItMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEuaHRtbAppbmRleCAzYmEyNDFiYzkwOC4u
MmIxNmMwYzQ4MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NS4wLCAwLCAwLCknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTEud29ya2VyLmpzCmluZGV4IGMxZWY0MDVjNmE1Li45MTViMzEzMmIxMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIuaHRtbAppbmRleCAw
NjE3ODRmOWVhMi4uN2YzYmQyNjBmZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDEwMCUsIDAs
IDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLndvcmtlci5qcwppbmRleCBlMmMyODdlYmUxZi4uOTQwZjU1NTE2ZTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDEwMCUsIDAsIDApJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy5odG1s
CmluZGV4IDE2NDE2NjcyODcwLi5lNmNiMzAxZDJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2ItMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2ItMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MjU1LCAtIDEsIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYi0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5qcwppbmRleCBiZGI5YjZkYzdhMC4uMTM3
NGRjMGZmZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgLSAxLCAwKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LnJnYmEtMS5odG1sCmluZGV4IGJjNDA1NjljYTQ1Li4zMzQ3ZmRlNTA0OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdi
YS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgxMDAlLCAwLCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLndvcmtlci5qcwpp
bmRleCAyOTBmMTc1MDk2ZC4uYzdiZDdkY2Q2ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDEwMCUsIDAsIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLmh0bWwKaW5kZXggZWRlZDUyNmRmYTQu
LjE2ZDM4NWU1NGY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4g
MCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYmEtMi53b3JrZXIuanMKaW5kZXggMDM4YjM4MzhlZDguLmVhZGVlY2M3YmRl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsIDEuIDApJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiYS0zLmh0bWwKaW5kZXggZGVjN2FjZTkyOTUuLmViNGJlMGQyODlhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMg
c2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMud29ya2VyLmpzCmlu
ZGV4IDliZGY3NzNjYTA5Li4wNTM3MzhlMGI1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5yZ2JhLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMjU1LCAwLCAwLCAxLiknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiYS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQuaHRtbAppbmRleCA4YjBhZWU1NmVhYi4u
YTdhMzY5N2Q3NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2JhLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwLCAnOyB9
IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3Qg
bWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtNC53b3JrZXIuanMKaW5kZXggMGRiNDRjMzg4MzYuLjYwNzY5ZTcxNzA1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5yZ2JhLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1s
CmluZGV4IGEzZDk3OTBhNzQ2Li5lODRmYjViNTliNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiYS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDAsIDAsIDEsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0
aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lndvcmtlci5qcwppbmRleCBlODMxN2Vj
ZDMwYS4uZmNjYWI1MmZiNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1
NSwgMCwgMCwgMSwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0xLmh0bWwKaW5kZXggNWM0OGFlZWY3MzEuLjFiMmEzYjIyNTY5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWNsYW1wLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLWNsYW1wLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFt
cGVkIHRvIFswLDI1NV0uCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYigtMTAwMCwgMTAwMCwgLTEwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWNsYW1wLTEud29ya2VyLmpzCmluZGV4IGI5OGM0MWNiMzEwLi45N2FiYmM5NmMxOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiLWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1
XS4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKC0xMDAwLCAxMDAwLCAtMTAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTIuaHRtbAppbmRleCAzZGIwMThjNWYwOC4uNDcxYjY3YjEzZDMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItY2xhbXAtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1w
ZWQgdG8gWzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiKC0yMDAlLCAyMDAlLCAtMjAwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtMi53b3JrZXIuanMKaW5kZXggZGU3ZjkwNjcxNGQuLjg2YzFmMjlkZDY1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVd
LgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoLTIwMCUsIDIwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtMy5odG1sCmluZGV4IGJkZTIzNDgzNzc2Li44ZjY1OWY3OGZmNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UucmdiLWNsYW1wLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBl
ZCB0byBbMCwyNTVdLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoLTIxNDc0ODM2NDksIDQyOTQ5NjcyOTgsIC0xODQ0Njc0NDA3MzcwOTU1MTYxOSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMKaW5kZXggYTU5NGRh
MGMxN2QuLjJhZmM2YmI3ZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29s
b3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTIxNDc0ODM2NDksIDQy
OTQ5NjcyOTgsIC0xODQ0Njc0NDA3MzcwOTU1MTYxOSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWNsYW1wLTQuaHRtbAppbmRleCAzNjY4MDUzYzA1Ni4uYWEwZTlhNWExNTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1jbGFtcC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQg
dG8gWzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
KC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC53
b3JrZXIuanMKaW5kZXggMGRjYmNiYzgzMzguLmQzYzk3OTQ5ZjFiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2IoLTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5o
dG1sCmluZGV4IDA0OTEzYzQzODRiLi5jNDA5NzJjZTQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWNsYW1wLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTEwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwgLTEwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01
Lndvcmtlci5qcwppbmRleCAyMWViZWZmMjRlOC4uZjI1YTJjYWRhNmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
ZW9mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWVvZi5odG1sCmluZGV4IDMxNTg2YzY1YTU3Li41MmE3ODgzMzIzZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2YuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWVvZi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLWVv
ZjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigw
LCAyNTUsIDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzCmluZGV4
IGVhZDRkZGQ1ZjlmLi5kOTc5ZWVjM2RhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YigwLCAyNTUsIDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwKaW5kZXggMjgyMWZm
MmMzMWMuLmYwNGFlN2MxZmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVt
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsMjU1LDApJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItbnVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItbnVtLndvcmtlci5qcwppbmRleCAzMzNmZTBmZDMwNC4uNTkxM2E3YzgzZDcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItbnVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiLW51bS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwyNTUsMCknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1wZXJjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLXBlcmNlbnQuaHRtbAppbmRleCAwZmQ5MjdiZmU4ZC4uZDIxYjkwNjUwOTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItcGVyY2VudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5DU1MzIENvbG9yIHNheXMgIlRo
ZSBpbnRlZ2VyIHZhbHVlIDI1NSBjb3JyZXNwb25kcyB0byAxMDAlIi4gKEluIHBhcnRpY3VsYXIs
IGl0IGlzIG5vdCAyNTQuLi4pCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigwJSAsMTAwJSAsMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLXBl
cmNlbnQud29ya2VyLmpzCmluZGV4IDY3NTEzZmI1MjRjLi5jMWQxNGI1YTI3ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJj
ZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLXBlcmNlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj5DU1MzIENvbG9yIHNheXMgIlRoZSBpbnRlZ2VyIHZhbHVlIDI1NSBj
b3JyZXNwb25kcyB0byAxMDAlIi4gKEluIHBhcnRpY3VsYXIsIGl0IGlzIG5vdCAyNTQuLi4pCiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigwJSAsMTAwJSAsMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNs
YW1wLTEuaHRtbAppbmRleCA2ZTQwMzI0OWU2OS4uMTViMmU0OWQzMDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1jbGFtcC0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAtMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1
MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtY2xhbXAtMS53b3JrZXIuanMKaW5kZXggNTYxZjIzMjI4ZDQuLmFjMTE1MGM4MDk5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1jbGFtcC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAtMiknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLWNsYW1wLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIuaHRtbAppbmRleCBjNjViNDQwNTYwMi4uZGFmNmFh
M2E4MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1w
LTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAyKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2VyLmpzCmluZGV4IDdk
N2IyN2M2YjVmLi4yMzk4ZjBhZWJlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2YuaHRt
bAppbmRleCA1ZjA1Zjc4OGZmMi4uYmM0MDYwYWFmYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UucmdiYS1lb2Y8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUs
IDAsIDEnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi53b3JrZXIuanMKaW5kZXgg
OGZhOGI1MWU5N2EuLjQxNWEwNmQ0NDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEuaHRtbApp
bmRleCA4Yjc1YTNmYTRlZS4uY2U5M2NkZDZhZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtbnVtLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAg
MCAgLCAgMjU1ICAsICAwICAsICAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEyNywgIjUw
LDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLW51bS0xLndvcmtlci5qcwppbmRleCAyZGJiOTI4NTlhZS4uNzgzMzViNjI1YTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LW51bS0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1udW0tMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAu
NDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi5odG1sCmluZGV4IGM4NDNi
OWFiMWM4Li4yNWNjMmJhNTYwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1udW0tMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUg
ICwgIDAgICwgIDAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEyNywgIjUwLDI1IiwgIjAs
MjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0y
Lndvcmtlci5qcwppbmRleCAzZDhhMjZhMDNhMy4uNGNhZWIwMjdjMGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1udW0tMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAwLjQ5OSAgKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwKaW5kZXggY2NkMDJhZWNi
MWYuLjhlZmZlMWUwMDBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1wZXJjZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAlLDEwMCUs
MCUsMC40OTkpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC53b3Jr
ZXIuanMKaW5kZXggMDk1MjE2NjFmZDkuLmQ1MDQ3ZTkzNGI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1wZXJjZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCUsMTAwJSwwJSwwLjQ5OSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtc29saWQtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sCmluZGV4IGJhNTc3ZmQ5YTk1Li5kOGNhYWY5NzNm
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAgLCAg
MSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEud29ya2VyLmpz
CmluZGV4IDU4NWU4NTFiMDMzLi4wYjQ1ZWU3ZjUxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
c29saWQtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAxICApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIuaHRtbAppbmRleCA2ZmI4ODRjMTRlZi4uMTIxMTZj
ZDMwYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlk
LTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAg
ICwgIDEuMCAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29y
a2VyLmpzCmluZGV4IDYxMjY1NDAyYTJhLi44YmRiZmM3ZWQ3MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtc29saWQtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAxLjAgICknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy5odG1sCmluZGV4IGU0OGE1ODZmMjEz
Li4wOTY1ZmVjYjI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtc29saWQtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4K
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1
NSAgLCAgMCAgLCArMSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlk
LTMud29ya2VyLmpzCmluZGV4IGRiNDUxNmFkYzY1Li44NjJiNzY0MjFmMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQt
My53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICsxICAp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQuaHRtbAppbmRleCA1YTQ4Yjhk
MWFkMy4uZDEyMDM5OGNjMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLXNvbGlkLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoIC0wICAs
ICAyNTUgICwgKzAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1z
b2xpZC00Lndvcmtlci5qcwppbmRleCAxODFjYzQ1YmRlZS4uODhjMTE3NTM2MDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNv
bGlkLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggLTAgICwgIDI1NSAgLCArMCAgLCAg
MSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMS5odG1sCmluZGV4IGU5Yzk3MjZiNzY5Li40YjM0
YTk4MmNjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN2Zy0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2Uuc3ZnLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdncmF5JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgs
MTI4LDEyOCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMS53b3JrZXIu
anMKaW5kZXggNzFiY2I2MDVmNmUuLmNhYTUyNzRjYThhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdncmF5JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEy
OCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIuaHRtbAppbmRleCBkY2ZlYzMx
ZDU0ZC4uODkzZGRmODVjNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnZ3JleSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDEyOCwxMjgsMjU1LCAiNTAs
MjUiLCAiMTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3Zn
LTIud29ya2VyLmpzCmluZGV4IDBhYzgwNTQ0MGU5Li40NTc2YzkwMjNlYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
c3ZnLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVz
Ij4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnZ3JleSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDEyOCwxMjgsMjU1LCAiNTAsMjUiLCAi
MTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbApp
bmRleCBjZTM1YTc0MjQ5OS4uMmVjM2UyM2RmMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5zeXN0ZW08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdUaHJlZUREYXJrU2hhZG93JzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHls
ZSwgL14jKD8hKEZGMDAwMHxmZjAwMDB8ZjAwKSQpLyk7IC8vIHRlc3QgdGhhdCBpdCdzIG5vdCBy
ZWQKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLndvcmtlci5qcwppbmRleCBh
YjU5MDdkZWFmNy4uYTlmYTgxMWM3ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ1RocmVlRERhcmtTaGFkb3cnOwogYXNzZXJ0X3JlZ2V4cF9t
YXRjaChjdHguZmlsbFN0eWxlLCAvXiMoPyEoRkYwMDAwfGZmMDAwMHxmMDApJCkvKTsgLy8gdGVz
dCB0aGF0IGl0J3Mgbm90IHJlZAotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5z
cGFyZW50LTEuaHRtbAppbmRleCAzZTdkYTg5ZGI5NC4uM2RiODE4OWI4YTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVu
dC0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnRyYW5zcGFyZW50LTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICd0cmFuc3BhcmVudCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUw
LDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRy
YW5zcGFyZW50LTEud29ya2VyLmpzCmluZGV4IDEwYmI1M2I1ZTRkLi5iNDFjZjBkZjZjNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRy
YW5zcGFyZW50LTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3RyYW5zcGFyZW50JzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
dHJhbnNwYXJlbnQtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIuaHRtbAppbmRleCA5ZGQ4NzYyNWY1Yi4uNDVlZTJlMTUw
NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS50cmFuc3BhcmVudC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50
LTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdUckFuU3BBckVuVCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRy
YW5zcGFyZW50LTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIud29ya2VyLmpzCmluZGV4IDBkZDA3ODQ2N2Y3Li5i
OTZiZDBiMTg2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ1RyQW5T
cEFyRW5UJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuZW1wdHkuaHRtbAppbmRleCAzNzIwNTU4MDdjMS4uNmQ3MDQ5YWM4NDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuZW1wdHk8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZ3JhZGllbnQuZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwg
NTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMK
aW5kZXggMTQ2NTIwZTlkNzAuLjg1ZWIzMTEwNWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBnID0gY3R4LmNyZWF0
ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhLmh0bWwKaW5kZXggNjk2YzZlNmFmYjQu
LjM0Yjc0ZjVlMjdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLmFs
cGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYz
LDI1NSwgIjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEy
NywxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgNjMsNjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCmluZGV4IGZlNTNk
YjIyMDI5Li42ZDcwMzkyMDhjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMTkxLDE5MSw2MywyNTUsICIyNSwyNSIsICIxOTEsMTkxLDYzLDI1NSIsIDMp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcsMTI3
LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDYzLDYzLDE5MSwyNTUsICI3NSwyNSIsICI2Myw2Mywx
OTEsMjU1IiwgMyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLmh0
bWwKaW5kZXggYTkyNDY3Nzg1NWMuLjc0MjcxOGYwMjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xv
dXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRl
LmNvbG91cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMTkxLDE5MSw2MywyNTUsICIyNSwyNSIsICIxOTEsMTkxLDYzLDI1NSIs
IDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcs
MTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDYzLDYzLDE5MSwyNTUsICI3NSwyNSIsICI2Myw2
MywxOTEsMjU1IiwgMyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5j
b2xvdXIud29ya2VyLmpzCmluZGV4IDg3Y2VhNTNkNTIzLi40ZGMwYjExYTRlNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29s
b3VyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5jb2xvdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYzLDI1NSwg
IjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcs
MjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgNjMs
NjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuY29sb3VyYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwKaW5kZXggMTljNGU0N2Rm
NTQuLjNmYmQzYWRhZGIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LmludGVycG9sYXRlLmNvbG91cmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLmNv
bG91cmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAxOTAsMTkwLDY1LDY1LCAiMjUsMjUiLCAiMTkwLDE5MCw2NSw2NSIs
IDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNiwxMjYs
MTI4LDEyOCwgIjUwLDI1IiwgIjEyNiwxMjYsMTI4LDEyOCIsIDMpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDYyLDYyLDE5MiwxOTIsICI3NSwyNSIsICI2Miw2
MiwxOTIsMTkyIiwgMyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLmNvbG91cmFscGhhLndvcmtlci5qcwppbmRleCAzNGMyZDAzNzc1Ny4uNDQ5Y2ZkZmQ1ZGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLmNvbG91cmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDE5MCwxOTAsNjUsNjUsICIyNSwyNSIsICIxOTAsMTkwLDY1LDY1IiwgMyk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI2LDEyNiwxMjgsMTI4LCAiNTAs
MjUiLCAiMTI2LDEyNiwxMjgsMTI4IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgNjIsNjIsMTkyLDE5MiwgIjc1LDI1IiwgIjYyLDYyLDE5MiwxOTIiLCAz
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwKaW5k
ZXggN2Y1Y2Q3YmMyYjUuLjg2Y2I5OGEwZjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdy
YWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRl
Lm11bHRpcGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxMjcsMjU1LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMjU1LDEyNywy
NTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEwMCwyNSwgMCwy
NTUsMjU1LDI1NSwgIjEwMCwyNSIsICIwLDI1NSwyNTUsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNTAsMjUsIDEyNywxMjcsMjU1LDI1NSwgIjE1MCwyNSIs
ICIxMjcsMTI3LDI1NSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlw
bGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUubXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDMzYmRmODhiMDRmLi45OGVlNDY3MzRm
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwg
MCwgMjAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MTI3LDI1NSwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDI1NSwxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxMDAsMjUsIDAsMjU1LDI1NSwyNTUsICIxMDAs
MjUiLCAiMCwyNTUsMjU1LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMTUwLDI1LCAxMjcsMTI3LDI1NSwyNTUsICIxNTAsMjUiLCAiMTI3LDEyNywyNTUsMjU1
IiwgMyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbApp
bmRleCBmMGZkOWFmYWI2Ni4uNjMyN2Q0MDMwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdy
YWRpZW50LmludGVycG9sYXRlLm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
b3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyMCwyNSwgMCwyNTUsMCwyNTUsICIyMCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDgwLDI1LCAwLDI1NSwwLDI1NSwgIjgwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS53b3JrZXIuanMK
aW5kZXggOTIxNmQwZmM1MTEuLmQ1NjE5MTczZGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5v
dXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyMCwyNSwgMCwyNTUsMCwyNTUsICIyMCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDgwLDI1LCAwLDI1NSwwLDI1NSwgIjgwLDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRt
bAppbmRleCA5NDU4NzNlZWE2OS4uY2I2OGE2Y2UxOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVy
bGFwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUub3ZlcmxhcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBA
QCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwwLDI1NSwyNTUs
ICI5OSwyNSIsICIwLDAsMjU1LDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAxMDEsMjUsIDI1NSwyNTUsMCwyNTUsICIxMDEsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDE2
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE0OSwyNSwgMCwwLDI1NSwy
NTUsICIxNDksMjUiLCAiMCwwLDI1NSwyNTUiLCAxNik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAxNTEsMjUsIDI1NSwyNTUsMCwyNTUsICIxNTEsMjUiLCAiMjU1LDI1NSww
LDI1NSIsIDE2KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVy
bGFwLndvcmtlci5qcwppbmRleCBiZjVhNWE1NTljMy4uMGMxYmYyYzA4YWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJs
YXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLm92ZXJsYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk5LDI1LCAwLDAsMjU1LDI1NSwgIjk5LDI1IiwgIjAsMCwyNTUsMjU1IiwKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEwMSwyNSwgMjU1LDI1NSwwLDI1NSwgIjEwMSwy
NSIsICIyNTUsMjU1LDAsMjU1IiwgMTYpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMTQ5LDI1LCAwLDAsMjU1LDI1NSwgIjE0OSwyNSIsICIwLDAsMjU1LDI1NSIsIDE2KTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1MSwyNSwgMjU1LDI1NSwwLDI1
NSwgIjE1MSwyNSIsICIyNTUsMjU1LDAsMjU1IiwgMTYpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5vdmVybGFwMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIuaHRtbAppbmRleCBmMjA5MDRlMjQ4ZC4uYThhYjczOGI0
MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLm92ZXJsYXAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zlcmxh
cDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMzAsMjUsIDAsMjU1LDAsMjU1LCAiMzAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDI1LCAwLDI1NSwwLDI1NSwgIjQwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MCwyNSwgMCwyNTUs
MCwyNTUsICI2MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCmlu
ZGV4IDQyYjg0NzMxYjI3Li5jMGMzNjQzNWUyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92
ZXJsYXAyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzMCwyNSwgMCwyNTUsMCwy
NTUsICIzMCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDAsMjUsIDAsMjU1LDAsMjU1LCAiNDAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDYwLDI1LCAwLDI1NSwwLDI1NSwgIjYwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCwyNSwgMCwyNTUsMCwy
NTUsICI4MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5z
b2xpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUuc29saWQuaHRtbAppbmRleCBjNTg1YmIwODU3Yi4uYjFmYmE0MDkyYTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNv
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuc29saWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuc29saWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgZy5hZGRDb2xvclN0b3AoMSwgJyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCmluZGV4IDRiNTAw
MDgwYTczLi40YTEyMjg5ZjJjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBnLmFk
ZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS52ZXJ0aWNhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUudmVydGljYWwuaHRtbAppbmRleCBmZmRiMzJkZTg3Yy4uYTNlZWE0Nzc1
ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnZlcnRpY2FsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGlj
YWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWw8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDE5MSwxOTEs
NjMsMjU1LCAiNTAsMTIiLCAiMTkxLDE5MSw2MywyNTUiLCAxMCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3
LDEyNywxMjcsMjU1IiwgNSk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwzNywgNjMsNjMsMTkxLDI1NSwgIjUwLDM3IiwgIjYzLDYzLDE5MSwyNTUiLCAxMCk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcwpp
bmRleCA4MjEyYWQ4MjYwOC4uMWMxNjI0ZDZjMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52
ZXJ0aWNhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDE5MSwxOTEsNjMsMjU1LCAiNTAsMTIiLCAiMTkx
LDE5MSw2MywyNTUiLCAxMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgNSk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwzNywgNjMsNjMsMTkxLDI1NSwg
IjUwLDM3IiwgIjYzLDYzLDE5MSwyNTUiLCAxMCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
Lnplcm9zaXplLmZpbGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbAppbmRleCA3YzhlZWE4MDhlMS4uY2M2
MWI1MGU0OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLmZpbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVy
b3NpemUuZmlsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMKaW5kZXggNGRiZTE0NjIzODIuLmYz
MjQyYzIxMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LmZpbGxSZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC5odG1sCmluZGV4IDVlYjM3Yzg2OTk3Li4zMDMz
Yzk0ZTI1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBnLmFkZENvbG9yU3RvcCgxLCAnI2YwMCcpOwogY3R4LmZpbGxTdHls
ZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0MCwyMCwgMCwyNTUsMCwyNTUsICI0MCwyMCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5maWxsUmVjdC53b3JrZXIuanMKaW5kZXggOTM1ZTE2YTdkYjkuLjUwZTg2MDA1NzE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Qud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGcuYWRk
Q29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1
NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnplcm9zaXplLnN0cm9rZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwKaW5kZXggNzIxNWE5NTU0
ODMuLmVjYzYxMGRkNGI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLnN0cm9rZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMCwgMCwy
NTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIwLDIxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMSwgMCwy
NTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcwppbmRl
eCBjZGE0ZGM0NmMxNi4uNDYyNDA1MjAyMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwy
MCwgMCwyNTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIw
LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwy
MSwgMCwyNTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lmh0bWwK
aW5kZXggMjFjOTRlZWE3ZmYuLmM2YTQyMWFkZDNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2VSZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Q8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1NSwwLDI1
NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMCwyMSwgMCwyNTUsMCwyNTUsICIyMCwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwppbmRleCA3OGI4ZThmMTI0Ni4uZGNh
MjM5YzliYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Qud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0
cm9rZVJlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIwLCAwLDI1NSww
LDI1NSwgIjIxLDIwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxOSwyMSwgMCwyNTUsMCwyNTUsICIxOSwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjEsIDAsMjU1LDAsMjU1LCAiMjAsMjEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIxLCAwLDI1NSww
LDI1NSwgIjIxLDIxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25m
aW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci5ub25maW5pdGUuaHRtbAppbmRleCA0N2IxZWU1YjJmYi4uNTFkNDhhYzBmZTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5p
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5l
YXIubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQubGlu
ZWFyLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlTGluZWFyR3JhZGllbnQo
KSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUxpbmVh
ckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJHcmFk
aWVudCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgw
LCBJbmZpbml0eSwgMSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5p
dGUud29ya2VyLmpzCmluZGV4IDUwMjkyMWY2MWYwLi5jODI2OGIwMDk5MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGlu
ZWFyLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUxp
bmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5p
dGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5CiBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJH
cmFkaWVudCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVu
dCgwLCBJbmZpbml0eSwgMSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zv
cm0uMS5odG1sCmluZGV4IDQzYjE3ZDYxMDZjLi43OTc4MDJjZTg5ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRy
YW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5saW5l
YXIudHJhbnNmb3JtLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmVhciBncmFkaWVudCBjb29y
ZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUg
b2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhl
IGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcg
KzMxLDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGlu
ZWFyLnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMKaW5kZXggZjc3NWQ4NTA5NWYu
LmFkYTBiOTY4OTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVs
YXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIuaHRtbAppbmRleCA0NGM5NWU3YzA1
Mi4uODBiODc5MTllZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIudHJh
bnNmb3JtLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5MaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRo
ZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lYXIgZ3JhZGllbnQg
Y29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0
aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5maWxsUmVjdCg1MCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3Jt
LjIud29ya2VyLmpzCmluZGV4IGJjYThkZjBhZjRiLi4zMzA1ODI0OTUyMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4y
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5s
aW5lYXIudHJhbnNmb3JtLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5l
YXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNw
YWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5m
aWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0u
My5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRy
YW5zZm9ybS4zLmh0bWwKaW5kZXggOTYzYjdlYWRiMTEuLmM3MzBiZDVhODk3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3Jt
LjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5l
YXIudHJhbnNmb3JtLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50
LmxpbmVhci50cmFuc2Zvcm0uMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZWFyIGdyYWRpZW50
IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZmZWN0czwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVh
ciBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5nIGVm
ZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMud29ya2Vy
LmpzCmluZGV4IDZhY2ZkMDBlZjkyLi41NDU1ZjI0Yjc3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJh
bnNmb3JtLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lYXIgZ3JhZGll
bnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUuaHRtbAppbmRleCAxYWVjMjRjNjVkYi4uMzAy
MGM2MGE2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50Lm9iamVjdC5jb21wYXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Z3JhZGllbnQub2JqZWN0LmNvbXBhcmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgdmFyIGcyID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDEw
MCwgMCk7CiBfYXNzZXJ0RGlmZmVyZW50KGcxLCBnMiwgImcxIiwgImcyIik7CiBjdHguZmlsbFN0
eWxlID0gZzE7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCBnMSwgImN0eC5maWxsU3R5bGUi
LCAiZzEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUud29ya2VyLmpz
CmluZGV4IGFmZmQ2NDM4OGI4Li5mOTA4Y2M2ODA4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCB2YXIgZzIgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMTAwLCAwKTsKIF9hc3Nl
cnREaWZmZXJlbnQoZzEsIGcyLCAiZzEiLCAiZzIiKTsKIGN0eC5maWxsU3R5bGUgPSBnMTsKIF9h
c3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsIGcxLCAiY3R4LmZpbGxTdHlsZSIsICJnMSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy5odG1sCmluZGV4IGVlYjYyNDI2
ZDA0Li5lN2MyMmUzNjI5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lm9iamVjdC5j
cm9zc2NhbnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgZy5hZGRDb2xvclN0b3AoMSwg
JyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3Nz
Y2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
Lm9iamVjdC5jcm9zc2NhbnZhcy53b3JrZXIuanMKaW5kZXggOTY5OTk3N2E2ZmUuLmI0ZjI4NGY3
YzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5v
YmplY3QuY3Jvc3NjYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgZy5hZGRDb2xvclN0b3AoMSwg
JyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFs
aWRjb2xvdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9i
amVjdC5pbnZhbGlkY29sb3VyLmh0bWwKaW5kZXggNzk1NjczYmFkN2QuLjBiNzJhODM1MjdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3Qu
aW52YWxpZGNvbG91ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBm
dW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgJ251bGwnKTsgfSk7CiBhc3NlcnRfdGhyb3dz
KCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDAsICd1bmRlZmluZWQn
KTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29s
b3JTdG9wKDAsIG51bGwpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlv
bigpIHsgZy5hZGRDb2xvclN0b3AoMCwgdW5kZWZpbmVkKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9i
amVjdC5pbnZhbGlkY29sb3VyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLndvcmtlci5qcwppbmRleCAxZmE2MmYz
YjE3ZS4uNTI2ZWRiZmZiNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
YXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgw
LCAnbnVsbCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsg
Zy5hZGRDb2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRB
WF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgbnVsbCk7IH0pOwogYXNzZXJ0
X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCB1bmRl
ZmluZWQpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0
Lmh0bWwKaW5kZXggMmRkODdmYjQ3Y2YuLmQ4NDE4OTVjOTdlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZh
bGlkb2Zmc2V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lm9i
amVjdC5pbnZhbGlkb2Zmc2V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGcu
YWRkQ29sb3JTdG9wKDIsICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChJbmZpbml0eSwgJyMwMDAnKTsgfSk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9w
KC1JbmZpbml0eSwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKE5hTiwgJyMwMDAnKTsgfSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcwppbmRleCAy
OGY3MTExNTc5Zi4uMjNiNWQ3YTNkODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNl
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRD
b2xvclN0b3AoMiwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKEluZmluaXR5LCAnIzAwMCcpOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoLUlu
ZmluaXR5LCAnIzAwMCcpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgZy5hZGRDb2xvclN0b3AoTmFOLCAnIzAwMCcpOyB9KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LnVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQub2JqZWN0LnVwZGF0ZS5odG1sCmluZGV4IGM3ZjM2YTMxOTkzLi42NmZhNjEyMmFmMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVw
ZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9i
amVjdC51cGRhdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3Qu
dXBkYXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGcu
YWRkQ29sb3JTdG9wKDAuMSwgJyMwZjAnKTsKIGcuYWRkQ29sb3JTdG9wKDAuOSwgJyMwZjAnKTsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS53b3JrZXIuanMKaW5kZXggMDI4
ZDkzNDI0MTYuLmY2YzE1MzFkMjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBnLmFkZENvbG9y
U3RvcCgwLjEsICcjMGYwJyk7CiBnLmFkZENvbG9yU3RvcCgwLjksICcjMGYwJyk7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC5odG1sCmluZGV4IDY4MTllMTYwMWVm
Li40NTI5MmRkNmZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlaGluZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1
LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQud29ya2VyLmpzCmluZGV4
IDM5N2ZmNGVhZDE0Li45ZTIwYzNiNDJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJl
c2lkZS5odG1sCmluZGV4IDBjODFiODFlODQyLi5lMTk5NmFkOGY3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYmVzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5iZXNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAi
OTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5iZXNpZGUud29ya2VyLmpzCmluZGV4IDE0NWU1MTE5ZTJlLi4yYmI4NzkyMTk5MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYmVzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1
NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS5odG1sCmluZGV4IDUxNDU3NzUwYjYxLi5h
NGNhYzA5NTIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJv
dHRvbTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b208L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20ud29ya2VyLmpzCmluZGV4IGRh
YTI0YjA2Y2Q4Li45MTM1ZjI4NjlkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20ud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3ls
aW5kZXIuaHRtbAppbmRleCA4ZjZjMzAyNWQ5Zi4uMjM0YzhmMjQ4MmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuY3lsaW5kZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuY3lsaW5kZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1
LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmN5bGluZGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLndvcmtlci5qcwppbmRleCA4NWYyNDk1NzFiZS4uMDc4
NjZmZTQ4ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCmluZGV4
IGM1YjQ2YmVmOTA2Li41YWMxZGU4NmE2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5mcm9udDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpz
CmluZGV4IGE3NzU4ZTllNmI2Li40ZWFlZTQ3ZjcwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZy
b250Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyAr
MzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUs
ICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5zaGFwZTEuaHRtbAppbmRleCBhNzAyNTU3Nzc4MS4uODE2MTU2NjI4YjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBl
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLnNoYXBlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQu
cmFkaWFsLmNvbmUuc2hhcGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3
ICs0Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1
NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFw
ZTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuc2hhcGUxLndvcmtlci5qcwppbmRleCA0MTMyM2Y2MzJhOS4uMTYxNjgzM2ViYjkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLnNoYXBlMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzUsNyArMzksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUs
MCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTIuaHRtbAppbmRleCBmNGY4YmI1NTFk
ZC4uMDdhY2FhODZlYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5zaGFwZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1
NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcwppbmRl
eCA0YTBiOWFkZjQ2MC4uYzZmOTIxNzM3ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUy
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsNyArMzks
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5
OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Au
aHRtbAppbmRleCAzNmY0MzllYTcwMC4uM2Y4MGNhOTlkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFk
aWVudC5yYWRpYWwuY29uZS50b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcwpp
bmRleCA0Mjc1ZTU2Zjc4Mi4uNTE0NjQ0MTk2OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwuaHRtbAppbmRl
eCA5YmJmNDg5YjgwZC4uNGE4M2IyNmMzNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuZXF1
YWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUw
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuZXF1YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmVxdWFsLndvcmtlci5qcwppbmRleCBmNTIyNGEzMmFmMC4uMzg1Mzc0YzA5
M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5lcXVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmVxdWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1
MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLmluc2lkZTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5pbnNpZGUxLmh0bWwKaW5kZXggMmNkY2Q4ODQzZWIuLjM2ODJiYmEwZjA5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
aW5zaWRlMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5pbnNpZGUxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJh
ZGlhbC5pbnNpZGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRl
MS53b3JrZXIuanMKaW5kZXggOWEzZjk1YTFmMmQuLjJmZTE2NTZjY2Q0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lmluc2lkZTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRl
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmlu
c2lkZTIuaHRtbAppbmRleCAwYTc5ZGJlZjJkYi4uMDJkM2FiMWFmNjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lk
ZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Z3JhZGllbnQucmFkaWFsLmluc2lkZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcwpp
bmRleCA0NzE1ZDRlMmJiNC4uNWY2ZTE4NWEyNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCmlu
ZGV4IDI1ZDI3NmVkZjQzLi41YWJhZGRmMTY4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRp
YWwuaW5zaWRlMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUs
MCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCmluZGV4IGIxZjU1MzBj
MTQ2Li45NjMxM2NmZWEwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUuaHRtbAppbmRleCA3ZGUzMTE0
ODM4Yy4uMzljYWNiOTAxZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwubmVnYXRp
dmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5jcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBlaXRoZXIg
cmFkaXVzIGlzIG5lZ2F0aXZlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhfU0la
RV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBpcyBuZWdhdGl2ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Ro
cm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRp
ZW50KDAsIDAsIC0wLjEsIDAsIDAsIDEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCAwLCAw
LCAtMC4xKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgLTAuMSk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCBj
NmE5OGNhY2RmZS4uOTc5ZTAyMDc5NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3Mg
SU5ERVhfU0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBpcyBuZWdhdGl2ZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1
LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
YXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJh
ZGlhbEdyYWRpZW50KDAsIDAsIC0wLjEsIDAsIDAsIDEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAw
LCAxLCAwLCAwLCAtMC4xKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgLTAu
MSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKaW5kZXgg
MjJkYmUyNzdhYTMuLmNlNjU3ZGVjNGMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRp
YWwubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBh
cmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBUeXBl
RXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTEsNyArOTUsNiBA
QCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVS
YWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbgogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgSW5maW5pdHks
IDAsIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLndv
cmtlci5qcwppbmRleCBiYmQyZTk1YTJlZS4uNmEyZDZlMGViMDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5u
b25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVSYWRpYWxH
cmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtODcsNyArOTEsNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbgogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGll
bnQoMCwgMCwgMSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGll
bnQoMCwgMCwgMSwgSW5maW5pdHksIDAsIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAw
LCAxLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwub3V0c2lkZTEuaHRtbAppbmRleCBiYTA2NzZiYjdhOS4uMjk1Yjk4NWE3MjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRl
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5vdXRzaWRlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUx
Lndvcmtlci5qcwppbmRleCA1ODI4MGE2ZTQ1ZC4uNDU4OWIwYzUyZTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
b3V0c2lkZTIuaHRtbAppbmRleCAyNGMzYTczOWUyNC4uMzYzNjE4MzYxYjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLndv
cmtlci5qcwppbmRleCA3ZjFiMTAxYmRkYS4uOTBmOWU2NjU1M2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTMuaHRtbAppbmRleCA0MjU4OWRkMWRmYy4uMGIyNTE0NTUxOGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtl
ci5qcwppbmRleCAzYzQxMzkyMTI2Yy4uNDAxZDQ2ZjdhMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyAr
MzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUs
ICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5o
dG1sCmluZGV4IDdmYzM0MzAyOGZkLi5lMDkxOTk3NWRhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQu
cmFkaWFsLnRvdWNoMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1
NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCmluZGV4IGQxNzZjMDEz
OTNiLi5jNTVmNjFhNWFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgs
IDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbAppbmRleCAxYzg1OTdkMGM2MS4u
NTQ2ZjM1NDMzYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Z3JhZGllbnQucmFkaWFsLnRvdWNoMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNo
Mi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwudG91Y2gyLndvcmtlci5qcwppbmRleCAyZmZiYzc1N2JlZS4uODcwZjhjNGNjYzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3Vj
aDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50b3VjaDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAw
LDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
dG91Y2gzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwudG91Y2gzLmh0bWwKaW5kZXggMWE4YTgxZTA3ODkuLjk0M2I0NDQxNmYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRv
dWNoMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMy53b3JrZXIuanMKaW5k
ZXggNGVhOWI4NjUwZWYuLjBjNGVlODNlMjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEuaHRt
bAppbmRleCBhM2I0NjZmOWFlYy4uZTk0NmI4OWQ5MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0u
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5n
cmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLnRyYW5z
Zm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMg
YXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxp
bmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGlu
YXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJh
bnNmb3JtLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLnRyYW5zZm9ybS4xLndvcmtlci5qcwppbmRleCAzNjgzNDkxODdkZC4uMWM2MzIw
YTVlMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0
byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIuaHRtbAppbmRleCAyZWEzZDJhMGJlZi4uYzFj
ZDNlMDA5MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3Jt
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5SYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29y
ZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRp
bmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9m
IGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIuNSwg
MTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndv
cmtlci5qcwppbmRleCAxNTE5YzMzNzM0Ni4uOTlkYTg3NDUyMjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmFkaWFsIGdy
YWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBh
dCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmlsbFJl
Y3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNm
b3JtLjMuaHRtbAppbmRleCBlYjNmN2JhMDI4MC4uMzQ4YjhiNjA2NzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFk
aWFsLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SYWRpYWwgZ3JhZGllbnQgdHJh
bnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmFkaWFsIGdy
YWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZmZWN0
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAxMCwgNSk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMud29ya2VyLmpz
CmluZGV4IDUyMzkzNzZkYjQ4Li40YThmYjBlMDFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNm
b3JtLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQg
dHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwKaW5kZXggYjNiZTRlOTgxNmQuLjkxZWUyNjQ0MmY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2lj
LmNhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
YmFzaWMuY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMuY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uYmFzaWMuY2Fu
dmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIuanMKaW5k
ZXggYTk5NjlmNjUyMjIuLmI4MzY2NTM2YWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwKaW5kZXggNzMwZmIwMjM4M2Mu
LjFlMDU4NWVjMTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmJhc2ljLmltYWdlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4u
YmFzaWMuaW1hZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDkgKzM5LDcg
QEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmlt
YWdlLndvcmtlci5qcwppbmRleCAyZDRkZmQ4ZWU2Zi4uYWRmNmI3ZDU4MDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1h
Z2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw5ICsz
NSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29u
dGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5u
b2NvbnRleHQuaHRtbAppbmRleCBmY2FlY2JjZTc2MC4uMDc1NDcwZjBhMDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5ub2Nv
bnRleHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5iYXNpYy5ub2NvbnRl
eHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcwppbmRl
eCBhNWRhY2VmODg1ZS4uMzFhZGQwNjVhYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLmh0bWwKaW5kZXggNDY1
MmM0MDdjY2YuLjIyOTNkMjFiZjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5iYXNpYy56ZXJv
Y2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhczwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
MDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAi
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7CiBhc3NlcnRfdGhyb3dzKCJJTlZBTElEX1NU
QVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
ICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMu
d29ya2VyLmpzCmluZGV4IDMyNmNlNTM1ZDQ1Li5jMDE1MDAyYzZhZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnpl
cm9jYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Nyw3ICszMSw2IEBAIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0IiwgIjAiKTsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sCmluZGV4IGY3ZDBjNWZkZjYxLi5kM2M4Y2Q2MzZi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9z
c2NhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
Y3Jvc3NjYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5jcm9zc2NhbnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLmNyb3NzY2FudmFz
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw5ICszNyw3IEBAIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNy
b3NzY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uY3Jvc3NjYW52YXMud29ya2VyLmpzCmluZGV4IDZkM2JhMzFiYWNlLi5mNjYwZjIxM2Q2YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2Nh
bnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5jcm9zc2NhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI5LDkgKzMzLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC5odG1sCmluZGV4IDMwZmQ2NWEyNmI2Li4x
OTNiYjlkZDRjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5pbWFnZS5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5pbWFnZS5udWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UubnVsbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLmltYWdl
Lm51bGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4obnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5pbWFnZS5udWxsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMKaW5kZXggNDU0ZTYxOWE4YjAuLjZi
NWFkNjRjN2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLmltYWdlLm51bGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBh
dHRlcm4obnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5zdHJpbmcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLmh0
bWwKaW5kZXggYmNjNGFkMDBjYjguLjA3MjJmOGYyODE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2Uu
c3RyaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQ
YXR0ZXJuKCcuLi9pbWFnZXMvcmVkLnBuZycsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
aW1hZ2Uuc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcwppbmRleCA2ZDczMmU3YjIwMC4uYzY0Zjk3OGMz
ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1h
Z2Uuc3RyaW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRl
cm4oJy4uL2ltYWdlcy9yZWQucG5nJywgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFn
ZS51bmRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
aW1hZ2UudW5kZWZpbmVkLmh0bWwKaW5kZXggZjAzNDdlYTk3MzIuLjhkZmY5NDgyODEzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVm
aW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1h
Z2UudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uaW1hZ2Uu
dW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKHVuZGVmaW5lZCwgJ3JlcGVhdCcp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29ya2VyLmpzCmlu
ZGV4IDhlZDUxYjZjMWJiLi41MjE2M2MwOTFjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLndvcmtl
ci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybih1bmRlZmluZWQsICdyZXBlYXQnKTsg
fSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbAppbmRleCAyM2M3ZTc4YWQ5
Zi4uNjMyYzVhZWZjOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0dGVybi5tb2RpZnkuY2FudmFzMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5j
YW52YXMxLndvcmtlci5qcwppbmRleCA2Y2E0ZDZkYTM1YS4uODQxYTk4MDJjMWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9k
aWZ5LmNhbnZhczEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMy
Lmh0bWwKaW5kZXggZjc0ODhmY2NhN2UuLmYxZjI2ODU1MWJlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJu
Lm1vZGlmeS5jYW52YXMyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi53b3JrZXIuanMKaW5kZXggYTg3MmJiOGVhMmIu
LjMxZDc0NjJhYWE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1sCmluZGV4IDkyNWU1Y2I1ZWE4
Li5lYTVhZGNjOGZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5ub3Jl
cGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw5ICszOSw3IEBAIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNp
Yy53b3JrZXIuanMKaW5kZXggOTMxNjMxN2Q2MGEuLjA0MmYwYzYxYTcxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzEsOSArMzUsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLmh0bWwKaW5kZXggMmI4MWRhMTQ0
YjMuLjhmY2FiMmIwYzlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQuY29vcmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw5ICs0Miw3IEBAIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQxLndvcmtlci5qcwppbmRleCA0MjEwZWFhNGY5Zi4uZmFlNzQyN2I1OGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTM0LDkgKzM4LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sCmluZGV4
IGJkYzNhYjk1NGY1Li4xOTFmMGJkZTNlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0
LmNvb3JkMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsOSArNDIsNyBAQCBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNv
b3JkMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMi53b3JrZXIuanMKaW5kZXggMjI2ZGIwNGUxYzYuLjVjNmM1YzFj
MjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw5ICszOCw3IEBAIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMu
aHRtbAppbmRleCA4YzAyN2FmMmE0Yy4uOTY2ZmFjODQxMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVh
dC5jb29yZDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWlu
dC5ub3JlcGVhdC5jb29yZDM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDkg
KzQyLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5u
b3JlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCmluZGV4IGRhOTNjNTNkMjky
Li44Y2MzMjZiNzMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsOSArMzgsNyBAQCBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVw
ZWF0Lm91dHNpZGUuaHRtbAppbmRleCA5MTYyNzJmY2FkZS4uN2ZiZWU0ZGI4YmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
b3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQubm9yZXBlYXQub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC00MCw5ICs0NCw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUud29ya2VyLmpz
CmluZGV4IGQ4YjU5MDA3MDc2Li44NTU5NGI2MzcwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVw
ZWF0Lm91dHNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zNiw5ICs0MCw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm9yaWVudGF0aW9uLmNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMuaHRtbAppbmRleCA0MjU3NmZhNWY4
Yy4uOGZmMDdhZDhlOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5w
YWludC5vcmllbnRhdGlvbi5jYW52YXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlv
bi5jYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNhbnZhcyBwYXR0ZXJucyBkbyBub3QgZ2V0
IGZsaXBwZWQgd2hlbiBwYWludGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiQ2FudmFzIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3
aGVuIHBhaW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMK
aW5kZXggM2E3Yjg1MjFjMWUuLmQwMTdmMDgzMDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmll
bnRhdGlvbi5jYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJDYW52YXMg
cGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50
YXRpb24uaW1hZ2UuaHRtbAppbmRleCAwYjliZGEzMWI4MC4uMDJmZmM5NzYzMmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRp
b24uaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2U8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+SW1hZ2UgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlIHBh
dHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MCw5ICs0
NCw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3Jp
ZW50YXRpb24uaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS53b3JrZXIuanMKaW5kZXggYTFmYTAyMmM2
ZmQuLmUzNjVkZDZiYmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90IGdl
dCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDkgKzQwLDcgQEAgcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy5o
dG1sCmluZGV4IGUyZGQwNmE1YjU0Li44MTQ5ZDg5MzhlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNp
Yy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5i
YXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsOSArMzksNyBAQCBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdC5iYXNpYy53b3JrZXIuanMKaW5kZXggMDYyYzU5NTZjNDYuLmQ2YmFkNGMyMjQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXQuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMSw5ICszNSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMS5odG1sCmluZGV4IGI3ZDlhNTdh
NmQ3Li42M2QzMGRiYTUxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDkgKzQwLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMS53
b3JrZXIuanMKaW5kZXggOWY0NDJhOGQ1MWUuLmIzMWViY2I2NjU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMyLDkgKzM2LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0LmNvb3JkMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLmh0bWwKaW5kZXggZmY1YjY3ZGU3N2YuLjQwNGE1
MWQ3MjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdC5jb29yZDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzMsOSArMzcsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLndvcmtlci5qcwpp
bmRleCA1ZTJmMTIxNmM0OC4uM2FiNmI0MDY4YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29v
cmQyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksOSAr
MzMsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0K
LXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdC5jb29yZDMuaHRtbAppbmRleCAwMmM0NWZkNTI4MS4uNzAwMjhmN2I5ZmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0LmNvb3JkMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zNSw5ICszOSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0LmNvb3JkMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2VyLmpzCmluZGV4IDYyMmJj
ZWNmYmE1Li4zYWU5ZGM5YTdhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw5ICszNSw3IEBAIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5vdXRzaWRlLmh0bWwKaW5kZXggNjQ4OWUyMzVkY2UuLjdhZjhlMmRmZTE5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRz
aWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5yZXBlYXQub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM2LDkgKzQwLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXQub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLndvcmtlci5qcwppbmRleCAyNDZiY2Nl
Y2Q4Ny4uM2RiNzA4MjI5ZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw5ICszNiw3IEBAIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eC5iYXNpYy5odG1sCmluZGV4IDEzZTdiOGQzMGJmLi40NWUzNmE0MDNjYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2lj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXR4LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdHguYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDkg
KzQxLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXR4LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIuanMKaW5kZXggYWJhMDExODJkOWQuLjIw
OTQyN2VhODI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3LDcgQEAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEu
aHRtbAppbmRleCAxZmMyZTUyMTg0ZC4uNzgxOGRiMzNlYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgu
Y29vcmQxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5y
ZXBlYXR4LmNvb3JkMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsOSArNDQs
NyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eC5jb29yZDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS53b3JrZXIuanMKaW5kZXggZTQ3NzdlMDVkMjkuLjA4
MDg4N2IxMDUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzYsOSArNDAsNyBAQCBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91
dHNpZGUuaHRtbAppbmRleCBjNmVjMTIyM2NkYi4uZjJmY2FhYzljYmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXR4Lm91dHNpZGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVy
bi5wYWludC5yZXBlYXR4Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM3LDkgKzQxLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCmluZGV4IGZjOGE0
YTAxM2MxLi42YzQzNjQ2ZTFlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsOSArMzcsNyBA
QCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJh
c2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkuYmFzaWMuaHRtbAppbmRleCBmNjc4ZjFjMjhmZi4uODEzZjdmM2E1ODEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVy
bi5wYWludC5yZXBlYXR5LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
Nyw5ICs0MSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19
KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMud29ya2VyLmpzCmluZGV4IDQwZGZkYTk0NWJl
Li5kOWY1M2EwMGViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw5ICszNyw3IEBAIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29v
cmQxLmh0bWwKaW5kZXggNmQzZTM0MzRkNTUuLjYxMDI0MDU3ODRmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXR5LmNvb3JkMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eS5jb29yZDE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQwLDkg
KzQ0LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHkuY29vcmQxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEud29ya2VyLmpzCmluZGV4IDEwOGM0NjJmNmVj
Li45MmMzOWUyZjk2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDkgKzQwLDcgQEAgcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eS5vdXRzaWRlLmh0bWwKaW5kZXggNTc5MGJkYWY3NDguLjY3YzQwNjFjNzUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0
c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eS5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zNyw5ICs0MSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA0
OTU4Njc0MzQwOC4uZGQ2ZDI0M2JhNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lk
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDkgKzM3
LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10
LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uu
aHRtbAppbmRleCAwYjA4MmRmYTk3NC4uMzkyZGZiNjZlOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucmVwZWF0
LmNhc2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0dGVybi5yZXBlYXQuY2FzZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
YXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVy
bihvZmZzY3JlZW5DYW52YXMsICJSZXBlYXQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNh
c2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQuY2FzZS53b3JrZXIuanMKaW5kZXggMDEzMGZlMzliZTYuLjFmNzU1N2U0ODNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVh
dC5jYXNlLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygi
U1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52
YXMsICJSZXBlYXQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS5odG1sCmluZGV4
IDAwOTczNmNjMWVmLi40MjZjMDY5YTQ0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzUsOSArMzksNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMKaW5kZXggODA0MmEzYzc5ZTAuLjUzMzg2
NjNmOWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnJlcGVhdC5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMSw5ICszNSw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnJlcGVhdC5udWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnJlcGVhdC5udWxsLmh0bWwKaW5kZXggN2U3OGFlMDE1YWUuLjI0NmRjMGE0ZWFi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVh
dC5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5y
ZXBlYXQubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0Lm51bGw8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnQoY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVu
Q2FudmFzLCBudWxsKSAhPSBudWxsLCAiY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFz
LCBudWxsKSAhPSBudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIu
anMKaW5kZXggZWU2MjNkZjFmMTUuLjVjNjViZmIzOWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5q
cwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydChjdHguY3JlYXRlUGF0dGVybihvZmZz
Y3JlZW5DYW52YXMsIG51bGwpICE9IG51bGwsICJjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5D
YW52YXMsIG51bGwpICE9IG51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1
ZmZpeC5odG1sCmluZGV4IDdmODVmM2U0NzljLi40YjBmMjVhZmJmOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxz
dWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC5udWxs
c3VmZml4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgInJlcGVhdFww
Iik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXgud29ya2Vy
LmpzCmluZGV4IGM2ZWQxNDE3ZDE2Li4zMjg4ZTEyODI1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1
ZmZpeC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZ
TlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFz
LCAicmVwZWF0XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLmh0
bWwKaW5kZXggMjk4YmE5OTc2ZGMuLjA3MjJhZTVkZGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVy
bi5yZXBlYXQudW5kZWZpbmVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsIHVuZGVmaW5lZCk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcwppbmRleCAzYTI3
NWI4MjYzMy4uMDIwYWRmN2MwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcwpA
QCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsIHVuZGVmaW5lZCk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC5odG1sCmluZGV4IDc5
ZTM3OWVjNDc1Li4wM2Y0NjU5ZmQ3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucmVw
ZWF0LnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAiaW52YWxpZCIpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC53b3JrZXIuanMKaW5k
ZXggMDhjMDc2YjZjZmYuLjJkNzc5NmQwYWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNl
ZC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRB
WF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAi
aW52YWxpZCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25p
c2VkbnVsbC5odG1sCmluZGV4IGM4ZjRjY2Y1ZjcwLi41ZDViNzA1MzZjNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2Vk
bnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVw
ZWF0LnVucmVjb2duaXNlZG51bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBh
c3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJu
KG9mZnNjcmVlbkNhbnZhcywgIm51bGwiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVj
b2duaXNlZG51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC53b3JrZXIuanMKaW5kZXggZmM0YTQ1NTEwYzcu
LmQxNjk3OWI2ZTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtl
ci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIs
IGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJudWxsIik7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwKaW5kZXggMDY5NzY4NTgyOGUuLmEw
NTAwOGVkODUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJv
a2VTdHlsZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
c3Ryb2tlU3R5bGUuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VTdHlsZS5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVN0eWxl
LmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5zdHJva2VTdHls
ZSwgJyMwMDAwMDAnLCAiY3R4LnN0cm9rZVN0eWxlIiwgIicjMDAwMDAwJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJv
a2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IDQ5OGYyZjk5YWQ5Li4zOTllOWRk
YTcwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuc3Ryb2tlU3R5
bGUuZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
c3Ryb2tlU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9h
c3NlcnRTYW1lKGN0eC5zdHJva2VTdHlsZSwgJyMwMDAwMDAnLCAiY3R4LnN0cm9rZVN0eWxlIiwg
IicjMDAwMDAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAuYnV0dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LmJ1dHQuaHRtbAppbmRleCAyMWNhODZiMjliNS4uZmMxMDhjMGRlNDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLmJ1dHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQubGluZS5jYXAuYnV0dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5idXR0PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5saW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5l
Q2FwICdidXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDE2LCAwLDI1NSwwLDI1NSwgIjc1LDE2
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNCwg
MCwyNTUsMCwyNTUsICI3NSwzNCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM2LCAwLDI1NSwwLDI1NSwgIjc1LDM2
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcwppbmRleCBiOWQ1MDNjODA1MS4uMTMwMjBhZGIwODcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImxpbmVDYXAgJ2J1dHQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQyLDcgKzQ2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTYs
IDAsMjU1LDAsMjU1LCAiNzUsMTYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDM0LCAwLDI1NSwwLDI1NSwgIjc1LDM0IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNSwgMCwyNTUsMCwyNTUsICI3NSwz
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzYs
IDAsMjU1LDAsMjU1LCAiNzUsMzYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC5odG1sCmluZGV4IDY2YjA4NTMwZjU0
Li42N2ZjMzU4YjA0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNs
b3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAu
Y2xvc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmxpbmUuY2FwLmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGlu
ZSBjYXBzIGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQgcmVjdGFu
Z2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiTGluZSBjYXBzIGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQg
cmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1
NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuY2xvc2VkLndvcmtlci5qcwpp
bmRleCBmNTIzN2Q2YzJiMC4uYjRjZmU1MDE4MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGNh
cHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQuaHRtbAppbmRleCBjYmY3Y2ViYzhiZi4u
Yjg0OTlmY2EwNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5pbnZh
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAu
aW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
ZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUNh
cCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzYsNyArNDAsNiBAQCBf
YXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7
CiBjdHgubGluZUNhcCA9ICdidXR0JzsKIGN0eC5saW5lQ2FwID0gJ2JldmVsJzsKIF9hc3NlcnRT
YW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgubGluZUNhcCIsICInYnV0dCciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmlu
dmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29y
a2VyLmpzCmluZGV4IDRjMzQ5NWYyNzdhLi40NjA0NmQ0MTYxMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMiw3ICszNiw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgubGlu
ZUNhcCIsICInYnV0dCciKTsKIGN0eC5saW5lQ2FwID0gJ2J1dHQnOwogY3R4LmxpbmVDYXAgPSAn
YmV2ZWwnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5saW5lQ2FwIiwg
IididXR0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jYXAub3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9w
ZW4uaHRtbAppbmRleCA4YjdhNTk5YzMyYi4uMTU0YWFmNzUyMDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLm9wZW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQubGluZS5jYXAub3BlbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5vcGVuPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVu
Y2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lcnMgb2YgYW4g
dW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAw
LDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
Lm9wZW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2Vy
LmpzCmluZGV4IGI2N2RjNTc5OGJkLi5lNjcxYjU1ZDA2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5vcGVuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBj
YXBzIGFyZSBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmNhcC5yb3VuZC5odG1sCmluZGV4IGZiMzgzY2JhOWJkLi41ZmM5MDE5
OGU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY2FwLnJvdW5kPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUuY2FwLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lQ2FwICdyb3VuZCcg
aXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUNhcCAncm91bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3Rs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTU1LDcgKzU5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
ODIsNiwgMCwyNTUsMCwyNTUsICI4Miw2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA2Nyw0MywgMCwyNTUsMCwyNTUsICI2Nyw0MyIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDMsIDAsMjU1LDAsMjU1LCAi
NzUsNDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgy
LDQzLCAwLDI1NSwwLDI1NSwgIjgyLDQzIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5yb3VuZC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzCmluZGV4
IDc1OTIzOTNiM2NiLi4zOGZhYWU2MjNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5j
YXAucm91bmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdyb3Vu
ZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTEsNyArNTUsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1NSwwLDI1NSwgIjgyLDYiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY3LDQzLCAwLDI1NSwwLDI1
NSwgIjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1LDAsMjU1LCAiODIsNDMiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNx
dWFyZS5odG1sCmluZGV4IGVmOTY0NmU2MzI4Li44Y2QwOWM2ODNmYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC5zcXVhcmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAuc3F1YXJlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuY2FwLnNxdWFy
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUNhcCAnc3F1YXJlJyBpcyByZW5kZXJlZCBjb3Jy
ZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJsaW5lQ2FwICdzcXVhcmUnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ2
LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNiwgMCwyNTUsMCwy
NTUsICI3NSw2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSw0NCwgMCwyNTUsMCwyNTUsICI3NSw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDUsIDAsMjU1LDAsMjU1LCAiNzUsNDUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ2LCAwLDI1NSwwLDI1
NSwgIjc1LDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS53b3JrZXIuanMKaW5kZXggNmUwN2E4MDFlMTIu
LmFlYWMxZTNjMDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1
YXJlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUNhcCAnc3F1YXJlJyBpcyByZW5k
ZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDYsIDAsMjU1LDAsMjU1LCAiNzUsNiIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDQsIDAsMjU1LDAsMjU1LCAiNzUsNDQi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ1LCAw
LDI1NSwwLDI1NSwgIjc1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSw0NiwgMCwyNTUsMCwyNTUsICI3NSw0NiIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5j
YXAudmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC5odG1sCmlu
ZGV4IDE2YTRmNDhkMjEwLi45ZDQ1NDg3NjdhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUuY2FwLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuY2FwLnZhbGlkPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQgdmFsdWVzIHdvcmtzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5l
Q2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4Lmxp
bmVDYXAgPSAncm91bmQnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdyb3VuZCcsICJjdHgu
bGluZUNhcCIsICIncm91bmQnIik7CiBjdHgubGluZUNhcCA9ICdzcXVhcmUnOwogX2Fzc2VydFNh
bWUoY3R4LmxpbmVDYXAsICdzcXVhcmUnLCAiY3R4LmxpbmVDYXAiLCAiJ3NxdWFyZSciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC53b3Jr
ZXIuanMKaW5kZXggYjM2NGYzZDFjNjguLmRhODRlYjkxZGZlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNl
dHRpbmcgbGluZUNhcCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2
IEBAIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAncm91
bmQnLCAiY3R4LmxpbmVDYXAiLCAiJ3JvdW5kJyIpOwogY3R4LmxpbmVDYXAgPSAnc3F1YXJlJzsK
IF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnc3F1YXJlJywgImN0eC5saW5lQ2FwIiwgIidzcXVh
cmUnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNyb3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sCmlu
ZGV4IDMxZmMzZjM1MDA5Li43NDc3ODdjN2JhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY3Jvc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5l
LmNyb3NzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmxpbmUuY3Jvc3M8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNyb3NzLndvcmtlci5qcwppbmRleCBiODUyMzFlODdkYS4uMmM4ZTY4YmZi
ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy5odG1sCmluZGV4IGU5ZmM1
MDliNWQ4Li4xMDUxZDk5NjA5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
ZGVmYXVsdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmRl
ZmF1bHRzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmxpbmUuZGVmYXVsdHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMSwgImN0eC5s
aW5lV2lkdGgiLCAiMSIpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5s
aW5lQ2FwIiwgIididXR0JyIpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnbWl0ZXInLCAi
Y3R4LmxpbmVKb2luIiwgIidtaXRlciciKTsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAx
MCwgImN0eC5taXRlckxpbWl0IiwgIjEwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLndvcmtlci5qcwppbmRleCA2NzJiZWU1NGVmZi4uZTkw
NGQzOTExMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgX2Fzc2Vy
dFNhbWUoY3R4LmxpbmVXaWR0aCwgMSwgImN0eC5saW5lV2lkdGgiLCAiMSIpOwogX2Fzc2VydFNh
bWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5saW5lQ2FwIiwgIididXR0JyIpOwogX2Fzc2Vy
dFNhbWUoY3R4LmxpbmVKb2luLCAnbWl0ZXInLCAiY3R4LmxpbmVKb2luIiwgIidtaXRlciciKTsK
IF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxMCwgImN0eC5taXRlckxpbWl0IiwgIjEwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4uYmV2ZWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwuaHRt
bAppbmRleCBjNzIxZDI5YjkwMC4uMGU0ZGQxM2JmNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5qb2luLmJldmVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmxpbmUuam9pbi5iZXZlbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4uYmV2ZWw8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmxpbmVKb2luICdiZXZlbCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGlu
ZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01OSw3ICs2Myw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg0LDE1LCAwLDI1NSwwLDI1NSwgIjg0
LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwx
NSwgMCwyNTUsMCwyNTUsICI4NSwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgODYsMTUsIDAsMjU1LDAsMjU1LCAiODYsMTUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDE0LCAwLDI1NSwwLDI1NSwgIjg2
LDE0IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3JrZXIuanMKaW5kZXggOTRkOWVmYjcyZWYuLmQ2OGI0
OTExYWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC01NSw3ICs1OSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg0LDE1LCAwLDI1NSwwLDI1NSwgIjg0LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwxNSwgMCwyNTUsMCwyNTUsICI4NSwxNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTUsIDAsMjU1
LDAsMjU1LCAiODYsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg2LDE0LCAwLDI1NSwwLDI1NSwgIjg2LDE0IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
Y2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1sCmlu
ZGV4IDg3NGVmODMzZGVkLi5iYTkyYjRjNTNmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuam9pbi5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5saW5lLmpvaW4uY2xvc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuam9pbi5jbG9zZWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPkxpbmUgam9pbnMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXIgb2YgYSBj
bG9zZWQgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhIGNs
b3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNs
b3NlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC53b3Jr
ZXIuanMKaW5kZXggMTk1ZjUwMDAyNjguLmZhYjFjNjNlY2U1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJMaW5lIGpvaW5zIGFyZSBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3Rhbmds
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwKaW5kZXggZTE1MzM2ODk1
MTkuLjBkMDdiZmE2OGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGlu
ZS5qb2luLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5qb2luLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNldHRpbmcgbGluZUpvaW4gdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRp
bmcgbGluZUpvaW4gdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDcg
KzQwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4LmxpbmVKb2lu
IiwgIidiZXZlbCciKTsKIGN0eC5saW5lSm9pbiA9ICdiZXZlbCc7CiBjdHgubGluZUpvaW4gPSAn
YnV0dCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdiZXZlbCcsICJjdHgubGluZUpvaW4i
LCAiJ2JldmVsJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuam9pbi5pbnZhbGlkLndvcmtlci5qcwppbmRleCAxZjNmYjRhZTljYy4uMDQ4NjNlNWYw
ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9pbiB0byBpbnZhbGlkIHZh
bHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0U2FtZShjdHgu
bGluZUpvaW4sICdiZXZlbCcsICJjdHgubGluZUpvaW4iLCAiJ2JldmVsJyIpOwogY3R4LmxpbmVK
b2luID0gJ2JldmVsJzsKIGN0eC5saW5lSm9pbiA9ICdidXR0JzsKIF9hc3NlcnRTYW1lKGN0eC5s
aW5lSm9pbiwgJ2JldmVsJywgImN0eC5saW5lSm9pbiIsICInYmV2ZWwnIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIuaHRtbAppbmRleCA5YTQ2
M2VkN2M0Ny4uNDVlYjQ3Y2YzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4ubWl0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVy
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxp
bmUuam9pbi5taXRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4ubWl0ZXI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmxpbmVKb2luICdtaXRlcicgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ21pdGVy
JyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01MCw3ICs1NCw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDg5LDExLCAwLDI1NSwwLDI1NSwgIjg5LDExIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwy
NTUsICI5MCwxMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTEsOSwgMCwyNTUsMCwyNTUsICI5MSw5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5Miw4LCAwLDI1NSwwLDI1NSwgIjkyLDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuam9pbi5taXRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
Lm1pdGVyLndvcmtlci5qcwppbmRleCAyZDQzMmZjYTk5YS4uMTcwNzMwMWQxMzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJsaW5lSm9pbiAnbWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTQ2LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODksMTEsIDAs
MjU1LDAsMjU1LCAiODksMTEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDkwLDEwLCAwLDI1NSwwLDI1NSwgIjkwLDEwIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MSw5LCAwLDI1NSwwLDI1NSwgIjkxLDkiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkyLDgsIDAsMjU1
LDAsMjU1LCAiOTIsOCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ub3Blbi5odG1sCmluZGV4IDgzYjU1YjUxMTZjLi4xOTQxYjFh
YmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5vcGVuPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUuam9pbi5vcGVuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIGpvaW5zIGFyZSBu
b3QgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5z
IGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcwppbmRleCBmODQ2NjMxMWUy
YS4uM2NhZDc0ZTllYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
b3Blbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgbm90IGRyYXdu
IGF0IHRoZSBjb3JuZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyAr
MzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwx
LCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuam9pbi5wYXJhbGxlbC5odG1sCmluZGV4IDUyZmEzOTgxMTQ5Li5kYzdjOGMyYmQ2NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxsZWwuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLnBhcmFsbGVs
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmxpbmUuam9pbi5wYXJhbGxlbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBq
b2lucyBhcmUgZHJhd24gYXQgMTgwLWRlZ3JlZSBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIGRyYXduIGF0
IDE4MC1kZWdyZWUgam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LnBhcmFsbGVsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxs
ZWwud29ya2VyLmpzCmluZGV4IGUxM2IzMmQ3NTYxLi40OWNkYTc2MTNlMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIGRyYXduIGF0IDE4MC1kZWdyZWUgam9pbnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0bWwKaW5kZXggMjZjZTJkOTM4MDIuLjU0YTll
ZjI4MGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4ucm91bmQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQubGluZS5qb2luLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lSm9pbiAn
cm91bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQg
Y29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtNTcsNyArNjEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4NiwxMywgMCwyNTUsMCwyNTUsICI4NiwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODcsMTMsIDAsMjU1LDAsMjU1LCAiODcsMTMiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg4LDEzLCAwLDI1
NSwwLDI1NSwgIjg4LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4OCwxMiwgMCwyNTUsMCwyNTUsICI4OCwxMiIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LnJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQud29y
a2VyLmpzCmluZGV4IDBjNTE2NjMxOGVmLi5jY2U4ODhjZTk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5yb3VuZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTMsNyAr
NTcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxMywgMCwyNTUsMCwyNTUs
ICI4NiwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
ODcsMTMsIDAsMjU1LDAsMjU1LCAiODcsMTMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDg4LDEzLCAwLDI1NSwwLDI1NSwgIjg4LDEzIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4OCwxMiwgMCwyNTUsMCwyNTUs
ICI4OCwxMiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwKaW5kZXggMTZjZTAzNTE3OGUuLjczN2ViNDg2NDE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4udmFsaWQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQubGluZS5qb2luLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVKb2lu
IHRvIHZhbGlkIHZhbHVlcyB3b3JrczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQgdmFsdWVzIHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZUpvaW4gPSAncm91bmQnOwogX2Fz
c2VydFNhbWUoY3R4LmxpbmVKb2luLCAncm91bmQnLCAiY3R4LmxpbmVKb2luIiwgIidyb3VuZCci
KTsKIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdt
aXRlcicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQud29ya2VyLmpzCmluZGV4IDE2MTgw
M2I4MDM0Li43OGYwYTQ1NTlhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52
YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUpvaW4g
dG8gdmFsaWQgdmFsdWVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgubGluZUpv
aW4gPSAncm91bmQnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAncm91bmQnLCAiY3R4Lmxp
bmVKb2luIiwgIidyb3VuZCciKTsKIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZUpvaW4sICdtaXRlcicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci5hY3V0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUuaHRtbApp
bmRleCA2MmRlNTMyMjdmMC4uMTRhNjVlYTQ2ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLmFjdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuYWN1dGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQubGluZS5taXRlci5hY3V0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmFjdXRlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggYWN1
dGUgYW5nbGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTM4LDcgKzQyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLndvcmtlci5qcwppbmRleCA2
M2Y5MDllNTY1Mi4uMDg1YTRmMDdjNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLmFjdXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5hY3V0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5z
IGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICsz
OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5leGNlZWRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbAppbmRleCBmMTUzMDliMmQwZC4uODllYjUwOTE4Y2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5taXRlci5leGNl
ZWRlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmV4Y2VlZGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5N
aXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
TWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRl
ZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcwpp
bmRleCAwMmIxNjUzZmRlYy4uM2ZjZTdiODUzZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5taXRlci5leGNlZWRlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
Ik1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVk
ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0bWwKaW5kZXggZThkODg2
M2E5ZTcuLmM3Y2JkODIzNDQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52
YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5saW5lLm1pdGVyLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5pbnZhbGlkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TZXR0aW5nIG1pdGVyTGltaXQgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdu
b3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4
Lm1pdGVyTGltaXQiLCAiMS41Iik7CiBjdHgubWl0ZXJMaW1pdCA9IDEuNTsKIGN0eC5taXRlckxp
bWl0ID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEuNSwgImN0eC5taXRlckxp
bWl0IiwgIjEuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLm1pdGVyLmludmFsaWQud29ya2VyLmpzCmluZGV4IDE2MjhmNzg2ZDM0Li5iZDA1ZTU3
NzVjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZh
bGlkIHZhbHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0U2Ft
ZShjdHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41Iik7CiBjdHgubWl0
ZXJMaW1pdCA9IDEuNTsKIGN0eC5taXRlckxpbWl0ID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lm1p
dGVyTGltaXQsIDEuNSwgImN0eC5taXRlckxpbWl0IiwgIjEuNSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVkZ2UuaHRtbAppbmRleCBk
NmY4YTYwNzcyMC4uZjUwOWM1YmFlNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLmxpbmVlZGdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0
ZXIubGluZWVkZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQubGluZS5taXRlci5saW5lZWRnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmxpbmVlZGdl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhl
IG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBjb3JuZXJzIG9mIGEgemVyby1oZWlnaHQg
cmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBp
cyBleGNlZWRlZCBhdCB0aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3RhbmdsZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcwppbmRleCBh
MGQxYWFhYzc2Zi4uZDA0ZmEzOWU0MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5saW5lZWRnZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVy
IGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQgYXQg
dGhlIGNvcm5lcnMgb2YgYSB6ZXJvLWhlaWdodCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLm9idHVzZS5odG1sCmluZGV4IDJlODdhODczMDcyLi42ZTQ0MGE5Y2RlMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIub2J0dXNlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUubWl0ZXIub2J0dXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBh
cmUgZHJhd24gY29ycmVjdGx5IHdpdGggb2J0dXNlIGFuZ2xlczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3
biBjb3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsNyArNDIsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSww
LDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLm9idHVzZS53b3JrZXIuanMKaW5kZXggNTc5NjM1MmM5YjQuLjUwYzIyYWY0ZGM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLm9idHVzZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0
aCBvYnR1c2UgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1
NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
cmlnaHRhbmdsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmds
ZS5odG1sCmluZGV4IGE3MTIxZjU1MGRkLi42ZTJhOTZiYmU1NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5taXRlci5yaWdodGFuZ2xlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUubWl0ZXIucmlnaHRhbmdsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TWl0ZXIgam9pbnMg
YXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCwgb24gZXhhY3Qg
cmlnaHQgYW5nbGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1p
dCBpcyBleGNlZWRlZCwgb24gZXhhY3QgcmlnaHQgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAw
LDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLndvcmtlci5qcwppbmRleCA3MTdkN2YyMzA3ZC4u
MzZlMjVmYjIyYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJp
Z2h0YW5nbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJp
Z2h0YW5nbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBh
cmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCBy
aWdodCBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAs
MjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxp
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQuaHRtbAppbmRleCA4
Y2Q4NmI4NDdhYS4uYzBlNmVlMmJlYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
dmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQubGluZS5taXRlci52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLnZhbGlkPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5TZXR0aW5nIG1pdGVyTGltaXQgdG8gdmFsaWQgdmFsdWVzIHdvcmtzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGlu
ZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4Lm1pdGVyTGltaXQgPSAxLzEwMjQ7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwg
MS8xMDI0LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS8xMDI0Iik7CiBjdHgubWl0ZXJMaW1pdCA9IDEw
MDA7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMTAwMCwgImN0eC5taXRlckxpbWl0Iiwg
IjEwMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIudmFsaWQud29ya2VyLmpzCmluZGV4IDYwYWYxOTUzYmU3Li45OTJkMzdkMjFhZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnZhbGlkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3Jr
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1pdGVyTGltaXQgPSAxLzEwMjQ7CiBfYXNz
ZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMS8xMDI0LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS8xMDI0
Iik7CiBjdHgubWl0ZXJMaW1pdCA9IDEwMDA7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwg
MTAwMCwgImN0eC5taXRlckxpbWl0IiwgIjEwMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4uaHRtbAppbmRleCAxMmYxMGIyNjhjYi4u
YjhlMGFlMjFmZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndp
dGhpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1p
dGVyLndpdGhpbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLndpdGhpbjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+TWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIG5vdCBxdWl0
ZSBleGNlZWRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBu
b3QgcXVpdGUgZXhjZWVkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci53aXRoaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGlu
Lndvcmtlci5qcwppbmRleCBjMmU5NDYzNWI2ZS4uMjAyYzRlZjU3MzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIG5v
dCBxdWl0ZSBleGNlZWRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwy
NTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi5odG1sCmluZGV4IDYyNmExYTU4
NTJlLi4xNzg1MjdjNTJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5p
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLnVuaW9uPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUudW5pb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDEsIDAsMjU1LDAsMjU1LCAiMjUsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUudW5pb24ud29ya2VyLmpzCmluZGV4IGUyYzY2Njg5Yjg0Li40M2NlNmI3ZDA2OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUsMCwyNTUsICIy
NSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0
OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNpYy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMuaHRtbAppbmRleCAxZGQxYmJm
N2JkZC4uYjZiOTBhMTIwMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndp
ZHRoLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGlu
ZS53aWR0aC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5saW5lV2lkdGggZGV0ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJva2VzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZVdp
ZHRoIGRldGVybWluZXMgdGhlIHdpZHRoIG9mIGxpbmUgc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ5LDcg
KzUzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDg0LDI1LCAwLDI1NSwwLDI1NSwgIjg0LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwyNSwgMCwyNTUsMCwyNTUsICI4NSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMjUsIDAsMjU1LDAsMjU1
LCAiODYsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzCmluZGV4IGUxZThhMDVkNDBl
Li5mMzEyMGI2YjU4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgu
YmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2lj
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZVdpZHRoIGRldGVybWluZXMg
dGhlIHdpZHRoIG9mIGxpbmUgc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ1LDcgKzQ5LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg0LDI1LCAwLDI1NSww
LDI1NSwgIjg0LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA4NSwyNSwgMCwyNTUsMCwyNTUsICI4NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMjUsIDAsMjU1LDAsMjU1LCAiODYsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGguaW52YWxpZC5odG1sCmluZGV4IDJmNzJjOGQwN2FlLi42YzYwOTE0MmYwOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0aC5pbnZhbGlkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUud2lkdGguaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBsaW5l
V2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZVdpZHRoIHRvIGlu
dmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRT
YW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41Iik7CiBjdHgubGlu
ZVdpZHRoID0gMS41OwogY3R4LmxpbmVXaWR0aCA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5saW5l
V2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3JrZXIuanMKaW5k
ZXggMmMzYmU4MmE4ZTIuLjM3ZTI3MDczNGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS53aWR0aC5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0
dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5
LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0
aCIsICIxLjUiKTsKIGN0eC5saW5lV2lkdGggPSAxLjU7CiBjdHgubGluZVdpZHRoID0gTmFOOwog
X2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0aCIsICIxLjUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGguc2NhbGVkZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5z
Y2FsZWRlZmF1bHQuaHRtbAppbmRleCBiYjQ2MDdmZmMxOC4uZTJlMzZjOGM2ZDQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLndpZHRoLnNjYWxl
ZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+RGVmYXVsdCBsaW5lV2lkdGggc3Ryb2tlcyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJh
bnNmb3JtYXRpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiRGVmYXVsdCBsaW5lV2lkdGggc3Ryb2tlcyBhcmUgYWZmZWN0ZWQgYnkgc2Nh
bGUgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDUsIDAsMjU1LDAsMjU1LCAiNTAsNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUud2lkdGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LndpZHRoLnNjYWxlZGVmYXVsdC53b3JrZXIuanMKaW5kZXggN2ZlZGFlZGFlNGMuLmNmZjY5MzAy
YWI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1
bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVm
YXVsdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgbGluZVdpZHRo
IHN0cm9rZXMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw1LCAwLDI1NSwwLDI1NSwgIjUwLDUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSww
LDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sCmluZGV4IDcyMzcw
ZjU5MjY2Li5lOTk3NzBkMTc5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGgudHJhbnNmb3JtZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0
aC50cmFuc2Zvcm1lZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGgudHJh
bnNmb3JtZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgc3Ryb2tlIHdpZHRocyBhcmUgYWZm
ZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBzdHJva2Ugd2lkdGhzIGFyZSBhZmZl
Y3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01NSw3ICs1OSw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwyNSwgMCwy
NTUsMCwyNTUsICI4NCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgODUsMjUsIDAsMjU1LDAsMjU1LCAiODUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDI1LCAwLDI1NSwwLDI1NSwgIjg2LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcwppbmRleCA3YmQ0ZWZiYWRm
Zi4uY2JkY2EzN2FkMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRo
LnRyYW5zZm9ybWVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0
aC50cmFuc2Zvcm1lZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgc3Ry
b2tlIHdpZHRocyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNTEsNyArNTUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgODQsMjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwy
NTUsMCwyNTUsICI4NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFsaWQuaHRtbAppbmRleCA2Y2ZiMTk5YmM1Zi4u
ODlhOTZhYjI3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZh
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFsaWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0
aC52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
ZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVXaWR0aCB0
byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lV2lk
dGggPSAxLzEwMjQ7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLzEwMjQsICJjdHgubGlu
ZVdpZHRoIiwgIjEvMTAyNCIpOwogY3R4LmxpbmVXaWR0aCA9IDEwMDA7CiBfYXNzZXJ0U2FtZShj
dHgubGluZVdpZHRoLCAxMDAwLCAiY3R4LmxpbmVXaWR0aCIsICIxMDAwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlk
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5q
cwppbmRleCA4ZTc0OThmZjI1Zi4uN2ZhN2ZlNTA3NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNl
dHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDEvMTAyNDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgs
IDEvMTAyNCwgImN0eC5saW5lV2lkdGgiLCAiMS8xMDI0Iik7CiBjdHgubGluZVdpZHRoID0gMTAw
MDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEwMDAsICJjdHgubGluZVdpZHRoIiwgIjEw
MDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFu
Z2xlLjEuaHRtbAppbmRleCAxYTRjZmU5Y2M2Ni4uMDAwZmI1NTM1ZGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS4xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LmFuZ2xlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIHBpLzIgLi4gLXBpIGFu
dGljbG9ja3dpc2UgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lz
ZSBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsK
IGN0eC5hcmMoMTAwLCAwLCAxNTAsIE1hdGguUEkvMiwgLU1hdGguUEksIHRydWUpOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEud29ya2VyLmpzCmluZGV4IDE4NTM2Yzk4OGVi
Li5kYTA1N2VkMzc4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBwaS8yIC4u
IC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4
Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAtTWF0aC5Q
SSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIuaHRtbAppbmRleCBhYzFh
NWE2NjI5Ni4uOWE5YzZjZDIwZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuYW5nbGUuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5n
bGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyYy5hbmdsZS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmFuZ2xlLjI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyYygpIGRyYXdzIC0zcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0
bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSBkcmF3cyAtM3BpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwg
MTUwLCAtMypNYXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcwppbmRleCA3YTdkZWY5NzhhNi4uZjFiMDdlYWQ1ZGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgLTNwaS8yIC4uIC1waSBhbnRpY2xv
Y2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAs
IDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7
CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMuaHRtbAppbmRleCAwNjg0MDI0MDc4MC4u
ZjA2ZDcwMGE2ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5n
bGUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFy
Yy5hbmdsZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmFuZ2xlLjM8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdoZW4gYW50aWNsb2Nrd2lzZSBhbmQgZW5kID4g
c3RhcnQrMnBpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRpY2xvY2t3aXNlIGFu
ZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAw
LCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsICg1MTIrMS8yKSpNYXRoLlBJLCAoMTAyNC0xKSpN
YXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLndvcmtl
ci5qcwppbmRleCA0YzRiZmE4OTkyYy4uMGVhNjdjNThlNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBlbmQg
PiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsK
IGN0eC5hcmMoMTAwLCAwLCAxNTAsICg1MTIrMS8yKSpNYXRoLlBJLCAoMTAyNC0xKSpNYXRoLlBJ
LCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC5odG1sCmluZGV4IGY0NzY2
OWNjZjlmLi5iMDc2YzU5YzU0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5hbmdsZS40Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmds
ZS40Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjLmFuZ2xlLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuNDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGNsb2Nrd2lzZSBhbmQgZW5k
ID4gc3RhcnQrMnBpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGNsb2Nrd2lzZSBhbmQg
ZW5kID4gc3RhcnQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS40Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53
b3JrZXIuanMKaW5kZXggNjc1ODA4Yzk3MzUuLmM2ZDE5YzYwYzAyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+
IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUu
NS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwKaW5kZXgg
OTAyMGZmMTllOGMuLjQ4NjkzMWYwM2UzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmFuZ2xlLjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmMuYW5nbGUuNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5hbmdsZS41PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5hcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBh
bmQgc3RhcnQgPiBlbmQrMnBpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBjbG9ja3dp
c2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVU
bygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgKDEwMjQtMSkqTWF0aC5QSSwgKDUxMisx
LzIpKk1hdGguUEksIGZhbHNlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41
Lndvcmtlci5qcwppbmRleCBiYTVjNTIxOThjOS4uZGMzMjAwZDIzYWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBjbG9ja3dpc2UgYW5kIHN0
YXJ0ID4gZW5kKzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDAp
OwogY3R4LmFyYygxMDAsIDAsIDE1MCwgKDEwMjQtMSkqTWF0aC5QSSwgKDUxMisxLzIpKk1hdGgu
UEksIGZhbHNlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi5odG1sCmluZGV4IDlh
OWQ5ZGQ1Y2JjLi43ZWI0NjZhZjRiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS42Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS42Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguYXJjLmFuZ2xlLjY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuNjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2Ug
YW5kIHN0YXJ0ID4gZW5kKzJwaTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBhbnRpY2xv
Y2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy5hbmdsZS42Lndvcmtlci5qcwppbmRleCA3MjAxYjY5ZGJhMS4uNDg2MDI3ZTJlNDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9j
a3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZh
dWx0Lmh0bWwKaW5kZXggMDc3ZmU4ODgzNzMuLmVkMjcwNDA4OTZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5k
ZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1
bWVudCBkZWZhdWx0cyB0byBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1bWVu
dCBkZWZhdWx0cyB0byBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3Zl
VG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGY2ZGI0
OWYwZDJkLi4wZWFmOGJhYzZkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG1p
c3NpbmcgbGFzdCBhcmd1bWVudCBkZWZhdWx0cyB0byBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC1NYXRo
LlBJLCBNYXRoLlBJLzIpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1w
dHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbAppbmRleCBl
YzY2OWIwNDllNS4uOTliNDNlMDdjNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVt
cHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5hcmMoKSB3aXRoIGFuIGVtcHR5IHBhdGggZG9lcyBub3QgZHJhdyBhIHN0cmFpZ2h0IGxp
bmUgdG8gdGhlIHN0YXJ0IHBvaW50PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBhbiBlbXB0eSBwYXRoIGRvZXMgbm90IGRy
YXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEks
IHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lndvcmtlci5qcwppbmRl
eCBmNzhlNGE5MmEzYS4uYmRhZDc3Nzk4MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRo
IGFuIGVtcHR5IHBhdGggZG9lcyBub3QgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0
IHBvaW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJj
KDIwMCwgMjUsIDUsIDAsIDIqTWF0aC5QSSwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmVuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5l
bmQuaHRtbAppbmRleCA2NDljMzA0MzY5Ni4uMmE5MDhhZjA3N2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5lbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmMuZW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmVuZDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+YXJjKCkgYWRkcyB0aGUgZW5kIHBvaW50IG9mIHRoZSBhcmMgdG8gdGhlIHN1
YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSBhZGRzIHRoZSBlbmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmFyYygtMTAwLCAwLCAyNSwgLU1hdGguUEkvMiwg
TWF0aC5QSS8yLCB0cnVlKTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmVuZC53b3JrZXIuanMKaW5kZXggMzc4MmE2ZDgyY2YuLmVkYmI3MzI0OTk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmMoKSBhZGRzIHRoZSBlbmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUg
c3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmFyYygtMTAwLCAwLCAyNSwgLU1h
dGguUEkvMiwgTWF0aC5QSS8yLCB0cnVlKTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLmh0bWwKaW5kZXggYzQ2ZDU2Y2U4MTkuLjM4Yjdi
ODY3OWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5u
ZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
YXJjKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIElOREVYX1NJWkVfRVJSPC9wPgpAQCAt
MTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdp
dGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5E
RVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFyYygwLCAwLCAtMSwgMCwgMCwgdHJ1ZSk7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGUzODlhYWZiZjg2Li5lODQ4OGEwYWJiYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKQEAg
LTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3Mg
SU5ERVhfU0laRV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5hcmMoMCwgMCwgLTEsIDAsIDAsIHRydWUpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sCmluZGV4IDc1YzcwZGE0
MjY1Li4wZjg5MmQ4NjkyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy5ub25lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1w
dHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0aC5hcmMubm9uZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMubm9uZW1wdHk8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyYygpIHdpdGggYSBub24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdo
dCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggYSBub24tZW1wdHkgcGF0aCBkb2Vz
IGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcg
KzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYXJjKDIwMCwgMjUsIDUsIDAsIDIqTWF0
aC5QSSwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVt
cHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1wdHkud29y
a2VyLmpzCmluZGV4IDQ0NDY2NTRkYWNjLi4wMmRjZDdiOGJkNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIHdpdGggYSBub24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdodCBs
aW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4Lm1vdmVU
bygwLCAyNSk7CiBjdHguYXJjKDIwMCwgMjUsIDUsIDAsIDIqTWF0aC5QSSwgdHJ1ZSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbAppbmRleCBlNjc0M2U0MWZjNi4u
MjhlNGE4ZDM3NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9u
ZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5hcmMubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+YXJjKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02Nyw3ICs3MSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA2YTgxY2ZlYzUwMy4uY2UzZjgyYTAyMjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC02Myw3ICs2Nyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Nh
bGUuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLmh0bWwKaW5k
ZXggZDZkZDc5MzA5ZGQuLjZlOTczYzM0OGVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNjYWxlLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNjYWxlLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmMuc2NhbGUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zY2FsZS4xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5Ob24tdW5pZm9ybWx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQg
c2hhcGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJOb24tdW5pZm9ybWx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGUiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC00Myw3ICs0Nyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAw
LDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLndvcmtlci5qcwppbmRleCBm
MzViYTQ1OWFmZC4uMjdlZDg0NGE5ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2NhbGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zY2FsZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTm9uLXVuaWZv
cm1seSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzksNyArNDMs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5
OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNjYWxlLjIuaHRtbAppbmRleCBjM2RmZGRlZjEyYy4uOGU1N2IwYzZiMGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zY2FsZS4yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguYXJjLnNjYWxlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkhpZ2hseSBzY2Fs
ZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSGlnaGx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmln
aHQgc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSww
LDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNj
YWxlLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndv
cmtlci5qcwppbmRleCA0YWNlMDIxOGFmNy4uOGNiMTRlYjk0YzEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiSGlnaGx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEuaHRtbAppbmRleCBm
YmFiNWQxMWYyMC4uOTViZDg3YTIyMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjLnNlbGZpbnRlcnNlY3QuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBs
aW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRo
ID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2libHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0
eC5hcmMoMCwgMCwgMjUsIDAsIC1NYXRoLlBJLzIsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2Vy
LmpzCmluZGV4IDMxNDgzNTQyMzU2Li4yYjJiNDc2YjU5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3
biBzZW5zaWJseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmFyYygwLCAwLCAyNSwgMCwg
LU1hdGguUEkvMiwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIuaHRtbAppbmRleCBlOTZiOGYyYmM4Yi4uODU3Yjdj
MTA1ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVy
c2VjdC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJz
ZWN0LjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNlbGZpbnRlcnNl
Y3QuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1
cyBpcyBkcmF3biBzZW5zaWJseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJh
d24gc2Vuc2libHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk3LDEsIDAsMjU1LDAsMjU1LCAiOTcsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcsMiwgMCwyNTUsMCwyNTUsICI5NywyIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywzLCAwLDI1NSww
LDI1NSwgIjk3LDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDIsNDgsIDAsMjU1LDAsMjU1LCAiMiw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZp
bnRlcnNlY3QuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZp
bnRlcnNlY3QuMi53b3JrZXIuanMKaW5kZXggYmYyOWNkMTJkZGMuLmIyZWIzZTMwNzAxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGxpbmVXaWR0aCA+
IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywxLCAwLDI1NSwwLDI1NSwgIjk3LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDIsIDAsMjU1LDAs
MjU1LCAiOTcsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTcsMywgMCwyNTUsMCwyNTUsICI5NywzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyLDQ4LCAwLDI1NSwwLDI1NSwgIjIsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zaGFwZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNo
YXBlLjEuaHRtbAppbmRleCA4YmU2MmExZGJhMC4uNGE1MDQxYTkwNDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS4xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LnNoYXBlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5v
dCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIHBpIGRvZXMg
bm90IGRyYXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyMCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3JrZXIuanMKaW5kZXggM2JlNmJjNmZkNDUuLjQ1YmYz
YjFkZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5v
dCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjAsNDgsIDAsMjU1LDAsMjU1LCAiMjAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS4yLmh0bWwKaW5kZXggZDliNTNkOWRiNzcuLjQyZmE0MDhiNDE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmFyYy5zaGFwZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8g
cGkgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IGhhbGY8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mg
c3R1ZmYgaW4gdGhlIHJpZ2h0IGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
MCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuc2hhcGUuMi53b3JrZXIuanMKaW5kZXggOThlN2IxZGRjNWYuLjVlODk1MzIwZWI1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkcmF3cyBzdHVmZiBpbiB0aGUg
cmlnaHQgaGFsZiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDQ4LCAwLDI1NSww
LDI1NSwgIjIwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNo
YXBlLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy5odG1sCmlu
ZGV4IDAzYjQ0ZDc3MmFjLi5kZDUxZGExMDIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zaGFwZS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBlLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2hhcGUuMzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZnJvbSAwIHRvIC1waS8yIGRvZXMgbm90IGRyYXcgYW55
dGhpbmcgaW4gdGhlIHdyb25nIHF1YWRyYW50PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIC1waS8yIGRvZXMgbm90
IGRyYXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIHF1YWRyYW50Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIuanMKaW5kZXggMWYwOWY1ODZhZWUuLjU4M2NmNmRh
ZDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5v
dCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS40Lmh0bWwKaW5kZXggNjg3NjdkZTUyNWYuLmE2NmFkMTFiYjgwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuNDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmFyYy5zaGFwZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8g
LXBpLzIgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IHF1YWRyYW50PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIC1w
aS8yIGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMy
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzCmluZGV4IGQyOTljNWI2NzVjLi41Zjg2ZjJj
MDIzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gLXBpLzIgZHJhd3Mg
c3R1ZmYgaW4gdGhlIHJpZ2h0IHF1YWRyYW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zaGFwZS41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNo
YXBlLjUuaHRtbAppbmRleCBlNmEyYWFkYmM4Mi4uYTRhOWRjZmQyMTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS41PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LnNoYXBlLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byA1cGkgZG9lcyBu
b3QgZHJhdyBjcmF6eSB0aGluZ3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcgY3Jh
enkgdGhpbmdzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3JrZXIu
anMKaW5kZXggMjFhMGNhM2M3N2QuLjJjNzdiZTY0NDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyYygpIGZyb20gMCB0byA1cGkgZG9lcyBub3QgZHJhdyBjcmF6eSB0aGluZ3MiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0bWwKaW5kZXggNTU5NWUzMjg0YTYuLjQwYmI1
NzY0YWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4x
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy50
d29waWUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy50d29waWUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
YXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9j
a3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgYW50
aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4
LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgLSAxZS00LCB0cnVlKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS53b3JrZXIuanMKaW5kZXggNTUyNTU3MTU0YTIu
LmMyODUyZjM4N2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3Bp
ZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGlu
ZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnR3b3BpZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4y
Lmh0bWwKaW5kZXggNGVhNDJiMmQzZWMuLjA5MDE0ZTdjN2MwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy50d29waWUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy50d29waWUuMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy50
d29waWUuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3
aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBj
aXJjbGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJIC0gMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy50d29waWUuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS4yLndvcmtlci5qcwppbmRleCBkOWY0MWQ4NWRhOC4uYzA3ZmQxY2ViMTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3Rh
cnQgKyAycGktZSBhbmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVn
aW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQsIGZhbHNl
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAw
LDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMuaHRtbAppbmRleCAwMWJhZTA3
NGRiOC4uMmJjMDAwODc3ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMudHdvcGllLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3Bp
ZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjLnR3b3BpZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4zPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAy
cGkrZSBhbmQgYW50aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBlbmQg
PSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFl
LTQsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
My53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtl
ci5qcwppbmRleCA0MWM0MDBlN2YxMy4uZWVjY2UwNWI4YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGkrZSBh
bmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgp
OwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCB0cnVlKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1
NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQuaHRtbAppbmRleCA5OTA2Mzc3MDQ1YS4uZjVm
MDVmYzhhM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGll
LjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
LnR3b3BpZS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGkrZSBhbmQgY2xvY2t3
aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGNsb2Nr
d2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1
MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMudHdvcGllLjQud29ya2VyLmpzCmluZGV4IDI0MTA3MWZkODM1Li42MThm
ZDQyNjVkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
NC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hl
biBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJICsg
MWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJv
LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLmh0bWwKaW5kZXgg
NjBiNzNlMDQxZmQuLmJmNzc0ODZlZmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnplcm8uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
emVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguYXJjLnplcm8uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy56ZXJvLjE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUg
YW5kIGFudGljbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVu
ZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVn
aW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDAsIHRydWUpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAs
MjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEud29ya2VyLmpzCmluZGV4IDkxZjE1ZDRlOTU2Li40ODlj
MWU5NTA2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0
YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCB0cnVlKTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1
NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi5odG1sCmluZGV4IDMwNmU1MzEyODA3Li43
MzBlMmY2NWMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJv
LjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy56
ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyby4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMo
KSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBjbG9ja3dpc2U8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJh
cmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBjbG9ja3dp
c2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAs
IDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy56ZXJvLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJv
LjIud29ya2VyLmpzCmluZGV4IDQyMzhiN2RhYzg2Li5kYWQyNWZiZmVlNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0YXJ0QW5nbGUgPSBlbmRBbmdsZSBh
bmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBj
dHguYXJjKDUwLCAyNSwgNTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy56ZXJvcmFkaXVzLmh0bWwKaW5kZXggZWQ3N2MzYjdhODYuLmM0OTUzZGZlZWYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuemVyb3JhZGl1
czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmFyYy56ZXJvcmFkaXVzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMo
KSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQ8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3
aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNSw3ICsyOSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyYygyMDAsIDI1LCAwLCAw
LCBNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
emVyb3JhZGl1cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9y
YWRpdXMud29ya2VyLmpzCmluZGV4IGZiMTJhOGY0MzhjLi41ODk4ODA3MTNhYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgbGluZSB0
byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwg
MjUpOwogY3R4LmFyYygyMDAsIDI1LCAwLCAwLCBNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS5odG1sCmluZGV4IDFmNzMwMjU2ODNiLi4y
MDgyZGVlZWNmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNv
aW5jaWRlLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNp
ZGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2luY2lkZS4xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQMTwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1Rv
KCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAwLDI1NSwwLDI1
NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMKaW5kZXggYTY0NmMzNjQwMTkuLjI0MDhl
MTRkYWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNp
ZGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5j
aWRlLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGhhcyBubyBl
ZmZlY3QgaWYgUDAgPSBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLmNvaW5jaWRlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2lu
Y2lkZS4yLmh0bWwKaW5kZXggZDc3ZDVkZTYyYmEuLmNmNjRhZTcyYWUzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uY29pbmNpZGUuMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1Rv
KCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDI8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGRyYXdzIGEg
c3RyYWlnaHQgbGluZSB0byBQMSBpZiBQMSA9IFAyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBj
dHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmNUbygxMDAsIDI1LCAxMDAsIDI1LCAxKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLndvcmtlci5qcwppbmRl
eCA1NDU5NjE5ZjM0Mi4uMzNjNjQ2MjRiMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2luY2lkZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyY1RvKDEwMCwgMjUs
IDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNv
bGxpbmVhci4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFy
LjEuaHRtbAppbmRleCBlMWNkMTQ5NWVjYS4uMWY4MTU2NWU1NDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguYXJjVG8uY29sbGluZWFyLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1Rv
KCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdz
IGEgc3RyYWlnaHQgbGluZSB0byBQMTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwg
YW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1vdmVUbygtMTAwLCAyNSk7CiBjdHguYXJjVG8oMCwgMjUs
IDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNv
bGxpbmVhci4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xs
aW5lYXIuMS53b3JrZXIuanMKaW5kZXggNTgwY2FjOGRiZjEuLjcxMjY0YWFjMTU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEg
bGluZSwgYW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygtMTAwLCAyNSk7CiBjdHguYXJjVG8o
MCwgMjUsIDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLmNvbGxpbmVhci4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29s
bGluZWFyLjIuaHRtbAppbmRleCAxMjg3YjU3ZmY4OS4uNDc0Nzk1YzI3MTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLmNvbGxpbmVh
ci4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguYXJjVG8uY29sbGluZWFyLjI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAyIGJldHdlZW4gUDAvUDEs
IGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEg
bGluZSwgYW5kIFAyIGJldHdlZW4gUDAvUDEsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygy
MDAsIDI1LCAxMTAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uY29sbGluZWFyLjIud29ya2VyLmpzCmluZGV4IGNlZWFlNDkyZTBhLi44MTBkMjdjYzVkYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggYWxsIHBvaW50
cyBvbiBhIGxpbmUsIGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUg
dG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAyNSk7CiBjdHgu
YXJjVG8oMjAwLCAyNSwgMTEwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uY29sbGluZWFyLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5jb2xsaW5lYXIuMy5odG1sCmluZGV4IDBjNTZlNGRiYWRlLi5iOWEwM2FkZDI2ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8u
Y29sbGluZWFyLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2Vl
biBQMS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIGFsbCBwb2lu
dHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQMS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5l
IHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBjdHgubW92ZVRvKC0xMDAsIDI1KTsKIGN0
eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5jb2xsaW5lYXIuMy53b3JrZXIuanMKaW5kZXggNTM2YmQwZDgzNjMuLmRmODk5
ZTgwNDYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGlu
ZWFyLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xs
aW5lYXIuMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBh
bGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAwIGJldHdlZW4gUDEvUDIsIGRyYXdzIGEgc3RyYWln
aHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1vdmVUbygtMTAwLCAy
NSk7CiBjdHguYXJjVG8oMCwgMjUsIC0yMDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCA4YjU0OTA2Mzc3Yy4u
YjQzODMxODg2MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5l
bnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
ZW5zdXJlc3VicGF0aC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
VG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBz
dWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMg
ZHJhd24gdXAgdG8gaXQpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wg
cG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyY1RvKDEwMCwgNTAsIDIwMCwg
NTAsIDAuMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJl
c3VicGF0aC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1
cmVzdWJwYXRoLjEud29ya2VyLmpzCmluZGV4IGNlZmNmMTFlOGQxLi45YThhZTA1N2U2YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBk
cmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5hcmNUbygxMDAsIDUwLCAyMDAsIDUwLCAwLjEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi5odG1sCmluZGV4IDgwNTYzODlhMzExLi41
YjU0YmQyOWI2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVu
c3VyZXN1YnBhdGguMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5l
bnN1cmVzdWJwYXRoLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjI8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNU
by5lbnN1cmVzdWJwYXRoLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3Vi
cGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsy
OSw2IEBAIGN0eC5hcmNUbygwLCAyNSwgNTAsIDI1MCwgMC4xKTsgLy8gYWRkcyAoeDEseTEpLCBk
cmF3cyBub3RoaW5nCiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcwppbmRleCBkNmFi
MDRlMWQzOS4uYzdmNzQ0MDgxNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBp
cyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmFyY1RvKDAsIDI1LCA1MCwgMjUw
LCAwLjEpOyAvLyBhZGRzICh4MSx5MSksIGRyYXdzIG5vdGhpbmcKIGN0eC5saW5lVG8oMTAwLCAy
NSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS5odG1sCmluZGV4IGQy
NThkMGJkNjU5Li4wYmQ2ZWIyZGJiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjVG8ubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5uZWdhdGl2
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJv
d3MgYW4gZXhjZXB0aW9uPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIGFuIGV4
Y2VwdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFy
Y1RvKDAsIDAsIDAsIDAsIC0xKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGI5NWY0
YzUxNjVhLi41NWVjZjU0YzM4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8ubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8o
KSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJ
TkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguYXJjVG8oMCwgMCwgMCwgMCwgLTEpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
Lm5vbmZpbml0ZS5odG1sCmluZGV4IDIyMjZmNTcxMzliLi40MzdlODA1YjBhOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5ub25maW5pdGU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5hcmNUby5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1Rv
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBJbmZpbml0eS9OYU4g
aXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTY1LDcgKzY5LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
bm9uZmluaXRlLndvcmtlci5qcwppbmRleCBjOGIwMDc1OTFjZS4uYzlhYTY4MjRjMTAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC02MSw3ICs2NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5z
Y2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwKaW5k
ZXggNjk0OTBlYTU4MTcuLjBjMTUzYmQwMmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uc2NhbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2NhbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmNUby5zY2FsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNjYWxlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5hcmNUbyBzY2FsZXMgdGhlIGN1cnZlLCBub3QganVzdCB0aGUgY29u
dHJvbCBwb2ludHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbyBzY2FsZXMgdGhlIGN1cnZlLCBub3QganVzdCB0aGUgY29udHJvbCBw
b2ludHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1
NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2Nh
bGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtl
ci5qcwppbmRleCA4MGIzNDE5ZjIwZC4uZGViMmU3NWFhOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiYXJjVG8gc2NhbGVzIHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwy
NSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0
OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZl
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS5odG1s
CmluZGV4IGZlOTQ0MTM3Y2IyLi5jMTE5MWIxMmY2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkg
Y3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJp
Z2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDgwLDQ0LCAwLDI1NSwwLDI1NSwgIjgwLDQ0IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NSwgMCwyNTUsMCwyNTUsICI4
MCw0NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAs
NDYsIDAsMjU1LDAsMjU1LCAiODAsNDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDY1LDQ1LCAwLDI1NSwwLDI1NSwgIjY1LDQ1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIuanMKaW5kZXggMmU3ZTNkOWMxMTguLjA4YzI5
MTEyYTU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUu
Y3VydmUxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hh
cGUuY3VydmUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2
ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ0LCAwLDI1NSwwLDI1NSwgIjgwLDQ0Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NSwgMCwy
NTUsMCwyNTUsICI4MCw0NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgODAsNDYsIDAsMjU1LDAsMjU1LCAiODAsNDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY1LDQ1LCAwLDI1NSwwLDI1NSwgIjY1LDQ1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIuaHRtbAppbmRleCA5MjZiMDQzZjY1MS4uZjA1
MmE3ODk4NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFw
ZS5jdXJ2ZTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUu
Y3VydmUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uc2hhcGUuY3Vy
dmUyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2lu
ZCBvZiBzaGFwZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtNDUsNyArNDksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3OSwzNSwg
MCwyNTUsMCwyNTUsICI3OSwzNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgODAsNDQsIDAsMjU1LDAsMjU1LCAiODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0Niwg
MCwyNTUsMCwyNTUsICI4MCw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUy
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIu
d29ya2VyLmpzCmluZGV4IGYyZmFmYjA2NDc0Li40YWNiOTRhNjBiOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9m
IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNDEsNyArNDUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3OSwzNSwgMCwyNTUsMCwyNTUsICI3OSwzNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDQsIDAsMjU1LDAsMjU1LCAiODAsNDQiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSww
LDI1NSwgIjgwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA4MCw0NiwgMCwyNTUsMCwyNTUsICI4MCw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
c2hhcGUuZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5k
Lmh0bWwKaW5kZXggYTMzNDFjMDRmMWMuLjUwMjk2MjM3ZWRiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLnNoYXBlLmVuZDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyY1RvLnNoYXBlLmVuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBkb2VzIG5v
dCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8gUDI8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhp
bmcgZnJvbSBQMSB0byBQMiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2hhcGUuZW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5zaGFwZS5lbmQud29ya2VyLmpzCmluZGV4IDUyNzE2NzUzMTk0Li41OGM0MDcwNGVjMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVuZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVuZC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgZG9lcyBub3QgZHJhdyBhbnl0aGlu
ZyBmcm9tIFAxIHRvIFAyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5zaGFwZS5zdGFydC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNo
YXBlLnN0YXJ0Lmh0bWwKaW5kZXggNTA3MTUyNmU0OWMuLjc1YTFlOGNiZmNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5z
dGFydDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5hcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0Lndvcmtlci5qcwppbmRleCA4NDgzNTY4NmQx
Ni4uODhkNzc0Yjc1ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5zaGFwZS5zdGFydC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnNoYXBlLnN0YXJ0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8o
KSBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi5odG1sCmluZGV4IGE2OTg5ZDBk
ZmVjLi5kNTMzNWU4ZjI3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnRyYW5zZm9ybWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnRyYW5zZm9ybWF0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb248L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5h
cmNUby50cmFuc2Zvcm1hdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8gam9pbnMgdXAg
dG8gdGhlIGxhc3Qgc3VicGF0aCBwb2ludCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBqb2lucyB1cCB0byB0aGUg
bGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1
LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCmluZGV4IGE1NDVi
ZDNkNTFmLi40ODllMDZmNmEzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmNUbyBqb2lucyB1cCB0byB0aGUgbGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTks
MjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbAppbmRleCA3N2Y2
OWY1OTM1OC4uOWU2OGU1Y2Q0NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby56ZXJvLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
emVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguYXJjVG8uemVyby4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uemVyby4xPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBs
aW5lIGZyb20gUDAgdG8gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdo
dCBsaW5lIGZyb20gUDAgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5tb3ZlVG8o
MCwgLTI1KTsKIGN0eC5hcmNUbyg1MCwgLTI1LCA1MCwgNTAsIDApOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uemVyby4xLndvcmtlci5qcwppbmRleCBkMWQyZTg3YjRjYS4uZDJi
NjIzODhlYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJv
LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggemVybyByYWRp
dXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICsz
MCw2IEBAIGN0eC5tb3ZlVG8oMCwgLTI1KTsKIGN0eC5hcmNUbyg1MCwgLTI1LCA1MCwgNTAsIDAp
OwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi5odG1sCmluZGV4IGRlYmUzZDMx
NDgyLi42MDQxOGU3N2ZhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnplcm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJv
LjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0aC5hcmNUby56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby56ZXJvLjI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUg
ZnJvbSBQMCB0byBQMSwgZXZlbiB3aGVuIGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhcjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkg
d2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSwgZXZl
biB3aGVuIGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAg
Y3R4Lm1vdmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCA1MCwgMjUsIDApOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLndvcmtlci5qcwppbmRleCAzZmY1
NWNlNTBjOS4uNDE3NGUzMDg1MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby56ZXJvLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby56ZXJvLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdp
dGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEsIGV2ZW4g
d2hlbiBhbGwgcG9pbnRzIGFyZSBjb2xsaW5lYXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0
eC5tb3ZlVG8oMTAwLCAyNSk7CiBjdHguYXJjVG8oMjAwLCAyNSwgNTAsIDI1LCAwKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbAppbmRleCA0NmM0N2Q3NGJkYy4uYmUxYWRjMzBk
MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYmVnaW5QYXRoPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguYmVnaW5QYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3
ICsyNyw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLndvcmtlci5qcwppbmRleCAzMDA2OWUzNjk5Mi4u
MjcxYjY4OWJjZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBh
dGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IGN0eC5iZWdpblBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLmh0bWwKaW5kZXggNDJmMmYwNDZiMGUu
LjU2ZjA5ODM4NGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJD
dXJ2ZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmJlemllckN1
cnZlVG8uYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYg
QEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1
LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmJhc2ljLndvcmtlci5qcwppbmRleCA1N2UxMDg0NGZlYS4uNTZiMGQ3NzE5MTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1
LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemll
ckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKaW5kZXggMjljZWIwZDUxODkuLjA0NjRiYmQ0
OWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBp
cyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3Vi
cGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRy
YXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmJlemllckN1cnZlVG8o
MTAwLCA1MCwgMjAwLCA1MCwgMjAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAi
OTUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMS53b3JrZXIuanMKaW5kZXggNWM5NDIyNjcwNDYuLmUxYmNmODFjZTRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRo
ZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQg
bm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5i
ZXppZXJDdXJ2ZVRvKDEwMCwgNTAsIDIwMCwgNTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAw
LDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3Vy
ZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
ZW5zdXJlc3VicGF0aC4yLmh0bWwKaW5kZXggOTM3NzczYjE3NjMuLmRiZThjZDJhYzYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJw
YXRoLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5J
ZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguYmV6aWVyQ3VydmVUbygwLCAyNSwgMTAwLCAyNSwg
MTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzCmlu
ZGV4IGQ0NDExNDUwNjcwLi4yNjg4ZDZiNTJlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0
aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmJlemllckN1cnZlVG8oMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUs
IDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25m
aW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZp
bml0ZS5odG1sCmluZGV4IDU4ZGU3MDA3MjZlLi4zMTEzOTBlZDViMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYmV6aWVy
Q3VydmVUby5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+YmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlz
IGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJiZXppZXJDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTk5LDcgKzEwMyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1
LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5v
bmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDZiMTk5ZGRlMTgwLi5jNjM2ZjY4NGNkZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5u
b25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJiZXppZXJDdXJ2ZVRv
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk1LDcgKzk5LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQuaHRtbAppbmRleCAyZTk2MjM1ODRh
Ny4uOTc2MTRiMmQ0MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYmV6
aWVyQ3VydmVUby5zY2FsZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcg
KzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCmluZGV4
IDdjMDVkZTEyZTZlLi5hMThkYTg0MTlkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
c2hhcGUuaHRtbAppbmRleCBjNjAxYjZiYTU2Ny4uMWY5MzY3ODkxMTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LnNoYXBlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
c2hhcGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
c2hhcGUud29ya2VyLmpzCmluZGV4IGViZGVkYTE0YTI3Li4zYWMyMzI3MzE4NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
aXAuYmFzaWMuMS5odG1sCmluZGV4IDRkNjFlM2Q4ZTg0Li43Y2U0NTIwMmY4NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLmJhc2ljLjE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5jbGlwLmJhc2ljLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcg
KzI4LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEud29ya2VyLmpzCmlu
ZGV4IDM5MWQ3NDVmNjVlLi41NTdkZTFhYTZlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuYmFzaWMuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC5iYXNpYy4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0
bWwKaW5kZXggNDU5MWY3NzQ1N2UuLjM5MDNhMzA4Y2U3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuYmFzaWMuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAuYmFzaWMuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuYmFz
aWMuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgu
Y2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKaW5kZXggOTY1YTMyODQ1
MGYuLjYwMDNmYzRhOTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC5iYXNpYy4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5i
YXNpYy4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVtcHR5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCmluZGV4IDM5NTU1YTk3
YTc3Li43OGVlNTIyOWRiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
aXAuZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmNsaXAuZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5jbGlwLmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmNsaXAuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1w
dHkud29ya2VyLmpzCmluZGV4IGQyMmIyN2VjMjJjLi4zMTQ4Yzc1YjVkYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLmludGVyc2VjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
aXAuaW50ZXJzZWN0Lmh0bWwKaW5kZXggZDdiYzNiZDI0NTkuLjY2ZTc0MDQzOWI2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3QuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3QuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLmludGVyc2VjdDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmNsaXAuaW50ZXJzZWN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50
ZXJzZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2Vj
dC53b3JrZXIuanMKaW5kZXggNmRkMDIxY2RmYTcuLmQ4Y2IwNTVjODllIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3Qud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmNsaXAoKTsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xpcC51bmFmZmVjdGVkLmh0bWwKaW5kZXggYmY1ZDU0MTgzNWIuLjRkMTBjMmMwMDJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAu
dW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xpcCgpOwogY3R4LmxpbmVUbygw
LCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQud29ya2Vy
LmpzCmluZGV4IGNlNmJiZDAwZTA3Li4zNzM3NWJjYWYzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5saW5l
VG8oMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEuaHRtbAppbmRl
eCBiYWU4ZTk0Y2QzNy4uNDUxNGRhZTcxZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLndpbmRpbmcuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLndpbmRpbmcuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAud2luZGluZy4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xpcC53aW5k
aW5nLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4
LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLndvcmtlci5qcwppbmRleCA1ODY1
MTQ3YzA5ZC4uMTg1MTJlMGRjYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLndpbmRpbmcuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmNsaXAud2luZGluZy4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndp
bmRpbmcuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0
bWwKaW5kZXggZWMyNTY4OTcwY2YuLjIxY2Q2M2M5NGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguY2xpcC53aW5kaW5nLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLndpbmRpbmcuMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNs
aXAud2luZGluZy4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2
IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi53b3JrZXIuanMKaW5k
ZXggNjQ5YzQzNDZhZDAuLjk0N2Q4ZmY0NDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguY2xpcC53aW5kaW5nLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLndpbmRpbmcuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xvc2VQYXRoLmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRo
LmVtcHR5Lmh0bWwKaW5kZXggOGNjNTE2OGQzNTguLjJhYTBmZjNhMDQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsb3NlUGF0aC5lbXB0eTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsNyArMjYsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS53b3JrZXIuanMK
aW5kZXggYmUwOWZmZjVlYmQuLjFkMDI2ZjliYjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBh
dGgubmV3bGluZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXds
aW5lLmh0bWwKaW5kZXggM2Y0ZjE4MzlmN2UuLjU2MWE4M2JiNmQxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbG9zZVBhdGgubmV3bGluZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5saW5lVG8oMjAwLCAyNSk7CiBjdHguY2xvc2VQYXRo
KCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lLndv
cmtlci5qcwppbmRleCAwNGYzMzkyZTY4OC4uYjY1YWM4ZDNmZGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgubGluZVRvKDIw
MCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bG9zZVBhdGgubmV4dHBvaW50Lmh0bWwKaW5kZXggYjMwZmJkNjk4NjIuLjU3NjMyZjFlZTAzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
Y2xvc2VQYXRoLm5leHRwb2ludDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmNsb3NlUGF0
aCgpOwogY3R4LmxpbmVUbygxMDAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMKaW5kZXggZjU5MGU3NmZmZDUuLmEy
ZGE0OWJkODA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRo
Lm5leHRwb2ludC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3Nl
UGF0aC5uZXh0cG9pbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5saW5lVG8oMTAwMCwgMjUp
OwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMuaHRtbAppbmRl
eCBlMTNlYTZmNzYwZS4uMTU4ZDUyODgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
ZmlsbC5jbG9zZWQuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcg
KzI5LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMud29ya2VyLmpzCmluZGV4
IDNkM2MzYzcyMzI2Li43YTFjYzM3ZGZkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgu
bGluZVRvKDAsIDUwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9z
ZWQudW5hZmZlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2Vk
LnVuYWZmZWN0ZWQuaHRtbAppbmRleCA3ZmRiZTQ3YTk0Ni4uMzIyYzkxNzM3ODQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5m
aWxsLmNsb3NlZC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3Rl
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDEwLCAwLDI1NSwwLDI1NSwgIjkwLDEwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxMCw0MCwgMCwyNTUsMCwyNTUsICIxMCw0MCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC53b3JrZXIuanMKaW5kZXggNDcz
ZGFkNjRhZjMuLjc1Y2E4N2U2Y2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAs
MjU1LDAsMjU1LCAiOTAsMTAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEwLDQwLCAwLDI1NSwwLDI1NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5m
aWxsLm92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAu
aHRtbAppbmRleCBiOGM2ZjJhZDRhNi4uNjYyYmJiZjEzZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC5vdmVybGFwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC5vdmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC5v
dmVybGFwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0
eC5jbG9zZVBhdGgoKTsKIGN0eC5yZWN0KDEwLCAxMCwgODAsIDMwKTsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjcsMCwyNTUsICI1
MCwyNSIsICIwLDEyNywwLDI1NSIsIDEpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAud29ya2VyLmpzCmluZGV4IDVlNTMwMWI4
MjAzLi5mYzE2Njg3YjlkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZp
bGwub3ZlcmxhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwu
b3ZlcmxhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnJlY3QoMTAsIDEwLCA4MCwgMzApOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDEyNywwLDI1NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC5odG1sCmlu
ZGV4IGQwMWM1ZGY4ZjQ4Li5lMjcyNGExZmRhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC53aW5kaW5nLmFkZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwud2luZGluZy5hZGQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5m
aWxsLndpbmRpbmcuYWRkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICsz
NCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMKaW5kZXggMzdk
ZjNkNWE5YTguLmVlOTcxNTdlYTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5hZGQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRv
KDAsIDUwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1
YnRyYWN0LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3Vi
dHJhY3QuMS5odG1sCmluZGV4IDMyYWZiZjYwMzI3Li40ZGM0NDIyMmJkMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmls
bC53aW5kaW5nLnN1YnRyYWN0LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3Qu
MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubGlu
ZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygxMDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEud29ya2VyLmpzCmluZGV4IDM3
ZjZjNzExNzFiLi41NThhMzU4MjFkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1
MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbAppbmRleCAzNzQyNjMyZjIxYS4uZjRjMzc1YWJm
MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3Vi
dHJhY3QuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcu
c3VidHJhY3QuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC53
aW5kaW5nLnN1YnRyYWN0LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndv
cmtlci5qcwppbmRleCA4NjRjZmQ1ZjNlOC4uOTRiMGEzOGQyYjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBj
dHgubGluZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygxMDAsIDApOwogY3R4LmZpbGwoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLmh0bWwKaW5kZXggNjkzODA2
YTA0ZDcuLmM2YmRmOTliZDQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRv
KDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5z
dWJ0cmFjdC4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRp
bmcuc3VidHJhY3QuMy53b3JrZXIuanMKaW5kZXggMjc2YjBjYmM3YzMuLjkxMjc0NDZkNWIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0
LjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcu
c3VidHJhY3QuMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMxLDcgKzM1LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsK
IGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbAppbmRleCBkNDY3NDRkMDBlYy4uYjk3MTZjZTU2
ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pbml0aWFsPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguY2xvc2VQYXRoKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pbml0aWFsLndvcmtlci5qcwppbmRleCA1ODU2NzE0ODc2ZS4uNDM4Yjc3MWRlNDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFsLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmNsb3NlUGF0aCgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5hcmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLmFyYy5odG1sCmluZGV4IDQ1NThhZjE2OGIwLi43MWFmMzY5ZWVkNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludElu
UGF0aC5hcmM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIGFyY3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mg
b24gYXJjcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHMK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoNzAsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMzApIiwgImZhbHNlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMzApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDcwLCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMK
aW5kZXggOWE2ZTc2ZTA1YmIuLjMxZWI1NDU1ZTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5hcmMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBhcmNzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMjApLCBmYWxzZSwgImN0
eC5pc1BvaW50SW5QYXRoKDMwLCAyMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoNzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMjApIiwgImZhbHNl
Iik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMzApLCBmYWxzZSwgImN0eC5p
c1BvaW50SW5QYXRoKDMwLCAzMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDcwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0bWwKaW5kZXggNzc0ZWY3NjY0ZjcuLjI3NThjYWRm
ZDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
YXNpYy4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmFzaWMuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBh
dGguYmFzaWMuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGRldGVjdHMg
d2hldGhlciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVj
dHMgd2hldGhlciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyAr
MjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgu
cmVjdCgwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEw
KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgz
MCwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKaW5k
ZXggOGUyZmJlZTQ5NjAuLmYzYmY4ZGFhZDJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQg
aXMgaW5zaWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgwLCAwLCAyMCwgMjApOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50
SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
MzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgImZhbHNlIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLmJhc2ljLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLmJhc2ljLjIuaHRtbAppbmRleCA5MjE2YzczZmQ0ZC4uMzNkMjMxY2IzZTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNp
Yy4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVy
IHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0
aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5yZWN0KDIw
LCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgzMCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEw
KSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi53b3JrZXIuanMKaW5kZXggYjJi
Zjk0MTBiYTcuLmJjMWFjMDFkMmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQgaXMgaW5z
aWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgyMCwgMCwgMjAsIDIwKTsKIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMTAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5iZXppZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJlemllci5odG1sCmluZGV4IDUxOTAxODQ2NjIyLi5lZTNhMjFkZmIxNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2lu
dEluUGF0aC5iZXppZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllcjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2ZXM8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1Bv
aW50SW5QYXRoKCkgd29ya3Mgb24gQmV6aWVyIGN1cnZlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDcgKzQyLDYg
QEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSwgZmFsc2UsICJjdHguaXNQ
b2ludEluUGF0aCg3MCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDcwLCAzMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgInRydWUiKTsKIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDc1LCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoNzUsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
NzUsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwgMzApIiwgImZhbHNlIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLmJlemllci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5iZXppZXIud29ya2VyLmpzCmluZGV4IDVkMmY5ZTAwODlmLi4yMDNiMWM4
NDA2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmV6aWVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5Q
YXRoKCkgd29ya3Mgb24gQmV6aWVyIGN1cnZlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludElu
UGF0aCg3MCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAz
MCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgInRydWUiKTsKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDc1LCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
NzUsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMw
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJpZ2FyYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGguYmlnYXJjLmh0bWwKaW5kZXggODcwM2VlZmZlNTAuLjJkNGEyZDRjMDk4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJpZ2FyYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJn
ZXIgdGhhbiAycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJnZXIg
dGhhbiAycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxz
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIp
OwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQ
b2ludEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMud29y
a2VyLmpzCmluZGV4IDk3NGZmNzU5MjM0Li42MzJiN2VhMjUxMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQg
YXJjcyBsYXJnZXIgdGhhbiAycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxz
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMw
KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmVkZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uu
aHRtbAppbmRleCA2ZDZkODdkMDAxZi4uNjY2MDAzMDdhNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1Bv
aW50SW5QYXRoKCkgY291bnRzIHBvaW50cyBvbiB0aGUgcGF0aCBhcyBiZWluZyBpbnNpZGU8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1Bv
aW50SW5QYXRoKCkgY291bnRzIHBvaW50cyBvbiB0aGUgcGF0aCBhcyBiZWluZyBpbnNpZGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAt
MC4wMSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIC0wLjAxKSIsCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDEwLCAyMC4wMSkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKC0w
LjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoLTAuMDEsIDEwKSIsICJmYWxzZSIp
OwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSwgZmFsc2UsICJjdHgu
aXNQb2ludEluUGF0aCgyMC4wMSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS53
b3JrZXIuanMKaW5kZXggOGJmOWIxOWIyYTEuLmQ3ZDFlM2Y5MDk5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhl
IHBhdGggYXMgYmVpbmcgaW5zaWRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDEwLCAtMC4wMSkiLAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpIiwgImZhbHNlIik7CiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKC0wLjAxLCAxMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDIwLjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZW1wdHkuaHRtbAppbmRleCA5MjE5ZDUwZGQwZC4uNTA2MWY3ZjQ3MTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHku
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5pc1BvaW50SW5QYXRoLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIHdoZW4gdGhlcmUgaXMg
bm8gcGF0aDwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCAwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgw
LCAwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMKaW5kZXggODIy
ODM4NDAwYjQuLjc5NTIzODM1N2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8gcGF0aCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMCwg
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGUuaHRtbAppbmRleCA2ZTZiZDJl
ZjM2Zi4uZGVjNDdiMjA1YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlz
UG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50czwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50cyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5maW5p
dHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXQKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MCwgLUluZmluaXR5KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
MCwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pIiwgImZhbHNlIik7CiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTiksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoTmFOLCBOYU4pIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5p
dGUud29ya2VyLmpzCmluZGV4IDkxYzJkMzZjNWExLi44NmYyOTJjNDY5NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgcmV0dXJu
cyBmYWxzZSBmb3Igbm9uLWZpbml0ZSBhcmd1bWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXR5KSwgZmFsc2UsICJjdHgu
aXNQb2ludEluUGF0aCgwLCBJbmZpbml0CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgw
LCAtSW5maW5pdHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSkiLCAi
ZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTiksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoMCwgTmFOKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoTmFOLCBOYU4pLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKE5hTiwgTmFO
KSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwKaW5kZXggYzMxNzU5ODliNmQu
LjJjM2U0MDNhMjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5vdXRzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlz
UG9pbnRJblBhdGgub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgp
IHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBv
biBwYXRocyBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDEwLCAtNzApIiwgImZhCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgLTIw
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgLTIwKSIsICJmYWxzZSIpOwogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MzAsIDApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLm91dHNpZGUud29ya2VyLmpzCmluZGV4IDExYjgxZDIxNWNhLi42ZmRkNzJmYzc4ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lk
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
b3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgo
KSB3b3JrcyBvbiBwYXRocyBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApLCBmYWxzZSwgImN0eC5p
c1BvaW50SW5QYXRoKDEwLCAtNzApIiwgImZhCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCgzMCwgLTIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgLTIwKSIsICJmYWxzZSIp
OwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDApLCB0cnVlLCAiY3R4LmlzUG9p
bnRJblBhdGgoMzAsIDApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzZSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5zdWJwYXRoLmh0bWwKaW5kZXggZGRmN2IyNzkzZjQuLjMwYjA0NTkwZjU0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRo
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0
aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmlzUG9pbnRJblBhdGguc3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguc3Vi
cGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHVzZXMgdGhlIGN1cnJl
bnQgcGF0aCwgbm90IGp1c3QgdGhlIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgY3Vy
cmVudCBwYXRoLCBub3QganVzdCB0aGUgc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4LnJlY3QoNDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgx
MCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAiZmFsc2UiKTsKIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCksIHRydWUsICJjdHguaXNQb2ludElu
UGF0aCgzMCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUw
LCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MCwgMTApIiwgInRydWUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGguc3VicGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5zdWJwYXRoLndvcmtlci5qcwppbmRleCBhNDUzYzgwNWRiOC4uY2YzNDE2OWQ2
MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1
YnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnN1YnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5Q
YXRoKCkgdXNlcyB0aGUgY3VycmVudCBwYXRoLCBub3QganVzdCB0aGUgc3VicGF0aCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlY3QoNDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgxMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAx
MCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCksIHRy
dWUsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDUwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MCwgMTAp
IiwgInRydWUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKaW5kZXggYTFlODc2
NjBkYjcuLmEyY2UwZmJmYzdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHk8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJp
c1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0OSwgMTApLCBm
YWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCki
LCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSwgdHJ1ZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MSwgMTApIiwg
ImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcwppbmRl
eCBiZWJjNmQ2Mzk1NS4uYTA4NmE4ZTIyMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0
aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIs
ICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVl
Iik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5p
c1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9y
bS4yLmh0bWwKaW5kZXggMTk5NTI5NWZhYjIuLjIwY2YyNmU0NGRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQ
b2ludEluUGF0aC50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNm
b3JtLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5z
Zm9ybWF0aW9ucyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlv
bnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCg0OSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAi
ZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5p
c1BvaW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIp
OwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQ
b2ludEluUGF0aCg3MSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS4yLndvcmtlci5qcwppbmRleCBhMDkyY2I5YTY3My4uNzU5NjE1OTYyYWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgo
KSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3
MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLmh0bWwKaW5kZXggYjQzZTEwNDJkZDguLjJjMTBhN2Iy
Nzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50
cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnRyYW5zZm9ybS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJ
blBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkg
aGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0OSwgMTApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
NTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzEs
IDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MSwgMTApIiwgImZhbHNlIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcwppbmRleCBjZDI0NGE2OGIyZC4u
Njk0YjA3MzgzNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5
LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgo
NTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTAp
LCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcx
LCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwKaW5kZXgg
ZTc5NTYyNDAwYjUuLjYyZjhlZGY5NTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3Jy
ZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUwKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjAs
IDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTEwLCAxMCks
IHRydWUsICJjdHguaXNQb2ludEluUGF0aCgxMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgx
MTAsIDYwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC53b3Jr
ZXIuanMKaW5kZXggNmVjMjAxMzYxNjEuLmE0MWI0YWVlNWI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0
cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgudHJh
bnNsYXRlKDAsIDUwKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoMTEwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgxMTAs
IDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC51bmNsb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgudW5jbG9zZWQuaHRtbAppbmRleCBmMDVhMzlkN2FkNi4uMzJlNTc0Mjg1NWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5p
c1BvaW50SW5QYXRoLnVuY2xvc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3Nl
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHVuY2xvc2Vk
IHN1YnBhdGhzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHVuY2xvc2VkIHN1YnBhdGhzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZVRvKDIwLCAyMCk7CiBjdHgubGluZVRvKDAsIDIw
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCgxMCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSIsICJmYWxzZSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKaW5kZXggMzE2ZTc5MWIyZjQu
LmI4Y2U4MzM0ZTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGgudW5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgc3VicGF0aHMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIGN0eC5saW5lVG8oMjAsIDIwKTsKIGN0eC5saW5lVG8oMCwgMjApOwogX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgImZhbHNlIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLndpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLndpbmRpbmcuaHRtbAppbmRleCA4YjBlMDdmMTAxZS4uMTZiMThkNzdlNjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5nLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
aXNQb2ludEluUGF0aC53aW5kaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5n
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgbm9uLXplcm8g
d2luZGluZyBudW1iZXIgcnVsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB1c2VzIHRoZSBub24temVybyB3aW5k
aW5nIG51bWJlciBydWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzYsNyArNDAsNiBAQCBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg0NSwgMjUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSIs
ICJ0cnVlIgogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNSwgNDUpLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoNSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDI1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgyNSwgNDUpIiwgInRydWUi
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ1LCA0NSksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCg0NSwgNDUpIiwgInRydWUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5nLndv
cmtlci5qcwppbmRleCBmZGUwYTE3ZWRkNi4uYjFlOGZkZDQ5ZWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgbm9uLXpl
cm8gd2luZGluZyBudW1iZXIgcnVsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ1
LCAyNSkiLCAidHJ1ZSIKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUsIDQ1KSwgdHJ1
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUsIDQ1KSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCgyNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMjUsIDQ1KSIs
ICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpLCB0cnVlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNDUsIDQ1KSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbAppbmRleCBmZTRmZmVj
M2ZlOC4uZmY4MjQxYjE1NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJh
c2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGgubGluZVRvLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLmJhc2ljPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwog
Y3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8uYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5i
YXNpYy53b3JrZXIuanMKaW5kZXggYzA3MDk3NWIyMWQuLmVhMmZmODM3MWZjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1
KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCA5MjE2ODE5YTU0Yy4uOWE4ZmViMWFk
NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3Vi
cGF0aC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVz
dWJwYXRoLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLmVu
c3VyZXN1YnBhdGguMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0
aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlzIGRyYXduPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8g
c3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlzIGRyYXduIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgubGluZVRvKDEwMCwgNTApOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRo
LjEud29ya2VyLmpzCmluZGV4IDcwMWZmZGQ0MWQyLi5kYzNkNTAwODA3MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwg
dGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlzIGRyYXduIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKaW5kZXgg
ZmI5YjA0ZDVhNWQuLmRiYzIxZjMwNmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgdXNlZCBmb3Ig
c3Vic2VxdWVudCBkcmF3aW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFk
ZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50IGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2
IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5q
cwppbmRleCA2OTllNDQwNDhjYi4uYTM0Mzc2NmNhMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBp
cyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vic2VxdWVudCBkcmF3aW5nIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQuaHRtbAppbmRleCAwNTc2OGMwY2Q4
NS4uOGYzZTc0YTg2NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5l
VG8ubmV4dHBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5u
ZXh0cG9pbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5saW5lVG8ubmV4dHBvaW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLm5leHRwb2lu
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGlu
ZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3JrZXIuanMKaW5kZXggMjI2MmI4YmMxMDIuLjk2
OGZkNDdjOTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5l
eHRwb2ludC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5u
ZXh0cG9pbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMu
aHRtbAppbmRleCA0ZWEyMDkzNzk1NC4uNTA0MjdiNDMwYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLm5v
bmZpbml0ZS5kZXRhaWxzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBmb3IgZmlyc3Qg
YXJnIHN0aWxsIGNvbnZlcnRzIHRoZSBzZWNvbmQgYXJnPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZVRvKCkgd2l0aCBJbmZpbml0eS9O
YU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFyZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgZm9yICh2YXIgYXJnMSBvZiBbSW5maW5pdHksIC1JbmZpbml0eSwgTmFO
XSkgewogICBjdHgubGluZVRvKGFyZzEsIHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7IGNvbnZlcnRl
ZCA9IHRydWU7IHJldHVybiAwOyB9IH0pOwogICBfYXNzZXJ0KGNvbnZlcnRlZCwgImNvbnZlcnRl
ZCIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMud29ya2VyLmpzCmluZGV4IDEz
ZDYxNTMwNmNlLi4zNzY1MWJjMmY4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlscy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlscy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcg
c3RpbGwgY29udmVydHMgdGhlIHNlY29uZCBhcmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGZv
ciAodmFyIGFyZzEgb2YgW0luZmluaXR5LCAtSW5maW5pdHksIE5hTl0pIHsKICAgY3R4LmxpbmVU
byhhcmcxLCB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1cm4g
MDsgfSB9KTsKICAgX2Fzc2VydChjb252ZXJ0ZWQsICJjb252ZXJ0ZWQiKTsKIH0KLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5u
b25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRl
Lmh0bWwKaW5kZXggOGRkNzczZTgyMDcuLjcyODIzMTY3NzZkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLm5vbmZpbml0ZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmxpbmVUby5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVUbygpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRv
Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5v
bmZpbml0ZS53b3JrZXIuanMKaW5kZXggNGY5N2I5YjJkYTIuLjA3OGYxYjNlOTE3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRv
LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLmh0bWwK
aW5kZXggMzZlMTRhYzExNGIuLmNjMzhlOTIyMjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5iYXNp
YzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGlu
ZVRvKDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwyNSwgMCwyNTUsMCwyNTUsICI5MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpzCmluZGV4IGQ0YjkyOGE2NmM5Li5lZmE3YmU0
YjQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAg
Y3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMjUsIDAsMjU1LDAsMjU1LCAiOTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS5odG1sCmluZGV4IDQxZjQ1MTQzODY5Li5mNjI0
NDA5NWRhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0
aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5tb3ZlVG8ubXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5tb3ZlVG8ubXVsdGlwbGU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0g
JyMwZjAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubW92ZVRvLm11bHRpcGxlLndvcmtlci5qcwppbmRleCA3ZDY0ODg0OTYxYS4uODNkOGQ2Nzgz
NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2
IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0bWwKaW5kZXggMzkwYTI2
MTU0YTUuLjk2ZDI3YjY1MDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bW92ZVRvLm5ld3N1YnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92
ZVRvLm5ld3N1YnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5u
ZXdzdWJwYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5tb3ZlVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLndvcmtlci5qcwppbmRleCAzZGFj
NjA4MTEyMC4uOTE4OGM2NjA1NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5tb3ZlVG8ubmV3c3VicGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5uZXdzdWJwYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubW92ZVRvKDAsIDUwKTsKIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25m
aW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLmh0
bWwKaW5kZXggMTAwMjU5YTRhNDAuLmQ3NTVhNDY2YjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLm1vdmVUby5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPm1vdmVUbygpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJtb3ZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5u
b25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25m
aW5pdGUud29ya2VyLmpzCmluZGV4IDg0ZDg5NzIwNzY3Li42NDc1MjRmMTRlNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdu
b3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0
aWNDdXJ2ZVRvLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5iYXNpYy5odG1sCmluZGV4IDk1N2I4OTAxMzdlLi5mMDAxZjlkMWUyNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJh
c2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5t
b3ZlVG8oMCwgMjUpOwogY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSk7CiBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNp
Yy53b3JrZXIuanMKaW5kZXggZDA3NGRmYTU3YzYuLjQ3M2VhOWQwMGFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAy
NSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWND
dXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCmluZGV4IDhmM2MxMGY5MGMyLi5lZDk0Nzg5ZmU2
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRy
YXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJw
YXRoLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRy
b2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJl
IGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90
aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5xdWFk
cmF0aWNDdXJ2ZVRvKDEwMCwgNTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1
NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBh
dGguMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCmluZGV4IDY3YjBiYjIyMjg5Li42ZjY3NWE2ZWEy
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2lu
dCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygxMDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5x
dWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sCmluZGV4IDBhNjFlY2Q4M2MxLi41
NzljMzM1MDQ3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBh
dGguMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZp
cnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmly
c3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnF1
YWRyYXRpY0N1cnZlVG8oMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1
LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcwppbmRleCBhOGI4N2NjY2M4NC4uYmVmMDYzYzFkZTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVu
c3VyZXN1YnBhdGguMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1
YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQg
aXMgYWRkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKDAs
IDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGUuaHRtbAppbmRleCA5ODA2Y2Ew
OGM2ZC4uYzBjNjZmZjIzNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5x
dWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmlu
aXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPnF1YWRyYXRpY0N1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
cXVhZHJhdGljQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC00Nyw3ICs1MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1
NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZp
bml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDQ4NDEwNTMyNTU1Li4yNjNlODQyOGEzYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmlu
aXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3Vy
dmVUby5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0
aWNDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcg
KzQ3LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1
LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbApp
bmRleCA5ZDFlYzRmZDRiYy4uMzQxMzlhNjg5NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
c2NhbGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWND
dXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJh
dGljQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCmluZGV4IDJlNDEwNmVkOWM3Li43NzBhYjkzOGY3
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
c2NhbGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5zY2FsZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbApp
bmRleCA0MGU0NTRhN2U0MS4uZjVlNTVlM2YxZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNo
YXBlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZl
VG8uc2hhcGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1
cnZlVG8uc2hhcGUud29ya2VyLmpzCmluZGV4IGU4NzEwZjlhZGIwLi45ZmY4NGUyMmYxYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LnNoYXBlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUs
NyArMjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0LmJhc2ljLmh0bWwKaW5kZXggMDU5NjY4YWI5ZGIuLjAxZWUwMjU1YzMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5iYXNpYzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLnJlY3QuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTAp
OwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLndvcmtlci5qcwppbmRleCBhYmNh
Y2FkNWJmYi4uZDYzYjc1MjBjYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4
LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwg
NTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0bWwKaW5kZXggOTQzZDdjOTE5
MzguLmQyYTgzMmE5MTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5yZWN0LmNsb3NlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBj
dHgucmVjdCgxMDAsIDUwLCAxMDAsIDEwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuY2xvc2VkLndvcmtlci5qcwppbmRleCA5YTJiN2U1NjIzYy4uYjc3MmZiMGU5NGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubGluZUpvaW4g
PSAnbWl0ZXInOwogY3R4LnJlY3QoMTAwLCA1MCwgMTAwLCAxMDApOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LmVuZC4xLmh0bWwKaW5kZXggYjQ0YzZhODRhMzEuLjU5MjM2MjBiNjg0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5lbmQuMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLnJlY3QuZW5kLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LnJlY3QoMjAwLCAxMDAsIDQwMCwgMTAwMCk7CiBjdHgubGluZVRvKC0yMDAwLCAt
MTAwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKaW5k
ZXggNzJiMmQ4YWZmMWMuLmQyNzU3ZWU0OTFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuZW5kLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5yZWN0KDIwMCwgMTAwLCA0MDAsIDEwMDApOwogY3R4Lmxp
bmVUbygtMjAwMCwgLTEwMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuZW5kLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLmh0bWwK
aW5kZXggYTQ4YjI3ZDYxYjkuLjA2NWIwYTBlYmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC5lbmQuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0LmVuZC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGgucmVjdC5lbmQuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuZW5kLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmVuZC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndv
cmtlci5qcwppbmRleCBhOTcxODc0NWEzOS4uMDQwMTZlMTlhYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS5odG1sCmluZGV4IDU1
ZWRiYWJkMzFlLi5kOWU2OGQxOTEzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnJlY3QubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5lZ2F0aXZlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUs
ICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA0ZWUwYjczMGZkMi4uNGUyOTAwZjM2Zjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDI1
NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwzNywgMCwyNTUsMCwyNTUsICIyNSwzNyIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMjU1LDAsMjU1LCAiNzUsMzciLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnJlY3QubmV3c3VicGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QubmV3c3VicGF0aC5odG1sCmluZGV4IDk4MmU4YjljMTg5Li5iN2JiNzg0NWJh
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmV3c3VicGF0aC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGguaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0
Lm5ld3N1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5ld3N1YnBhdGg8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtNTAsIDI1KTsKIGN0
eC5yZWN0KDIwMCwgMjUsIDEsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QubmV3c3VicGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC5uZXdzdWJwYXRoLndvcmtlci5qcwppbmRleCAxYmFjZGFhZDBjNi4uMDc0NWViZjIzZmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0
eC5saW5lVG8oLTUwLCAyNSk7CiBjdHgucmVjdCgyMDAsIDI1LCAxLCAxKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRlLmh0bWwKaW5kZXggZDNjNjJlNWU2OTIuLjQ1ZmQ1
NWRkYWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5p
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5y
ZWN0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Qubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5yZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJlY3QoKSB3aXRoIElu
ZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDcsNyArNTEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3Qubm9uZmluaXRlLndvcmtlci5qcwppbmRleCAzNTU4MmZkNjY0Yi4uMTQ0MjMyZTY0
NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicmVjdCgpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LnNlbGZpbnRlcnNlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNl
bGZpbnRlcnNlY3QuaHRtbAppbmRleCA3Y2ExYWY1OWQ1MC4uY2YzN2Y3NjIxNWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3QuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5zZWxm
aW50ZXJzZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5y
ZWN0KDQ1LCAyMCwgMTAsIDEwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3Quc2VsZmludGVyc2VjdC53b3JrZXIuanMKaW5kZXggMGMyNjFiNjQzZDYuLmNjYzgwNmU1OWVl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJz
ZWN0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg0NSwgMjAsIDEwLCAxMCk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5kaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5kaW5nLmh0bWwKaW5kZXggNDUzMmRkYjllZGYuLjVk
ZjM4YzEwNjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5k
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJl
Y3Qud2luZGluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Qud2luZGluZzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1
NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5k
aW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29y
a2VyLmpzCmluZGV4IDcyZjNlM2EwMTllLi5iZmYwM2E0MTA0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUs
MCwyNTUsICIyNSwzNyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMzcsIDAsMjU1LDAsMjU1LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
emVyby4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEuaHRtbApp
bmRleCAyODczYTUyODk1OC4uZjNmNDIyMWEzNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lnplcm8uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjE8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0
aCgpOwogY3R4LnJlY3QoMCwgNTAsIDEwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuemVyby4xLndvcmtlci5qcwppbmRleCA3YWQ2NDA0YjFjYS4uMzk3Y2FlMTk3MDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5Q
YXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby4yLmh0bWwKaW5kZXggMGJkZWFkMDcwZDMuLmU4NmFhNTMyYWVlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0Lnplcm8uMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LnJlY3QuemVyby4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDUwLCAtMTAwLCAwLCAyNTApOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3JrZXIuanMKaW5kZXggY2Q0MzcwMWFi
NDkuLjhhODdkZThlNGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC56ZXJvLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnpl
cm8uMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoNTAsIC0xMDAsIDAsIDI1MCk7CiBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMy5odG1sCmluZGV4IDAyYTg0ZTNlODQwLi41
YzdlODFmNDNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVy
by4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVj
dC56ZXJvLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1MCwg
MjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4z
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMy53b3JrZXIu
anMKaW5kZXggMTkxNzY4MzhkNTIuLjk3OTlhZTI5OTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoNTAs
IDI1LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lmh0bWwKaW5kZXgg
N2M4MDc4MDU4OGYuLjQ0NDVhNTBjMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC56ZXJvLjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC56ZXJvLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5yZWN0Lnplcm8uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuemVyby40PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5yZWN0KDEwMCwgMjUs
IDAsIDApOwogY3R4LmxpbmVUbygwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC56ZXJvLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby40Lndvcmtlci5qcwppbmRleCA3YzkxMjM2Yzc0OC4uZjEzN2MwNzVmYWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCgxMDAs
IDI1LCAwLCAwKTsKIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC56ZXJvLjUuaHRtbAppbmRleCAzZmM2MzQ1NzdhNS4uYWI0NmQ0ZDg0YWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby41PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
cmVjdC56ZXJvLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4Lm1vdmVUbygwLCAwKTsKIGN0eC5yZWN0KDEwMCwgMjUsIDAsIDApOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53b3JrZXIuanMKaW5kZXggMWU4MzkwMTZmMjYu
LmMzZGIwYWVhODgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56
ZXJvLjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
NS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4Lm1vdmVUbygwLCAwKTsKIGN0eC5yZWN0KDEwMCwgMjUsIDAsIDApOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby42Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYuaHRtbAppbmRleCA0NTBlZjNjMzY2OC4uNzM2ZGFm
OWY5NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVy
by42PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoMTAwLCAyNSwg
MTAwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby42Lndvcmtlci5q
cwppbmRleCA0NGJkYTdlZTcxZi4uM2IwY2E2NGQyYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby42Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgxMDAs
IDI1LCAxMDAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
ZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbApp
bmRleCAxNGU0ODlhYmY1My4uYzI5NDc3ZTJkZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLmVtcHR5
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5FbXB0eSBzdWJwYXRocyBhcmUgbm90IHN0cm9rZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJFbXB0
eSBzdWJwYXRocyBhcmUgbm90IHN0cm9rZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5t
b3ZlVG8oNDAsIDI1KTsKIGN0eC5tb3ZlVG8oNjAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5lbXB0eS53b3JrZXIuanMKaW5kZXggZDZkYjJhMDFiNmQuLjIzNTAzODA0
Nzg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRW1wdHkgc3VicGF0aHMgYXJlIG5vdCBzdHJv
a2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgubW92ZVRvKDQwLCAyNSk7CiBjdHgubW92
ZVRvKDYwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92
ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1s
CmluZGV4IGM3Mjc3YjkxY2FkLi5hZWEyMGIyYmIzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5vdmVybGFwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLm92ZXJsYXA8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJv
a2Uub3ZlcmxhcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlZCBzdWJwYXRocyBhcmUgY29t
YmluZWQgYmVmb3JlIGJlaW5nIGRyYXduPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlZCBzdWJwYXRocyBhcmUgY29tYmluZWQgYmVm
b3JlIGJlaW5nIGRyYXduIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRvKDAsIDMw
KTsKIGN0eC5saW5lVG8oMTAwLCAzMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjcsMCwyNTUsICI1MCwyNSIsICIwLDEyNyww
LDI1NSIsIDEpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtlci5qcwppbmRleCA1MTYwODQ3OTFjOC4uZDk3Y2Zi
Y2E4MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3Zlcmxh
cC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFw
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlZCBzdWJwYXRocyBhcmUg
Y29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXduIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgu
bW92ZVRvKDAsIDMwKTsKIGN0eC5saW5lVG8oMTAwLCAzMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjcsMCwyNTUsICI1MCwy
NSIsICIwLDEyNywwLDI1NSIsIDEpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMuaHRtbAppbmRleCAwNjUzMTRlODIwNS4u
ZTMyM2NlMTc5NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
cHJ1bmUuYXJjLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5hcmMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5zdHJva2UucHJ1bmUuYXJjPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1Rv
IGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdt
ZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubW92ZVRvKDYwLCAyNSk7CiBjdHguYXJjKDUwLCAyNSwg
MTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuYXJjLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
cHJ1bmUuYXJjLndvcmtlci5qcwppbmRleCBlYmE1MjMzNTIyZi4uODEyZDcxMGRhZTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJv
bSBhcmNUbyBhbmQgYXJjIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3
LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg2MCwgMjUpOwogY3R4LmFyYyg1MCwgMjUsIDEwLCAwLCAw
LCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmNsb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9z
ZWQuaHRtbAppbmRleCA3YzhmZmUxMjdkMC4uZGE3MmM2OTE3N2IgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUuY2xv
c2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3Zl
ZCBiZWZvcmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gY2xvc2VkIHBh
dGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
Y3R4LmxpbmVUbyg1MCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29ya2VyLmpzCmluZGV4IDhiMmU5
MjBlN2Y0Li40MDc5ODRjYTJhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5wcnVuZS5jbG9zZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3Zl
ZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lVG8oNTAs
IDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnBydW5lLmNvcm5lci5odG1sCmluZGV4IGVmMDkxOTYzNGI3Li4yNzk2MmNiMjNhMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lci5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0
cm9rZS5wcnVuZS5jb3JuZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJl
Zm9yZSBzdHJva2luZyB3aXRoIG1pdGVyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgYXJlIHJl
bW92ZWQgYmVmb3JlIHN0cm9raW5nIHdpdGggbWl0ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBA
QCBjdHgubGluZVRvKC0xMDAsIDIwMCk7CiBjdHgubGluZVRvKC0xMDAsIDEwMDApOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIud29ya2VyLmpz
CmluZGV4IGUwYjBhZDU1NjdlLi4yMGU5ZTRiMjM1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZv
cmUgc3Ryb2tpbmcgd2l0aCBtaXRlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5l
VG8oLTEwMCwgMjAwKTsKIGN0eC5saW5lVG8oLTEwMCwgMTAwMCk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKaW5kZXggMmYwZGQxZTY1OGIuLjYy
YTM5YmY5OTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmN1cnZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5jdXJ2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVuZS5j
dXJ2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9t
IHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0
cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5k
IGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBjdHgubW92ZVRvKDUwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbyg1MCwgMjUs
IDUwLCAyNSwgNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuY3VydmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMKaW5kZXggNTRkNjk1NWMzNTMuLjFhZDZkOWE2MTA5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdt
ZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQg
YmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHgubW92ZVRvKDUwLCAy
NSk7CiBjdHguYmV6aWVyQ3VydmVUbyg1MCwgMjUsIDUwLCAyNSwgNTAsIDI1KTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLmh0bWwKaW5kZXggMmE2NTllYWJl
MGEuLjE4MThjNzJhODFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnBydW5lLmxpbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnBydW5lLmxpbmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUubGluZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5saW5lPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZy
b20gbGluZVRvIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZzwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2Vn
bWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjcsNyArMzEsNiBAQCBjdHgubW92ZVRvKDUwLCAyNSk7CiBjdHgubGluZVRvKDUwLCAyNSk7CiBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLndvcmtlci5q
cwppbmRleCA4MjI5ZjM0MTdhMi4uYWQxY2E4MzA4MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVt
b3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5tb3ZlVG8o
NTAsIDI1KTsKIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwKaW5kZXggYjRiNGFlYjBiNjUuLmQyNjU2YWIzOTUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJv
a2UucHJ1bmUucmVjdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcmVjdCBhbmQgc3Ryb2tl
UmVjdCBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRz
IGZyb20gcmVjdCBhbmQgc3Ryb2tlUmVjdCBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tl
KCk7CiBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUucmVjdC53b3JrZXIuanMKaW5kZXggZTNiMmZmODM3MmYuLjEwMmI2YzE0MjkyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Qud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVu
dHMgZnJvbSByZWN0IGFuZCBzdHJva2VSZWN0IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnJlY3QoNTAsIDI1LCAwLCAwKTsKIGN0eC5zdHJv
a2UoKTsKIGN0eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
c3Ryb2tlLnNjYWxlMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2Fs
ZTEuaHRtbAppbmRleCA2MWU5YTdlYTgyMS4uNTliNGUwZTBhMjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2Uuc2NhbGUxPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
c3Ryb2tlLnNjYWxlMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlIGxpbmUgd2lkdGhzIGFy
ZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUg
d2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtNDEsNyArNDUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwy
NSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0
OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpz
CmluZGV4IGU1ZmM4YmNjOTIzLi4yNDUzNDI2Y2ZlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3Jt
YXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzcsNyArNDEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwy
NTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5zY2FsZTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUy
Lmh0bWwKaW5kZXggMGJjNGMyNmQwNDAuLjkwNWMwNGFiNDFjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnNjYWxlMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0
cm9rZS5zY2FsZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN0cm9rZSBsaW5lIHdpZHRocyBhcmUg
c2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZSBsaW5lIHdp
ZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQzLDcgKzQ3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUs
IDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLndvcmtlci5qcwpp
bmRleCBiNTMyZmI3YTNkOC4uMzNlMWRjZGMxNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnNjYWxlMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlN0cm9rZSBsaW5lIHdpZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0
aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1
LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2Uuc2tldy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lmh0bWwK
aW5kZXggNjIyMGU3YzU0ZmMuLjY4OTY5NjU3MjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnNrZXcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5zdHJva2Uuc2tldzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5za2V3PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TdHJva2VzIGxpbmVzIGFyZSBza2V3ZWQgYnkgdGhlIGN1cnJl
bnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlcyBsaW5lcyBhcmUgc2tld2VkIGJ5IHRoZSBj
dXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTU2LDcgKzYwLDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1
LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnNrZXcud29ya2VyLmpzCmluZGV4IDEyNWM3MGM4ZWRkLi5iMjA0YmVkMWMx
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2VzIGxpbmVzIGFyZSBza2V3ZWQgYnkgdGhl
IGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTIsNyArNTYsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwy
NTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQuaHRtbAppbmRleCBmYzJkZmY5NDFiYS4uMDJkOTdh
NjU1NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZl
Y3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3Rl
ZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLnN0cm9rZS51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Ig
c3VicGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZVN0eWxlID0g
JyMwZjAnOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVj
dGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3Rl
ZC53b3JrZXIuanMKaW5kZXggNmMzYzE2NTU5YjguLmQ5Mjk2OTdlNTgzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGgg
b3Igc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4
LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS51bmlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlv
bi5odG1sCmluZGV4IDc2ODg0Y2E1NDY3Li5kYTUyMjZiZWNmMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UudW5pb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UudW5pb248L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJv
a2UudW5pb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0
aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2VzIGluIG9wcG9zaXRlIGRpcmVj
dGlvbnMgYXJlIHVuaW9uZWQsIG5vdCBzdWJ0cmFjdGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBjdHgubW92ZVRvKDEwMCwgNDApOwogY3R4LmxpbmVUbygwLCA0MCk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UudW5pb24ud29ya2VyLmpzCmluZGV4IDA1OTRiMjhjYmY2Li5l
ODRjZWUxNzNmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51
bmlvbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlv
bi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgaW4gb3Bwb3NpdGUg
ZGlyZWN0aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIGN0eC5tb3ZlVG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAsIDQwKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwKaW5kZXggZTdj
YjhlY2U0ZjEuLmQ4ZGYwZTUwYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC50cmFuc2xhdGUoMCwgLTEwMCk7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5i
YXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24u
YmFzaWMud29ya2VyLmpzCmluZGV4IGFjOWJjMWJiMTZhLi5hODQ4OWIwNDk5NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC50cmFuc2xhdGUoMCwgLTEwMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLmh0bWwKaW5k
ZXggYWJhNTQ2Yjg2N2UuLmJiZDFlNDExNGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFu
Z2luZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMs
IG5vdCB3aGVuIGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRp
bmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5y
b3RhdGUoTWF0aC5QSS8yKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHguZmlsbCgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3JrZXIuanMKaW5k
ZXggMmY4NDE4ZGJlZGYuLmZmNzBjYzRkOWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWls
ZGluZyBwYXRocywgbm90IHdoZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4
LnJvdGF0ZShNYXRoLlBJLzIpOwogY3R4LnNjYWxlKDAuMSwgMC4xKTsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS5odG1sCmluZGV4IDdmMzhk
YWVkOGE4Li4wMDExMWVjNzUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
VHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hl
biBkcmF3aW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhz
LCBub3Qgd2hlbiBkcmF3aW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBjdHguc3Ryb2tlKCk7
CiBjdHgudHJhbnNsYXRlKDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDYyYmRlNjNlOTE1
Li5hOGYyMzc5ZDY1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5z
Zm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5v
dCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5zdHJva2UoKTsKIGN0
eC50cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sCmluZGV4IDgxNTJjZmM5NzMyLi44ZDRmYjI5ZDBm
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
MS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTEuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0
ZTEuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSBl
eGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSBleGlz
dHMgYW5kIHJldHVybnMgc29tZXRoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5jcmVhdGVJbWFnZURh
dGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSksIG51bGwsICJjdHguY3JlYXRlSW1hZ2VEYXRh
KGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
MS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5j
cmVhdGUxLmJhc2ljLndvcmtlci5qcwppbmRleCAyNTBhMTYxZjMyMi4uOGQ3OTVlYzFmZmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuYmFz
aWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTEuYmFzaWMud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1h
Z2VEYXRhKGltZ2RhdGEpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJl
bnQoY3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSwgbnVsbCwg
ImN0eC5jcmVhdGVJbWFnZURhdGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSkiLCAibnVsbCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC5odG1sCmluZGV4IGEzODVkNzJlMzk3Li5j
Yzg5NWI3MTQ0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
aW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1h
Z2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUgcmln
aHQgc2l6ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNr
IGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAodmFy
IGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YTIu
ZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNz
ZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcwppbmRleCBkYTA1NDNjNDQ5NS4uMjU3
YmJkOGM1NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sg
ZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhMi5k
YXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3Nl
cnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMS56ZXJvLmh0bWwKaW5kZXggYmJjYWRhZDMxYzUuLjEwMDBlNDRjODYzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8u
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLmNyZWF0ZTEuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEobnVsbCkgdGhyb3dzIFR5cGVFcnJvcjwv
cD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
cmVhdGVJbWFnZURhdGEobnVsbCkgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKG51bGwpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKaW5kZXggZjNiZWQ4NDg4ZTYuLjY5
M2ZjNTkyN2JmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJjcmVhdGVJbWFnZURhdGEobnVsbCkgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKG51bGwpOyB9KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sCmluZGV4IDEzY2I1ZGU0Y2NkLi4zMzcxYjlk
YWNiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMi5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTIuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShzdywgc2gp
IGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmc8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhp
c3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VE
YXRhKDEsIDEpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSIsICJudWxsIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy53b3JrZXIuanMKaW5kZXggODIxOTBkNmNiMGIu
LjM2MTI4ZDk4YTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhp
bmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IF9hc3NlcnREaWZmZXJlbnQoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSwgbnVsbCwgImN0eC5j
cmVhdGVJbWFnZURhdGEoMSwgMSkiLCAibnVsbCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRp
YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5p
dGlhbC5odG1sCmluZGV4IGU3Y2VkOWQyMTY2Li5jN2MwODA4MjM2ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5jcmVhdGUyLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgcmV0dXJucyB0cmFu
c3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBz
aCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0YS5sZW5n
dGg7ICsraSkKICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5z
cGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFu
c3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWwud29ya2Vy
LmpzCmluZGV4IGQzZmVhMjRkNTg2Li4xNTEyMjEwNjU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWwud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSBy
ZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsg
KytpKQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgIGlzVHJhbnNwYXJl
bnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50QmxhY2ssICJpc1RyYW5zcGFy
ZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCmluZGV4IDI1ZDQ5MDUy
YmI0Li41ZDRiMWQwZjMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2U8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
aW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdl
RGF0YShzdywgc2gpIHdvcmtzIGZvciBzaXplcyBtdWNoIGxhcmdlciB0aGFuIHRoZSBjYW52YXM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
cmVhdGVJbWFnZURhdGEoc3csIHNoKSB3b3JrcyBmb3Igc2l6ZXMgbXVjaCBsYXJnZXIgdGhhbiB0
aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGlt
Z2RhdGEuZGF0YS5sZW5ndGg7IGkgKz0gNzgxMykgLy8gY2hlY2sgfjEwMjQgcG9pbnRzIChhc3N1
bQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgIGlzVHJhbnNwYXJlbnRC
bGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50QmxhY2ssICJpc1RyYW5zcGFyZW50
QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLndvcmtlci5qcwppbmRleCBk
OGFlMTRjZjRiMi4uYWQzNGU2ZDAyYzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB3b3JrcyBmb3Igc2l6ZXMg
bXVjaCBsYXJnZXIgdGhhbiB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3Ig
KHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0YS5sZW5ndGg7IGkgKz0gNzgxMykgLy8gY2hlY2sg
fjEwMjQgcG9pbnRzIChhc3N1bQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAg
ICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50Qmxh
Y2ssICJpc1RyYW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2
ZS5odG1sCmluZGV4IGQ1YzQyZWZlYTdiLi40YzQyYzZiOGRkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRha2VzIHRoZSBh
YnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUgYXJndW1lbnRzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3
LCBzaCkgdGFrZXMgdGhlIGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVudHMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIHZhciBpbWdkYXRhNCA9IGN0eC5jcmVhdGVJbWFnZURh
dGEoLTEwLCAtMjApOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuZGF0YS5sZW5ndGgsIGltZ2RhdGEy
LmRhdGEubGVuZ3RoLCAiaW1nZGF0YTEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTIuZGF0YS5sZW5n
dGgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGEubGVuZ3RoLCBpbWdkYXRhMy5kYXRhLmxl
bmd0aCwgImltZ2RhdGEyLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEzLmRhdGEubGVuZ3RoIik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhMy5kYXRhLmxlbmd0aCwgaW1nZGF0YTQuZGF0YS5sZW5ndGgsICJp
bWdkYXRhMy5kYXRhLmxlbmd0aCIsICJpbWdkYXRhNC5kYXRhLmxlbmd0aCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDExZjE2NDFhYjU5Li41
YjJmOGViNTQ4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuY3JlYXRlMi5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRha2VzIHRoZSBhYnNvbHV0ZSBtYWdu
aXR1ZGUgb2YgdGhlIHNpemUgYXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIg
aW1nZGF0YTQgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKC0xMCwgLTIwKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGExLmRhdGEubGVuZ3RoLCBpbWdkYXRhMi5kYXRhLmxlbmd0aCwgImltZ2RhdGExLmRhdGEu
bGVuZ3RoIiwgImltZ2RhdGEyLmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5k
YXRhLmxlbmd0aCwgaW1nZGF0YTMuZGF0YS5sZW5ndGgsICJpbWdkYXRhMi5kYXRhLmxlbmd0aCIs
ICJpbWdkYXRhMy5kYXRhLmxlbmd0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTMuZGF0YS5sZW5n
dGgsIGltZ2RhdGE0LmRhdGEubGVuZ3RoLCAiaW1nZGF0YTMuZGF0YS5sZW5ndGgiLCAiaW1nZGF0
YTQuZGF0YS5sZW5ndGgiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLmh0bWwK
aW5kZXggYWUzNmZjNzJhYTQuLjZmOGFmYzAzMDNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5j
cmVhdGUyLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYg
YXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJv
ciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdl
RGF0YSgxMCwgcG9zaW5mb2JqKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgbmVnaW5mb2JqKTsgfSk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEo
MTAsIG5hbm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcwppbmRleCAwNjA5ZDA1
OTUxZC4uM2Y1ODhiMGFkNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYg
YXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEo
MTAsIHBvc2luZm9iaik7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIG5lZ2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBu
YW5vYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZUltYWdlRGF0YShwb3NpbmZvYmosIHBvc2luZm9iaik7IH0pOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLnJvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLnJvdW5kLmh0bWwKaW5kZXggMmQ1OWVmZjM4YjEuLmIxYTEyM2FmNWU2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5k
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5y
b3VuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3Vu
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGlzIHJvdW5kZWQg
dGhlIHNhbWUgYXMgZ2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHcsIGgp
IGlzIHJvdW5kZWQgdGhlIHNhbWUgYXMgZ2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLjAx
LCAxMC45OSk7CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLjAxLCAx
MC45OSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS53aWR0aCwgaW1nZGF0YTIud2lkdGgsICJpbWdk
YXRhMS53aWR0aCIsICJpbWdkYXRhMi53aWR0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuaGVp
Z2h0LCBpbWdkYXRhMi5oZWlnaHQsICJpbWdkYXRhMS5oZWlnaHQiLCAiaW1nZGF0YTIuaGVpZ2h0
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC53b3JrZXIuanMKaW5kZXggYjBjNGEw
M2NjYjYuLjdhNGQ3ZDA4NTNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGlzIHJvdW5kZWQgdGhlIHNhbWUgYXMg
Z2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgaW1n
ZGF0YTEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLjAxLCAxMC45OSk7CiB2YXIgaW1nZGF0YTIg
PSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLjAxLCAxMC45OSk7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhMS53aWR0aCwgaW1nZGF0YTIud2lkdGgsICJpbWdkYXRhMS53aWR0aCIsICJpbWdkYXRhMi53
aWR0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuaGVpZ2h0LCBpbWdkYXRhMi5oZWlnaHQsICJp
bWdkYXRhMS5oZWlnaHQiLCAiaW1nZGF0YTIuaGVpZ2h0Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
emVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi56
ZXJvLmh0bWwKaW5kZXggOGM4OGNjOWI2ZmIuLjQzYTIxNmNkYzYwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnplcm8uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnplcm8uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYg
c2l6ZSBpcyB6ZXJvPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dzIElOREVYX1NJWkVfRVJS
IGlmIHNpemUgaXMgemVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9F
UlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgMCk7IH0pOwogYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0
YSgwLCAxMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVy
by53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lnplcm8ud29ya2VyLmpzCmluZGV4IGNmNTRiM2M2ZWZiLi5lNjQ5NzdjYTE2MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnpl
cm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3cs
IHNoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUs
NyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBh
c3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1h
Z2VEYXRhKDEwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDEwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJ
TkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDApOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQuYmFzaWMuaHRtbAppbmRleCBjZmI1ZTNjMmJhNS4uZjllNzMwYTliYTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNp
Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNp
Yy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEuZ2V0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmc8
L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Z2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVu
dChjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApLCBudWxsLCAiY3R4LmdldEltYWdlRGF0
YSgwLCAwLCAxMDAsIDUwKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMud29ya2Vy
LmpzCmluZGV4IDY4MjQ5NDVkOWY4Li5kNGY0ZTUxZmRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMud29ya2VyLmpzCkBAIC00
LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFuZCByZXR1cm5zIHNv
bWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApLCBu
dWxsLCAiY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDUwKSIsICJudWxsIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5jbGFtcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LmNsYW1wLmh0bWwKaW5kZXggYzVlMTg5YjdiZjUuLmFiNTQ0YTk3ZTU3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdl
dC5jbGFtcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LmNsYW1wPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5nZXRJbWFnZURhdGEoKSBjbGFtcHMgY29sb3VycyB0byB0aGUgcmFuZ2UgWzAsIDI1NV08L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJ
bWFnZURhdGEoKSBjbGFtcHMgY29sb3VycyB0byB0aGUgcmFuZ2UgWzAsIDI1NV0iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCw3ICszMiw2IEBAIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1LCAx
LCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDI1NSwgImltZ2RhdGEyLmRhdGFb
XCIiKygwKSsiXCJdIiwgIjI1NSIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsxXSwgMjU1
LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhMi5kYXRhWzJdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMikrIlwiXSIsICIyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMKaW5kZXggOTdhMmExNDc3NzYuLjE0ODI5
NmVhOWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQuY2xhbXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5jbGFtcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdl
RGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5nZSBbMCwgMjU1XSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgzMCwgMTUsIDEsIDEp
OwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzFdLCAyNTUsICJp
bWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEy
LmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygyKSsiXCJdIiwgIjI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQubGVuZ3RoLmh0bWwKaW5kZXggYzk1MTZkN2E3MzUuLjZkYmQ5NTMyYWE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEuZ2V0Lmxlbmd0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50
OENsYW1wZWRBcnJheTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgYSBjb3JyZWN0bHktc2l6ZWQgVWlu
dDhDbGFtcGVkQXJyYXkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VE
YXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGEubGVuZ3RoLCBpbWdk
YXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQsICJpbWdkYXRhLmRhdGEubGVuZ3RoIiwgImltZ2Rh
dGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGgud29y
a2VyLmpzCmluZGV4IGY4YTA4ZTI4NjQyLi5lYmI4Mjc5ZjczYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgYSBjb3JyZWN0
bHktc2l6ZWQgVWludDhDbGFtcGVkQXJyYXkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIGltZ2RhdGEgPSBj
dHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGEu
bGVuZ3RoLCBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQsICJpbWdkYXRhLmRhdGEubGVu
Z3RoIiwgImltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
bm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
bm9uZmluaXRlLmh0bWwKaW5kZXggYWI5MGE4MzFmOWMuLjhkMzBiNTUyYTRhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9uZmluaXRlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEuZ2V0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1
bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFy
Z3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTY1LDcgKzY5LDYgQEAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBw
b3NpbmZvYmosIHBvc2kKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9zaW5mb2JqLCBwb3NpbmZvYmosIHBvc2luZm9iaik7
IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0
SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIDEwLCBwb3NpbmZvYmopOyB9KTsKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAs
IHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0
ZS53b3JrZXIuanMKaW5kZXggYmZkNWZiMDM4YWYuLmI3MDljYTZlOTlmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9uZmluaXRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dz
IFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02MSw3ICs2
NSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4Lmdl
dEltYWdlRGF0YSgxMCwgcG9zaW5mb2JqLCBwb3NpCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgcG9zaW5m
b2JqLCBwb3NpbmZvYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9zaW5mb2JqLCAxMCwgcG9zaW5mb2JqKTsg
fSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJ
bWFnZURhdGEoMTAsIDEwLCBwb3NpbmZvYmosIHBvc2luZm9iaik7IH0pOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQubm9ucHJlbXVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQubm9ucHJlbXVsLmh0bWwKaW5kZXggNDczZDZmNmVmYWEuLjMyZjhkNTJmMzU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11
bC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEuZ2V0Lm5vbnByZW11bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBub24tcHJlbXVsdGlw
bGllZCBjb2xvdXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBub24tcHJlbXVsdGlwbGllZCBjb2xv
dXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsxXSA+IDIw
MCwgImltZ2RhdGEuZGF0YVtcIiIrKDEpKyJcIl0gPiAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5k
YXRhWzJdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMikrIlwiXSA+IDIwMCIpOwogX2Fzc2Vy
dChpbWdkYXRhLmRhdGFbM10gPiAxMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdID4gMTAw
Iik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA8IDIwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMp
KyJcIl0gPCAyMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLndvcmtlci5qcwpp
bmRleCA2ZDg1YTVjMTI4ZS4uMjY5Njg1ZWNiNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0
aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnQoaW1nZGF0YS5k
YXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSA+IDIwMCIpOwogX2Fzc2Vy
dChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsiXCJdID4gMjAw
Iik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMp
KyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdIDwgMjAwLCAiaW1nZGF0YS5k
YXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYS5o
dG1sCmluZGV4IDRiZjMwYzA4ZGY0Li45NmU3OGJjYWI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuYWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBBIGluIHRoZSBmb3VydGggY29t
cG9uZW50PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBBIGluIHRoZSBmb3VydGggY29tcG9uZW50Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiB2YXIg
aW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnQoaW1nZGF0
YS5kYXRhWzNdIDwgMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwogX2Fz
c2VydChpbWdkYXRhLmRhdGFbM10gPiAxMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdID4g
MTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGEud29ya2VyLmpzCmluZGV4
IDYxMWE5Yzc3ODFmLi5hOTcyNTFmNjU3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGEud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIEEgaW4gdGhlIGZv
dXJ0aCBjb21wb25lbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTAp
OwogX2Fzc2VydChpbWdkYXRhLmRhdGFbM10gPCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsi
XCJdIDwgMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImltZ2RhdGEuZGF0
YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLmh0bWwK
aW5kZXggZDNhYmVjMzhhMjQuLjg5MjJjMzI0OWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIuY29sczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1vc3QgY29sdW1ucyBmaXJzdDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldElt
YWdlRGF0YSgpIHJldHVybnMgbGVmdG1vc3QgY29sdW1ucyBmaXJzdCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcg
KzI4LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJd
IiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lk
dGgvMio0KV0sIDI1NSwgImltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0
KV0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0
YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5yb3Vu
ZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0KV0iLCAiMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQub3JkZXIuY29scy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuY29scy53b3JrZXIuanMKaW5kZXggYzNhN2QyNTA0NjQuLjcxYWVk
YjU5NTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuY29scy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIGxlZnRtb3N0IGNvbHVtbnMgZmlyc3QiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwg
MTApOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIiso
MCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZChpbWdk
YXRhLndpZHRoLzIqNCldLCAyNTUsICJpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZChpbWdkYXRhLndp
ZHRoLzIqNCldIiwgIjI1NSIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhW01hdGgucm91bmQo
KGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNCldLCAwLCAiaW1nZGF0YS5kYXRhW01h
dGgucm91bmQoKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNCldIiwgIjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1sCmluZGV4IGNlODE1MjFiY2NjLi5mNmE4NTkzODE1
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9y
ZGVyLnJnYi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC5vcmRlci5yZ2IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5v
cmRlci5yZ2I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgUiB0
aGVuIEcgdGhlbiBCPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs0XSwgMHg0NCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDQpKyJcIl0iLCAiMHg0NCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5k
YXRhWzVdLCAweDg4LCAiaW1nZGF0YS5kYXRhW1wiIisoNSkrIlwiXSIsICIweDg4Iik7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhLmRhdGFbNl0sIDB4Q0MsICJpbWdkYXRhLmRhdGFbXCIiKyg2KSsiXCJd
IiwgIjB4Q0MiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs3XSwgMjU1LCAiaW1nZGF0YS5k
YXRhW1wiIisoNykrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdi
Lndvcmtlci5qcwppbmRleCA2NTRlYTE5ZjZkYy4uMGNjNWI4YmY4NzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5z
IFIgdGhlbiBHIHRoZW4gQiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWzRdLCAweDQ0LCAiaW1nZGF0YS5kYXRhW1wiIisoNCkrIlwiXSIsICIweDQ0Iik7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNV0sIDB4ODgsICJpbWdkYXRhLmRhdGFbXCIiKyg1
KSsiXCJdIiwgIjB4ODgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs2XSwgMHhDQywgImlt
Z2RhdGEuZGF0YVtcIiIrKDYpKyJcIl0iLCAiMHhDQyIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5k
YXRhWzddLCAyNTUsICJpbWdkYXRhLmRhdGFbXCIiKyg3KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQub3JkZXIucm93cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lm9yZGVyLnJvd3MuaHRtbAppbmRleCBiYThhNzQwY2Y0OS4uZWNiYzBhNmUyMjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRl
ci5yb3dzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLnJvd3MuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQu
b3JkZXIucm93czwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0
b3Btb3N0IHJvd3MgZmlyc3Q8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHRvcG1vc3Qgcm93cyBmaXJz
dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRh
KDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRh
LmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRo
LmZsb29yKGltZ2RhdGEud2lkdGgvMio0KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihp
bWdkYXRhLndpZHRoLzIqNCldIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsoaW1n
ZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0XSwgMjU1LCAiaW1nZGF0YS5kYXRhWyhpbWdk
YXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
b3JkZXIucm93cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQub3JkZXIucm93cy53b3JrZXIuanMKaW5kZXggOWZiMjNlNmEwNDYuLjA4OTNmNWU1YTdm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIucm93cy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0Lm9yZGVyLnJvd3Mud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJ
bWFnZURhdGEoKSByZXR1cm5zIHRvcG1vc3Qgcm93cyBmaXJzdCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRoLmZsb29yKGltZ2RhdGEud2lkdGgv
Mio0KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRoLzIqNCldIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0
YS53aWR0aCo0XSwgMjU1LCAiaW1nZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRh
LndpZHRoKjRdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5yYW5nZS5odG1sCmluZGV4IDlhMTliNjUx
ZjdhLi5lZjE2OGViZjE4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJhbmdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQucmFuZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdl
dC5yYW5nZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1
ZXMgaW4gdGhlIHJhbmdlIFswLCAyNTVdPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4g
dGhlIHJhbmdlIFswLCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YTEg
PSBjdHguZ2V0SW1hZ2VEYXRhKDEwLCA1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRh
dGFbMF0sIDAsICJpbWdkYXRhMS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiB2YXIgaW1nZGF0
YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
Mi5kYXRhWzBdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJhbmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5yYW5nZS53b3JrZXIuanMKaW5kZXggNWNhYzcwN2FjOTYuLmNlYzU5NzQ4
NWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
cmFuZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5yYW5nZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0
YSgpIHJldHVybnMgdmFsdWVzIGluIHRoZSByYW5nZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgdmFyIGltZ2RhdGExID0gY3R4LmdldEltYWdlRGF0YSgxMCwgNSwgMSwgMSk7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhMS5kYXRhWzBdLCAwLCAiaW1nZGF0YTEuZGF0YVtcIiIrKDApKyJc
Il0iLCAiMCIpOwogdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgzMCwgMTUsIDEsIDEp
OwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUu
aHRtbAppbmRleCBiNmQ0N2EyMjhlNy4uNjA1ZmQyNGQ1NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmlt
YWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuc291cmNl
Lm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB3b3JrcyB3aXRo
IG5lZ2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQsIGFuZCByZXR1cm5zIHRvcC10by1ib3R0b20gbGVm
dC10by1yaWdodDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUgd2lkdGggYW5kIGhl
aWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzQsNyArMzgsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAwLCAiaW1nZGF0YTIu
ZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsxXSwg
MCwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEyLmRhdGFbMl0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMikrIlwiXSIsICIwIik7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzNdLCAwLCAiaW1nZGF0YTIuZGF0YVtcIiIrKDMpKyJcIl0i
LCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUud29ya2Vy
LmpzCmluZGV4IGVkODNlZTU3MDgyLi5jZWYxYzQzMGZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdh
dGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdv
cmtzIHdpdGggbmVnYXRpdmUgd2lkdGggYW5kIGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJv
dHRvbSBsZWZ0LXRvLXJpZ2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShp
bWdkYXRhMi5kYXRhWzBdLCAwLCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsxXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsi
XCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDAsICJpbWdkYXRhMi5k
YXRhW1wiIisoMikrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzNdLCAw
LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291
cmNlLm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC5zb3VyY2Uub3V0c2lkZS5odG1sCmluZGV4IDAxOTBhMWYyMmMzLi40ZTRlZGE4ZjFhNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5v
dXRzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
LnNvdXJjZS5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VE
YXRhLmdldC5zb3VyY2Uub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRh
KCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURh
dGEoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTY5LDcgKzczLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzBdLCAwLCAi
aW1nZGF0YTcuZGF0YVsyMCo0KzBdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFb
MjAqNCsxXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCsxXSIsICIwIik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhNy5kYXRhWzIwKjQrMl0sIDAsICJpbWdkYXRhNy5kYXRhWzIwKjQrMl0iLCAiMCIpOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzNdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0
KzNdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3Jr
ZXIuanMKaW5kZXggMGNjNWZkNGEyNGUuLjc2MzcwMGEwZDk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0
c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJl
dHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgb3V0c2lkZSB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNjUs
NyArNjksNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMF0sIDAsICJpbWdkYXRh
Ny5kYXRhWzIwKjQrMF0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzFd
LCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzFdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3
LmRhdGFbMjAqNCsyXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCsyXSIsICIwIik7CiBfYXNzZXJ0
U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrM10sIDAsICJpbWdkYXRhNy5kYXRhWzIwKjQrM10iLCAi
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS5odG1sCmluZGV4IGU5NWRkNTU2NWVi
Li5lMmMzYTFkODhjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1h
Z2VEYXRhKCkgcmV0dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3Rh
bmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNv
dXJjZSByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0
eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFn
ZURhdGEoMCwgMCwgMjAsIDIwKTsKIF9hc3NlcnQoaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53
aWR0aCwgImltZ2RhdGEyLndpZHRoID4gaW1nZGF0YTEud2lkdGgiKTsKIF9hc3NlcnQoaW1nZGF0
YTIuaGVpZ2h0ID4gaW1nZGF0YTEuaGVpZ2h0LCAiaW1nZGF0YTIuaGVpZ2h0ID4gaW1nZGF0YTEu
aGVpZ2h0Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUud29ya2VyLmpzCmlu
ZGV4IGJiOGMxMDVhNjg1Li45YzMwYjI4NDJhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIGJpZ2dlciBJ
bWFnZURhdGEgZm9yIGJpZ2dlciBzb3VyY2UgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAs
NiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiB2YXIg
aW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0KGltZ2Rh
dGEyLndpZHRoID4gaW1nZGF0YTEud2lkdGgsICJpbWdkYXRhMi53aWR0aCA+IGltZ2RhdGExLndp
ZHRoIik7CiBfYXNzZXJ0KGltZ2RhdGEyLmhlaWdodCA+IGltZ2RhdGExLmhlaWdodCwgImltZ2Rh
dGEyLmhlaWdodCA+IGltZ2RhdGExLmhlaWdodCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbAppbmRl
eCBhYzk1NjNiNWYzMS4uMzcxZTcyOGQ4NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC50aW55Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC50aW55PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5nZXQudGlueTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgd29ya3Mg
Zm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWw8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Ig
c2l6ZXMgc21hbGxlciB0aGFuIG9uZSBwaXhlbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFy
IGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDAuMDAwMSwgMC4wMDAxKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQq
NCwgImltZ2RhdGEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0
Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLndpZHRoLCAxLCAiaW1nZGF0YS53aWR0aCIsICIxIik7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmhlaWdodCwgMSwgImltZ2RhdGEuaGVpZ2h0IiwgIjEiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnRpbnkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnRpbnkud29ya2VyLmpzCmluZGV4IDMxNjdlNDY1ZDY5Li5lYTkxMzZk
MmMwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
LnRpbnkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC50aW55Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRh
KCkgd29ya3MgZm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWwiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3
ICsyMCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAwLjAwMDEsIDAu
MDAwMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGEubGVuZ3RoLCBpbWdkYXRhLndpZHRoKmlt
Z2RhdGEuaGVpZ2h0KjQsICJpbWdkYXRhLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEud2lkdGgqaW1n
ZGF0YS5oZWlnaHQqNCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS53aWR0aCwgMSwgImltZ2RhdGEu
d2lkdGgiLCAiMSIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5oZWlnaHQsIDEsICJpbWdkYXRhLmhl
aWdodCIsICIxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCmluZGV4IGFmZDc1
OWI1ZGE1Li4wZDRiMDZhNTNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJ
bWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZTwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBA
QCBjdHgucmVzdG9yZSgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA1MCwgMCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDA0OTA0MmY1ZDVmLi4x
N2MzMTAzOTY5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZ2V0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5yZXN0b3JlKCk7CiBjdHgucHV0SW1hZ2VEYXRhKGlt
Z2RhdGEsIDUwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8uaHRtbAppbmRleCA0MmQ3MWZjOTY0Mi4uM2M0
NjEzNTgyMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuaW1hZ2VEYXRhLmdldC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuemVybzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlm
IHNpemUgaXMgemVybzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXpl
IGlzIHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVu
Y3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMTAsIDApOyB9KTsKIGFzc2VydF90aHJv
d3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwg
MCwgMTApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53
b3JrZXIuanMKaW5kZXggNTg4NmI4OGU4NzMuLmE1YTk2M2RiNmMxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5ERVhfU0laRV9F
UlIgaWYgc2l6ZSBpcyB6ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpF
X0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEsIDEsIDEwLCAwKTsgfSk7CiBh
c3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VE
YXRhKDEsIDEsIDAsIDEwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEsIDEsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LmNsYW1wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QuY2xhbXAuaHRtbAppbmRleCBiMzY3ODIxYzJjZS4uMzUwNjhlZjFjOTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEub2JqZWN0LmNsYW1wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXA8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNsYW1wcyBudW1iZXJzIHRvIFswLCAyNTVd
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
SW1hZ2VEYXRhLmRhdGEgY2xhbXBzIG51bWJlcnMgdG8gWzAsIDI1NV0iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MSw3
ICs0NSw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtc
IiIrKDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5kYXRh
WzBdID0gSW5maW5pdHk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDI1NSwgImltZ2Rh
dGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xh
bXAud29ya2VyLmpzCmluZGV4IDAwNDAwYmY0NTQ2Li45ZGE1M2VhZDhmYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjbGFtcHMg
bnVtYmVycyB0byBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDcgKzQxLDYgQEAgX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBp
bWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSBJbmZpbml0eTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIs
ICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sCmluZGV4IDMxMjI0YmFhYzk0Li5iNDRh
YjJiMmRhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0Lm5hbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC5uYW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5u
YW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAw
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
SW1hZ2VEYXRhLmRhdGEgY29udmVydHMgTmFOIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJc
Il0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5kYXRhWzBdID0gImNo
ZWVzZSI7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIi
KygwKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLndvcmtlci5qcwppbmRl
eCBlZjY2NWU3MDZhYy4uNTk1MDJlZDVhZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW4ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBOYU4gdG8gMCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5k
YXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRh
LmRhdGFbMF0gPSAiY2hlZXNlIjsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucHJvcGVy
dGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnBy
b3BlcnRpZXMuaHRtbAppbmRleCAwNGI5YjAyY2VmYy4uYTZmMGM5NzdhNjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3Bl
cnRpZXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3Qu
cHJvcGVydGllczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0
aGUgcmlnaHQgcHJvcGVydGllczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHByb3Bl
cnRpZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdl
RGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEud2lkdGgpLCAn
bnVtYmVyJywgInR5cGVvZihpbWdkYXRhLndpZHRoKSIsICInbnVtYmVyJyIpOwogX2Fzc2VydFNh
bWUodHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSwgJ251bWJlcicsICJ0eXBlb2YoaW1nZGF0YS5oZWln
aHQpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS5kYXRhKSwgJ29i
amVjdCcsICJ0eXBlb2YoaW1nZGF0YS5kYXRhKSIsICInb2JqZWN0JyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QucHJvcGVydGllcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QucHJvcGVydGllcy53b3JrZXIuanMKaW5kZXggMTA5NGM2NjBmY2IuLmY4
MjQxY2VkZGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5vYmplY3QucHJvcGVydGllcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBwcm9wZXJ0aWVzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwg
MCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihpbWdkYXRhLndpZHRoKSwgJ251bWJlcics
ICJ0eXBlb2YoaW1nZGF0YS53aWR0aCkiLCAiJ251bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVv
ZihpbWdkYXRhLmhlaWdodCksICdudW1iZXInLCAidHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSIsICIn
bnVtYmVyJyIpOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEuZGF0YSksICdvYmplY3QnLCAi
dHlwZW9mKGltZ2RhdGEuZGF0YSkiLCAiJ29iamVjdCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJl
YWRvbmx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qu
cmVhZG9ubHkuaHRtbAppbmRleCA3YWQzYjZiMWE3Yy4uYzU2YmU1YmJiM2MgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25s
eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEub2JqZWN0LnJlYWRvbmx5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9u
bHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YSBvYmplY3RzIHByb3BlcnRpZXMgYXJl
IHJlYWQtb25seTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIHByb3BlcnRpZXMgYXJlIHJlYWQtb25seSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1n
ZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFb
MV0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygxKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEuZGF0YVsyXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDIpKyJcIl0iLCAiMCIpOwogX2Fz
c2VydFNhbWUoaW1nZGF0YS5kYXRhWzNdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSIs
ICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpzCmluZGV4
IDc3MGRmODk4MDgzLi4yYmI2ZDFmMTMzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSBy
ZWFkLW9ubHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzFdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSIsICIwIik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMl0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsiXCJd
IiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVszXSwgMCwgImltZ2RhdGEuZGF0YVtc
IiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCmluZGV4IGNi
Yjc1MTlhNjFhLi4zOTAxZmFjN2Y5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRh
LmRhdGEgcm91bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJvPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgcm91
bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDUsNyArNDksNiBAQCBp
bWdkYXRhLmRhdGFbMF0gPSAtMC41OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAtMS41
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkr
IlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzCmluZGV4
IDY5MjRlNmMxMTRkLi4xZjc2YWJiMTE5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSByb3VuZHMgbnVtYmVycyB3aXRoIHJvdW5k
LXRvLXplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC00MSw3ICs0NSw2IEBAIGltZ2RhdGEuZGF0YVswXSA9IC0wLjU7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsi
XCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IC0xLjU7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LnNldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnNldC5odG1sCmluZGV4IGYzOTI0MGU3Mjc1Li5hYWQ3N2RmMTVhOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRh
Lm9iamVjdC5zZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNhbiBi
ZSBtb2RpZmllZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgaW1nZGF0YS5kYXRhWzBdID0gMTAw
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMDAsICJpbWdkYXRhLmRhdGFbXCIiKygw
KSsiXCJdIiwgIjEwMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMjAwOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWzBdLCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjIwMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3Quc2V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCmluZGV4IDZhYjZmZTE2ZThkLi44ZWI1
NDM4MTI0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnNldC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LnNldC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdl
RGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgaW1nZGF0
YS5kYXRhWzBdID0gMTAwOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMDAsICJpbWdk
YXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEwMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMjAwOwog
X2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsi
XCJdIiwgIjIwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKaW5kZXggN2Q5NDRk
MDAzYzEuLmE4NTAyODc1MGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRh
LmRhdGEgY29udmVydHMgc3RyaW5ncyB0byBudW1iZXJzIHdpdGggVG9OdW1iZXI8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEu
ZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJlciIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDcgKzMwLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMjAsICJpbWdkYXRh
LmRhdGFbXCIiKygwKSsiXCJdIiwgIjEyMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1n
ZGF0YS5kYXRhWzBdID0gIiArMTMwZTAgIjsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwg
MTMwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMzAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2Jq
ZWN0LnN0cmluZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5vYmplY3Quc3RyaW5nLndvcmtlci5qcwppbmRleCA0MWEzODM5NTI1Ny4uZGU4YjIxMjhlOWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5z
dHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC5zdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURh
dGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJlciIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMjAsICJpbWdk
YXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEyMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwog
aW1nZGF0YS5kYXRhWzBdID0gIiArMTMwZTAgIjsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsw
XSwgMTMwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMzAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LnVuZGVmaW5lZC5odG1sCmluZGV4IDgxYzI5NTlhMGI1Li42NTg1OGU2ZGQzMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnVu
ZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9i
amVjdC51bmRlZmluZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmluZWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
Lm9iamVjdC51bmRlZmluZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNv
bnZlcnRzIHVuZGVmaW5lZCB0byAwPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgdW5kZWZpbmVkIHRv
IDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0
YSgwLCAwLCAxMCwgMTApOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5kYXRhWzBd
ID0gdW5kZWZpbmVkOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5k
YXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmluZWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnVuZGVm
aW5lZC53b3JrZXIuanMKaW5kZXggYmNkZWQzM2RkODIuLmZhZjhiNDU3MjVjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qu
dW5kZWZpbmVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRh
dGEgY29udmVydHMgdW5kZWZpbmVkIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZhciBp
bWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogaW1nZGF0YS5kYXRhWzBd
ID0gMTAwOwogaW1nZGF0YS5kYXRhWzBdID0gdW5kZWZpbmVkOwogX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LmFscGhhLmh0bWwKaW5kZXggNTIzNjcxN2U1YmMuLmQ3NzcxZGJlZmU1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1
dC5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5wdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNvcnJlY3RseTwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dElt
YWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGltYWdlIGRhdGEgY29ycmVjdGx5Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNjQsICI1MCwyNSIsICIwLDI1
NSwwLDY0IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpzCmluZGV4IGExMDIw
ZmQ4Yjg2Li4xYWQ3ZjYyNDdhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDY0LCAiNTAs
MjUiLCAiMCwyNTUsMCw2NCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy5odG1sCmluZGV4IDkxMjM0
NjBjMjNmLi5mYzMxZjg5YTAyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LnB1dC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFn
ZSBkYXRhIGZyb20gZ2V0SW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkg
cHV0cyBpbWFnZSBkYXRhIGZyb20gZ2V0SW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2ljLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIuanMKaW5k
ZXggMzk1OTM0OGI5MzUuLmMyMDhkZjk4MGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGdldEltYWdl
RGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdl
RGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuY2xpcC5odG1sCmluZGV4IDNkZjY1ZTAwNTMwLi5hYjQzZGIwZGFlOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xpcC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmNs
aXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5jbGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJ
bWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9uczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyAr
MzEsNiBAQCBjdHguY2xpcCgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMKaW5kZXggZTAzOGU0MWVmZWMuLmJiNjY5NzBkMWZm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xp
cC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBp
cyBub3QgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4LmNsaXAoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0LmNyZWF0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5jcmVhdGVkLmh0bWwKaW5kZXggN2Y1NWYxNzUyZmMuLmU3MDE0MjNhYjNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5wdXQuY3JlYXRlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGNyZWF0ZUlt
YWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBm
cm9tIGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMx
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5qcwppbmRleCBhZWRlODUx
YzQ4Ny4uOGRkNzA5NGExMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGNyZWF0ZUltYWdlRGF0
YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5jcm9zcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmNyb3NzLmh0bWwKaW5kZXggYTdhZjVmMjlmNmYuLmU5OWU5NzgxZWYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5j
cm9zczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmNyb3NzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5w
dXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRhdGEgZ290IGZyb20gYSBkaWZmZXJlbnQgY2Fu
dmFzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgicHV0SW1hZ2VEYXRhKCkgYWNjZXB0cyBpbWFnZSBkYXRhIGdvdCBmcm9tIGEgZGlmZmVyZW50
IGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAw
LCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcm9zcy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3Mu
d29ya2VyLmpzCmluZGV4IGQ4MTE1NjA2OGE5Li4zOWRjOTJkYmI0MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyb3NzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3Mud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRh
dGEgZ290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgu
cHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRtbAppbmRleCAzYjVmNDM3ZTQ0
MS4uNzYyZjRiYTU2M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0
aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnB1dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVnYXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFu
Z2xlcyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZlLXNpemVkIGRpcnR5
IHJlY3RhbmdsZXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIw
LDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwg
MCwyNTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAw
LDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDQ2MGU3OTc3MTQwLi5jYjll
NDAyMWU2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LmRpcnR5Lm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZlLXNpemVkIGRpcnR5IHJl
Y3RhbmdsZXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1
NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwy
NTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1
NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0
eS5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
ZGlydHkub3V0c2lkZS5odG1sCmluZGV4IDFhZGE4NWJkZWMxLi5hMWM0NWI5NWZmZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNp
ZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGly
dHkub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBoYW5k
bGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2FudmFzIGNvcnJlY3RseTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdl
RGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52YXMgY29ycmVj
dGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0NSwgMCwyNTUsMCwyNTUsICI5OCw0NSIsICIwLDI1NSwwLDI1NSIsCiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDUsIDAsMjU1LDAsMjU1LCAiMSw1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDUsIDAsMjU1LDAsMjU1LCAiMSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS53b3Jr
ZXIuanMKaW5kZXggN2ExOTRmOWMxNWMuLjg3Y2UyMWI0MmNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNp
ZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBoYW5k
bGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2FudmFzIGNvcnJlY3RseSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgs
NDUsIDAsMjU1LDAsMjU1LCAiOTgsNDUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMSw1LCAwLDI1NSwwLDI1NSwgIjEsNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUs
MCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ1LCAwLDI1NSwwLDI1NSwgIjEsNDUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEuaHRtbAppbmRleCA1ZTEzMmQ2OTNjYS4u
ZjVmOTNmNWM2ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5kaXJ0eS5yZWN0MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdl
RGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVz
aW5nIHdpZHRoIGFuZCBoZWlnaHQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGlu
c2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB3aWR0aCBhbmQgaGVpZ2h0Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwy
NSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAs
MjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEud29ya2VyLmpzCmlu
ZGV4IDdkOWNhNDY1ZjNlLi4xNGNhNDg1ZDRhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFy
ZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB3aWR0aCBhbmQgaGVpZ2h0Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUsICI2NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0Mi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyLmh0bWwKaW5kZXgg
OTYwNTZkMTkwODMuLjFmZTcyYjg4N2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5y
ZWN0MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5wdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkg
cmVjdGFuZ2xlLCB1c2luZyB4IGFuZCB5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVh
cyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgeCBhbmQgeSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMx
LDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAs
MjU1LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSww
LDI1NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyLndvcmtlci5qcwppbmRleCA1
MjRhNmQ3NzY5ZC4uZGM4ZjA3ZGQ1YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBp
bnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgeCBhbmQgeSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcg
KzMxLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAsMjU1
LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSwwLDI1
NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbAppbmRleCBjMTdkZjkyZGU0Yi4uOWMw
ZWNjNTkxMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5kaXJ0eS56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5wdXQuZGlydHkuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkg
d2l0aCB6ZXJvLXNpemVkIGRpcnR5IHJlY3RhbmdsZSBwdXRzIG5vdGhpbmc8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xlIHB1dHMgbm90aGluZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwLCAwLCAwLCAwLCAwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56
ZXJvLndvcmtlci5qcwppbmRleCBlOWJiNGFjNjBiMy4uZjRhNjM5YTE1ZmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHku
emVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdp
dGggemVyby1zaXplZCBkaXJ0eSByZWN0YW5nbGUgcHV0cyBub3RoaW5nIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDAsIDAsIDAsIDAsIDApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQuaHRtbAppbmRl
eCBkZGZlNjM0ZjFiMi4uMWIwNzBiZTA3MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dElt
YWdlRGF0YSgpIHB1dHMgbW9kaWZpZWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSBwdXRzIG1vZGlmaWVkIGltYWdlIGRhdGEgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIs
NiBAQCBmb3IgKHZhciBpID0gMCwgbGVuID0gaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0
OyBpIDwgbGVuOyBpICs9IDQpCiB9CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDQ1LCAyMCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVk
Lndvcmtlci5qcwppbmRleCBkMjI1ODhkY2E2YS4uZTgxNDQyMjBkMTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2Rp
ZmllZCBpbWFnZSBkYXRhIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2
YXIgaSA9IDAsIGxlbiA9IGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNDsgaSA8IGxlbjsg
aSArPSA0KQogfQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA0NSwgMjApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGQy
ZjE3NGFmMGJiLi45NTE5NjkxYjk5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dElt
YWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0
SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC05OSw3ICsxMDMsNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMAogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGlt
Z2RhdGEsIDEwLCAxMCwgMTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZpbml0eSwgMTAsIEluZmluaXR5KTsgfSk7CiBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEo
aW1nZGF0YSwgMTAsIDEwLCAxMCwgMTAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDViYTM5ZDZiMjhkLi45N2I4
MWQ3MWVhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InB1dEltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmlu
aXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtOTUsNyArOTksNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMAogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRh
KGltZ2RhdGEsIDEwLCAxMCwgMTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdl
RGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZpbml0eSwgMTAsIEluZmluaXR5KTsgfSk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURh
dGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgMTAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQubnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0Lm51bGwuaHRtbAppbmRleCBhMGY3MDE3MTE4Ni4uZjM2ZjkzZWVkZGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1
dC5udWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
cHV0SW1hZ2VEYXRhKCkgd2l0aCBudWxsIGltYWdlZGF0YSB0aHJvd3MgVHlwZUVycm9yPC9wPgpA
QCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dElt
YWdlRGF0YSgpIHdpdGggbnVsbCBpbWFnZWRhdGEgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKG51bGwsIDAs
IDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwud29ya2VyLmpzCmluZGV4IDI1MzUwOGZjOTFi
Li5lN2M0YjNiYzAxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm51bGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5udWxsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1
dEltYWdlRGF0YSgpIHdpdGggbnVsbCBpbWFnZWRhdGEgdGhyb3dzIFR5cGVFcnJvciIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKG51bGws
IDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLmh0bWwKaW5kZXggNDdhZTIwYTI5OTYuLjE2MzU3
Njc4YTdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5wdXQucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LnBhdGg8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVu
dCBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgicHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtlci5qcwppbmRleCBjMmVmMTQ1MWNmOS4u
MDdkM2E4YTdmZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dElt
YWdlRGF0YSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQudW5hZmZlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LnVuYWZmZWN0ZWQuaHRtbAppbmRleCAzZjgwNzA5YzZhOC4uNmEzMTcwZGRi
OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51
bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LnVuYWZmZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5w
dXQudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgaXMgbm90
IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQg
YnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LnRyYW5zbGF0ZSgx
MDAsIDUwKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEs
IDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZm
ZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDIzZTRjZWExZWVlLi5lNzE0ZjQxODM4NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0
ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VE
YXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsy
OSw2IEBAIGN0eC50cmFuc2xhdGUoMTAwLCA1MCk7CiBjdHguc2NhbGUoMC4xLCAwLjEpOwogY3R4
LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRtbAppbmRleCA3MjY0MGJmYjJkNy4uMmQwODU0
MjU1MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC51bmNoYW5nZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQudW5jaGFuZ2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5w
dXQudW5jaGFuZ2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoZ2V0SW1hZ2VE
YXRhKC4uLiksIC4uLikgaGFzIG5vIGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4u
KSwgLi4uKSBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCB2YXIgaW1nZGF0
YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAuMSwgMC4yLCAxNS44LCAxNS45KTsKIGZvciAodmFyIGkg
PSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkgewogICAgIF9hc3NlcnRTYW1lKG9s
ZGRhdGFbaV0sIGltZ2RhdGEyLmRhdGFbaV0sICJvbGRkYXRhW1wiIisoaSkrIlwiXSIsICJpbWdk
YXRhMi5kYXRhW1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5n
ZWQud29ya2VyLmpzCmluZGV4IDQxOGU0NmNjZjg3Li4wYWY5MDU4MzJlNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdl
ZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YShnZXRJbWFn
ZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCB2
YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAuMSwgMC4yLCAxNS44LCAxNS45KTsKIGZv
ciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkgewogICAgIF9hc3Nl
cnRTYW1lKG9sZGRhdGFbaV0sIGltZ2RhdGEyLmRhdGFbaV0sICJvbGRkYXRhW1wiIisoaSkrIlwi
XSIsICJpbWdkYXRhMi5kYXRhW1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jv
bmd0eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jv
bmd0eXBlLmh0bWwKaW5kZXggMWEzMTg3OWYwNjkuLjkwNzAwNTUyMzcxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURh
dGEucHV0Lndyb25ndHlwZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWNjZXB0IG5vbi1JbWFnZURh
dGEgb2JqZWN0czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGRvZXMgbm90IGFjY2VwdCBub24tSW1hZ2VEYXRhIG9i
amVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0geyB3aWR0aDogMSwg
aGVpZ2h0OiAxLCBkYXRhOiBbMjU1LCAwLCAwLCAyNTVdIH07CiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7
IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0
SW1hZ2VEYXRhKCJjaGVlc2UiLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoNDIsIDAsIDApOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lndyb25ndHlwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLndvcmtlci5qcwppbmRleCAxOGQ3MzdjNzA3Mi4uOTNk
YzMzYzA3OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC53cm9uZ3R5cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJwdXRJbWFnZURhdGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgaW1nZGF0YSA9IHsgd2lkdGg6IDEsIGhlaWdodDog
MSwgZGF0YTogWzI1NSwgMCwgMCwgMjU1XSB9OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0
YSgiY2hlZXNlIiwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKDQyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS5odG1sCmluZGV4IGMyMjNlMjUwOTBhLi40YTg5
NjkzNGIyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
aGFkb3cuYWxwaGEuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93IGNvbG91ciBhbHBoYSBj
b21wb25lbnRzIGFyZSB1c2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2Vk
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAs
IDAsIDAuMDEpJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgNCk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcwppbmRleCA5ODUyMDMzZWVk
Ny4uNmRiNzQzMjU1ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBh
cmUgdXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEo
MjU1LCAwLCAwLCAwLjAxKSc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0
KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDQpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbAppbmRleCA1M2RkMDE1MjMwYy4u
N2RmMGViNTQxMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmFscGhhLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBjb2xvdXIgYWxw
aGEgY29tcG9uZW50cyBhcmUgdXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUg
dXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMCwg
MCwgMjU1LCAwLjUpJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwg
LTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMKaW5kZXggNDkx
Mzk3YThhMWEuLjQ3YzVjYjkzNWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YWxwaGEuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBv
bmVudHMgYXJlIHVzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zaGFkb3dDb2xvciA9
ICdyZ2JhKDAsIDAsIDI1NSwgMC41KSc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZp
bGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFs
cGhhLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0bWwKaW5kZXggNWNh
YzY0ZDhkZDYuLjJkOTA5ZjZlYmE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YWxwaGEuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hbHBo
YS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5hbHBoYS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGFyZSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGFmZmVjdGVkIGJ5IGdsb2Jh
bEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwog
Y3R4Lmdsb2JhbEFscGhhID0gMC41OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwg
IjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpzCmluZGV4IGYzMGNiYTIwMTQ3Li5iYmJhNWU3
NTQyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxw
aGEgPSAwLjU7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3
LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYWxwaGEuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhh
LjQuaHRtbAppbmRleCBlN2FhZDRmM2UwOC4uNmUzODA4MTdhYzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmFscGhhLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LmFscGhhLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNoYWRvd3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZm
ZWN0ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgY29y
cmVjdGx5IGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4Lmdsb2JhbEFscGhhID0gMC43MDc7CiBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxw
aGEuNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC53b3JrZXIuanMK
aW5kZXggMWMxYjYxOWVjY2MuLjgzOGZiNWJmMmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFs
cGhhLjQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIHdpdGggYWxw
aGEgY29tcG9uZW50cyBhcmUgY29ycmVjdGx5IGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4Lmdsb2JhbEFs
cGhhID0gMC43MDc7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAi
MTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFs
cGhhLjUuaHRtbAppbmRleCBkYjMxZjcxMTlhYi4uZTQ2NWQzZGFmZDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmFscGhhLjUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuc2hhZG93LmFscGhhLjU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNoYWRvd3Mgb2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUg
ZHJhd24gY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFy
ZSBkcmF3biBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xv
ciA9ICcjMDBmJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIuanMKaW5kZXggZGQ3Njk5
ZmJlMjEuLjc0N2FiYTcxMTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxw
aGEuNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjUud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyB3aXRoIGFscGhh
IGNvbXBvbmVudHMgYXJlIGRyYXduIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5m
aWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLmh0bWwKaW5kZXggMjkwZmZiYmU4ZjYuLmEx
NmY5OWY0YmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dCbHVyLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFs
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDAsICJjdHguc2hhZG93Qmx1
ciIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpzCmlu
ZGV4IDA0MDZlNWY5YzdiLi41YTY0MzIzNDM0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwg
ImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRt
bAppbmRleCAxMDhjMGQwZGE0MC4uMTBjZjk3MWY3NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxLCAiY3R4LnNoYWRvd0JsdXIiLCAiMSIp
OwogY3R4LnNoYWRvd0JsdXIgPSAxOwogY3R4LnNoYWRvd0JsdXIgPSBOYU47CiBfYXNzZXJ0U2Ft
ZShjdHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Qmx1ci5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMKaW5kZXggZDRlMzdhMWNjZGEuLmYwOTQ3
NzRlMTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dCbHVyLmludmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIs
IDEsICJjdHguc2hhZG93Qmx1ciIsICIxIik7CiBjdHguc2hhZG93Qmx1ciA9IDE7CiBjdHguc2hh
ZG93Qmx1ciA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxLCAiY3R4LnNoYWRv
d0JsdXIiLCAiMSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKaW5kZXggNDVhODM5
NWM4NTQuLmRmMzg3NzYzYzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZh
bGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAx
ZTY7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMWU2LCAiY3R4LnNoYWRvd0JsdXIiLCAi
MWU2Iik7CiBjdHguc2hhZG93Qmx1ciA9IDA7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwg
MCwgImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlk
Lndvcmtlci5qcwppbmRleCBhYWRhNjA4MjRkZS4uNjNlOTA5OWRiNzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5zaGFkb3dCbHVyID0gMWU2OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDFl
NiwgImN0eC5zaGFkb3dCbHVyIiwgIjFlNiIpOwogY3R4LnNoYWRvd0JsdXIgPSAwOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd0JsdXIsIDAsICJjdHguc2hhZG93Qmx1ciIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbAppbmRleCA4M2M3NjI4ZGY5OS4uMWJmYzNlNWM2
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0Nv
bG9yLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dDb2xvci5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWw8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdiYSgwLCAwLCAwLCAwKScs
ICJjdHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0NvbG9yLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC53b3JrZXIuanMKaW5kZXggNWUxM2I5YjM1NzUuLmJmZWFh
YzAxMTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dDb2xvci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdiYSgwLCAwLCAwLCAwKScsICJj
dHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0Nv
bG9yLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0NvbG9yLmludmFsaWQuaHRtbAppbmRleCBiNGQ2NjFkZjgzNy4uYzQyOWVlZWJkYjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFs
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xv
ci5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcj
MDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dDb2xv
ciA9ICcjMDBmZjAwJzsKIGN0eC5zaGFkb3dDb2xvciA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1l
KGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAw
JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29ya2VyLmpzCmluZGV4
IGFhZDIzYmQ3OWI2Li5kMTFlMGZiOTJlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMw
MGZmMDAnIik7CiBjdHguc2hhZG93Q29sb3IgPSAnIzAwZmYwMCc7CiBjdHguc2hhZG93Q29sb3Ig
PSB1bmRlZmluZWQ7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0
eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlk
Lmh0bWwKaW5kZXggMzE4YTRlYzg4Y2QuLmU4OTJmNGIwYmM1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0NvbG9yLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5zaGFkb3dDb2xvciA9ICdsaW1lJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xv
ciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwogY3R4LnNoYWRv
d0NvbG9yID0gJ1JHQkEoMCwyNTUsIDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9y
LCAncmdiYSgwLCAyNTUsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAyNTUs
IDAsIDApJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMKaW5k
ZXggYjVhNzExZmE5YTAuLjRiNjY0NDY3NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zaGFk
b3dDb2xvciA9ICdsaW1lJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAn
LCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwogY3R4LnNoYWRvd0NvbG9yID0gJ1JH
QkEoMCwyNTUsIDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdiYSgwLCAy
NTUsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAyNTUsIDAsIDApJyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbAppbmRleCA3ZWZkNDVlMDhmMC4u
NDNiMjY5YWQzNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd09mZnNldC5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0
dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0
LmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWw8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hh
ZG93T2Zmc2V0WCwgMCwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGN0
eC5zaGFkb3dPZmZzZXRZLCAwLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMKaW5kZXggMDhlMmJmNDA5YjUu
LmQzMWNiYTRmZGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNl
dFgsIDAsICJjdHguc2hhZG93T2Zmc2V0WCIsICIwIik7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93
T2Zmc2V0WSwgMCwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zm
c2V0LmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d09mZnNldC5pbnZhbGlkLmh0bWwKaW5kZXggOGRiMGNkNTU2ZjkuLjE3NjZmZTBhMDJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52
YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09m
ZnNldC5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gTmFOOwog
Y3R4LnNoYWRvd09mZnNldFkgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WCwg
MSwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjEiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZz
ZXRZLCAyLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQu
aW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMKaW5kZXggMmIwMmU5NDZiOWYuLjQyZTUxYTJjNWJj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZz
ZXQuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gTmFOOwogY3R4
LnNoYWRvd09mZnNldFkgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WCwgMSwg
ImN0eC5zaGFkb3dPZmZzZXRYIiwgIjEiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZ
LCAyLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFs
aWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52
YWxpZC5odG1sCmluZGV4IDE5ZmRlODU2NjRmLi4yNThmMDQ4NmQ3ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dPZmZzZXQudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2
LDcgKzQwLDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxZTY7CiBjdHguc2hhZG93T2Zmc2V0WSA9
IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAxZTYsICJjdHguc2hhZG93T2Zm
c2V0WCIsICIxZTYiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCAxZTYsICJjdHgu
c2hhZG93T2Zmc2V0WSIsICIxZTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxp
ZC53b3JrZXIuanMKaW5kZXggYjZkYWNiNGUxNmIuLmNlYjBjMjdlNjVkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFsaWQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52
YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcg
KzM2LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxZTY7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDFl
NjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAxZTYsICJjdHguc2hhZG93T2Zmc2V0
WCIsICIxZTYiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCAxZTYsICJjdHguc2hh
ZG93T2Zmc2V0WSIsICIxZTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNhbnZhcy5hbHBoYS5odG1sCmluZGV4IDlmNmRhZmIzZGY0Li42OGE0NmYzYzg1YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNhbnZhcy5hbHBoYTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5zaGFkb3cuY2FudmFzLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBk
cmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBjYW52YXNlczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGNhbnZhc2VzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LnNoYWRv
d0NvbG9yID0gJyMwMGYnOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAtNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywy
NTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS53b3JrZXIuanMKaW5kZXggYTBiOWVl
ZWQ3MTMuLjlkMmUyMWU1MmQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2Fu
dmFzLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFs
cGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24g
Y29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguc2hhZG93Q29sb3IgPSAn
IzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1
IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNhbnZhcy5iYXNpYy5odG1sCmluZGV4IGMzNzJlZjRjMTA4Li5kNjBiZmU5ZjhlNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNhbnZhcy5iYXNpYzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zaGFkb3cuY2FudmFzLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFy
ZSBkcmF3biBmb3IgY2FudmFzZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgY2FudmFzZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC5zaGFkb3dP
ZmZzZXRZID0gNTA7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jYW52YXMuYmFzaWMud29ya2VyLmpzCmluZGV4IDNkOTU0OTlmMzk1Li44ZTM1Nzc0MjBi
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBjYW52YXNlcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLmh0bWwKaW5kZXggNDM1MDUxNmVlZWYuLmVk
YWJmOTkwZWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5z
cGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFy
ZW50LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jYW52YXMudHJh
bnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciB0cmFuc3BhcmVudCBjYW52YXNlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJl
bnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcj
ZjAwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLndvcmtl
ci5qcwppbmRleCA3YmE2OTdiNWY0Yy4uZmE1ODEyZjE2YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52
YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwog
Y3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwg
MCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLmh0bWwKaW5kZXggZGVkMThm
NzY5NzcuLjI2MTJiZGNiNzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2Fu
dmFzLnRyYW5zcGFyZW50LjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5j
YW52YXMudHJhbnNwYXJlbnQuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBk
cmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICsz
Niw2IEBAIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgLTUwLCAtNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRy
YW5zcGFyZW50LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFu
c3BhcmVudC4yLndvcmtlci5qcwppbmRleCBkOTFmYTE2OTRiZi4uYzgxMGU0NzU4MWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0
cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4
LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAtNTAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbAppbmRleCA5ZDVlMzNhMDA4Zi4uY2JjMjY3MGEy
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jbGlwLjE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNs
aXAuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUg
c3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb248L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIGNsaXBwZWQg
c2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlZ2lvbiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDcgKzM0LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBjdHgucmVzdG9y
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS53b3JrZXIuanMKaW5kZXggZDZhNDQ0ZDU3
ZmQuLjcyMjE5NGY2ZGNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3Rp
bGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2
IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2xpcC4yLmh0bWwKaW5kZXggNTg2ZmE5ZTY1ZTUuLjlkYTJjZTQ3MjYzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmNsaXAuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jbGlwLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBvdXRzaWRlIHRoZSBjbGlwcGlu
ZyByZWdpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gb3V0c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9u
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0
eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcwppbmRleCBl
YWM2YmMzMWIyMi4uNzY1ZGM2YzFlZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jbGlwLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gb3V0
c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAu
My5odG1sCmluZGV4IDc3YmI0MWNjYzMyLi4wN2MxZmMwNjgwMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5j
bGlwLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LmNsaXAuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuY2xpcC4zPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIG9mIGNsaXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhl
IGNsaXBwaW5nIHJlZ2lvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXdu
IHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgu
ZmlsbFJlY3QoLTUwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jbGlwLjMud29ya2VyLmpzCmluZGV4IDgwOWVlMGIxYTQ0Li4zZDkyZDJhYWYyZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUg
Y2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFJlY3QoLTUw
LCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY29tcG9zaXRlLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3Np
dGUuMS5odG1sCmluZGV4IDUxYzQ1OGM2NWU0Li4zYTI5YmU4Y2RhMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNvbXBvc2l0ZS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jb21wb3NpdGUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuY29tcG9z
aXRlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAx
MDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDIwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS53b3JrZXIuanMKaW5kZXggNWM4MWEyYzM0
OTguLmI0NjQ0NTA2Y2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9z
aXRlLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIHVzaW5n
IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNo
YWRvd09mZnNldFggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KC0xMDAsIDAsIDIwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIuaHRtbAppbmRleCBhMDM1
NWM2M2ZhNS4uNjdiYjlkMDU2NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5j
b21wb3NpdGUuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFk
b3cuY29tcG9zaXRlLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNvbXBvc2l0ZS4yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoLTEwLCAtMTAsIDEyMCwgNzApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNvbXBvc2l0ZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21w
b3NpdGUuMi53b3JrZXIuanMKaW5kZXggMmFiOTFiN2E3YzYuLjdjMWE0MDhhMmU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAxOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAsIC0xMCwgMTIwLCA3MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jb21wb3NpdGUuMy5odG1sCmluZGV4IDRjYmYxOTAyZDVmLi5mOTM3MjkyNmRjZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jb21wb3NpdGUuMzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuY29tcG9zaXRlLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkFyZWFzIG91dHNpZGUgc2hhZG93
cyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggZGVzdGluYXRpb24tb3V0PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQXJlYXMgb3V0c2lkZSBz
aGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBkZXN0aW5hdGlvbi1vdXQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMjAw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNSwg
MCwyNTUsMCwyNTUsICI1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5jb21wb3NpdGUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29t
cG9zaXRlLjMud29ya2VyLmpzCmluZGV4IDg1NzMwMjIyMjI1Li5hNGE2YWI5NTA1NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJBcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRo
IGRlc3RpbmF0aW9uLW91dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgyMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbAppbmRleCBlNmFkMjkzNzg4MC4uYzU1
YzE5ZWQ3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZW5hYmxlLmJs
dXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS5ibHVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFk
b3dzIGFyZSBkcmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldDwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGlmIHNo
YWRvd0JsdXIgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Qmx1ciA9
IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmVuYWJsZS5ibHVyLndvcmtlci5qcwppbmRleCA2MTBhMzhiOTk0ZC4uZDE1MDE4
MjEyN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93Qmx1ciBp
cyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zaGFkb3dCbHVyID0gMC4xOwogY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5lbmFibGUub2ZmLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFi
bGUub2ZmLjEuaHRtbAppbmRleCBmOGVjZjg1ZjFjYy4uZjlhMjg0ZGQ5YjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LmVuYWJsZS5vZmYuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXdu
IHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBv
bmx5IHNoYWRvd0NvbG9yIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRv
d0NvbG9yID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMKaW5kZXggZGFkNWMw
ZTU4YjMuLjg2M2YxYzY4MmRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLm9mZi4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9m
Zi4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRy
YXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBA
IGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwKaW5kZXggM2EyM2M4
YmNmY2YuLjkyNGZjZWQ5YTAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLm9mZi4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFk
b3cuZW5hYmxlLm9mZi4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFibGUub2ZmLjI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMg
c2V0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuZW5hYmxlLm9mZi4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFi
bGUub2ZmLjIud29ya2VyLmpzCmluZGV4IDM3MWY1ODIyZTljLi5jYjEwZjUyMmM2MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3Ig
aXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLnguaHRtbAppbmRleCBiMmYxNDdiNGM2Zi4uZDM0YTJjYmRjNGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5lbmFibGUueC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5zaGFkb3cuZW5hYmxlLng8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS54PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRYIGlzIHNl
dDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFggaXMgc2V0Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxl
Lngud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lndvcmtlci5qcwpp
bmRleCAxZjcwNjM1ZTIwMi4uYzQxOWNhYmJjMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5lbmFibGUueC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS54Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gaWYgc2hhZG93T2Zmc2V0WCBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5z
aGFkb3dPZmZzZXRYID0gMC4xOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lmh0bWwKaW5kZXggYTAxZDYxZjIyZjIuLjhkN2IyNjcx
ODU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS55PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5lbmFibGUueTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gaWYg
c2hhZG93T2Zmc2V0WSBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlz
IHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAwLjE7CiBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5l
bmFibGUueS53b3JrZXIuanMKaW5kZXggZjFkMGYyN2JkZGYuLjYxMTdkOTk2ZGE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3Jh
ZGllbnQuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS5o
dG1sCmluZGV4IDUwZTc4MTY3NWFhLi4wYmUzNzgxZWNhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmdyYWRpZW50LmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuZ3Jh
ZGllbnQuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGNvcnJl
Y3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
ZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5m
aWxsU3R5bGUgPSBncmFkaWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1
MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29ya2VyLmpzCmluZGV4IDA3YzAyY2Qy
OWNkLi42MzdjYzkyMDY5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRp
ZW50LmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQu
YWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LmZpbGxT
dHlsZSA9IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1
IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbAppbmRleCA1ZmY3ZTY2ZjM2Yy4uZjU2Y2U2YzIz
YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZ3JhZGllbnQu
YmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LmdyYWRpZW50LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TaGFkb3dzIGFyZSBkcmF3biBmb3IgZ3JhZGllbnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBm
b3IgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CiBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMud29ya2VyLmpzCmluZGV4IDkwZjI0
YmRhMWY4Li44MDBmYzMxNTM1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lmdy
YWRpZW50LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGll
bnQuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBk
cmF3biBmb3IgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1s
CmluZGV4IDgwYjU5YmFjZTNiLi42ZTc5YTY0MTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQu
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBncmFkaWVudCBmaWxs
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0
eWxlID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCA5ZTEyY2U4MzUx
MC4uMGYwZmFiODVlNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVu
dC50cmFuc3BhcmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3Jh
ZGllbnQudHJhbnNwYXJlbnQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNo
YWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0eWxl
ID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQudHJhbnNwYXJlbnQuMi5odG1sCmluZGV4IDdjMWY1Njc4NjBhLi41ZTdkNDBkYjEy
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50
LjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQu
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
aGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuZ3JhZGllbnQudHJh
bnNwYXJlbnQuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBncmFkaWVudCBmaWxsczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3
ICszNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJl
bnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJl
bnQuMi53b3JrZXIuanMKaW5kZXggMDhmNDZmZGI0OWMuLjYwNmU4NTJhMWYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBA
QCBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbAppbmRleCA4NjQ4M2UzOTAwMi4uMjA1ZTMy
ZGUwMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2UuYWxwaGE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93LmltYWdlLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXM8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMiw5ICszNiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
ICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3
LDAsMTI3LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhh
Lndvcmtlci5qcwppbmRleCBhNjI0YmU4MGRkYS4uYjQwYmU2NWY1Y2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmltYWdlLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQg
aW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsOSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7CiAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1
IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2lj
Lmh0bWwKaW5kZXggNWZmZDhjNmEzMDEuLjlmMTYzMjRhODYxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuaW1hZ2UuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS5iYXNp
YzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGltYWdlczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
d3MgYXJlIGRyYXduIGZvciBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw5ICszNiw3IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAt
NTApOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UuYmFzaWMud29ya2VyLmpzCmluZGV4IDA2ODUwNDNhZDNmLi5lNTVmMmQ2NGM0NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1hZ2VzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
OSArMzIsNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgLTUwKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUuaHRtbAppbmRleCBkNDM4ZjNmMzQ4Ni4uYTExOTdmMjE4
MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2Uuc2NhbGU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc2hhZG93LmltYWdlLnNjYWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFy
ZSBkcmF3biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3Jy
ZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw5ICszOCw3IEBAIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2Nh
bGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLndvcmtlci5q
cwppbmRleCA2ZjA4NGU5YjQyYS4uZTFkNjE5OGYzNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5pbWFnZS5zY2FsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmltYWdlLnNjYWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBzY2FsZWQgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsOSAr
MzQsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2Vj
dGlvbi5odG1sCmluZGV4IDFmMjk3NjAxZmEzLi5iM2Y5YWIxN2YwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cu
aW1hZ2Uuc2VjdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXdu
IGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJjZSByZWN0YW5nbGVzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJjZSByZWN0YW5nbGVzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzQsOSArMzgsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAs
MjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzCmluZGV4IGFkOTIzZTBmMDU4Li5hMjc4ZjQ2
NjZkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVh
cyBvdXRzaWRlIGltYWdlIHNvdXJjZSByZWN0YW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsOSArMzQsNyBA
QCBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5p
bWFnZS50cmFuc3BhcmVudC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJh
bnNwYXJlbnQuMS5odG1sCmluZGV4IGYyYjI4OTllYTQyLi4wNWMxMjVhMzc2ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2UudHJhbnNw
YXJlbnQuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXM8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGltYWdlcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDkg
KzM2LDcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIC01MCk7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmlu
ZGV4IGFmMmQ4NjlmNDZkLi41OTkxNDBlYzgzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCw5ICszMiw3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19
KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIuaHRtbAppbmRl
eCA1YjIzZGRmZTg4ZS4uMzJmYTQ4NmIzZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmltYWdlLnRyYW5zcGFyZW50LjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LmltYWdlLnRyYW5zcGFyZW50LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJl
IG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgaW1hZ2VzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw5ICs0
Miw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi53b3Jr
ZXIuanMKaW5kZXggMGI5OWYzNjI3ZTguLjViODg2MmMwYzhhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRz
IG9mIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDkgKzM4LDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNl
dC5uZWdhdGl2ZVguaHRtbAppbmRleCA4ZjhmYWQ3YmU0NC4uNzg3MjhlMGE0NzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVg8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNo
YWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHg8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQg
d2l0aCBuZWdhdGl2ZSB4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WCA9IC01MDsKIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC53b3JrZXIuanMKaW5kZXggOTkwODEyMzllMzIu
LmIwNjc5YTYwMTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5l
Z2F0aXZlWC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdh
dGl2ZVgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBv
ZmZzZXQgd2l0aCBuZWdhdGl2ZSB4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93
T2Zmc2V0WCA9IC01MDsKIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkuaHRtbAppbmRleCA0N2MzOTEwODdhMy4uNTEy
M2FmODcyZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRp
dmVZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93
Lm9mZnNldC5uZWdhdGl2ZVk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVk8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHk8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguc2hhZG93T2Zmc2V0WSA9IC0yNTsKIGN0eC5maWxsUmVjdCgwLCAyNSwgMTAwLCAyNSk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwx
MiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcs
IDAsMjU1LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29ya2VyLmpz
CmluZGV4IDk5OGU0YWQxNmM0Li5kNWRkNWI2ZjFmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAtMjU7CiBjdHguZmlsbFJlY3QoMCwgMjUsIDEw
MCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAsMjU1
LCAiNTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRp
dmVYLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC5odG1sCmlu
ZGV4IGQ2NjQxNGI2NzJmLi4yNzZjMTBkOGRlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93Lm9mZnNldC5wb3NpdGl2ZVguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
b2Zmc2V0LnBvc2l0aXZlWC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub2Zm
c2V0LnBvc2l0aXZlWDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBjYW4gYmUgb2Zmc2V0
IHdpdGggcG9zaXRpdmUgeDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHgiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gNTA7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zm
c2V0LnBvc2l0aXZlWC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBv
c2l0aXZlWC53b3JrZXIuanMKaW5kZXggZTAwMzc5ZmJlMGEuLmQ0YzQxMzBhOTJjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDUwOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9z
aXRpdmVZLmh0bWwKaW5kZXggNjkxNDQxNGU5MjYuLjUzYWUyZWE1NTNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGgg
cG9zaXRpdmUgeSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAy
NTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cub2Zmc2V0LnBvc2l0aXZlWS53b3JrZXIuanMKaW5kZXggZTdkZjY4OTc1ZmQuLjA4NmQ3
Y2ViN2Q3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZl
WS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVku
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQg
d2l0aCBwb3NpdGl2ZSB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WSA9IDI1OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAsMjU1LCAiNTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0
c2lkZS5odG1sCmluZGV4IDY2NGU1MDkzOGIyLi5mOWNhNmI0OWVmNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5zaGFkb3cub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub3V0c2lkZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBvZiBzaGFwZXMgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNh
biBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgb3V0c2lk
ZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVhIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxMiwy
NSwgMCwyNTUsMCwyNTUsICIxMiwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgODcsMjUsIDAsMjU1LDAsMjU1LCAiODcsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwgIjUw
LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwz
NywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS53b3JrZXIuanMKaW5kZXggNmQyM2M3MmM4
YmIuLmY0YzdjNWJhZDhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lk
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyBvdXRzaWRlIHRoZSB2
aXNpYmxlIGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2aXNpYmxlIGFyZWEiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEyLDI1LCAwLDI1
NSwwLDI1NSwgIjEyLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4NywyNSwgMCwyNTUsMCwyNTUsICI4NywyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAsMjU1LCAiNTAsMTIiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCAwLDI1
NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS5odG1sCmluZGV4IDM3MWYzMmE0ZmU5Li4z
ZTU1ZWI0MDAwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxw
aGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cucGF0
dGVybi5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cucGF0dGVybi5hbHBoYTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJl
bnQgZmlsbCBwYXR0ZXJuczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5
LXRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw5ICszNyw3IEBAIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBm
JzsKICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRl
cm4uYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEu
d29ya2VyLmpzCmluZGV4IDYzNjI1M2E3YWI1Li5mYzZmZGJlYjAzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJl
bnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDkgKzMzLDcgQEAgcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogICAgIGN0
eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTAp
OwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwKaW5kZXggY2FiNzY0
ODU3ZDQuLmQ3MGYyZmNlNmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0
dGVybi5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2lj
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5wYXR0ZXJuLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJuczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIGRyYXduIGZvciBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsOSArMzcsNyBAQCBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUw
OwogICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAs
IDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVy
bi5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53
b3JrZXIuanMKaW5kZXggZThiNjAzM2QzOTAuLjVjMmE3Yzk3Zjk0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDkg
KzMzLDcgQEAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbAppbmRleCAzMTU3MjRhMmIwZC4uMjkxMDNhZDYyMTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5wYXR0ZXJuLnRyYW5zcGFyZW50LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJl
bnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFu
c3BhcmVudCBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVu
dCBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsOSArMzcsNyBAQCBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwot
fSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVu
dC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50
LjEud29ya2VyLmpzCmluZGV4IDM0MDAyNzkzMTUzLi5iZjg3ODFiM2VkYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNw
YXJlbnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDkgKzMzLDcgQEAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFy
ZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIu
aHRtbAppbmRleCA2NjhlMDdmODMzYi4uNjUwOWJhZTFmNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBmaWxs
IHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBm
aWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsOSArNDIsNyBAQCBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLndvcmtlci5qcwppbmRleCAxNTdmYmUyYThk
Yi4uOGEyYjcxNjVlNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LnRyYW5zcGFyZW50LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0
ZXJuLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGZpbGwgcGF0dGVybnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zNCw5ICszOCw3IEBAIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9r
ZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy5odG1sCmlu
ZGV4IGJlNjZmM2E5YTkyLi41MTYzNjgyYWYyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJv
a2UuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LnN0cm9rZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIGRyYXduIGZvciBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFz
aWMud29ya2VyLmpzCmluZGV4IGUxNjUzNmRlZDMxLi5kMWU1OWY5YjAwMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjks
NiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAw
LDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmNhcC4xLmh0bWwKaW5kZXggMmM0NjBmZDcwZjUuLmM3YjA4YWVmZDg1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuc3Ryb2tlLmNhcC4xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5zdHJva2UuY2FwLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBk
cmF3biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJva2UgY2FwczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBm
b3IgYXJlYXMgb3V0c2lkZSBzdHJva2UgY2FwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwy
NTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5jYXAuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmNhcC4xLndvcmtlci5qcwppbmRleCA0YzZhMWFhNGQ0ZC4uZTJiNjdjMzg0ZTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ry
b2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIuaHRtbAppbmRleCAwZTc4
YzFhZDMyYS4uN2Q5NGQzZWJjNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2UuY2FwLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5zdHJva2UuY2FwLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnN0cm9rZS5jYXAuMjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
ZHJhd24gZm9yIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmNhcC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2Fw
LjIud29ya2VyLmpzCmluZGV4IDBjM2NhZTEwNWJhLi42OGRmZDBhZWY4OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2UgY2FwcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwy
NSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5zdHJva2Uuam9pbi4xLmh0bWwKaW5kZXggMDRhNjI0NTY4NmMuLjYwNDNkMDRlNWM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4xPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5zdHJva2Uuam9pbi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
bm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcg
KzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
NDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMKaW5kZXggOTU4MzcyMDc4OTQuLjNh
ZWIxMjM5ZGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4u
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9y
IGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwy
NTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tl
LmpvaW4uMi5odG1sCmluZGV4IDY2MjkzMTNiYWY3Li4wMzdjMmM3OTNlOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuc3Ryb2tlLmpvaW4uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24g
Zm9yIHN0cm9rZSBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2Ugam9pbnMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjIud29ya2VyLmpzCmluZGV4IDhiODlk
NzQwNWNkLi4zMmUxZDNjMmM0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0
cm9rZS5qb2luLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uu
am9pbi4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gZm9yIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmpvaW4uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMu
aHRtbAppbmRleCAyZmU2MjNiZTVkYy4uN2MyMGE1Zjg3ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5qb2luLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5qb2luLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnN0cm9r
ZS5qb2luLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJv
a2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJv
a2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuc3Ryb2tlLmpvaW4uMy53b3JrZXIuanMKaW5kZXggYTY3ZDc3MDZjYzcuLjBhOTAyZmEyYWY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5z
IHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwg
IjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnRyYW5zZm9ybS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEu
aHRtbAppbmRleCBhODc5YTNiOTkyMC4uMWQ2NzdhY2YzZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5zaGFkb3cudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnRyYW5zZm9ybS4x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1h
dGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Myw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC50cmFuc2xhdGUoMTAw
LCAxMDApOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zv
cm0uMS53b3JrZXIuanMKaW5kZXggMTUzODkzNTI5NzkuLjhmOGQyM2RlM2QzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgdGFrZSBhY2NvdW50IG9mIHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnRyYW5zbGF0ZSgx
MDAsIDEwMCk7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTE1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cudHJhbnNmb3JtLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0u
Mi5odG1sCmluZGV4IGQyNDUyYjQ4ZWE4Li5hNjkzNTIxZWE5NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnRyYW5zZm9ybS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnNoYWRvdy50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cudHJhbnNmb3Jt
LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZmZWN0ZWQg
YnkgdHJhbnNmb3JtYXRpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IG9mZnNldHMgYXJlIG5vdCBhZmZlY3RlZCBieSB0cmFu
c2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcj
MGYwJzsKIGN0eC5yb3RhdGUoTWF0aC5QSSkKIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGJjOWM3YzhkM2IzLi4yZjFjODg2
NGEwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgb2Zmc2V0cyBhcmUgbm90IGFmZmVjdGVkIGJ5
IHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnNoYWRvd0NvbG9y
ID0gJyMwZjAnOwogY3R4LnJvdGF0ZShNYXRoLlBJKQogY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmFsaWduLmRlZmF1bHQuaHRtbAppbmRleCA5MWY2ZWQzZjZhZi4uNWViOWM3ZWFiMTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmFsaWduLmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5hbGln
bi5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWdu
LCAnc3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IDdmNTlhZTli
NTEwLi45MzM4YTYwNjM4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZh
dWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQud29ya2Vy
LmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAn
c3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLmh0bWwKaW5kZXggYmVkNDVkZTRkYmUuLmEzZDc4ZDhk
ZTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGlnbi5pbnZhbGlkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnRleHQuYWxpZ24uaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAnc3RhcnQnLCAiY3R4LnRleHRB
bGlnbiIsICInc3RhcnQnIik7CiBjdHgudGV4dEFsaWduID0gJ3N0YXJ0JzsKIGN0eC50ZXh0QWxp
Z24gPSAnZW5kXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50
ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5hbGlnbi5pbnZhbGlkLndvcmtlci5qcwppbmRleCBhMjY5Nzg1NmNiMy4uNjZjZTdhZWExNWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4
dEFsaWduLCAnc3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7CiBjdHgudGV4dEFs
aWduID0gJ3N0YXJ0JzsKIGN0eC50ZXh0QWxpZ24gPSAnZW5kXDAnOwogX2Fzc2VydFNhbWUoY3R4
LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0bWwKaW5kZXggZDk2YmRiZjAyM2Qu
LmMzZjI0ZWNiYzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmFsaWduLnZhbGlkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRleHQuYWxpZ24udmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDcgKzM0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3JpZ2h0JywgImN0eC50ZXh0
QWxpZ24iLCAiJ3JpZ2h0JyIpOwogCiBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CiBfYXNzZXJ0
U2FtZShjdHgudGV4dEFsaWduLCAnY2VudGVyJywgImN0eC50ZXh0QWxpZ24iLCAiJ2NlbnRlcici
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGln
bi52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLndvcmtlci5q
cwppbmRleCA0NzhkNDU0M2FlMS4uNTY5Y2I5MWU5MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24u
dmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3
ICszMCw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdyaWdodCcsICJjdHgudGV4dEFs
aWduIiwgIidyaWdodCciKTsKIAogY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInOwogX2Fzc2VydFNh
bWUoY3R4LnRleHRBbGlnbiwgJ2NlbnRlcicsICJjdHgudGV4dEFsaWduIiwgIidjZW50ZXInIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxp
bmUuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwK
aW5kZXggZjJmZTExMDE0NTEuLmVmMGFlMjBkMTAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmJhc2VsaW5lLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5l
LmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuYmFzZWxpbmUuZGVmYXVs
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2Fs
cGhhYmV0aWMnLCAiY3R4LnRleHRCYXNlbGluZSIsICInYWxwaGFiZXRpYyciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIuanMK
aW5kZXggYTQ3NWZhMzQxZjkuLjZkNzZiMzRmMzY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmJhc2VsaW5lLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFz
ZWxpbmUuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRT
YW1lKGN0eC50ZXh0QmFzZWxpbmUsICdhbHBoYWJldGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAi
J2FscGhhYmV0aWMnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGlu
ZS5pbnZhbGlkLmh0bWwKaW5kZXggMGZmM2IxOGRkNTIuLjkwOGE5ZGY0MDMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQu
YmFzZWxpbmUuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyAr
MzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAndG9wJywgImN0eC50ZXh0QmFz
ZWxpbmUiLCAiJ3RvcCciKTsKIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJzsKIGN0eC50ZXh0QmFz
ZWxpbmUgPSAnbWlkZGxlXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ3RvcCcs
ICJjdHgudGV4dEJhc2VsaW5lIiwgIid0b3AnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQud29ya2VyLmpzCmluZGV4IDM3Nzc5OWI1MGJm
Li44MDVhYmNjMDkzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZh
bGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICd0b3AnLCAiY3R4LnRleHRCYXNlbGluZSIs
ICIndG9wJyIpOwogY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnOwogY3R4LnRleHRCYXNlbGluZSA9
ICdtaWRkbGVcMCc7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAndG9wJywgImN0eC50
ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5i
YXNlbGluZS52YWxpZC5odG1sCmluZGV4IGNkNjM1ZWM0ODY3Li5iNjcyZDQxZjRjZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5iYXNlbGluZS52YWxpZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmJh
c2VsaW5lLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2
IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICdpZGVvZ3JhcGhpYycsICJjdHgudGV4
dEJhc2VsaW5lIiwgIidpZGVvZ3JhcGhpYyciCiAKIGN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9t
JzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICdib3R0b20nLCAiY3R4LnRleHRCYXNl
bGluZSIsICInYm90dG9tJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
YmFzZWxpbmUudmFsaWQud29ya2VyLmpzCmluZGV4IDE0NDBjMzhjZmZjLi4zNWRhMzViNGVlOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRl
eHRCYXNlbGluZSwgJ2lkZW9ncmFwaGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2lkZW9ncmFw
aGljJyIKIAogY3R4LnRleHRCYXNlbGluZSA9ICdib3R0b20nOwogX2Fzc2VydFNhbWUoY3R4LnRl
eHRCYXNlbGluZSwgJ2JvdHRvbScsICJjdHgudGV4dEJhc2VsaW5lIiwgIidib3R0b20nIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5jZW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbApp
bmRleCA0OGUwY2IzNmQ4Yi4uYzI5OWNjY2IxMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uY2VudGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLmNl
bnRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGNlbnRlciBpcyB0aGUgY2VudGVy
IG9mIHRoZSBlbSBzcXVhcmVzIChub3QgdGhlIGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCAr
MTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGNlbnRl
ciBpcyB0aGUgY2VudGVyIG9mIHRoZSBlbSBzcXVhcmVzIChub3QgdGhlIGJvdW5kaW5nIGJveCki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uY2VudGVyLndvcmtlci5qcwppbmRleCA4OGQ3N2MxZTE4OS4uMDIxOTQ3YmQyNDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIud29ya2VyLmpzCkBAIC00
LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGNlbnRlciBpcyB0aGUgY2VudGVyIG9mIHRo
ZSBlbSBzcXVhcmVzIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAi
NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQu
bHRyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1sCmluZGV4
IDYzNTZiM2JlODlmLi5mN2ZjYjM2MTI2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLmVuZC5sdHIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24u
ZW5kLmx0ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uZW5k
Lmx0cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGVuZCB3aXRoIGx0ciBpcyB0aGUg
cmlnaHQgZWRnZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdpdGggbHRyIGlzIHRoZSByaWdodCBlZGdlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1
LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5h
bGlnbi5lbmQubHRyLndvcmtlci5qcwppbmRleCA1OGU2ZmZhZTk1NS4uMWU1MjliZTIzZDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci53b3JrZXIuanMKQEAgLTQs
MTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdpdGggbHRyIGlzIHRoZSByaWdodCBl
ZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlv
bigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBA
QCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5
NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmVuZC5ydGwuaHRtbAppbmRleCBiNjBhODVjYmFhMy4uMDE2ZTFmODkxM2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGw8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRB
bGlnbiBlbmQgd2l0aCBydGwgaXMgdGhlIGxlZnQgZWRnZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdpdGggcnRs
IGlzIHRoZSBsZWZ0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3Qo
KTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAw
LDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5k
b25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwud29ya2VyLmpzCmluZGV4IDY2ZjAz
YWNhYTc1Li5mNTA5ODdjOTI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFs
aWduLmVuZC5ydGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5l
bmQucnRsLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBlbmQg
d2l0aCBydGwgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lmh0bWwKaW5kZXggMTY0YjAyYWY0MzQuLmQ4
M2JmMGE3Mzc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5s
ZWZ0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50
ZXh0QWxpZ24gbGVmdCBpcyB0aGUgbGVmdCBvZiB0aGUgZmlyc3QgZW0gc3F1YXJlIChub3QgdGhl
IGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGxlZnQgaXMgdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGVt
IHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSks
IDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcwppbmRl
eCA3MjU3NjJhOGFkYy4uMDJlNjg5YTlkN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24ubGVmdC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gbGVm
dCBpcyB0aGUgbGVmdCBvZiB0aGUgZmlyc3QgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJv
eCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBA
IHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFs
aWduLnJpZ2h0Lmh0bWwKaW5kZXggNTYyMTE2MWQ0YWEuLjlmNzUyZTYzMTkxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQu
ZHJhdy5hbGlnbi5yaWdodDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHJpZ2h0IGlz
IHRoZSByaWdodCBvZiB0aGUgbGFzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KTwv
cD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0
ZXh0QWxpZ24gcmlnaHQgaXMgdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IGVtIHNxdWFyZSAobm90IHRo
ZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7
Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAu
dGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
MzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAs
MjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwy
NTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9u
ZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQud29ya2VyLmpzCmluZGV4IDcwYTM5YTMxODZh
Li4xNzA2NjFkODRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJp
Z2h0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQud29y
a2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHJpZ2h0IGlzIHRoZSBy
aWdodCBvZiB0aGUgbGFzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwg
MCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLnN0YXJ0Lmx0ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0
YXJ0Lmx0ci5odG1sCmluZGV4IDEzMDQ3NGU3MzY5Li4zM2MzMTQxYjYyZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0cjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0
QWxpZ24gc3RhcnQgd2l0aCBsdHIgaXMgdGhlIGxlZnQgZWRnZTwvcD4KQEAgLTExLDE0ICsxMSwx
OCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gc3RhcnQgd2l0
aCBsdHIgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVy
VGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsg
fSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUs
NDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwot
Ci10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIud29ya2VyLmpzCmlu
ZGV4IGViYzA2NTQyZTMxLi41YTM0MjNjZThjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0
ZXh0QWxpZ24gc3RhcnQgd2l0aCBsdHIgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwy
NTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWdu
LnN0YXJ0LnJ0bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5o
dG1sCmluZGV4IDA1MzcyZWUyNWFlLi5iYTQ4ZjcwZTRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5zdGFydC5ydGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0
LmRyYXcuYWxpZ24uc3RhcnQucnRsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gc3Rh
cnQgd2l0aCBydGwgaXMgdGhlIHJpZ2h0IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggcnRsIGlz
IHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7
Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAu
dGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
MzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAs
MjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwy
NTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9u
ZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC53b3JrZXIuanMKaW5kZXggZGM1
NTFlNGFiZjIuLjRjNjM1Y2Y0MGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24uc3RhcnQucnRsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uc3RhcnQucnRsLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGln
biBzdGFydCB3aXRoIHJ0bCBpcyB0aGUgcmlnaHQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFs
cGhhYmV0aWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGlj
Lmh0bWwKaW5kZXggMjQxM2ZlNTVlZDIuLmYwOTU3ZWU4ZTNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGlj
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5j
dGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQs
NyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUs
ICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcwppbmRleCAyNjgz
MjcyYWE2Ny4uNGMxOGM4ZmE3NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5i
YXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YmFzZWxpbmUuYWxwaGFiZXRpYy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5i
YXNlbGluZS5ib3R0b20uaHRtbAppbmRleCA1ZmE5NDE4MzM4Zi4uMjA0NDdlZGFmYjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b20uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0
b208L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+dGV4dEJhc2VsaW5lIGJvdHRvbSBpcyB0aGUgYm90dG9tIG9mIHRoZSBlbSBzcXVhcmUgKG5v
dCB0aGUgYm91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxpbmUgYm90dG9tIGlzIHRoZSBib3R0b20gb2Yg
dGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwg
IjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS5ib3R0b20ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRv
bS53b3JrZXIuanMKaW5kZXggM2JhNjBjOTY2YmUuLjg1MWVjNzQ5ZDQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcwpAQCAtNCwxNyArNCwy
MSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInRleHRCYXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0g
c3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwg
NTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy5odG1sCmluZGV4
IGUzZjljZjM0ZGYyLi5mM2E3Nzg0YWRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLmhhbmdpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFz
ZWxpbmUuaGFuZ2luZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcu
YmFzZWxpbmUuaGFuZ2luZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTQgKzEx
LDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwy
NTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFz
ZWxpbmUuaGFuZ2luZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUu
aGFuZ2luZy53b3JrZXIuanMKaW5kZXggYjQ3NzNlOGFiOGQuLjk0Yjk2Nzg5NThiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29ya2VyLmpzCkBAIC00
LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJU
ZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0
NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYy5odG1sCmluZGV4
IDU5ODY1YzNiY2I4Li5kNmNlMDhkN2EyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYy53b3JrZXIuanMKaW5kZXggYWRhN2ZlOWM1
YjYuLmU4YjFmNDlhNTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxp
bmUuaWRlb2dyYXBoaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5pZGVvZ3JhcGhpYy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5m
b250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewog
ICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUs
NDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5iYXNlbGluZS5taWRkbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5taWRkbGUuaHRtbAppbmRleCA3MTc5OWRhN2JmMy4uNmQxN2JmMzNjYmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
dGV4dEJhc2VsaW5lIG1pZGRsZSBpcyB0aGUgbWlkZGxlIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0
aGUgYm91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxpbmUgbWlkZGxlIGlzIHRoZSBtaWRkbGUgb2YgdGhl
IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5t
aWRkbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS53
b3JrZXIuanMKaW5kZXggMTJjNzY4YTcwZGQuLmViZjAxMmVkZWZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRCYXNlbGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1
YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbAppbmRleCAyZmNjZTRhYzMy
Zi4uOWRmOTIwNmUyMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS50b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJh
dy5iYXNlbGluZS50b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+dGV4dEJhc2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVhcmUg
KG5vdCB0aGUgYm91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxpbmUgdG9wIGlzIHRoZSB0b3Agb2YgdGhl
IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50
b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC53b3JrZXIu
anMKaW5kZXggMDc4MjU1YWNmNmMuLjlmYTE0ZTZmMjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYmFzZWxpbmUudG9wLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRl
eHRCYXNlbGluZSB0b3AgaXMgdGhlIHRvcCBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5k
aW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICsz
MCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1
NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLmJhc2ljLW1hbnVhbC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuZmlsbC5iYXNpYy1tYW51YWwud29ya2VyLmpzCmluZGV4IGJkN2Y3ZTI2
MzhiLi4yMzE5YjVjMzkyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
YmFzaWMtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5i
YXNpYy1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBk
cmF3cyBmaWxsZWQgdGV4dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJp
YWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC5OYU4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi5odG1s
CmluZGV4IGY2NmI3MzU3NjE5Li4xZWYwOTVkY2YxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguTmFOLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0
IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3Jy
ZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBm
YWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAs
IDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLk5hTi53b3JrZXIuanMKaW5kZXggNDlhNGY2YmQ1ZDEuLjcxOTFmYTk2M2Mz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGgg
Y29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2Zh
aWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIDUsIDM1LCBOYU4pOwogX2Fzc2VydEdyZWVuKGN0eCwg
MTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sCmluZGV4IGM3NDg5NTU2M2RmLi5iZDk0MWNiYmJmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5ib3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3Vu
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBiYXNlZCBv
biBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdp
ZHRoIGJhc2VkIG9uIGxpbmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLmJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmJvdW5kLndvcmtlci5qcwppbmRleCBmZGJhYjViOTg2Yi4uODQ4MmIyNjIz
ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5k
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3Vu
ZC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1h
eFdpZHRoIGJhc2VkIG9uIGxpbmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguZm9udGZhY2UuaHRtbAppbmRleCA5MzZkZTQ2Y2M1OS4uYmM4NWM0NWZjOTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2Uu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5kcmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguZm9udGZhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IHdvcmtzIG9uIEBm
b250LWZhY2UgZm9udHM8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgd29ya3Mgb24gQGZvbnQtZmFjZSBmb250cyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS53b3JrZXIuanMKaW5kZXggM2E1YjRiNzQyZDQu
LjJkMjA1YTkyZmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5mb250ZmFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmls
bFRleHQgd29ya3Mgb24gQGZvbnQtZmFjZSBmb250cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
LCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bGFyZ2UtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmxhcmdlLW1hbnVhbC53b3JrZXIuanMKaW5kZXggZTk5ZTU2ZWI1NjYuLjM0NTA0NDZhMTE1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5sYXJnZS1t
YW51YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LmxhcmdlLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0
IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZv
bnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ1BBU1MnLCA1LCAz
NSwgMjAwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlLmh0bWwKaW5kZXggYzU5NDdkODg4MmYuLjI5MzlhOTVi
ZWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdh
dGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0
aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVz
IG1heFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQg
PSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWls
IGZhaWwgZmFpbCcsIDUsIDM1LCAtMSk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGgubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGgubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDUzMDJmZGU4MzQyLi5hN2E4OWZlODY2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRp
dmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5l
Z2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxl
cyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5m
aWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIC0xKTsKIF9hc3NlcnRH
cmVlbihjdHgsIDEwMCwgNTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwuaHRtbAppbmRleCAwNGNiM2VkZjY5ZS4uMzE5
YTBjYzg0ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LnNtYWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21h
bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguc21hbGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhhbmRsZXMgbWF4V2lk
dGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4
IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBm
YWlsJywgLTEwMCwgMzUsIDkwKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5zbWFsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC5zbWFsbC53b3JrZXIuanMKaW5kZXggNzNjNDkyNDA1MjEuLjZmMTA3ODg1MzVlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJl
Y3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZh
aWwgZmFpbCBmYWlsIGZhaWwnLCAtMTAwLCAzNSwgOTApOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAw
LCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLnplcm8uaHRtbAppbmRleCA3N2M5ZDA1ZDg0YS4uYmY5YjBmMjQ5NTEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVybzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHk8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4
dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYn
OwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgMCk7CiBf
YXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcwppbmRleCBk
MzIyOTE3NzUxMi4uZTUyOTQ0ZTk1NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJm
aWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMt
c2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwg
MCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5ydGwtbWFudWFsLndvcmtlci5qcwppbmRleCBm
NWJkMjQ3MThmYi4uMzQyMmU4MzVhNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLnJ0bC1tYW51YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLnJ0bC1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4
dCByZXNwZWN0cyBSaWdodC1Uby1MZWZ0IE92ZXJyaWRlIGNoYXJhY3RlcnMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguc3Ryb2tlU3R5bGUgPSAn
I2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4
dCgnXHUyMDJlRkFJTCBceGEwIFx4YTAgU1NBUCcsIDUsIDM1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC5odG1sCmluZGV4IDVkMmVl
NzU2ZGUwLi5lN2U3MTcyN2Y3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZm
ZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC51bmFm
ZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5l
dyBwYXRoIG9yIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1
YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5maWxsKCk7CiAKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwg
IjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCA4YmU5YzBiZGUz
My4uZTkwYWEzYjlmNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVu
YWZmZWN0ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZm
ZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkb2VzIG5v
dCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0
eC5maWxsKCk7CiAKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UuaHRtbAppbmRleCBmNjZiZTZjY2Y3
Yy4uMDk5MDc0ZmE3MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZm9udGZh
Y2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudGV4dC5kcmF3LmZvbnRmYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5mb250ZmFjZS5ub3RpbnBhZ2UuaHRtbAppbmRleCA1ZTA4OGM2NGRlOC4uZGYzMTk2OTZlMmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5m
b250ZmFjZS5ub3RpbnBhZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+QGZvbnQtZmFjZSBmb250cyBzaG91bGQgd29yayBldmVuIGlm
IHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkBmb250LWZhY2UgZm9udHMgc2hvdWxkIHdv
cmsgZXZlbiBpZiB0aGV5IGFyZSBub3QgdXNlZCBpbiB0aGUgcGFnZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNjdweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9u
dGZhY2Uubm90aW5wYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5ub3RpbnBhZ2Uud29ya2VyLmpzCmluZGV4IDY2ZTY1NDA4ZDdhLi5kOGQ1YWExYzJhMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS53b3JrZXIu
anMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJAZm9udC1mYWNlIGZvbnRzIHNob3VsZCB3b3Jr
IGV2ZW4gaWYgdGhleSBhcmUgbm90IHVzZWQgaW4gdGhlIHBhZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzY3cHggQ2Fu
dmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMyw5ICsyNyw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5yZXBlYXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQuaHRt
bAppbmRleCA5MjJmNzRlMDc0MS4uOWJmMzdiODBhZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZm9udGZhY2UucmVwZWF0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5k
cmF3LmZvbnRmYWNlLnJlcGVhdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+RHJhdyB3aXRoIHRoZSBm
b250IGltbWVkaWF0ZWx5LCB0aGVuIHdhaXQgYSBiaXQgdW50aWwgYW5kIGRyYXcgYWdhaW4uIChU
aGlzIGNyYXNoZXMgc29tZSB2ZXJzaW9uIG9mIFdlYktpdC4pPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiRHJhdyB3aXRoIHRoZSBmb250IGlt
bWVkaWF0ZWx5LCB0aGVuIHdhaXQgYSBiaXQgdW50aWwgYW5kIGRyYXcgYWdhaW4uIChUaGlzIGNy
YXNoZXMgc29tZSB2ZXJzaW9uIG9mIFdlYktpdC4pIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsMTYgKzI1LDE0IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVz
dCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsK
LWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxUZXh0KCdBQScsIDAs
IDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUsIDAsMjU1
LDAsMjU1LCAiNSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5mb250ZmFjZS5yZXBlYXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZv
bnRmYWNlLnJlcGVhdC53b3JrZXIuanMKaW5kZXggYzE1ZWU5YWQ4NTcuLjVmZGM1YWY0YjcxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRHJhdyB3aXRoIHRoZSBmb250IGltbWVkaWF0ZWx5LCB0
aGVuIHdhaXQgYSBiaXQgdW50aWwgYW5kIGRyYXcgYWdhaW4uIChUaGlzIGNyYXNoZXMgc29tZSB2
ZXJzaW9uIG9mIFdlYktpdC4pIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsMTYgKzIxLDE0IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsKLWRlZmVyVGVzdCgp
Owotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAg
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUsIDAsMjU1LDAsMjU1LCAiNSw1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLndvcmtlci5qcwppbmRl
eCAxMzYzN2M3Y2IxMi4uMTE1Y2JmMmQxMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5mb250ZmFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRm
YWNlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNjdweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3Lmtlcm4u
Y29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3Lmtlcm4u
Y29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzCmluZGV4IDQ2ODA4YThiNDcyLi5mN2YwNDc2NWQw
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3Lmtlcm4uY29uc2lzdGVudC1tYW51
YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQt
bWFudWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlZCBhbmQgZmls
bGVkIHRleHQgc2hvdWxkIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBrZXJuaW5nIHNvIGl0IG92ZXJs
YXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFRleHQoJ1ZBVkFWQVZBVkFWQVZB
JywgLTUwLCAyNSk7CiBjdHguZmlsbFRleHQoJ1RvVG9Ub1RvVG9Ub1RvJywgLTUwLCA0NSk7CiBj
dHguc3Ryb2tlVGV4dCgnVkFWQVZBVkFWQVZBVkEnLCAtNTAsIDI1KTsKIGN0eC5zdHJva2VUZXh0
KCdUb1RvVG9Ub1RvVG9UbycsIC01MCwgNDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5iYXNpYy5odG1sCmluZGV4IDYwYTM4OGRlZTJjLi4yNGNjNDJkNjEz
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlUrMDAy
MCBpcyByZW5kZXJlZCB0aGUgY29ycmVjdCBzaXplICgxZW0gd2lkZSk8L3A+CkBAIC0xMSwyMyAr
MTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiVSswMDIwIGlzIHJlbmRl
cmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3aWRlKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJh
c2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy53b3JrZXIu
anMKaW5kZXggM2Q1MzllOWVhOTYuLjQ4YjM3ZTkzYTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zcGFjZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJVKzAw
MjAgaXMgcmVuZGVyZWQgdGhlIGNvcnJlY3Qgc2l6ZSAoMWVtIHdpZGUpIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRSBFRScsIC0xMDAsIDM3
LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LnNwYWNlLmNvbGxhcHNlLmVuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNv
bGxhcHNlLmVuZC5odG1sCmluZGV4IDBkNDRhMGRmOTVmLi40ODhjNWViZTI1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLmVuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YgYSBsaW5lIGFyZSBjb2xs
YXBzZWQgKHBlciBDU1MpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXQgdGhlIGVuZCBvZiBhIGxpbmUgYXJl
IGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5l
bmQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC53
b3JrZXIuanMKaW5kZXggNjA5YmZhZWNmZjYuLjFiYTQ4Y2YzMmM1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kLndvcmtlci5qcwpAQCAtNCwxNyAr
NCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXQgdGhlIGVuZCBvZiBhIGxpbmUgYXJl
IGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC0yMiw5ICsyNiw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9u
c3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFj
ZS5odG1sCmluZGV4IGE1OTZjNTFjMmI3Li41YWRjNmNlN2JjMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5ub25zcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2U8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPk5vbi1zcGFjZSBjaGFyYWN0ZXJzIGFyZSBub3QgY29udmVy
dGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkPC9wPgpAQCAtMTEsMjMgKzExLDI1IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi1zcGFjZSBjaGFyYWN0ZXJzIGFyZSBub3Qg
Y29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNw
YWNlLmNvbGxhcHNlLm5vbnNwYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5z
cGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMKaW5kZXggODgyMmRiZmFjMTguLjVjNWRk
ZDlkNjljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uu
bm9uc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5ub25zcGFjZS53b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJOb24tc3Bh
Y2UgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0Vc
eDBiIEVFJywgLTE1MCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlci5odG1sCmluZGV4IGQ3ZGIyM2NiNGVlLi4z
OGJhZWUxMjliNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLm90aGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNl
Lm90aGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3Bh
Y2UuY29sbGFwc2Uub3RoZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMg
YXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpPC9wPgpAQCAt
MTEsMjMgKzExLDI1IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNo
YXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBjb2xsYXBzZWQgKHBlciBDU1Mp
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBj
dHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigp
IHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgn
RSBceDA5XHgwYVx4MGNceDBkICBceDA5XHgwYVx4MGNceDBkRUUnLCAtMTAwLCAzNy41KTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNl
LmNvbGxhcHNlLm90aGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5vdGhlci53b3JrZXIuanMKaW5kZXggYzY2MDIzNTBkODEuLjFiNjg3YzdiZjQ5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlci53
b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBj
b252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgXHgwOVx4MGFceDBj
XHgwZCAgXHgwOVx4MGFceDBjXHgwZEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS5odG1sCmlu
ZGV4IDRjMWE1YTRjODUyLi43Zjc3NWE5NTBlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBjb2xsYXBzZWQg
KHBlciBDU1MpPC9wPgpAQCAtMTEsMjMgKzExLDI1IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBj
b2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0
KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsVGV4dCgnRSAgRUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS53
b3JrZXIuanMKaW5kZXggOThkNjkyNDQ4MWYuLmY0ZGYxNmMyODk3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS53b3JrZXIuanMKQEAgLTQs
MjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSsw
MDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsK
LWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgIEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFw
c2Uuc3RhcnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFy
dC5odG1sCmluZGV4IDFhNzNiOTQxZDM2Li5lZjIwZDM1N2Q1YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5z
dGFydDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSBhcmUgY29s
bGFwc2VkIChwZXIgQ1NTKTwvcD4KQEAgLTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUg
YXJlIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiAgICAgY3R4LmZpbGxUZXh0KCcgRUUnLCAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53
b3JrZXIuanMKaW5kZXggZWRlZDFhODgwNzAuLjU0OWZhYjBiNDZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIuanMKQEAgLTQs
MjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBzdGFydCBvZiBhIGxp
bmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCcgRUUnLCAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMtbWFudWFs
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMtbWFudWFsLndv
cmtlci5qcwppbmRleCBhMDlhMWVhZWVhNS4uNGRhMGI1ZGNhMzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRleHQgZHJhd3Mgc3Ryb2tlZCB0ZXh0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTksNyArMjMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDE7
CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5zdHJva2VUZXh0KCdQ
QVNTJywgNSwgMzUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zdHJva2UudW5hZmZlY3RlZC5odG1sCmluZGV4IDFjYWM2NWNkNDM3Li5iMGM3NTU0NjlmOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zdHJv
a2UudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnN0cm9rZVRleHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBz
dWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgic3Ryb2tlVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMyw3ICszNyw2IEBAIGN0eC5maWxsKCk7CiAKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMKaW5kZXggNzkyMWY4YTU5MDAuLjg3
MjM2NTUyZWIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZm
ZWN0ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZl
Y3RlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRleHQgZG9lcyBu
b3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBj
dHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5kZWZhdWx0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sCmluZGV4IDczNmMxYWI5ZTI3
Li44MDBjN2M5OGM3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQuZGVmYXVsdDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC50ZXh0LmZvbnQuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNh
bWUoY3R4LmZvbnQsICcxMHB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fucy1z
ZXJpZiciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5mb250LmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQu
d29ya2VyLmpzCmluZGV4IGNhZDY1NmUyNWQwLi4xMzg2NzBlZTQ0MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2Vy
dFNhbWUoY3R4LmZvbnQsICcxMHB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fu
cy1zZXJpZiciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5mb250LnBhcnNlLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uu
YmFzaWMuaHRtbAppbmRleCBiMzY5ZTBlMzlkMS4uNjg2ODVlMThiNTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5wYXJzZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucGFyc2UuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250
LnBhcnNlLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBw
eCBzZXJpZiciKTsKIAogY3R4LmZvbnQgPSAnMjBQWCAgIFNFUklGJzsKIF9hc3NlcnRTYW1lKGN0
eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBweCBzZXJpZiciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJh
c2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53b3JrZXIu
anMKaW5kZXggMmEzZDkzZDdjOTAuLmUyNTkwZGNmYTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5wYXJzZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywg
ImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogCiBjdHguZm9udCA9ICcyMFBYICAgU0VSSUYn
OwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmZvbnQucGFyc2UuY29tcGxleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNl
LmNvbXBsZXguaHRtbAppbmRleCBhNDVmNzM3MjlkZi4uY2I2MmRhMDBlYTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
dGV4dC5mb250LnBhcnNlLmNvbXBsZXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBjdHguZm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24gRm9u
dCwgc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJ2l0YWxpYyBzbWFsbC1jYXBz
IDEycHggIlVua25vd24gRm9udCIsIHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJ2l0YWxpYyBz
bWFsbC1jYXBzIDEycHggXCJVbmtub3duIEZvbnRcIiwgc2Fucy1zZXJpZiciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBs
ZXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXgud29ya2Vy
LmpzCmluZGV4IDYyY2M2ZWRlMjcyLi5jMDk0ZGJhY2YxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJ3NtYWxsLWNhcHMgaXRhbGljIDQwMCAxMnB4LzIg
VW5rbm93biBGb250LCBzYW5zLXNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnaXRhbGlj
IHNtYWxsLWNhcHMgMTJweCAiVW5rbm93biBGb250Iiwgc2Fucy1zZXJpZicsICJjdHguZm9udCIs
ICInaXRhbGljIHNtYWxsLWNhcHMgMTJweCBcIlVua25vd24gRm9udFwiLCBzYW5zLXNlcmlmJyIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cGFyc2UuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQu
aHRtbAppbmRleCBiZDYxMGZmMzM0OC4uYjcyZGVjNTgxNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5m
b250LnBhcnNlLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250
LnBhcnNlLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDYgKzIz
LDEwIEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5m
b250ID0gJzIwcHggc2VyaWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywg
ImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogCitjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsK
K2N0eC5mb250ID0gJyc7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4
LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CisKIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogY3R4
LmZvbnQgPSAnYm9ndXMnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0
eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwpAQCAtNDYsNyArNTQsNiBAQCBfYXNzZXJ0U2FtZShj
dHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiBjdHgu
Zm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250ID0gJzFlbSBzZXJpZjsgYmFja2dyb3VuZDog
Z3JlZW47IG1hcmdpbjogMTBweCc7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYn
LCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcwppbmRleCA3MjgxNTk4
OGFkZS4uM2Q1MjgzN2ZiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJz
ZS5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52
YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDYg
KzE5LDEwIEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0
eC5mb250ID0gJzIwcHggc2VyaWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlm
JywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogCitjdHguZm9udCA9ICcyMHB4IHNlcmlm
JzsKK2N0eC5mb250ID0gJyc7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAi
Y3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CisKIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwog
Y3R4LmZvbnQgPSAnYm9ndXMnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywg
ImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwpAQCAtNDIsNyArNTAsNiBAQCBfYXNzZXJ0U2Ft
ZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiBj
dHguZm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250ID0gJzFlbSBzZXJpZjsgYmFja2dyb3Vu
ZDogZ3JlZW47IG1hcmdpbjogMTBweCc7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2Vy
aWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0uaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0uaHRtbAppbmRleCBhM2RkNDQ4YWFiNS4uZGY3
NzA1YzFjNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZm9udC5wYXJz
ZS5zeXN0ZW08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250LnBhcnNlLnN5c3RlbTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U3lzdGVtIGZvbnRzIG11c3QgYmUgY29tcHV0ZWQgdG8gZXhwbGljaXQgdmFsdWVzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3lz
dGVtIGZvbnRzIG11c3QgYmUgY29tcHV0ZWQgdG8gZXhwbGljaXQgdmFsdWVzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIGN0eC5mb250ID0gJ21lc3NhZ2UtYm94JzsKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmZvbnQs
ICdtZXNzYWdlLWJveCcsICJjdHguZm9udCIsICInbWVzc2FnZS1ib3gnIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0u
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS53b3JrZXIuanMK
aW5kZXggMGI1YmNmYzI2YzMuLmJkZWNiYjEzZWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3lzdGVt
IGZvbnRzIG11c3QgYmUgY29tcHV0ZWQgdG8gZXhwbGljaXQgdmFsdWVzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQs
NyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IGN0eC5mb250ID0gJ21lc3NhZ2UtYm94JzsKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmZvbnQsICdt
ZXNzYWdlLWJveCcsICJjdHguZm9udCIsICInbWVzc2FnZS1ib3gnIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS5odG1sCmluZGV4IDM1MGFkMjNjMTVl
Li5hYmIxYjFhMTU4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRp
bnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucGFy
c2UudGlueTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQucGFyc2UudGlueTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzFweCBzYW5zLXNlcmlmJzsKIF9hc3NlcnRT
YW1lKGN0eC5mb250LCAnMXB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzFweCBzYW5zLXNl
cmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucGFyc2UudGlueS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uu
dGlueS53b3JrZXIuanMKaW5kZXggMTFhOTZkY2Q3NDUuLmJlMTg0MWI5ODZiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnMXB4IHNhbnMtc2VyaWYnOwogX2Fzc2Vy
dFNhbWUoY3R4LmZvbnQsICcxcHggc2Fucy1zZXJpZicsICJjdHguZm9udCIsICInMXB4IHNhbnMt
c2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRp
dmVfc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lYmUz
ZDJkNDNlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2
ZV9zaXplLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5P
VCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHku
IC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucmVsYXRpdmVf
c2l6ZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKworPGgxPjJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplPC9oMT4KKzxwIGNs
YXNzPSJkZXNjIj48L3A+CisKKworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24o
KSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCitjdHguZm9u
dCA9ICcxZW0gc2Fucy1zZXJpZic7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1z
ZXJpZicsICJjdHguZm9udCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwordC5kb25lKCk7CisKK30p
OworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVf
c2l6ZS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndv
cmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yMzgyOTEz
NTI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9z
aXplLndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5yZWxhdGl2ZV9zaXplLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uNDcwYzU0ZmFhZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucmVsYXRpdmVfc2l6ZS53b3JrZXIuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gRE8gTk9U
IEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4K
Ky8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQuZm9udC5yZWxhdGl2
ZV9zaXplCisvLyBEZXNjcmlwdGlvbjoKKy8vIE5vdGU6CisKK2ltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkgewor
Cit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKK3Zh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKworY3R4LmZvbnQgPSAn
MWVtIHNhbnMtc2VyaWYnOworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcxMHB4IHNhbnMtc2VyaWYn
LCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fucy1zZXJpZiciKTsKK3QuZG9uZSgpOworCit9KTsKK2Rv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGlu
Z0JveC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk1YjIxMTlkOWUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5n
Qm94Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBF
RElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0t
PgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91
bmRpbmdCb3g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3g8
L2gxPgorPHAgY2xhc3M9ImRlc2MiPlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNj
cmVlbkNhbnZhczwvcD4KKworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5n
IGFjdHVhbEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNl
KCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNl
bGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOwor
Zm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5j
dGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJl
Y3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBjdHguYmFzZWxpbmUg
PSAnYWxwaGFiZXRpYycKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisg
ICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRp
bmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5k
aW5nQm94TGVmdCkiLCAiMCIpOworICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRl
ciB0ZXh0IHNsaWdodGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgn
QScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5h
Y3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRl
eHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSwgImN0eC5tZWFzdXJlVGV4dCgn
QScpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDM1Iik7CisgICAgX2Fzc2VydFNhbWUoTWF0
aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSwgMCwg
Ik1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCki
LCAiMCIpOworCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOworICAgIF9hc3NlcnQoY3R4Lm1l
YXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSAyMDAsICJjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDIwMCIpOworICAgIF9h
c3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0g
ODUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4
NSIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdC
b3hEZXNjZW50ID49IDM3LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdC
b3hEZXNjZW50ID49IDM3Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGlu
Z0JveC53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGlu
Z0JveC53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u
MjM4MjkxMzUyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
YWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIyYTUzNjlhMjBlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndv
cmtlci5qcwpAQCAtMCwwICsxLDQzIEBACisvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2NyZWVuQ2FudmFzIHRl
c3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisvLyBEZXNj
cmlwdGlvbjpUZXN0aW5nIGFjdHVhbEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMKKy8v
IE5vdGU6CisKK2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2
YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVl
bkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5z
dGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rl
c3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVu
dC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9
ICdsZWZ0JworICAgIGN0eC5iYXNlbGluZSA9ICdhbHBoYWJldGljJworICAgIC8vIFNvbWUgcGxh
dGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVh
c3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpLCAwLCAiTWF0aC5hYnMoY3R4Lm1l
YXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSIsICIwIik7CisgICAgLy8gRGlm
ZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlmZmVyZW50LgorICAg
IF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSA1
MCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTAiKTsK
KyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50
ID49IDM1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0g
MzUiKTsKKyAgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1
YWxCb3VuZGluZ0JveERlc2NlbnQpLCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJyku
YWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSIsICIwIik7CisKKyAgICBfYXNzZXJ0U2FtZShNYXRo
LmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpLCAwLCAi
TWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSIs
ICIwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGlu
Z0JveFJpZ2h0ID49IDIwMCwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5n
Qm94UmlnaHQgPj0gMjAwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5h
Y3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4NSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFj
dHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDg1Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRl
eHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQgPj0gMzcsICJjdHgubWVhc3VyZVRl
eHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQgPj0gMzciKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQubWVhc3VyZS5hZHZhbmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFu
Y2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZmNGUyMWRl
OTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2Vz
Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgor
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L2gxPgorPHAgY2xhc3M9ImRlc2Mi
PlRlc3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KKworCis8c2Ny
aXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZz
Y3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
K3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9j
dW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxp
Z24gPSAnbGVmdCcKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAg
X2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBd
KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDAp
KyJcIl0pIiwgIjAiKTsKKyAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4
dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbMV0gPj0gMzYsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNb
XCIiKygxKSsiXCJdID49IDM2Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbMl0gPj0gNTgsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNb
XCIiKygyKSsiXCJdID49IDU4Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbM10gPj0gNzAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNb
XCIiKygzKSsiXCJdID49IDcwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbNF0gPj0gODAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNb
XCIiKyg0KSsiXCJdID49IDgwIik7CisKKyAgICB2YXIgdG0gPSBjdHgubWVhc3VyZVRleHQoJ0hl
bGxvJyk7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2Vz
WzBdLCB0bS5hZHZhbmNlc1swXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tc
IiIrKDApKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygwKSsiXCJdIik7CisgICAgX2Fzc2VydFNh
bWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdLCB0bS5hZHZhbmNlc1sxXSwg
ImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0iLCAidG0uYWR2
YW5jZXNbXCIiKygxKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdI
ZWxsbycpLmFkdmFuY2VzWzJdLCB0bS5hZHZhbmNlc1syXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVs
bG8nKS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygyKSsiXCJdIik7
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdLCB0
bS5hZHZhbmNlc1szXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMp
KyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygzKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdLCB0bS5hZHZhbmNlc1s0XSwgImN0eC5t
ZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDQpKyJcIl0iLCAidG0uYWR2YW5jZXNb
XCIiKyg0KSsiXCJdIik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFk
dmFuY2VzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3Jr
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjFhMmM2NmYwNTFm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndv
cmtlci5qcwpAQCAtMCwwICsxLDQ1IEBACisvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2NyZWVuQ2FudmFzIHRl
c3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzCisvLyBEZXNjcmlwdGlvbjpU
ZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3JlZW5DYW52YXMKKy8vIE5vdGU6CisKK2lt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFzeW5j
X3Rlc3QoIlRlc3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkg
eworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
K3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBu
ZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQg
Zm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250
cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9
KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Cisg
ICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgIC8v
IFNvbWUgcGxhdGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICBfYXNzZXJ0U2FtZShNYXRoLmFi
cyhjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0pLCAwLCAiTWF0aC5hYnMoY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMCkrIlwiXSkiLCAiMCIpOworICAg
IC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNsaWdodGx5IGRpZmZlcmVu
dC4KKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1sxXSA+PSAz
NiwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0gPj0gMzYi
KTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1syXSA+PSA1
OCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0gPj0gNTgi
KTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSA+PSA3
MCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMpKyJcIl0gPj0gNzAi
KTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1s0XSA+PSA4
MCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDQpKyJcIl0gPj0gODAi
KTsKKworICAgIHZhciB0bSA9IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKTsKKyAgICBfYXNzZXJ0
U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0sIHRtLmFkdmFuY2VzWzBd
LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMCkrIlwiXSIsICJ0bS5h
ZHZhbmNlc1tcIiIrKDApKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQo
J0hlbGxvJykuYWR2YW5jZXNbMV0sIHRtLmFkdmFuY2VzWzFdLCAiY3R4Lm1lYXN1cmVUZXh0KCdI
ZWxsbycpLmFkdmFuY2VzW1wiIisoMSkrIlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0i
KTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMl0s
IHRtLmFkdmFuY2VzWzJdLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIiso
MikrIlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10sIHRtLmFkdmFuY2VzWzNdLCAiY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMykrIlwiXSIsICJ0bS5hZHZhbmNl
c1tcIiIrKDMpKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbNF0sIHRtLmFkdmFuY2VzWzRdLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycp
LmFkdmFuY2VzW1wiIisoNCkrIlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDQpKyJcIl0iKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS5iYXNlbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uZmQyNmM1Y2IzZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYmFzZWxpbmVzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0t
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuIC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUu
YmFzZWxpbmVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lczwvaDE+Cis8
cCBjbGFzcz0iZGVzYyI+VGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4K
KworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGJhc2VsaW5lcyBmb3Ig
T2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMv
Q2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6
IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4g
eworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOworICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgY3R4LmFs
aWduID0gJ2xlZnQnCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0En
KS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4
dCgnQScpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJj
dHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsK
KyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdp
bmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2
OCIpOworCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5n
ZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzks
ICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICIt
MzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5l
cygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCku
aGFuZ2luZyIsICI2OCIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtlci5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5iYXNlbGluZXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5l
cy53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQxYzJk
ZmY4YzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2Vs
aW5lcy53b3JrZXIuanMKQEAgLTAsMCArMSwzOCBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVz
dCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNh
bnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMKKy8vIERlc2Ny
aXB0aW9uOlRlc3RpbmcgYmFzZWxpbmVzIGZvciBPZmZzY3JlZW5DYW52YXMKKy8vIE5vdGU6CisK
K2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFz
eW5jX3Rlc3QoIlRlc3RpbmcgYmFzZWxpbmVzIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsK
KwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3
IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZv
bnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMu
YWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSku
dGhlbihmdW5jdGlvbigpIHsKKyAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICBj
dHguZGlyZWN0aW9uID0gJ2x0cic7CisgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgIF9hc3NlcnRT
YW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0
aWMpLCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuYWxw
aGFiZXRpYykiLCAiMCIpOworICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0
QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMsIC0zOSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJh
c2VsaW5lcygpLmlkZW9ncmFwaGljIiwgIi0zOSIpOworICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZywgNjgsICJjdHgubWVhc3VyZVRleHQo
J0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nIiwgIjY4Iik7CisKKyAgIF9hc3NlcnRTYW1lKE1h
dGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMp
LCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuYWxw
aGFiZXRpYykiLCAiMCIpOworICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
Z2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMsIC0zOSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljIiwgIi0zOSIpOworICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZywgNjgsICJjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nIiwgIjY4Iik7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
ZW1IZWlnaHRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEw
OGMyYWU3ZGFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVt
SGVpZ2h0cy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBO
T1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5
LiAtLT4KKzx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmVtSGVp
Z2h0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5lbUhlaWdodHM8L2gxPgorPHAgY2xh
c3M9ImRlc2MiPlRlc3RpbmcgZW1IZWlnaHRzIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisKKwor
PHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNj
cmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwor
dC5zdGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZh
c1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1
bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGln
biA9ICdsZWZ0JworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0
QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAiMzcu
NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2Vu
dCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCIsICIxMi41Iik7
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ICsg
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0
KCdBJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2Nl
bnQiLCAiNTAiKTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVt
SGVpZ2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2Nl
bnQiLCAiMzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVt
SGVpZ2h0RGVzY2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVz
Y2VudCIsICIxMi41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
ZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQs
IDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1
cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAiNTAiKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5l
bUhlaWdodHMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAuLjIzODI5MTM1MjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwLi5iZjU3NmYyYzRjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmpzCkBAIC0wLDAgKzEsMzggQEAKKy8v
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1
cmUuZW1IZWlnaHRzCisvLyBEZXNjcmlwdGlvbjpUZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zmc2Ny
ZWVuQ2FudmFzCisvLyBOb3RlOgorCitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zm
c2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2Fu
dmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRv
Y3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4gewor
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFs
aWduID0gJ2xlZnQnCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWln
aHRBc2NlbnQsIDM3LjUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCIsICIz
Ny41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNj
ZW50LCAxMi41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50IiwgIjEyLjUi
KTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQg
KyBjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCwgNTAsICJjdHgubWVhc3VyZVRl
eHQoJ0EnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFz
Y2VudCIsICI1MCIpOworCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
ZW1IZWlnaHRBc2NlbnQsIDM3LjUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFz
Y2VudCIsICIzNy41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
ZW1IZWlnaHREZXNjZW50LCAxMi41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRE
ZXNjZW50IiwgIjEyLjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0Qn
KS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2Vu
dCwgNTAsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2VudCIsICI1MCIpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmZvbnRCb3VuZGluZ0JveC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZv
bnRCb3VuZGluZ0JveC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li43OTAyNzcyMDM1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5mb250Qm91bmRpbmdCb3guaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMv
Z2VudGVzdC5weS4gLS0+Cis8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVh
c3VyZS5mb250Qm91bmRpbmdCb3g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuZm9udEJv
dW5kaW5nQm94PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5UZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBm
b3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisKKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlRlc3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwor
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZv
bnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRz
ID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRk
KGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0
eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBfYXNzZXJ0
U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQsIDg1LCAiY3R4
Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50IiwgIjg1Iik7CisgICAgX2Fz
c2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCwgMzks
ICJjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7CisK
KyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hB
c2NlbnQsIDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94QXNjZW50
IiwgIjg1Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJv
dW5kaW5nQm94RGVzY2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRp
bmdCb3hEZXNjZW50IiwgIjM5Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRp
bmdCb3gud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5n
Qm94Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4y
MzgyOTEzNTI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5m
b250Qm91bmRpbmdCb3gud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDE4ZmYzM2M3ODgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5qcwpA
QCAtMCwwICsxLDM2IEBACisvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVy
YXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2NyZWVuQ2FudmFzIHRlc3QgaW4gYSB3
b3JrZXI6MmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveAorLy8gRGVzY3JpcHRpb246VGVz
dGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToKKworaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNf
dGVzdCgiVGVzdGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkg
eworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
K3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBu
ZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQg
Zm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250
cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9
KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Cisg
ICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgIF9h
c3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCwgODUs
ICJjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQiLCAiODUiKTsKKyAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50
LCAzOSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQiLCAiMzki
KTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGlu
Z0JveEFzY2VudCwgODUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hB
c2NlbnQiLCAiODUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5m
b250Qm91bmRpbmdCb3hEZXNjZW50LCAzOSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRC
b3VuZGluZ0JveERlc2NlbnQiLCAiMzkiKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9
KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5i
YXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLmh0bWwKaW5k
ZXggYTAxYzEwOTllYmMuLjZhY2U5NDQ5NjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
d2lkdGguYmFzaWMuaHRtbApAQCAtMywyMSArMywyOSBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5tZWFzdXJl
LndpZHRoLmJhc2ljPC9oMT4KLTxwIGNsYXNzPSJkZXNjIj48L3A+Cis8cCBjbGFzcz0iZGVzYyI+
VGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVu
Q2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHQg
PSBhc3luY190ZXN0KCJUaGUgd2lkdGggb2YgY2hhcmFjdGVyIGlzIHNhbWUgYXMgZm9udCB1c2Vk
IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAi
L2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYu
Zm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVu
KCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVw
X3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVU
ZXh0KCdBJykud2lkdGgsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgiLCAiNTAiKTsK
ICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGgsIDEwMCwgImN0eC5t
ZWFzdXJlVGV4dCgnQUEnKS53aWR0aCIsICIxMDAiKTsKQEAgLTI1LDkgKzMzLDcgQEAgc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgY3R4LmZvbnQgPSAn
MTAwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJyku
d2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoIiwgIjEwMCIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcwpp
bmRleCBiNGNhMjNiMmE0MC4uZGEyZWE3MDViNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcwpAQCAtMSwxOSArMSwyNyBAQAogLy8gRE8gTk9U
IEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4K
IC8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS53aWR0
aC5iYXNpYwotLy8gRGVzY3JpcHRpb246CisvLyBEZXNjcmlwdGlvbjpUaGUgd2lkdGggb2YgY2hh
cmFjdGVyIGlzIHNhbWUgYXMgZm9udCB1c2VkIGZvciBPZmZzY3JlZW5DYW52YXMKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAotdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFz
IGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52
YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9u
dHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMu
cmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigp
IHsKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0
eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoLCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRo
IiwgIjUwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoLCAx
MDAsICJjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGgiLCAiMTAwIik7CkBAIC0yMSw5ICsyOSw3
IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKIAogICAgIGN0
eC5mb250ID0gJzEwMHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJl
VGV4dCgnQScpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCIsICIxMDAi
KTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5l
bXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lmh0bWwKaW5k
ZXggNjE3M2QxODNjYTIuLmU4YzBiNTQ0YWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
d2lkdGguZW1wdHkuaHRtbApAQCAtMywyNiArMywzMiBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5tZWFzdXJl
LndpZHRoLmVtcHR5PC9oMT4KLTxwIGNsYXNzPSJkZXNjIj5UaGUgZW1wdHkgc3RyaW5nIGhhcyB6
ZXJvIHdpZHRoPC9wPgorPHAgY2xhc3M9ImRlc2MiPlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8g
d2lkdGggZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KIAogCiA8c2NyaXB0PgotdmFyIHQgPSBhc3lu
Y190ZXN0KCJUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIik7Cit2YXIgdCA9IGFzeW5j
X3Rlc3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGggZm9yIE9mZnNjcmVlbkNhbnZh
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAot
ZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50
dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZv
bnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoIiIpLndpZHRoLCAwLCAi
Y3R4Lm1lYXN1cmVUZXh0KFwiXCIpLndpZHRoIiwgIjAiKTsKLX0pLCA1MDApOwotCi10LmRvbmUo
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS53b3JrZXIuanMKaW5kZXggZDljNzFhZmFm
YTYuLjMyZjkxY2RhOTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lk
dGguZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5l
bXB0eS53b3JrZXIuanMKQEAgLTEsMjQgKzEsMzAgQEAKIC8vIERPIE5PVCBFRElUISBUaGlzIHRl
c3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAvLyBPZmZzY3JlZW5D
YW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkKLS8vIERl
c2NyaXB0aW9uOlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgKKy8vIERlc2NyaXB0aW9u
OlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGggZm9yIE9mZnNjcmVlbkNhbnZhcwogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCi12YXIgdCA9IGFzeW5jX3Rl
c3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgiKTsKK3ZhciB0ID0gYXN5bmNfdGVz
dCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3Zh
ciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIp
OworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMp
OworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgiIikud2lkdGgsIDAsICJjdHgu
bWVhc3VyZVRleHQoXCJcIikud2lkdGgiLCAiMCIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbAppbmRleCBiNGNkYzhiMGM2Yi4uMzBhNzNjY2ExYTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sCkBAIC0zLDIxICsz
LDI5IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS53aWR0
aC5zcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2U8L2gxPgotPHAgY2xhc3M9
ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxh
cHNlZCAocGVyIENTUyk8L3A+Cis8cCBjbGFzcz0iZGVzYyI+U3BhY2UgY2hhcmFjdGVycyBhcmUg
Y29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3IgT2Zmc2NyZWVu
Q2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJh
Y3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsK
K3ZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUr
MDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZlclRlc3Qo
KTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3ZhciBmID0g
bmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0
IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9u
dHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOwor
fSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwog
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQSBCJykud2lkdGgsIDE1MCwgImN0eC5t
ZWFzdXJlVGV4dCgnQSBCJykud2lkdGgiLCAiMTUwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1l
YXN1cmVUZXh0KCdBICBCJykud2lkdGgsIDE1MCwgImN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndp
ZHRoIiwgIjE1MCIpOwpAQCAtMjYsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CiAKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJyBB
QicpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoIiwgIjEwMCIpOwog
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGgsIDEwMCwgImN0eC5t
ZWFzdXJlVGV4dCgnQUIgJykud2lkdGgiLCAiMTAwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpzCmluZGV4IDVmYzkxYjg0ODgy
Li42MGJmZmFhYTc2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRo
LnNwYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3Bh
Y2Uud29ya2VyLmpzCkBAIC0xLDE5ICsxLDI3IEBACiAvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgogLy8gT2Zmc2NyZWVuQ2Fu
dmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlCi0vLyBEZXNj
cmlwdGlvbjpTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xs
YXBzZWQgKHBlciBDU1MpCisvLyBEZXNjcmlwdGlvbjpTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252
ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIGZvciBPZmZzY3JlZW5DYW52
YXMKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAotdmFyIHQgPSBh
c3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBj
b2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3Rl
cnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9m
ZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMv
Q2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6
IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4g
eworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0Eg
QicpLndpZHRoLCAxNTAsICJjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoIiwgIjE1MCIpOwog
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoLCAxNTAsICJjdHgu
bWVhc3VyZVRleHQoJ0EgIEInKS53aWR0aCIsICIxNTAiKTsKQEAgLTIyLDkgKzMwLDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgX2Fzc2VydFNh
bWUoY3R4Lm1lYXN1cmVUZXh0KCcgQUInKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCcg
QUInKS53aWR0aCIsICIxMDAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FC
ICcpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRoIiwgIjEwMCIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC93
M2MtaW1wb3J0LmxvZwppbmRleCA5NzU1YjM3NWE2Yy4uOTA3NDE5ZDk4ZTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCkBA
IC0xMDcsNiArMTA3LDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlu
eS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29ya2VyLmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5h
Y3R1YWxCb3VuZGluZ0JveC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJv
dW5kaW5nQm94Lndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS5iYXNlbGluZXMud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVp
Z2h0cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLmJhc2ljLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5l
bXB0eS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5iaXRtYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmJpdG1hcC5odG1sCmluZGV4IGEzODRlNTZmMjQ4Li5iOTU1Mzg3MmVkYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFw
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0
YXRlLnNhdmVyZXN0b3JlLmJpdG1hcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRo
ZSBjdXJyZW50IGJpdG1hcDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJy
ZW50IGJpdG1hcCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5qcwppbmRleCBi
ZTI0MGE0ZWJmZS4uNTI3MjI5MjNiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJl
bnQgYml0bWFwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbAppbmRleCAwYjNhN2VhZjM4Ny4uMzg2
YzNjMmM4OTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRo
ZSBjbGlwcGluZyBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRo
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKaW5kZXggY2VlN2RmMDhiZGUuLmNl
ZDEwYWNhMjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5jbGlwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2
ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3Jl
LmZpbGxTdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuZmlsbFN0eWxlLmh0bWwKaW5kZXggODYxMzEyZDBmNDUuLjFkN2U4NjJjMjNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxs
U3R5bGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3Jl
LmZpbGxTdHlsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBm
b3IgZmlsbFN0eWxlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgZmlsbFN0eWxlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHguZmlsbFN0eWxlOwogY3R4LnNhdmUoKTsKIF9hc3Nl
cnRTYW1lKGN0eC5maWxsU3R5bGUsIG9sZCwgImN0eC5maWxsU3R5bGUiLCAib2xkIik7CiBjdHgu
cmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLndvcmtlci5qcwpp
bmRleCBhNzIyZGQwNDFmNi4uNDcyNzc5OGU4NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgZmls
bFN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguZmlsbFN0eWxlOwogY3R4
LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsIG9sZCwgImN0eC5maWxsU3R5bGUi
LCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxBbHBoYS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxw
aGEuaHRtbAppbmRleCBhMjRjM2Q1NjBmYi4uZWMzMWM2M2RhYTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xv
YmFsQWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgZ2xvYmFsQWxwaGEiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxBbHBoYTsKIGN0eC5zYXZlKCk7CiBf
YXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIG9sZCwgImN0eC5nbG9iYWxBbHBoYSIsICJvbGQi
KTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhh
Lndvcmtlci5qcwppbmRleCA2NDMyNzgzYzdkYy4uMWUwNGQ4NDVhMzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9i
YWxBbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBj
dHguZ2xvYmFsQWxwaGE7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhh
LCBvbGQsICJjdHguZ2xvYmFsQWxwaGEiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi5odG1s
CmluZGV4IDVjNTEyZmJkZGEwLi4zNjA5MDVkMjZiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
bjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uLCBvbGQsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm9sZCIpOwog
Y3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIuanMKaW5kZXggZTA2Yzk5NDYyYmMuLmI4YTk3
MGRmNzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3Mg
Zm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xk
ID0gY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBvbGQsICJjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGlu
ZUNhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGlu
ZUNhcC5odG1sCmluZGV4IGEwZTI0NTc0MzZhLi42MGMyNDgyYTQxZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2
ZXJlc3RvcmUubGluZUNhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgp
L3Jlc3RvcmUoKSB3b3JrcyBmb3IgbGluZUNhcCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xk
ID0gY3R4LmxpbmVDYXA7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsIG9s
ZCwgImN0eC5saW5lQ2FwIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUubGluZUNhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5saW5lQ2FwLndvcmtlci5qcwppbmRleCBmYTk2Nzc0M2EwMi4uOTA4MmIwMmQ2OWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxp
bmVDYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQg
PSBjdHgubGluZUNhcDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgb2xk
LCAiY3R4LmxpbmVDYXAiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5saW5lSm9pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUubGluZUpvaW4uaHRtbAppbmRleCA3NWM4YTk0YzYwNy4uMzQ3NDM0YWNiOGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpv
aW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGlu
ZUpvaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxp
bmVKb2luPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgbGluZUpvaW4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3
ICszNSw2IEBAIG9sZCA9IGN0eC5saW5lSm9pbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShj
dHgubGluZUpvaW4sIG9sZCwgImN0eC5saW5lSm9pbiIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLndvcmtlci5qcwppbmRleCAxYTRhMzc3
ZjUwNC4uOTk3Y2U4ODE2YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVKb2luIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgubGluZUpvaW47CiBjdHguc2F2ZSgpOwogX2Fzc2Vy
dFNhbWUoY3R4LmxpbmVKb2luLCBvbGQsICJjdHgubGluZUpvaW4iLCAib2xkIik7CiBjdHgucmVz
dG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC5odG1sCmluZGV4IDU2NWZjNjNl
MzhhLi5mNTQ5N2U2ZjMzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGg8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVXaWR0aDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29y
a3MgZm9yIGxpbmVXaWR0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LmxpbmVX
aWR0aDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBvbGQsICJjdHgu
bGluZVdpZHRoIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGlu
ZVdpZHRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLmxpbmVXaWR0aC53b3JrZXIuanMKaW5kZXggYjA0ZDRiYjAxYjEuLjNhYThjYTIwZTdhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5l
V2lkdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmxpbmVXaWR0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUo
KS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVXaWR0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
b2xkID0gY3R4LmxpbmVXaWR0aDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdp
ZHRoLCBvbGQsICJjdHgubGluZVdpZHRoIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1sCmluZGV4IDIxNzMzMjVlMjQ4Li5lYzg2Yzgy
NmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUubWl0ZXJMaW1pdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLm1pdGVyTGltaXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBtaXRlckxpbWl0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Ig
bWl0ZXJMaW1pdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4Lm1pdGVyTGltaXQ7
CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIG9sZCwgImN0eC5taXRl
ckxpbWl0IiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJM
aW1pdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5taXRlckxpbWl0Lndvcmtlci5qcwppbmRleCAwNTkxYTdiNTk3ZS4uYTFlYWZkNmQyNzIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVy
TGltaXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZl
KCkvcmVzdG9yZSgpIHdvcmtzIGZvciBtaXRlckxpbWl0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBA
QCBvbGQgPSBjdHgubWl0ZXJMaW1pdDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubWl0
ZXJMaW1pdCwgb2xkLCAiY3R4Lm1pdGVyTGltaXQiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwKaW5kZXggMmM0OGI5OWVlOTYuLjFlZTVlNWFkYjNjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRo
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0
aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
dGF0ZS5zYXZlcmVzdG9yZS5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGg8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBj
dXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBw
YXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnBhdGgud29ya2VyLmpzCmluZGV4IDgzODMzZTU5NWRjLi4wZGMyZThhOGNjYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
cGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkg
ZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5yZXN0b3JlKCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIuaHRtbAppbmRl
eCAwZjRmY2NjOTQ4NC4uMTcwZDMwZWM4YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnNoYWRvd0JsdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1cjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Qmx1cjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUo
KS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0JsdXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBA
IG9sZCA9IGN0eC5zaGFkb3dCbHVyOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFk
b3dCbHVyLCBvbGQsICJjdHguc2hhZG93Qmx1ciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMKaW5kZXggYzI0ZTY0
MzhkNzkuLjdhZjU3OTkyNGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Qmx1ciIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNoYWRvd0JsdXI7CiBjdHguc2F2ZSgp
OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIG9sZCwgImN0eC5zaGFkb3dCbHVyIiwgIm9s
ZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0
bWwKaW5kZXggMDg2YmEzMDAzZTYuLjkxMDhkMGRkYmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNh
dmVyZXN0b3JlLnNoYWRvd0NvbG9yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0Nv
bG9yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFk
b3dDb2xvcjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0NvbG9yIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzEsNyArMzUsNiBAQCBvbGQgPSBjdHguc2hhZG93Q29sb3I7CiBjdHguc2F2ZSgpOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd0NvbG9yLCBvbGQsICJjdHguc2hhZG93Q29sb3IiLCAib2xkIik7CiBj
dHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3Jr
ZXIuanMKaW5kZXggOTRlMjViYjkwOGEuLmZkMzU4M2MzMzVmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29s
b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdv
cmtzIGZvciBzaGFkb3dDb2xvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNo
YWRvd0NvbG9yOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgb2xk
LCAiY3R4LnNoYWRvd0NvbG9yIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc2hhZG93T2Zmc2V0WC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC5odG1sCmluZGV4IGYyMTFhMDM0OGE1Li4wZDNiZjU2
NzMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc2hhZG93T2Zmc2V0WC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dPZmZzZXRYPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3Rv
cmUoKSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xk
ID0gY3R4LnNoYWRvd09mZnNldFg7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d09mZnNldFgsIG9sZCwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUo
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcwpp
bmRleCAzNzNhZmEwOWY2MS4uOGM1ODIwMGE5ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFgud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFgu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtz
IGZvciBzaGFkb3dPZmZzZXRYIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguc2hh
ZG93T2Zmc2V0WDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WCwg
b2xkLCAiY3R4LnNoYWRvd09mZnNldFgiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZLmh0bWwKaW5kZXggMWMxMDEzYjg4MDYuLjlk
NmZiNDgxOWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dPZmZzZXRZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZz
ZXRZPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFk8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09mZnNldFk8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dPZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBA
QCBvbGQgPSBjdHguc2hhZG93T2Zmc2V0WTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgu
c2hhZG93T2Zmc2V0WSwgb2xkLCAiY3R4LnNoYWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVz
dG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2Vy
LmpzCmluZGV4IGY4ODNhOTM1Zjg3Li4yN2IxODA0ZTAwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zm
c2V0WS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkg
d29ya3MgZm9yIHNoYWRvd09mZnNldFkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0
eC5zaGFkb3dPZmZzZXRZOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZz
ZXRZLCBvbGQsICJjdHguc2hhZG93T2Zmc2V0WSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnN0YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5zdGFjay5odG1sCmluZGV4IDZlNzQ4MjVmNjY5Li5hNDFkYjllNDk5OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Rh
Y2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dGFjay5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjazwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFj
azwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBjYW4gYmUgbmVzdGVkIGFz
IGEgc3RhY2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBzdGFjayIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lk
dGgsIDIsICJjdHgubGluZVdpZHRoIiwgIjIiKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZVdpZHRoLCAxLCAiY3R4LmxpbmVXaWR0aCIsICIxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnN0YWNrLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnN0YWNrLndvcmtlci5qcwppbmRleCA1YTBmNzRiOGFiOS4uYzRhYjM4OGU2MmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNr
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5zdGFjay53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3Jl
KCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgu
cmVzdG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMiwgImN0eC5saW5lV2lkdGgi
LCAiMiIpOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEsICJj
dHgubGluZVdpZHRoIiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1s
CmluZGV4IDQwOTdhZTllZTBjLi45NTUzMTc3ZDRiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc3RhY2tkZXB0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1
bnJlYXNvbmFibHkgbGltaXRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgc3RhY2sgZGVwdGggaXMgbm90IHVu
cmVhc29uYWJseSBsaW1pdGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBmb3IgKHZhciBpID0g
bGltaXQtMTsgaSA+IDA7IC0taSkKICAgICBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBpLCAi
Y3R4LmxpbmVXaWR0aCIsICJpIik7CiAgICAgY3R4LnJlc3RvcmUoKTsKIH0KLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc3RhY2tkZXB0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLndvcmtlci5qcwppbmRleCA1OGEyOGUwZWM4OC4uNjdh
ZTYyZGFjODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnN0YWNrZGVwdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFibHkg
bGltaXRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgZm9yICh2YXIgaSA9IGxpbWl0LTE7IGkg
PiAwOyAtLWkpCiAgICAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgaSwgImN0eC5saW5lV2lk
dGgiLCAiaSIpOwogICAgIGN0eC5yZXN0b3JlKCk7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9r
ZVN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dHJva2VTdHlsZS5odG1sCmluZGV4IDEzYzBjOWY4NjVjLi4wOWI5MmJiNzhkNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJv
a2VTdHlsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zdHJva2VTdHlsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3
b3JrcyBmb3Igc3Ryb2tlU3R5bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzdHJva2VTdHls
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LnN0cm9rZVN0eWxlOwogY3R4LnNh
dmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zdHJva2VTdHlsZSwgb2xkLCAiY3R4LnN0cm9rZVN0eWxl
IiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ry
b2tlU3R5bGUud29ya2VyLmpzCmluZGV4IDFmMTQ5ZWQ5OWRjLi4yNGM0N2Y3YjBjMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5
bGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnN0cm9rZVN0eWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgp
L3Jlc3RvcmUoKSB3b3JrcyBmb3Igc3Ryb2tlU3R5bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IG9sZCA9IGN0eC5zdHJva2VTdHlsZTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc3Ry
b2tlU3R5bGUsIG9sZCwgImN0eC5zdHJva2VTdHlsZSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sCmluZGV4IDc4NWMx
MjhjMjQ5Li5iYTFhYWJkOTQwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9y
ZS50cmFuc2Zvcm1hdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlv
bjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJy
ZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY3Vy
cmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5y
ZXN0b3JlKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KC0yMDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3Jt
YXRpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUudHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCmluZGV4IGU1Y2U0NWUzY2RmLi4yMjQwMzllNjk4
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
dHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0
aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCmluZGV4IDQ2
YWEyOWU3MjY5Li4yZGFiNmU4YzcwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVy
ZmxvdzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3c8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnJlc3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNrIGhhcyBubyBlZmZlY3Q8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJyZXN0b3Jl
KCkgd2l0aCBhbiBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpCiBjdHgubGluZVdpZHRoID0gMC41Owog
Y3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDAuNSwgImN0eC5saW5l
V2lkdGgiLCAiMC41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2Vy
LmpzCmluZGV4IDE1MGEzMWNmMDUyLi5mMzhhOTVjNGYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBz
dGFjayBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBmb3IgKHZhciBpID0g
MDsgaSA8IDE2OyArK2kpCiBjdHgubGluZVdpZHRoID0gMC41OwogY3R4LnJlc3RvcmUoKTsKIF9h
c3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDAuNSwgImN0eC5saW5lV2lkdGgiLCAiMC41Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5jYW52YXMucmVhZG9ubHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52
YXMucmVhZG9ubHkuaHRtbAppbmRleCAxN2E5ODZjMjMzMy4uYWFlZDQwMTM2YjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNhbnZhcy5yZWFkb25s
eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jYW52YXMucmVhZG9ubHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNhbnZhcyBp
cyByZWFkb25seTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNhbnZhcyBpcyByZWFkb25seSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgdmFy
IGQgPSBjdHguY2FudmFzOwogX2Fzc2VydERpZmZlcmVudChvZmZzY3JlZW5DYW52YXMyLCBkLCAi
b2Zmc2NyZWVuQ2FudmFzMiIsICJkIik7CiBjdHguY2FudmFzID0gb2Zmc2NyZWVuQ2FudmFzMjsK
IF9hc3NlcnRTYW1lKGN0eC5jYW52YXMsIGQsICJjdHguY2FudmFzIiwgImQiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZh
cy5yZWFkb25seS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFz
LnJlYWRvbmx5Lndvcmtlci5qcwppbmRleCBmZGQ5OWY4NmViNy4uZDk5MWIxOTI4YTEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjYW52YXMgaXMgcmVhZG9ubHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIHZhciBkID0gY3R4LmNhbnZhczsKIF9hc3NlcnREaWZmZXJlbnQo
b2Zmc2NyZWVuQ2FudmFzMiwgZCwgIm9mZnNjcmVlbkNhbnZhczIiLCAiZCIpOwogY3R4LmNhbnZh
cyA9IG9mZnNjcmVlbkNhbnZhczI7CiBfYXNzZXJ0U2FtZShjdHguY2FudmFzLCBkLCAiY3R4LmNh
bnZhcyIsICJkIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS5odG1sCmluZGV4IDFkYjY0MDk0OWIwLi40NThk
MzQ5ZDQ3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5y
ZWZlcmVuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJl
ZmVyZW5jZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jYW52YXMucmVmZXJlbmNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNhbnZhcy5yZWZlcmVuY2U8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmNhbnZhcyByZWZlcnMgYmFjayB0byBpdHMgY2FudmFzPC9wPgpAQCAtMTEs
MTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNhbnZhcyByZWZl
cnMgYmFjayB0byBpdHMgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguY2FudmFzLCBvZmZzY3JlZW5DYW52
YXMsICJjdHguY2FudmFzIiwgIm9mZnNjcmVlbkNhbnZhcyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5j
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5j
ZS53b3JrZXIuanMKaW5kZXggZmYyNjY2YmQzZGEuLjNmNWZiZTI2OWJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIHJlZmVycyBiYWNrIHRvIGl0cyBjYW52
YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IF9hc3NlcnRTYW1lKGN0eC5jYW52YXMsIG9mZnNjcmVlbkNhbnZhcywgImN0eC5jYW52YXMiLCAi
b2Zmc2NyZWVuQ2FudmFzIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLmh0bWwKaW5kZXggNjAxMWYyMDVl
ZDEuLjc4NzY1ZmFiODM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQu
Z2V0Y29udGV4dC5leGlzdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQu
Z2V0Y29udGV4dC5leGlzdHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZ2V0Y29udGV4dC5leGlzdHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ2V0Y29udGV4dC5leGlz
dHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlRoZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiVGhl
IDJEIGNvbnRleHQgaXMgaW1wbGVtZW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogX2Fzc2VydERpZmZlcmVudChv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyksIG51bGwsICJvZmZzY3JlZW5DYW52YXMy
LmdldENvbnRleHQoJzJkJykiLCAibnVsbCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtl
ci5qcwppbmRleCBiYWU4MDgwZGQ3OS4uZjYxY2FiODMyYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiVGhlIDJEIGNvbnRleHQgaXMgaW1wbGVtZW50ZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogX2Fzc2VydERpZmZlcmVudChvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyks
IG51bGwsICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykiLCAibnVsbCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQu
Z2V0Y29udGV4dC5leHRyYWFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5n
ZXRjb250ZXh0LmV4dHJhYXJncy5odG1sCmluZGV4IDI0YTY4ZTQ5MTRkLi5lYTIwOWRjZDExMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXh0cmFh
cmdzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXh0
cmFhcmdzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdldGNvbnRleHQuZXh0cmFhcmdzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXh0cmFhcmdzPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENvbnRl
eHQgYXJndW1lbnRzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3Vt
ZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgnMmQnLCBmYWxzZSwge30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5nZXRjb250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvMmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzCmluZGV4IDkzM2FhMjQ5ZDYzLi5j
NzUxNzYwYWZkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNv
bnRleHQuZXh0cmFhcmdzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
MmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJUaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENvbnRleHQgYXJndW1lbnRzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcs
IGZhbHNlLCB7fSwgW10sIDEsICIyIiksIG51bGwsICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRl
eHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgXCIyXCIpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuc2hhcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5z
aGFyZWQuaHRtbAppbmRleCA4YTk0ODQ3MjQ1NS4uNmI2MTg4YmZjMDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJlZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5nZXRjb250ZXh0LnNoYXJl
ZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5nZXRjb250ZXh0LnNoYXJlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0Q29u
dGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29u
dGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4Mi5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcwppbmRleCBjM2VjNjY0N2RhNi4u
NTNjYWI2Mjk5NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRj
b250ZXh0LnNoYXJlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0
Q29udGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4Mi5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5odG1sCmluZGV4IDgxMjhjNmVhOWQ2Li45MTM3OTU4
MzJkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQu
dW5pcXVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQu
dW5pcXVlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdldGNvbnRleHQudW5pcXVlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQudW5pcXVlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5nZXRDb250ZXh0KCcyZCcpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0
Q29udGV4dCgnMmQnKSByZXR1cm5zIHRoZSBzYW1lIG9iamVjdCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyksIG9mZnNjcmVlbkNhbnZhczIu
Z2V0Q29udGV4dCgnMmQnKSwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIsICJv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1
ZS53b3JrZXIuanMKaW5kZXggM2U0ZDZjNDczMjEuLjNiMzExNTI2ZjA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQoJzJkJykgcmV0dXJucyB0aGUg
c2FtZSBvYmplY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCcyZCcpLCBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyksICJvZmZzY3Jl
ZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykiLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0
KCcyZCcpIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sCmluZGV4IGRmYjdiMzAz
MDc2Li5hZThkZDY5MjE0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2Nv
bnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNv
bnRleHQuYXJndW1lbnRzLm1pc3Npbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Npbmcud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Npbmcu
d29ya2VyLmpzCmluZGV4IDQ2N2I3OGIwYTkzLi45ZGJkOTdjODYxYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Npbmcud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5n
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwKaW5kZXggZTU3OWIzYTcxZjgu
LjU2NDMxZTJlNGZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4
dC5jYXNlc2Vuc2l0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRl
eHQuY2FzZXNlbnNpdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBjb250ZXh0LmNhc2VzZW5zaXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29udGV4dC5jYXNlc2Vuc2l0
aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Db250ZXh0IG5hbWUgIjJEIiBpcyB1bnJlY29nbmlz
ZWQ7IG1hdGNoaW5nIGlzIGNhc2Ugc2Vuc2l0aXZlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1lIFwiMkRcIiBpcyB1bnJl
Y29nbmlzZWQ7IG1hdGNoaW5nIGlzIGNhc2Ugc2Vuc2l0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCcyRCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcwppbmRl
eCAwMmFhMzJmYTk2OS4uYjQxYzFmNzY3ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIyRFwiIGlzIHVucmVjb2duaXNlZDsgbWF0Y2hp
bmcgaXMgY2FzZSBzZW5zaXRpdmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJEJyk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5lbXB0eXN0cmluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2Nv
bnRleHQuZW1wdHlzdHJpbmcuaHRtbAppbmRleCBkYzA1NzUwOGMyYy4uOTJmMzc1MDZlYWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuZW1wdHlzdHJpbmcuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogY29udGV4dC5l
bXB0eXN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LmVtcHR5c3RyaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5nZXRDb250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQgd2l0
aCBlbXB0eSBzdHJpbmcgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIi
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcwppbmRleCBlYTMwOGM1NTE5OS4u
NTQ0MDZiYjViZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LmVtcHR5c3RyaW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29u
dGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENv
bnRleHQgd2l0aCBlbXB0eSBzdHJpbmcgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCIiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS5odG1sCmlu
ZGV4IDg5YzlmYTNlYjM4Li44ZTg0NjcxNGZhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LnVucmVjb2du
aXNlZC5iYWRuYW1lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29udGV4dCBuYW1lIHJl
dHVybnMgbnVsbDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29udGV4dCBuYW1lIHJldHVy
bnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnVGhpcyBpcyBub3QgYW4gaW1wbGVt
ZW50ZWQgY29udGV4dCBpbiBhbnkgcmVhbCBicm93c2VyJyk7IH0pOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29n
bmlzZWQuYmFkbmFtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4
dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMKaW5kZXggODdmZmRjZDI3M2IuLjg1NWY5
OTcxMThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJl
Y29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJnZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQgbmFtZSByZXR1cm5z
IG51bGwiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJ1RoaXMgaXMgbm90IGFuIGltcGxlbWVu
dGVkIGNvbnRleHQgaW4gYW55IHJlYWwgYnJvd3NlcicpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25p
c2VkLmJhZHN1ZmZpeC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5y
ZWNvZ25pc2VkLmJhZHN1ZmZpeC5odG1sCmluZGV4IDQ4MDYxNTYxYmZkLi41NTExYzRmMjFlYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2Vk
LmJhZHN1ZmZpeC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVu
cmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRl
eHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4dCBu
YW1lICIyZCIgcGx1cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQ8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIyZFwi
IHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0
KCIyZCMiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXgud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC53
b3JrZXIuanMKaW5kZXggMTM4MzNmOTEwMmQuLmM1NmVhN2ViNjE1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQu
YmFkc3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1l
IFwiMmRcIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0
Q29udGV4dCgiMmQjIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZm
aXguaHRtbAppbmRleCA4YmY5OGQ0MTA0Ny4uYjg2NjBhZTdmYzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxz
dWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
Y29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LnVucmVjb2duaXNl
ZC5udWxsc3VmZml4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Db250ZXh0IG5hbWUgIjJkIiBwbHVz
IGEgIlwwIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1lIFwiMmRcIiBwbHVzIGEg
XCJcXDBcIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0
KCIyZFwwIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZp
eC53b3JrZXIuanMKaW5kZXggZmM2NzdmODNkODIuLmVmZTQ1YjkxOTZiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25p
c2VkLm51bGxzdWZmaXgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0
IG5hbWUgXCIyZFwiIHBsdXMgYSBcIlxcMFwiIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3Jl
ZW5DYW52YXMyLmdldENvbnRleHQoIjJkXDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC51
bmljb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQudW5pY29kZS5odG1sCmluZGV4IGM2NTdjODk2ZWU0Li44OWYyNjU1ZDU2MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQu
dW5pY29kZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiBjb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQudW5yZWNvZ25pc2Vk
LnVuaWNvZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRleHQgbmFtZSB3aGljaCBraW5kIG9m
IGxvb2tzIGxpa2UgIjJkIiBpcyB1bnJlY29nbmlzZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgd2hpY2gga2luZCBv
ZiBsb29rcyBsaWtlIFwiMmRcIiBpcyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENv
bnRleHQoIjJcdUZGNDQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC51bmlj
b2RlLndvcmtlci5qcwppbmRleCAzNmJlZmQ5NGE0MS4uYTUzMzExNzU2MmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQudW5pY29kZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFt
ZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgXCIyZFwiIGlzIHVucmVjb2duaXNlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVl
bkNhbnZhczIuZ2V0Q29udGV4dCgiMlx1RkY0NCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIuaHRtbAppbmRleCBmMDMz
ZTRkMjYwMy4uNmRmY2Q3YTJmMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLmNvbG91ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLmNvbG91ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiBpbml0aWFsLmNvbG91cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLmNvbG91cjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+SW5pdGlhbCBzdGF0ZSBpcyB0cmFuc3BhcmVudCBibGFjazwvcD4KQEAgLTExLDEzICsx
MSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbml0aWFsIHN0YXRlIGlz
IHRyYW5zcGFyZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCww
LDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMKaW5kZXggZjg3
ODYxZjdmMDkuLjI0MTQ0NjU3ZjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5jb2xvdXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbml0
aWFsIHN0YXRlIGlzIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRz
dGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0
ZS5odG1sCmluZGV4IDEzZWYwYzE0MGYxLi5kNTRkMDFiMzg2MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC4yZHN0YXRl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPmluaXRpYWwucmVzZXQuMmRzdGF0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0
aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIDJEIHN0YXRlIHZhcmlhYmxlczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyAyRCBzdGF0ZSB2YXJpYWJsZXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC04MCw2
ICs4NCw1IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIF9hc3NlcnRTYW1lKGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24sIGRlZmF1bHRfdmFsLCAiY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiIsICJkZWZhdWx0X3ZhbCIpOwogCiB0LmRvbmUoKTsKLQogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJk
c3RhdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQu
MmRzdGF0ZS53b3JrZXIuanMKaW5kZXggN2VhYjdmYmJhMWUuLjdmZjBhMGNhOWRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMg
c3RhdGUgcmVzZXRzIDJEIHN0YXRlIHZhcmlhYmxlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTc2LDYgKzgwLDUgQEAg
b2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiwgZGVmYXVsdF92YWwsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
IiwgImRlZmF1bHRfdmFsIik7CiAKIHQuZG9uZSgpOwotCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbAppbmRleCAwNzZi
M2U4OWQxNS4uYjUzNmU4Y2VkOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LmNsaXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCBjbGlwIHJlZ2lvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCBjbGlwIHJlZ2lvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAw
LDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuY2xpcC53
b3JrZXIuanMKaW5kZXggODNhMWE2OGZiMWIuLmM2ZTA2Y2EwZDAxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRo
ZSBjdXJyZW50IGNsaXAgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAs
MjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVy
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJl
bnQuaHRtbAppbmRleCAzYjZlZDAxM2ZmYy4uNDVmZmI2OTc0ZTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LmRp
ZmZlcmVudDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LmRpZmZlcmVudDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+Q2hhbmdpbmcgc2l6ZSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ2hhbmdp
bmcgc2l6ZSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1NSwwLDAsMjU1Iik7
CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSA1MDsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5k
aWZmZXJlbnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVz
ZXQuZGlmZmVyZW50Lndvcmtlci5qcwppbmRleCA4YmY1Nzg0OWQ3OC4uMjA2YmE2NzJmZWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVu
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQu
ZGlmZmVyZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ2hhbmdpbmcgc2l6
ZSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1NSwwLDAsMjU1Iik7CiBvZmZz
Y3JlZW5DYW52YXMud2lkdGggPSA1MDsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIw
LDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQu
aHRtbAppbmRleCBiMDMxODkwMWM4OC4uMWRjZThkYWJlNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5ncmFkaWVu
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT5pbml0aWFsLnJlc2V0LmdyYWRpZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNl
dHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBn
cmFkaWVudHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFu
eSBleGlzdGluZyBncmFkaWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQu
d29ya2VyLmpzCmluZGV4IDcwYTNjOTk3NTg1Li45N2IwYjFhNWNjZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUg
ZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0g
ZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLnJlc2V0LnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJl
c2V0LnBhdGguaHRtbAppbmRleCBlNGRlMTMzODg0Yi4uYjljNGFiNTcxNzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdGguaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQucGF0aDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT5pbml0aWFsLnJlc2V0LnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52
YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAs
ICIyMCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdGgud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC53b3JrZXIuanMKaW5kZXgg
YTA1MTBmNmZlMDEuLjI0ZTdkM2QwMWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHBhdGgi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJl
c2V0LnBhdHRlcm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0
LnBhdHRlcm4uaHRtbAppbmRleCA2NDZiMzk5YTgyNS4uYThhNGI3NjllMjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQu
cGF0dGVybjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LnBhdHRlcm48L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4aXN0
aW5nIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0
ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBwOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0dGVybi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJu
Lndvcmtlci5qcwppbmRleCA1MWIxZGVhOTdkMC4uMDljM2Q3NTQwYjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBk
b2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IHA7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5zYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5zYW1lLmh0bWwKaW5kZXggMGEyZWRmNGI2ZDcuLjM2YzNmZWEwZjFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuc2FtZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LnNhbWU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+aW5pdGlhbC5yZXNldC5zYW1lPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIHNpemUg
KG5vdCBjaGFuZ2luZyB0aGUgdmFsdWUpIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxh
Y2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTZXR0aW5nIHNpemUgKG5vdCBjaGFuZ2luZyB0aGUgdmFsdWUpIHJlc2V0cyBjYW52YXMgdG8g
dHJhbnNwYXJlbnQgYmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSww
LDAsMjU1LCAiMjAsMjAiLCAiMjU1LDAsMCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9
IDEwMDsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAs
MjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUud29ya2VyLmpzCmluZGV4IGRlZGJj
NTUxNTA4Li5jYzIwMmI0ODViNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuc2FtZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuc2FtZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNldHRpbmcgc2l6ZSAobm90IGNoYW5naW5nIHRoZSB2YWx1ZSkgcmVzZXRzIGNhbnZhcyB0byB0
cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxSZWN0KDAs
IDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMjU1LDAs
MCwyNTUsICIyMCwyMCIsICIyNTUsMCwwLDI1NSIpOwogb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
MTAwOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwy
MCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQudHJhbnNmb3JtLmh0bWwKaW5kZXggMzQ2Mjgz
ZmQxMzkuLmExYjUyZTdkYjBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC50cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC50cmFuc2Zvcm08L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlh
bC5yZXNldC50cmFuc2Zvcm08L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2Fu
dmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRp
bmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0
cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMK
aW5kZXggZjI0ODdmYmY3YjkuLjRiYzQ1ZDAwMzY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMCwyMCwgMCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVu
Y2FudmFzLmNvbW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNh
bnZhcy5jb21taXQuaHRtbAppbmRleCBmZDhlYTUwOTM0Yy4uY2NlMDk3NjBkMGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRt
bApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnLyNvZmZzY3JlZW5jb250ZXh0MmQtY29tbWl0Ij4KIDxzY3Jp
cHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52
YXMuY29tbWl0LncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52
YXMuY29tbWl0LncuaHRtbAppbmRleCA3MDEyMDk3ODcyMy4uOTBkZTA3ODZlNWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0LncuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53
Lmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jb2Zmc2NyZWVuY29udGV4dDJkLWNvbW1pdCI+CiAK
IDxzY3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0
bWwKaW5kZXggYzEzMDEwNzE1ZTYuLmExNzYwNzY0ZGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCkBA
IC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMiPgogPHNjcmlwdD4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1
Y3Rvci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFz
LmNvbnN0cnVjdG9yLndvcmtlci5qcwppbmRleCA3Yzc3M2UwOTRkZS4uMjg1ZTRlMWQ5NDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3Ry
dWN0b3Iud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5j
YW52YXMuY29uc3RydWN0b3Iud29ya2VyLmpzCkBAIC0xLDcgKzEsNyBAQAogLy8gc3BlYyBsaW5r
OiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzCiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQxID0gYXN5bmNfdGVzdCgiVGVzdCB0
aGF0IGNhbGxpbmcgT2Zmc2NyZWVuQ2FudmFzJ3MgY29uc3RydWN0b3IgZ2VuZXJhdGVzIGNvcnJl
Y3Qgd2lkdGggYW5kIGhlaWdodC4iKTsKIHQxLnN0ZXAoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNvbnRleHQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC5o
dG1sCmluZGV4IDY1ZjYzOTFkMzU3Li43YWFhMGU2YzM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKQEAg
LTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250ZXh0Ij4KIDxzY3Jp
cHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52
YXMuZ2V0Y29udGV4dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2Ny
ZWVuY2FudmFzLmdldGNvbnRleHQud29ya2VyLmpzCmluZGV4IDAwOGUwNGU3NTBlLi5jZWQ0MTJm
Yjg5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZh
cy5nZXRjb250ZXh0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLmdldGNvbnRleHQud29ya2VyLmpzCkBAIC0xLDcgKzEsNyBAQAogLy8gc3Bl
YyBsaW5rOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFz
LWdldGNvbnRleHQKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB0ZXN0KGZ1bmN0
aW9uKCkgewogICAgIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEs
IDEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZh
cy5yZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMu
cmVzaXplLmh0bWwKaW5kZXggNTc3MDMwOTkyNWMuLjA5MjI3MjdjNjFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0bWwKQEAg
LTIsNyArMiw3IEBACiA8dGl0bGU+VGVzdCByZXNpemluZyBhbiBPZmZzY3JlZW5DYW52YXMgd2l0
aCBhIDJkIGNvbnRleHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogPGJvZHk+PC9ib2R5PgogPHNjcmlwdD4KIHRlc3QoZnVuY3Rpb24oKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRy
YW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwKaW5kZXggMzZmZWY2ZjQ5
OGYuLjMxMTg3YzY0ZTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC5o
dG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMtdHJhbnNmZXJ0b2lt
YWdlYml0bWFwIj4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJh
bnNmZXIudG8uaW1hZ2ViaXRtYXAudy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29m
ZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0bWwKaW5kZXggYzFmYWVj
Yjg1M2YuLjVhY2FkN2QwYzA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
b2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLncuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0
bWFwLncuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzLXRyYW5z
ZmVydG9pbWFnZWJpdG1hcCI+CiAKIDxzY3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dv
cmtlciI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2Fu
dmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi5odG1s
CmluZGV4IDJlYWNmM2YyMjAzLi5hMTNlOTg5Y2ZjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVu
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUg
aHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLWNh
bnZhcy10cmFuc2ZlcmNvbnRyb2x0b29mZnNjcmVlbiI+CiA8c2NyaXB0PgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJv
bC50by5vZmZzY3JlZW4udy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVl
bmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLncuaHRtbAppbmRleCBlYzhkMDVh
NGJhMy4uODYzN2MzZjcxOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9v
ZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wu
dG8ub2Zmc2NyZWVuLncuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tY2FudmFzLXRyYW5z
ZmVyY29udHJvbHRvb2Zmc2NyZWVuIj4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRl
eHQvd29ya2VyIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3Jl
ZW5jYW52YXMudHJhbnNmZXJyYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29m
ZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxlLmh0bWwKaW5kZXggZjMyMzA5ZmMxYmIuLmJjMmFj
M2FhZTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2Fu
dmFzLnRyYW5zZmVycmFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLnRyYW5zZmVycmFibGUuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQ
RSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNvZmZz
Y3JlZW5jYW52YXMiPgogCiA8c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIi
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50
cmFuc2ZlcnJhYmxlLncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5j
YW52YXMudHJhbnNmZXJyYWJsZS53Lmh0bWwKaW5kZXggODEzMjkwYWRhZDEuLmMzZjFiMTFmMDY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRy
YW5zZmVycmFibGUudy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3Jl
ZW5jYW52YXMudHJhbnNmZXJyYWJsZS53Lmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUg
aHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jb2Zmc2Ny
ZWVuY2FudmFzIj4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVm
YXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZh
dWx0Lmh0bWwKaW5kZXggYjVmYTNjMGYxMTUuLmRhMTk5N2NmY2MwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVz
LmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPkRlZmF1bHQgd2lkdGgvaGVpZ2h0IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZzwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1
bHQgd2lkdGgvaGVpZ2h0IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4
LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1
bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5k
ZWZhdWx0Lndvcmtlci5qcwppbmRleCA3MGJiM2EyYzRjZS4uMDIwODg1Yzk3MTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZh
dWx0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRGVmYXVsdCB3aWR0aC9oZWln
aHQgd2hlbiBhdHRyaWJ1dGVzIGFyZSBtaXNzaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEw
MCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5odG1sCmluZGV4IGM2NzI4Y2Qw
NjlmLi5lNGFmOTYyODk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5pZGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLmlkbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMuaWRsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5pZGw8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPkdldHRpbmcvc2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0
dHJpYnV0ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJHZXR0aW5nL3NldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzIsNyArMzYsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAiNDAweCI7CiBvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0ID0gImZvbyI7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
d2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8uaHRtbAppbmRleCAzNGJjZWYzZDI5NC4u
YjAzYWM2M2E3ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMuaWRsLnNldC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT5zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0
aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyB0byAwPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyB3aWR0aC9oZWlnaHQg
SURMIGF0dHJpYnV0ZXMgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29y
a2VyLmpzCmluZGV4IGQzMjEwOTViNDk2Li5mNzBiNDk3ZGZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56
ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyB3aWR0aC9oZWln
aHQgSURMIGF0dHJpYnV0ZXMgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAi
KTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzCmluZGV4IGRj
NzlmMDE3NTQwLi43OWU5NTMwZjg5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiR2V0dGluZy9zZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI4LDcgKzMyLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gIjQwMHgiOwogb2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCA9ICJmb28iOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndp
ZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWwuaHRtbAppbmRleCBiNmNhNTM0MjZhNS4u
NzhmMjFhYTMwMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
JzEwMC45OTknOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAuOTk5JzsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwg
IjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFs
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuZGVjaW1hbC53b3JrZXIuanMKaW5kZXggMTM0ZWUzOTVlNGMuLmU5ZTFjNTI4NjM5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRl
Y2ltYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZGVjaW1hbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBh
cnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBv
ZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwLjk5OSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID0gJzEwMC45OTknOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmVtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmVtLmh0bWwKaW5kZXggZGQyNDhmM2ExYWQuLjBiYmM1ODg4MTc2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuZW08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVt
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vyczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBh
cnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBv
ZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwZW0nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICcxMDBlbSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZW0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5lbS53b3JrZXIuanMKaW5kZXggNzUzZGI5YTE1ZTEuLmVmYTg4ZjBm
NDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlbSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
JzEwMGVtJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5wYXJzZS5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5lbXB0eS5odG1sCmluZGV4IDkxMzRlYzBhOTE5Li42YjQwM2U2ZTU0ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRl
cy5wYXJzZS5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRp
dmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyc7CiBvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0ID0gJyc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9m
ZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2UuZW1wdHkud29ya2VyLmpzCmluZGV4IDk0MGE4OWEwMjU1Li43
MzM3ZWU0MTkzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYs
NyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnJzsKIG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPSAnJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zm
c2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZXhwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLmV4cC5odG1sCmluZGV4IDA2MTEwODA1NzhmLi40NDVkNWJhNjFkMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5l
eHAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmV4cC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5l
eHA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlMSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID0gJzEwMGUxJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwMC4wLCAi
b2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMDAuMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAwLjAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzCmluZGV4IDE3MzAw
ZjU1NmI2Li5jZjU2ZWFjNmIzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlMSc7CiBvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0ID0gJzEwMGUxJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53
aWR0aCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMDAuMCIpOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICIxMDAwLjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwKaW5kZXgg
ZmVkODZkOTZjNWIuLmRiN2YzMjE3ZGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5oZXg8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRl
Z2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzB4
MTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMHgxMDAnOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAyNTYsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMjU2Iik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAyNTYsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjI1NiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3Jr
ZXIuanMKaW5kZXggNzZiOTc2M2U3MTQuLjBjM2Q5YjkyNDRkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
JzB4MTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMHgxMDAnOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAyNTYsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMjU2
Iik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAyNTYsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjI1NiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1s
CmluZGV4IDZhMjk4ODcxOGM4Li4wYTk1MzQyOGI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5w
YXJzZS5qdW5rPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5l
Z2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMu
d2lkdGggPSAnIyE/JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnIyE/JzsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwg
IjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1
bmsud29ya2VyLmpzCmluZGV4IDk2MzAxZTJlOGE2Li5jNTZlNzZkMTEyOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
Lmp1bmsud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1u
ZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFz
LndpZHRoID0gJyMhPyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyMhPyc7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIs
ICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVz
Lmh0bWwKaW5kZXggYzQ5ODFhYTBjYTEuLmQ1YWI4MDBmODlkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJp
YnV0ZXMucGFyc2UubWludXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnLTEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJy0xMDAn
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1
MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5taW51cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcwppbmRleCA4MmE0ZGU0N2QxOC4uZjVjOGVlMjczN2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UubWludXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UubWludXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQ
YXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAg
b2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJy0xMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICctMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2Uub2N0YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2Uub2N0YWwuaHRtbAppbmRleCBmZDZlZGQ1N2U0OC4uZmZlN2RmMzkwNzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
b2N0YWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm9jdGFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMu
cGFyc2Uub2N0YWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZl
IGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcwMTAwJzsKIG9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQgPSAnMDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEw
MCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMKaW5kZXggMGMzYmJj
MTc1ZjAuLjZlMGE3YjBmODAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcwMTAwJzsKIG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPSAnMDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
d2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAi
MTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1sCmluZGV4
IGNjZmE0MWRmNjM1Li40MjRjNzdlY2QyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0
ZXMucGFyc2Uub25seXNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2U8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgICc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAg
JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwg
NTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2Uub25seXNwYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcwppbmRleCBlYzUyNjE5Y2RkNS4uMTQ4
NjBiZGM2YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnICAnOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9ICcgICc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgs
IDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC5odG1sCmluZGV4IDE0NDYzNTYwYzUw
Li40ZTk4ZDc4NzFjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZl
IGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGgg
PSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCUnOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAw
Iik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5w
ZXJjZW50Lndvcmtlci5qcwppbmRleCA4M2ZkYTdiOTRhMy4uNmUyYjk5NTQzM2YgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2Vu
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5wZXJjZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2lu
ZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNj
cmVlbkNhbnZhcy53aWR0aCA9ICcxMDAlJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAw
JSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UucGx1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5wbHVzLmh0bWwKaW5kZXggYzRiYzAyOTk1OTAuLjk5YjMxNTVlODU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnBsdXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBs
dXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcrMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PSAnKzEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UucGx1cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzCmluZGV4IGRlZTEwNDEyODA5Li5kYTcx
NjY0MWZmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIw
LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJysxMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCA9ICcrMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAi
b2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sCmluZGV4IDFiYmZkZWEzY2RlLi4yMDBmMDI4
ZGNjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5zcGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2Uuc3BhY2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0
cmlidXRlcy5wYXJzZS5zcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24t
bmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyAgMTAwJzsKIG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPSAnICAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0Iiwg
IjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29ya2VyLmpzCmlu
ZGV4IGEwZGE5Y2U4ZDAxLi44MTJiMjUwM2FlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVn
ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnICAx
MDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcgIDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWls
aW5nanVuay5odG1sCmluZGV4IGY2OGUwZmE5NGM0Li4zNzY5NDQ4ZGUzYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1
bmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnRyYWlsaW5nanVuay5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUu
YXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bms8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNp
bmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdl
cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAj
IT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAjIT8nOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnRyYWlsaW5nanVuay53b3JrZXIuanMKaW5kZXggOGUzZmQ1NjlmNzQuLjJiM2UwZGI1YTJiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnRyYWlsaW5nanVuay53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2
LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzEwMCMhPyc7CiBvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0ID0gJzEwMCMhPyc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lk
dGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLmh0bWwKaW5kZXgg
MzA0NmYzZDAxMjcuLjAwZWY5Y2Y0MWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2UuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLndoaXRlc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3Bh
Y2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcJDDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID0gJwkMMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zm
c2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS53b3JrZXIuanMKaW5kZXggNWU1
MjYxZDYwNzYuLmY0NmJlYjNmNWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGlu
dGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAn
CQwxMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcJDDEwMCc7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAi
KTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuemVyby5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLmh0bWwK
aW5kZXggNGMzNThjMGJiYTcuLjAzYjIwZWVjZDBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8uaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm88L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9ICcwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMCc7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMud2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLndvcmtlci5q
cwppbmRleCBmM2RlYjQ4NWNiNC4uMjZlZWI5ODI2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuemVyby53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50
ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcw
JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMud2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAi
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLmh0bWwKaW5kZXggYjFm
YzliOWI4MzguLjAwMDQ5NTg0NDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucmVm
bGVjdC5zZXRpZGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TZXR0aW5nIElETCBhdHRyaWJ1dGVzIHVwZGF0ZXMgSURMIGFuZCBjb250
ZW50IGF0dHJpYnV0ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJTZXR0aW5nIElETCBhdHRyaWJ1dGVzIHVwZGF0ZXMgSURMIGFuZCBjb250
ZW50IGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9IDEyMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSA2MDsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCwgMTIwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEyMCIp
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNjAsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjYwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNl
dGlkbC53b3JrZXIuanMKaW5kZXggZWIyYTQyODgxMTguLjc1ODAxNWY0M2ZiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRs
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGlu
ZyBJREwgYXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1dGVzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMjA7CiBvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0ID0gNjA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgs
IDEyMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQsIDYwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI2MCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8uaHRtbAppbmRleCA5
ZmZkYjY3NzI3MC4uZTg4YTI0MWU0MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8uaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRy
aWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5z
ZXRpZGx6ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRv
IDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgSURMIGF0dHJpYnV0
ZXMgdG8gMCB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1dGVzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAwOwogb2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCA9IDA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDAsICJvZmZzY3Jl
ZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJl
ZmxlY3Quc2V0aWRsemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby53b3JrZXIuanMKaW5kZXggODczZmM5NDIy
YjQuLjgzZmRkNjBkNjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRvIDAg
dXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAw
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLmh0bWwKaW5kZXggYTIyYzE3ZGZjMTQuLjRmY2Fk
NGFiNTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUubGFyZ2U8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
c2l6ZS5sYXJnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+Tm90IHN1cmUgaG93IHJlYXNvbmFibGUgdGhpcyBpcywgYnV0IHRo
ZSBzcGVjIGRvZXNuJ3Qgc2F5IHRoZXJlJ3MgYW4gdXBwZXIgbGltaXQgb24gdGhlIHNpemUuCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9IG47CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gbjsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgbiwgIm9mZnNjcmVlbkNhbnZhcy53aWR0
aCIsICJuIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCBuLCAib2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCIsICJuIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5qcwppbmRleCA3OTdmNGFiN2ExZC4u
YzJhMDU4MTYwN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxh
cmdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPk5vdCBz
dXJlIGhvdyByZWFzb25hYmxlIHRoaXMgaXMsIGJ1dCB0aGUgc3BlYyBkb2Vzbid0IHNheSB0aGVy
ZSdzIGFuIHVwcGVyIGxpbWl0IG9uIHRoZSBzaXplLgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBv
ZmZzY3JlZW5DYW52YXMud2lkdGggPSBuOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IG47CiBf
YXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIG4sICJvZmZzY3JlZW5DYW52YXMud2lk
dGgiLCAibiIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgbiwgIm9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQiLCAibiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdG9vbHMvdGVtcGxhdGVzLnlhbWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVtcGxhdGVzLnlhbWwKaW5k
ZXggZTY2ZjE3ZGVkZDcuLjE1ZDM3MjM5Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVtcGxh
dGVzLnlhbWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBsYXRlcy55YW1sCkBAIC0xLDEwICsxLDEwIEBA
CiB3M2M6IHwKICAgICA8IURPQ1RZUEUgaHRtbD4KICAgICA8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgotICAgIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogJShuYW1lKXM8L3RpdGxlPgorICAgIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogJShuYW1lKXM8L3RpdGxlPiUodGltZW91dClzCiAgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiAgICAgPGgxPiUobmFtZSlzPC9oMT4KICAgICA8cCBjbGFzcz0iZGVzYyI+JShkZXNjKXM8L3A+
CkBAIC0xMiwxNCArMTIsMTYgQEAgdzNjOiB8CiAgICAgJShub3RlcylzCiAgICAgPHNjcmlwdD4K
ICAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIiUoZXNjYXBlZF9kZXNjKXMiKTsKKyAgICB2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7CisgICAgdmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgICAgICB0aHJvdyByZWFzb247CisgICAgfSk7CiAgICAgdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiAgICAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiAgICAgJShjb2RlKXMKLSAgICB0LmRvbmUoKTsKLQogICAgIH0pOwogICAgIDwv
c2NyaXB0PgogCkBAIC0zMSwxNiArMzMsMTggQEAgdzNjd29ya2VyOiB8CiAgICAgLy8gTm90ZTol
KG5vdGVzKXMKIAogICAgIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLSAgICBpbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworICAgIGlt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiAg
ICAgdmFyIHQgPSBhc3luY190ZXN0KCIlKGVzY2FwZWRfZGVzYylzIik7CisgICAgdmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOworICAgIHZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICAgICAgdGhyb3cgcmVhc29uOworICAgIH0pOwogICAgIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogICAgIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogICAgICUoY29kZSlzCi0gICAgdC5kb25lKCk7Ci0KICAgICB9KTsKICAgICBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVzdHMyZC55YW1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3Rlc3Rz
MmQueWFtbAppbmRleCBhYTgyMDcxZmY4YS4uNjY2MjY2OGYzNzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
b29scy90ZXN0czJkLnlhbWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3Rlc3RzMmQueWFtbApAQCAtMzQsNiAr
MzQsNyBAQAogICAgIGN0eC5zYXZlKCk7CiAgICAgQGFzc2VydCBjdHguJShrZXkpcyA9PT0gb2xk
OwogICAgIGN0eC5yZXN0b3JlKCk7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgeyAna2V5Jzpr
ZXksICd2YWx1ZSc6dmFsdWUgfQogICAgICAgICB9ICkKIApAQCAtNTEsNyArNTIsNyBAQAogICAg
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKICAgICBAYXNzZXJ0IGN0eC4lKGtleSlzID09
PSBkZWZhdWx0X3ZhbDsKICAgICAiIiIgJSB7ICdrZXknOmtleSwgJ3ZhbHVlJzp2YWx1ZSB9Ci0g
ICAgICAgIGZvciBrZXksdmFsdWUgaW4gc3RhdGUpLAorICAgICAgICBmb3Iga2V5LHZhbHVlIGlu
IHN0YXRlKSArICJcbnQuZG9uZSgpOyIsCiAgICAgfSApCiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2
ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24KQEAgLTY3LDYgKzY4LDcgQEAKICAgICBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgtMjAwLCAwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAKICAgZGVzYzogc2F2ZSgpL3Jlc3RvcmUoKSBh
ZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoCkBAIC04Miw2ICs4NCw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoCiAgIGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgZG9l
cyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTk2LDYgKzk5LDcgQEAKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5z
YXZlcmVzdG9yZS5iaXRtYXAKICAgZGVzYzogc2F2ZSgpL3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZl
Y3QgdGhlIGN1cnJlbnQgYml0bWFwCkBAIC0xMDksNiArMTEzLDcgQEAKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRl
LnNhdmVyZXN0b3JlLnN0YWNrCiAgIGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgY2FuIGJlIG5lc3Rl
ZCBhcyBhIHN0YWNrCkBAIC0xMjYsNiArMTMxLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lk
dGggPT09IDI7CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGgg
PT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Rh
Y2tkZXB0aAogICBkZXNjOiBzYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJl
YXNvbmFibHkgbGltaXRlZApAQCAtMTQ0LDYgKzE1MCw3IEBACiAgICAgICAgIEBhc3NlcnQgY3R4
LmxpbmVXaWR0aCA9PT0gaTsKICAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICB9CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93CiAgIGRlc2M6
IHJlc3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNrIGhhcyBubyBlZmZlY3QKQEAgLTE1NSw2ICsx
NjIsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSAwLjU7CiAgICAgY3R4LnJlc3RvcmUoKTsKICAg
ICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDAuNTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC50cmFuc2Zvcm1hdGlvbi5vcmRlcgogICBkZXNjOiBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFw
cGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVyCkBAIC0xNjgsNiArMTc2LDcgQEAKICAgICBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDUwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYwogICBkZXNjOiBzY2FsZSgpIHdvcmtz
CkBAIC0xODAsNiArMTg5LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgMTIuNSk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0MCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS56ZXJvCiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBhIHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdv
cmtzCkBAIC0yMDEsNiArMjExLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5l
Z2F0aXZlCiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBuZWdhdGl2ZSBzY2FsZSBmYWN0b3JzIHdvcmtz
CkBAIC0yMjEsNiArMjMyLDcgQEAKICAgICBjdHgucmVzdG9yZSgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2Fs
ZS5sYXJnZQogICBkZXNjOiBzY2FsZSgpIHdpdGggbGFyZ2Ugc2NhbGUgZmFjdG9ycyB3b3JrcwpA
QCAtMjM0LDYgKzI0Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMSwgMSk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5u
b25maW5pdGUKICAgZGVzYzogc2NhbGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBA
IC0yNDcsNiArMjYwLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5m
aWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24u
c2NhbGUubXVsdGlwbGUKICAgZGVzYzogTXVsdGlwbGUgc2NhbGUoKXMgY29tYmluZQpAQCAtMjYw
LDYgKzI3NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDI1KTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQwID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnpl
cm8KQEAgLTI3Myw2ICsyODgsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLnJhZGlhbnMKICAgZGVzYzogcm90YXRlKCkgdXNlcyByYWRpYW5zCkBAIC0yODUsNiAr
MzAxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgt
MTAwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRp
cmVjdGlvbgogICBkZXNjOiByb3RhdGUoKSBpcyBjbG9ja3dpc2UKQEAgLTI5Nyw2ICszMTQsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIC0xMDAs
IDUwLCAxMDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAKICAgZGVz
Yzogcm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUgdmFsdWVzIGNvcnJlY3RseQpAQCAtMzE0
LDYgKzMzMiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5
OCw0NyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlCiAgIGRlc2M6IHJvdGF0ZSgpIHdyYXBzIGxhcmdl
IG5lZ2F0aXZlIHZhbHVlcyBjb3JyZWN0bHkKQEAgLTMyOCw2ICszNDcsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDcgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0
ZQogICBkZXNjOiByb3RhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC0zNDEs
NiArMzYxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVj
dCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLmJhc2ljCiAgIGRlc2M6IHRyYW5zbGF0ZSgpIHdvcmtzCkBAIC0zNTMsNiArMzc0LDcgQEAK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDAgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0
ZQogICBkZXNjOiB0cmFuc2xhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC0z
NjYsNiArMzg4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxs
UmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0uaWRlbnRpdHkKQEAgLTM3OSw2ICs0MDIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZAogICBkZXNjOiB0cmFuc2Zvcm0oKSB3aXRo
IHNrZXd5IG1hdHJpeCB0cmFuc2Zvcm1zIGNvcnJlY3RseQpAQCAtNDEzLDYgKzQzNyw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA2MSwxOSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDM5LDMxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNjEsMzEgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLm11bHRpcGx5CiAgIGRlc2M6IHRyYW5zZm9ybSgpIG11bHRpcGxpZXMgdGhlIENUTQpAQCAt
NDI2LDYgKzQ1MSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zv
cm0ubm9uZmluaXRlCiAgIGRlc2M6IHRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQKQEAgLTQzOSw2ICs0NjUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQKQEAgLTQ3Myw2ICs1MDAsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgNjEsMTkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAzOSwz
MSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDYxLDMxID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9y
bS5tdWx0aXBsZQogICB0ZXN0aW5nOgpAQCAtNDg1LDYgKzUxMyw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDM1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUKICAgZGVzYzogc2V0VHJh
bnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNDk4LDYgKzUyNyw3IEBA
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5nZQogICB0
ZXN0aW5nOgpAQCAtNTEzLDYgKzU0Myw3IEBACiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEg
PT09IDA7CiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMTsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxB
bHBoYSA9PT0gMTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtNTI2LDEyICs1NTcsMTQgQEAKICAgICBAYXNz
ZXJ0IGN0eC5nbG9iYWxBbHBoYSA9PT0gYTsKICAgICBjdHguZ2xvYmFsQWxwaGEgPSBOYU47CiAg
ICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IGE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0
eC5nbG9iYWxBbHBoYSA9PT0gMS4wOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5maWxsCiAgIHRlc3Rpbmc6CkBAIC01NDMsNiArNTc2LDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UKICAgdGVzdGluZzoK
QEAgLTU2Myw3ICs1OTcsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMiwyNTMsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcwog
ICB0ZXN0aW5nOgpAQCAtNTc4LDYgKzYxMiw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4w
MTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKICAgICBjdHgu
ZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT1+IDIsMjUzLDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4KICAgdGVzdGluZzoKQEAgLTU5OSw3ICs2MzQsNyBA
QAogICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFs
IGFscGhhPTAgb3B0aW1pc2F0aW9ucwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDIsMjUzLDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuCiAgIHRlc3Rpbmc6CkBAIC02MTUsNiArNjUwLDcgQEAK
ICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhh
PTAgb3B0aW1pc2F0aW9ucwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weQogICB0ZXN0aW5nOgpAQCAt
NjMwLDYgKzY2Niw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC41MTsKICAgICBjdHguZHJh
d0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDAsMjU1LDAsMTMwOworICAgIHQuZG9uZSgpOwogCiAKIC0gbWV0YTogfApAQCAtNzAwLDYg
KzczNyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhJXMnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAlcyArLy0gNTsK
KyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSAoZGVzdCwgb3AsIHNyYywgdG9fdGVzdChleHBlY3Rl
ZCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTcyNiw3ICs3NjQsNyBAQAogICAgIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0
b190ZXN0KGV4cGVjdGVkKSksCiAgICAgICAgICAgICB9ICkKIApAQCAtNzU2LDcgKzc5NCw3IEBA
CiAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnJXMnOwogICAgICAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09fiAlcyArLy0gNTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKICAgICAiIiIgJSAoZGVzdCwgb3AsIHRvX3Rlc3QoZXhwZWN0ZWQpKSwKICAgICAgICAg
ICAgIH0gKQogCkBAIC03NjQsNyArODAyLDcgQEAKICAgICAgICAgZm9yIG9wLCBGQV9jb2RlLCBG
Ql9jb2RlIGluIG9wczoKICAgICAgICAgICAgIGlmIG9wIG5vdCBpbiBvcHNfdHJhbnM6IGNvbnRp
bnVlCiAgICAgICAgICAgICBleHBlY3RlZDAgPSBjYWxjX291dHB1dCgoMCwwLDAsMC4wKSwgZGVz
dCwgRkFfY29kZSwgRkJfY29kZSkKLSAgICAgICAgICAgIHRlc3RzLmFwcGVuZCggeworICAgICAg
ICAgICAgbmV3X3Rlc3QgPSB7CiAgICAgICAgICAgICAgICAgJ25hbWUnOiAnMmQuY29tcG9zaXRl
LiVzLiVzJyAlIChuYW1lLCBvcCksCiAgICAgICAgICAgICAgICAgJ2Rlc2MnOiAnZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4nLAogICAgICAgICAgICAg
ICAgICd0ZXN0aW5nJzogWyAnMmQuY29tcG9zaXRlLiVzJyAlIG9wIF0sCkBAIC03NzYsOCArODE0
LDEyIEBACiAgICAgY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDUw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAlcyArLy0gNTsKKyAgICB0
LmRvbmUoKTsKICAgICAiIiIgJSAoZGVzdCwgb3AsIHNyYywgdG9fdGVzdChleHBlY3RlZDApKSwK
LSAgICAgICAgICAgIH0gKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgb3AgPT0gJ2Rl
c3RpbmF0aW9uLWluJzoKKyAgICAgICAgICAgICAgbmV3X3Rlc3RbJ3RpbWVvdXQnXSA9ICdsb25n
JworICAgICAgICAgICAgdGVzdHMuYXBwZW5kKG5ld190ZXN0KQogCiAgICAgZm9yIChuYW1lLCBz
cmMsIGRlc3QpIGluIFsgKCd1bmNvdmVyZWQuaW1hZ2UnLCAoMjU1LCAyNTUsIDAsIDEuMCksICgw
LCAyNTUsIDI1NSwgMC41KSkgXToKICAgICAgICAgZm9yIG9wLCBGQV9jb2RlLCBGQl9jb2RlIGlu
IG9wczoKQEAgLTgwNSw3ICs4NDcsNyBAQAogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDE1LDE1ID09fiAlcyArLy0gNTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMg
Ky8tIDU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgICAgIiIiICUg
KGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkMCksIHRvX3Rlc3QoZXhwZWN0ZWQwKSksCiAgICAg
ICAgICAgICB9ICkKIApAQCAtODI0LDYgKzg2Niw3IEBACiAgICAgdmFyIG9mZnNjcmVlbkNhbnZh
czIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8t
IDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVk
MCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTg1Myw3ICs4OTYsNyBAQAogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKICAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkMCkpLAogICAgICAgICAg
ICAgfSApCiAKQEAgLTg3Miw2ICs5MTUsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwg
NTApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSAo
b3ApLAogICAgICAgICB9ICkKIApAQCAtODg3LDYgKzkzMSw3IEBACiAgICAgICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSBtb2Rlc1tpXTsKICAgICAgICAgQGFzc2VydCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSBtb2Rlc1tpXTsKICAgICB9CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQKICAgdGVzdGlu
ZzoKQEAgLTg5NSw2ICs5NDAsNyBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ25vbmV4aXN0ZW50
JzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyCiAg
IHRlc3Rpbmc6CkBAIC05MDMsNiArOTQ5LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkYXJr
ZXInOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyCiAg
IHRlc3Rpbmc6CkBAIC05MTEsNiArOTU4LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdvdmVy
JzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIKICAg
dGVzdGluZzoKQEAgLTkxOSw2ICs5NjcsNyBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NsZWFy
JzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICdjbGVhcic7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGln
aHQKICAgdGVzdGluZzoKQEAgLTkyNyw2ICs5NzYsNyBAQAogICAgIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2hpZ2hsaWdodCc7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09
PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUub3BlcmF0aW9u
Lm51bGxzdWZmaXgKICAgdGVzdGluZzoKQEAgLTkzNSw2ICs5ODUsNyBAQAogICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9PT0gJ3hvcic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlCiAgIHRlc3Rpbmc6CkBAIC05NDMsMTIgKzk5NCwx
NCBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ1NvdXJjZS1vdmVyJzsKICAgICBAYXNzZXJ0IGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdAogICB0ZXN0aW5nOgogICAgIC0g
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICdzb3VyY2Utb3Zlcic7CisgICAgdC5kb25l
KCk7CiAKIC0gbWV0YTogfAogICAgICMgQ29sb3VyIHBhcnNpbmcgdGVzdHMKQEAgLTEwNDksNiAr
MTEwMiw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICclcyc7CiAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gJWQsJWQsJWQsJWQ7Cisg
ICAgdC5kb25lKCk7CiAgICAgIiIiICUgKHN0cmluZywgcixnLGIsYSksCiAgICAgICAgIH0KICAg
ICAgICAgdGVzdHMuYXBwZW5kKHRlc3QpCkBAIC0xMTEzLDYgKzExNjcsNyBAQAogICAgIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnJXMnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogICAgICIiIiAlIHN0cmluZywKICAgICAgICAgfQogICAg
ICAgICB0ZXN0cy5hcHBlbmQodGVzdCkKQEAgLTExMjksNiArMTE4NCw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFN0eWxlID0gJyVzJzsKICAgICBAYXNzZXJ0
IGN0eC5maWxsU3R5bGUgPX4gL14jKD8hKEZGMDAwMHxmZjAwMDB8ZjAwKSQpLzsgLy8gdGVzdCB0
aGF0IGl0J3Mgbm90IHJlZAorICAgIHQuZG9uZSgpOwogICAgICIiIiAlIChzdHJpbmcsKSwKICAg
ICAgICAgfQogICAgICAgICB0ZXN0cy5hcHBlbmQodGVzdCkKQEAgLTExNDMsNiArMTE5OSw3IEBA
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICdpbnZhbGlkJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsU3R5bGUuaW52YWxpZHR5cGUKICAgdGVzdGluZzoK
QEAgLTExNTQsNiArMTIxMSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IG51bGw7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFN0eWxlLmdldC5zb2xp
ZAogICB0ZXN0aW5nOgpAQCAtMTE2Miw2ICsxMjIwLDcgQEAKICAgY29kZTogfAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2ZhMCc7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09PSAnI2ZmYWEw
MCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNw
YXJlbnQKICAgdGVzdGluZzoKQEAgLTExNzAsNiArMTIyOSw3IEBACiAgIGNvZGU6IHwKICAgICBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC40NSknOwogICAgIEBhc3NlcnQgY3R4
LmZpbGxTdHlsZSA9fiAvXnJnYmFcKDI1NSwgMjU1LCAyNTUsIDBcLjRcZCtcKSQvOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQKICAgdGVzdGlu
ZzoKQEAgLTExNzgsMTggKzEyMzgsMjEgQEAKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLDAsMCwwKSc7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09PSAncmdiYSgw
LCAwLCAwLCAwKSc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFN0eWxlLmRlZmF1
bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbG91cnMuZGVmYXVsdAogICBjb2RlOiB8CiAgICAg
QGFzc2VydCBjdHguZmlsbFN0eWxlID09PSAnIzAwMDAwMCc7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdAogICB0ZXN0aW5nOgogICAgIC0gMmQuY29sb3Vy
cy5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5zdHJva2VTdHlsZSA9PT0gJyMw
MDAwMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRl
LnNvbGlkCiAgIHRlc3Rpbmc6CkBAIC0xMjAxLDYgKzEyNjQsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LmludGVycG9sYXRlLmNvbG91cgogICB0ZXN0aW5nOgpAQCAtMTIxNCw2ICsxMjc4LDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAxOTEsMTkxLDYzLDI1NSArLy0gMzsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3LDEyNywyNTUgKy8tIDM7CiAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PX4gNjMsNjMsMTkxLDI1NSArLy0gMzsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5hbHBoYQogICB0ZXN0aW5nOgpAQCAt
MTIyOSw2ICsxMjk0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAxOTEsMTkxLDYz
LDI1NSArLy0gMzsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3LDEyNywyNTUg
Ky8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gNjMsNjMsMTkxLDI1NSArLy0gMzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJh
bHBoYQogICB0ZXN0aW5nOgpAQCAtMTI0Miw2ICsxMzA4LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09fiAxOTAsMTkwLDY1LDY1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDEyNiwxMjYsMTI4LDEyOCArLy0gMzsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiA2
Miw2MiwxOTIsMTkyICsvLSAzOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50
LmludGVycG9sYXRlLm91dHNpZGUKICAgdGVzdGluZzoKQEAgLTEyNTgsNiArMTMyNSw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAyMCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCwyNSA9PX4gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuemVyb3NpemUuZmlsbAogICB0ZXN0aW5nOgpAQCAtMTI3Miw2ICsxMzQwLDcgQEAKICAgICBj
dHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNDAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlCiAgIHRlc3Rpbmc6CkBAIC0xMjk0LDYg
KzEzNjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMTksMjEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAyMCwyMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIx
LDIxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50
LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0CiAgIHRlc3Rpbmc6CkBAIC0xMzA3LDYgKzEz
NzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDIwID09IDAsMjU1LDAsMjU1OyBAbW96LXRv
ZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5zdHJva2VSZWN0CiAgIHRlc3Rpbmc6CkBAIC0xMzI4LDYgKzEzOTksNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgMTksMjEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMCwy
MSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIxLDIxID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVy
dGljYWwKQEAgLTEzNDIsNiArMTQxNCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PX4g
MTkxLDE5MSw2MywyNTUgKy8tIDEwOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywx
MjcsMTI3LDI1NSArLy0gNTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09fiA2Myw2MywxOTEs
MjU1ICsvLSAxMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5tdWx0aXBsZQogICB0ZXN0aW5nOgpAQCAtMTM1Nyw2ICsxNDMwLDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMjU1LDEyNywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBw
aXhlbCAxMDAsMjUgPT1+IDAsMjU1LDI1NSwyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCAx
NTAsMjUgPT1+IDEyNywxMjcsMjU1LDI1NSArLy0gMzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwCiAgIHRlc3Rpbmc6CkBAIC0xMzg4LDYg
KzE0NjIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMTAxLDI1ID09fiAyNTUsMjU1LDAsMjU1ICsv
LSAxNjsKICAgICBAYXNzZXJ0IHBpeGVsIDE0OSwyNSA9PX4gMCwwLDI1NSwyNTUgKy8tIDE2Owog
ICAgIEBhc3NlcnQgcGl4ZWwgMTUxLDI1ID09fiAyNTUsMjU1LDAsMjU1ICsvLSAxNjsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMgogICB0
ZXN0aW5nOgpAQCAtMTQwOSw2ICsxNDg0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNjAsMjUgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA4MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5ncmFkaWVudC5lbXB0eQogICB0ZXN0aW5nOgpAQCAtMTQyMCw2ICsxNDk2LDcg
QEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZQogICB0ZXN0aW5nOgpAQCAt
MTQzMyw2ICsxNTEwLDcgQEAKICAgICBnLmFkZENvbG9yU3RvcCgwLjksICcjMGYwJyk7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lm9iamVj
dC5jb21wYXJlCiAgIHRlc3Rpbmc6CkBAIC0xNDQzLDYgKzE1MjEsNyBAQAogICAgIEBhc3NlcnQg
ZzEgIT09IGcyOwogICAgIGN0eC5maWxsU3R5bGUgPSBnMTsKICAgICBAYXNzZXJ0IGN0eC5maWxs
U3R5bGUgPT09IGcxOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lm9iamVj
dC5jcm9zc2NhbnZhcwogICBjb2RlOiB8CkBAIC0xNDU1LDYgKzE1MzQsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldAogICB0ZXN0aW5nOgpAQCAtMTQ2Niw2
ICsxNTQ2LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgZy5hZGRDb2xvclN0b3Ao
SW5maW5pdHksICcjMDAwJyk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29s
b3JTdG9wKC1JbmZpbml0eSwgJyMwMDAnKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Ig
Zy5hZGRDb2xvclN0b3AoTmFOLCAnIzAwMCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyCiAgIHRlc3Rpbmc6CkBAIC0xNDc3LDYgKzE1
NTgsNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0b3AoMCwg
J3VuZGVmaW5lZCcpOwogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0
b3AoMCwgbnVsbCk7CiAgICAgQGFzc2VydCB0aHJvd3MgU1lOVEFYX0VSUiBnLmFkZENvbG9yU3Rv
cCgwLCB1bmRlZmluZWQpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lmxp
bmVhci5ub25maW5pdGUKICAgZGVzYzogY3JlYXRlTGluZWFyR3JhZGllbnQoKSB0aHJvd3MgVHlw
ZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtMTQ4NCw2ICsxNTY2LDcgQEAK
ICAgICAtIDJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUKICAgY29kZTogfAogICAgIEBub25m
aW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCg8
MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwx
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xCiAg
IGRlc2M6IExpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNv
b3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTUwMSw2ICsxNTg0LDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIu
dHJhbnNmb3JtLjIKICAgZGVzYzogTGluZWFyIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxh
dGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nCkBAIC0x
NTE5LDYgKzE2MDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMwogICBkZXNjOiBMaW5lYXIgZ3JhZGllbnQgdHJhbnNm
b3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzCkBAIC0xNTM3LDYg
KzE2MjIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50
LnJhZGlhbC5uZWdhdGl2ZQogICBkZXNjOiBjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJ
TkRFWF9TSVpFX0VSUiBpZiBlaXRoZXIgcmFkaXVzIGlzIG5lZ2F0aXZlCkBAIC0xNTQ2LDYgKzE2
MzIsNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5jcmVhdGVSYWRp
YWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAxKTsKICAgICBAYXNzZXJ0IHRocm93cyBJTkRF
WF9TSVpFX0VSUiBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgMCwgMCwgLTAuMSk7
CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmNyZWF0ZVJhZGlhbEdyYWRp
ZW50KDAsIDAsIC0wLjEsIDAsIDAsIC0wLjEpOworICAgIHQuZG9uZSgpOwogLSBuYW1lOiAyZC5n
cmFkaWVudC5yYWRpYWwubm9uZmluaXRlCiAKICAgZGVzYzogY3JlYXRlUmFkaWFsR3JhZGllbnQo
KSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtMTU1Myw2
ICsxNjQwLDcgQEAKICAgICAtIDJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUKICAgY29kZTog
fAogICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5jcmVhdGVSYWRp
YWxHcmFkaWVudCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmlu
aXR5IE5hTj4sIDwxIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5p
dHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxIEluZmluaXR5IC1JbmZpbml0
eSBOYU4+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMQogICB0ZXN0aW5nOgpAQCAtMTU3NCw2ICsxNjYyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyCiAgIHRlc3Rpbmc6CkBA
IC0xNTk1LDYgKzE2ODQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
Z3JhZGllbnQucmFkaWFsLmluc2lkZTMKICAgdGVzdGluZzoKQEAgLTE2MTcsNiArMTcwNyw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTEKICAgdGVzdGluZzoKQEAgLTE2MzgsNiArMTcyOSw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIKICAgdGVzdGluZzoK
QEAgLTE2NTksNiArMTc1MSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMKICAgdGVzdGluZzoKQEAgLTE2ODEsNiArMTc3NCw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwu
dG91Y2gxCiAgIHRlc3Rpbmc6CkBAIC0xNzAyLDYgKzE3OTYsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0
OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGll
bnQucmFkaWFsLnRvdWNoMgogICB0ZXN0aW5nOgpAQCAtMTcyNSw2ICsxODIwLDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMKICAg
dGVzdGluZzoKQEAgLTE3NDYsNiArMTg0Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1
LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwu
ZXF1YWwKICAgdGVzdGluZzoKQEAgLTE3NjcsNiArMTg2NCw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4
ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAs
MjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5iZWhpbmQKICAgdGVzdGluZzoKQEAgLTE3ODgsNiArMTg4Niw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udAogICB0ZXN0aW5nOgpAQCAtMTgwOSw2
ICsxOTA4LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLmJvdHRvbQogICB0ZXN0aW5nOgpAQCAtMTgzMCw2ICsxOTMwLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRv
cAogICB0ZXN0aW5nOgpAQCAtMTg1MSw2ICsxOTUyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZQogICB0ZXN0aW5nOgpA
QCAtMTg3Miw2ICsxOTc0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwy
NTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7IEBt
b3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9k
bworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGlu
ZGVyCiAgIHRlc3Rpbmc6CkBAIC0xODkzLDYgKzE5OTYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxCiAgIHRlc3Rpbmc6
CkBAIC0xOTIxLDYgKzIwMjUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyCiAgIHRlc3Rpbmc6CkBAIC0xOTQ5LDYgKzIw
NTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMQogICBkZXNjOiBSYWRpYWwgZ3JhZGllbnQgY29vcmRp
bmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9m
IGZpbGxpbmcKQEAgLTE5NjcsNiArMjA3Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yCiAgIGRlc2M6IFJhZGlhbCBn
cmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2Ug
YXQgdGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTk4Niw2ICsyMDkzLDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMKICAg
ZGVzYzogUmFkaWFsIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2Vu
IGNhY2hpbmcgZWZmZWN0cwpAQCAtMjAwNSw2ICsyMTEzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmJhc2ljLmltYWdlCiAgIHRlc3Rpbmc6CkBAIC0y
MDI5LDcgKzIxMzgsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcwogICB0
ZXN0aW5nOgpAQCAtMjA1Myw2ICsyMTYyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcwogICB0ZXN0aW5nOgpAQCAtMjA3Myw2
ICsyMTgzLDcgQEAKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gMDsKICAg
ICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09IDA7CiAgICAgQGFzc2VydCB0aHJv
d3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAn
cmVwZWF0Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5iYXNpYy5ub2Nv
bnRleHQKICAgdGVzdGluZzoKQEAgLTIwODksMjQgKzIyMDAsMjggQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQKICAgdGVzdGluZzoK
ICAgICAtIDJkLnBhdHRlcm4uSURMCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBl
RXJyb3IgY3R4LmNyZWF0ZVBhdHRlcm4odW5kZWZpbmVkLCAncmVwZWF0Jyk7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFnZS5udWxsCiAgIHRlc3Rpbmc6CiAgICAgLSAy
ZC5wYXR0ZXJuLklETAogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0
eC5jcmVhdGVQYXR0ZXJuKG51bGwsICdyZXBlYXQnKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXR0ZXJuLmltYWdlLnN0cmluZwogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5J
REwKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlUGF0
dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0Jyk7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0dGVybi5yZXBlYXQuZW1wdHkKICAgdGVzdGluZzoKQEAgLTIxMzEsNDMgKzIy
NDYsNDkgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5yZXBlYXQubnVsbAogICB0ZXN0aW5nOgog
ICAgIC0gMmQucGF0dGVybi51bnJlY29nbmlzZWQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4
LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCBudWxsKSAhPSBudWxsOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZAogICB0ZXN0aW5nOgog
ICAgIC0gMmQucGF0dGVybi51bnJlY29nbmlzZWQKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhy
b3dzIFNZTlRBWF9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCB1bmRlZmlu
ZWQpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2du
aXNlZAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi51bnJlY29nbmlzZWQKICAgY29kZTog
fAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2Ny
ZWVuQ2FudmFzLCAiaW52YWxpZCIpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRl
cm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4u
dW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0
eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIm51bGwiKTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC5jYXNlCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5w
YXR0ZXJuLmV4YWN0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0
eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIlJlcGVhdCIpOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXgKICAgdGVzdGluZzoKICAg
ICAtIDJkLnBhdHRlcm4uZXhhY3QKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRB
WF9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAicmVwZWF0XDAiKTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxCiAgIHRlc3Rp
bmc6CkBAIC0yMTg2LDYgKzIzMDcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyCiAgIHRlc3Rpbmc6CkBAIC0yMjA4LDYgKzIzMzAs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmNyb3NzY2Fu
dmFzCiAgIGNvZGU6IHwKQEAgLTIyMjgsNyArMjM1MSw3IEBACiAgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5ub3JlcGVh
dC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjI1Myw3ICsyMzc2LDcgQEAKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlCiAgIHRlc3Rpbmc6CkBAIC0yMjgzLDcgKzI0
MDYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMQogICB0
ZXN0aW5nOgpAQCAtMjMxMSw3ICsyNDM0LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwx
ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7
CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWlu
dC5ub3JlcGVhdC5jb29yZDIKICAgdGVzdGluZzoKQEAgLTIzMzksNyArMjQ2Miw3IEBACiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzCiAgIHRlc3Rpbmc6CkBAIC0y
MzY3LDcgKzI0OTAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNp
YwogICB0ZXN0aW5nOgpAQCAtMjM5Miw3ICsyNTE1LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVy
bi5wYWludC5yZXBlYXQub3V0c2lkZQogICB0ZXN0aW5nOgpAQCAtMjQxOCw3ICsyNTQxLDcgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxCiAgIHRlc3Rpbmc6CkBA
IC0yNDQ0LDcgKzI1NjcsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5j
b29yZDIKICAgdGVzdGluZzoKQEAgLTI0NjcsNyArMjU5MCw3IEBACiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMwogICB0ZXN0aW5nOgpAQCAtMjQ5Miw3ICsyNjE1LDcg
QEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljCiAgIHRlc3Rpbmc6
CkBAIC0yNTE5LDcgKzI2NDIsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHgub3V0c2lkZQogICB0ZXN0aW5nOgpAQCAtMjU0Niw3ICsyNjY5LDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMQogICB0ZXN0aW5nOgpAQCAtMjU3Niw3ICsy
Njk5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYwogICB0
ZXN0aW5nOgpAQCAtMjYwMyw3ICsyNzI2LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwx
ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7
CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWlu
dC5yZXBlYXR5Lm91dHNpZGUKICAgdGVzdGluZzoKQEAgLTI2MzAsNyArMjc1Myw3IEBACiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEKICAgdGVzdGluZzoKQEAgLTI2
NjIsNyArMjc4NSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9u
LmltYWdlCiAgIGRlc2M6IEltYWdlIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBh
aW50ZWQKQEAgLTI2OTMsNyArMjgxNiw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQu
b3JpZW50YXRpb24uY2FudmFzCiAgIGRlc2M6IENhbnZhcyBwYXR0ZXJucyBkbyBub3QgZ2V0IGZs
aXBwZWQgd2hlbiBwYWludGVkCkBAIC0yNzE3LDYgKzI4NDAsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwK
ICAgdGVzdGluZzoKQEAgLTI3MjQsNiArMjg0OCw3IEBACiAgICAgLSAyZC5zaGFkb3cuYmx1ci5p
bml0aWFsCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dCbHVyID09PSAwOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFs
aWQKICAgdGVzdGluZzoKQEAgLTI3MzgsNiArMjg2Myw3IEBACiAgICAgQGFzc2VydCBjdHguc2hh
ZG93Qmx1ciA9PT0gMWU2OwogICAgIGN0eC5zaGFkb3dCbHVyID0gMDsKICAgICBAYXNzZXJ0IGN0
eC5zaGFkb3dCbHVyID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtMjc1NSw2ICsyODgx
LDcgQEAKICAgICBjdHguc2hhZG93Qmx1ciA9IDE7CiAgICAgY3R4LnNoYWRvd0JsdXIgPSBOYU47
CiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0gMTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbAogICB0ZXN0aW5n
OgpAQCAtMjc2Miw2ICsyODg5LDcgQEAKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LnNoYWRv
d09mZnNldFggPT09IDA7CiAgICAgQGFzc2VydCBjdHguc2hhZG93T2Zmc2V0WSA9PT0gMDsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQu
dmFsaWQKICAgdGVzdGluZzoKQEAgLTI3ODgsNiArMjkxNiw3IEBACiAgICAgY3R4LnNoYWRvd09m
ZnNldFkgPSAxZTY7CiAgICAgQGFzc2VydCBjdHguc2hhZG93T2Zmc2V0WCA9PT0gMWU2OwogICAg
IEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFkgPT09IDFlNjsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZAogICB0ZXN0aW5n
OgpAQCAtMjgxMSwxMiArMjk0MCwxNCBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gTmFOOwog
ICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFggPT09IDE7CiAgICAgQGFzc2VydCBjdHguc2hh
ZG93T2Zmc2V0WSA9PT0gMjsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5zaGFkb3cu
Y29sb3IuaW5pdGlhbAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguc2hhZG93Q29sb3IgPT09
ICdyZ2JhKDAsIDAsIDAsIDApJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZAogICB0ZXN0aW5nOgpAQCAtMjgyNyw2ICsyOTU4
LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xvciA9PT0gJyMwMGZmMDAnOwogICAgIGN0
eC5zaGFkb3dDb2xvciA9ICdSR0JBKDAsMjU1LCAwLDApJzsKICAgICBAYXNzZXJ0IGN0eC5zaGFk
b3dDb2xvciA9PT0gJ3JnYmEoMCwgMjU1LCAwLCAwKSc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZAogICB0ZXN0aW5nOgpA
QCAtMjg0NCw2ICsyOTc2LDcgQEAKICAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZmYwMCc7CiAg
ICAgY3R4LnNoYWRvd0NvbG9yID0gdW5kZWZpbmVkOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0Nv
bG9yID09PSAnIzAwZmYwMCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVu
YWJsZS5vZmYuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRv
d0NvbG9yIGlzIHNldApAQCAtMjg1NSw2ICsyOTg4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5lbmFibGUub2ZmLjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25s
eSBzaGFkb3dDb2xvciBpcyBzZXQKQEAgLTI4NjcsNiArMzAwMSw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zaGFkb3cuZW5hYmxlLmJsdXIKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gaWYgc2hh
ZG93Qmx1ciBpcyBzZXQKQEAgLTI4ODAsNiArMzAxNSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuZW5hYmxlLngKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0
WCBpcyBzZXQKQEAgLTI4OTMsNiArMzAyOSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cu
ZW5hYmxlLnkKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WSBpcyBz
ZXQKQEAgLTI5MDYsNiArMzA0Myw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cub2Zmc2V0
LnBvc2l0aXZlWAogICBkZXNjOiBTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4
CkBAIC0yOTIwLDYgKzMwNTgsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFk
b3cub2Zmc2V0Lm5lZ2F0aXZlWAogICBkZXNjOiBTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBu
ZWdhdGl2ZSB4CkBAIC0yOTM0LDYgKzMwNzMsNyBAQAogICAgIGN0eC5maWxsUmVjdCg1MCwgMCwg
NTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkKICAgZGVzYzogU2hhZG93cyBjYW4gYmUgb2Zm
c2V0IHdpdGggcG9zaXRpdmUgeQpAQCAtMjk0OCw2ICszMDg4LDcgQEAKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZCiAgIGRlc2M6IFNoYWRvd3Mg
Y2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkKQEAgLTI5NjIsNiArMzEwMyw3IEBACiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDI1LCAxMDAsIDI1KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDEyID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMzcgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm91dHNpZGUKICAgZGVzYzogU2hhZG93
cyBvZiBzaGFwZXMgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0
aGUgdmlzaWJsZSBhcmVhCkBAIC0yOTg0LDYgKzMxMjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
ODcsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jbGlwLjEKICAgZGVzYzogU2hhZG93cyBvZiBjbGlw
cGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24KQEAg
LTMwMDQsNiArMzE0Nyw3IEBACiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmNsaXAuMgogICBkZXNj
OiBTaGFkb3dzIGFyZSBub3QgZHJhd24gb3V0c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0z
MDI0LDYgKzMxNjgsNyBAQAogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAy
NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jbGlwLjMKICAgZGVzYzog
U2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlw
cGluZyByZWdpb24KQEAgLTMwNDUsNiArMzE5MCw3IEBACiAgICAgY3R4LnJlc3RvcmUoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93
LnN0cm9rZS5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlcwpAQCAt
MzA2NCw2ICszMjEwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsMjUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5zdHJva2UuY2FwLjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVh
cyBvdXRzaWRlIHN0cm9rZSBjYXBzCkBAIC0zMDg2LDYgKzMyMzMsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgMSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0cm9rZS5jYXAuMgogICBkZXNjOiBTaGFk
b3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGNhcHMKQEAgLTMxMDYsNiArMzI1NCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCAxLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMQogICBk
ZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5z
CkBAIC0zMTI4LDYgKzMyNzcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4yCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBz
dHJva2Ugam9pbnMKQEAgLTMxNTIsNiArMzMwMiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0cm9rZS5qb2luLjMKICAgZGVzYzogU2hhZG93cyBhcmUg
ZHJhd24gZm9yIHN0cm9rZSBqb2lucyByZXNwZWN0aW5nIG1pdGVyIGxpbWl0CkBAIC0zMTc1LDYg
KzMzMjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5p
bWFnZS5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1hZ2VzCkBAIC0zMTk5
LDcgKzMzNTEsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAg
ICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4xCiAgIGRlc2M6
IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgaW1hZ2VzCkBAIC0zMjI0LDcg
KzMzNzYsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yCiAgIGRlc2M6IFNo
YWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgaW1hZ2VzCkBAIC0z
MjU1LDcgKzM0MDcsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5hbHBoYQogICBk
ZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVu
dCBpbWFnZXMKQEAgLTMyODAsNyArMzQzMiw3IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7Ci0gICAgfSk7Cisg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmltYWdlLnNl
Y3Rpb24KICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGlt
YWdlIHNvdXJjZSByZWN0YW5nbGVzCkBAIC0zMzA3LDcgKzM0NTksNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAs
MjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5h
bWU6IDJkLnNoYWRvdy5pbWFnZS5zY2FsZQogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBjb3Jy
ZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXMKQEAgLTMzMzQsNyArMzQ4Niw3IEBACiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4g
MCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQuc2hhZG93LmNhbnZhcy5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBm
b3IgY2FudmFzZXMKQEAgLTMzNTEsNiArMzUwMyw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkg
PSA1MDsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEKICAgZGVzYzogU2hhZG93cyBhcmUg
bm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNlcwpAQCAtMzM2NSw2ICszNTE4LDcgQEAK
ICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVu
Q2FudmFzMiwgMCwgLTUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQu
MgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9m
IGNhbnZhc2VzCkBAIC0zMzg3LDYgKzM1NDEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnNoYWRvdy5jYW52YXMuYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJh
d24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgY2FudmFzZXMKQEAgLTM0MDMs
NiArMzU1OCw3IEBACiAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogICAgIGN0eC5kcmF3
SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5w
YXR0ZXJuLmJhc2ljCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBmaWxsIHBhdHRlcm5z
CkBAIC0zNDI4LDcgKzM1ODQsNyBAQAogICAgICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwog
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnMKQEAgLTM0NTUsNyAr
MzYxMSw3IEBACiAgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiAgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucwpAQCAtMzQ4Niw3ICszNjQy
LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0dGVybi5hbHBoYQogICBkZXNjOiBTaGFk
b3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBmaWxsIHBh
dHRlcm5zCkBAIC0zNTEyLDcgKzM2NjgsNyBAQAogICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAn
IzAwZic7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMKICAgZGVzYzogU2hhZG93
cyBhcmUgZHJhd24gZm9yIGdyYWRpZW50IGZpbGxzCkBAIC0zNTMwLDYgKzM2ODYsNyBAQAogICAg
IGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xCiAgIGRlc2M6
IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMKQEAg
LTM1NDcsNiArMzcwNCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogICAgIGN0
eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmdyYWRpZW50
LnRyYW5zcGFyZW50LjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3Bh
cmVudCBwYXJ0cyBvZiBncmFkaWVudCBmaWxscwpAQCAtMzU2OSw2ICszNzI3LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEKICAg
ZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJl
bnQgZ3JhZGllbnQgZmlsbHMKQEAgLTM1ODUsNiArMzc0NCw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9IGdyYWRpZW50OwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuc2hhZG93LnRyYW5zZm9ybS4xCiAgIGRlc2M6IFNoYWRvd3MgdGFrZSBhY2NvdW50
IG9mIHRyYW5zZm9ybWF0aW9ucwpAQCAtMzU5OCw2ICszNzU4LDcgQEAKICAgICBjdHgudHJhbnNs
YXRlKDEwMCwgMTAwKTsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTE1MCwgMTAwLCA1MCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cudHJhbnNmb3JtLjIKICAgZGVzYzogU2hhZG93IG9mZnNldHMgYXJl
IG5vdCBhZmZlY3RlZCBieSB0cmFuc2Zvcm1hdGlvbnMKQEAgLTM2MTEsNiArMzc3Miw3IEBACiAg
ICAgY3R4LnJvdGF0ZShNYXRoLlBJKQogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4xCiAgIGRlc2M6IFNoYWRvdyBjb2xvdXIgYWxw
aGEgY29tcG9uZW50cyBhcmUgdXNlZApAQCAtMzYyMyw2ICszNzg1LDcgQEAKICAgICBjdHguc2hh
ZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1ICsvLSA0OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4yCiAgIGRlc2M6IFNoYWRvdyBjb2xvdXIgYWxw
aGEgY29tcG9uZW50cyBhcmUgdXNlZApAQCAtMzYzNSw2ICszNzk4LDcgQEAKICAgICBjdHguc2hh
ZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93LmFscGhhLjMKICAgZGVzYzogU2hhZG93cyBhcmUgYWZmZWN0ZWQg
YnkgZ2xvYmFsQWxwaGEKQEAgLTM2NDksNiArMzgxMyw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhh
ID0gMC41OwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc2hhZG93LmFscGhhLjQKICAgZGVzYzogU2hhZG93cyB3aXRoIGFscGhhIGNvbXBvbmVudHMg
YXJlIGNvcnJlY3RseSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYQpAQCAtMzY2Myw2ICszODI4LDcg
QEAKICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjcwNzsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS41CiAgIGRlc2M6IFNoYWRv
d3Mgb2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgZHJhd24gY29ycmVjdGx5CkBA
IC0zNjc2LDYgKzM4NDIsNyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4g
MTI3LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9z
aXRlLjEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uCkBAIC0zNjkwLDYgKzM4NTcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDIwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRv
dy5jb21wb3NpdGUuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24KQEAgLTM3MDQsNiArMzg3Miw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwLCAtMTAsIDEyMCwgNzApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnNoYWRvdy5jb21wb3NpdGUuMwogICBkZXNjOiBBcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJl
IGRyYXduIGNvcnJlY3RseSB3aXRoIGRlc3RpbmF0aW9uLW91dApAQCAtMzcxOSw2ICszODg4LDcg
QEAKICAgICBjdHguZmlsbFJlY3QoMjAwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0LmJhc2ljCiAgIGRl
c2M6IGNsZWFyUmVjdCBjbGVhcnMgdG8gdHJhbnNwYXJlbnQgYmxhY2sKQEAgLTM3MjksNiArMzg5
OSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5jbGVhclJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5wYXRoCiAgIGRlc2M6IGNsZWFy
UmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aApAQCAtMzc0MSw2ICszOTEyLDcg
QEAKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgY3R4LmZpbGwoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmNsZWFyUmVjdC56ZXJvCiAgIGRlc2M6IGNsZWFyUmVjdCBvZiB6ZXJvIHBpeGVs
cyBoYXMgbm8gZWZmZWN0CkBAIC0zNzUzLDYgKzM5MjUsNyBAQAogICAgIGN0eC5jbGVhclJlY3Qo
MCwgMCwgMCwgNTApOwogICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgMCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5jbGVhclJlY3QubmVnYXRpdmUKICAgZGVzYzogY2xlYXJSZWN0IG9mIG5lZ2F0aXZlIHNpemVz
IHdvcmtzCkBAIC0zNzY5LDYgKzM5NDIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0g
MCwwLDAsMDsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMCwwLDA7CiAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwzNyA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNs
ZWFyUmVjdC50cmFuc2Zvcm0KICAgZGVzYzogY2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5z
Zm9ybXMKQEAgLTM3ODEsNiArMzk1NSw3IEBACiAgICAgY3R4LnRyYW5zbGF0ZSgwLCA1KTsKICAg
ICBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5nbG9iYWxh
bHBoYQogICBkZXNjOiBjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBA
IC0zNzkyLDYgKzM5NjcsNyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMTsKICAgICBjdHgu
Y2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCww
LDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9z
aXRlCiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uCkBAIC0zODAzLDYgKzM5NzksNyBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0LmNsaXAKICAgZGVzYzogY2xlYXJSZWN0IGlzIGFm
ZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMKQEAgLTM4MTgsNiArMzk5NSw3IEBACiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmNsZWFyUmVjdC5zaGFkb3cKICAgZGVzYzogY2xlYXJSZWN0IGRvZXMgbm90IGRy
YXcgc2hhZG93cwpAQCAtMzgzMiw2ICs0MDEwLDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9
IDUwOwogICAgIGN0eC5jbGVhclJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNs
ZWFyUmVjdC5ub25maW5pdGUKICAgZGVzYzogY2xlYXJSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4g
aXMgaWdub3JlZApAQCAtMzg0Miw2ICs0MDIxLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQG5vbmZpbml0ZSBjdHguY2xlYXJSZWN0KDwwIEluZmluaXR5IC1JbmZp
bml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5m
aW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZp
bGxSZWN0LmJhc2ljCiAgIGRlc2M6IGZpbGxSZWN0IHdvcmtzCkBAIC0zODUxLDYgKzQwMzEsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QucGF0aAogICBkZXNjOiBmaWxsUmVjdCBkb2Vz
IG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aApAQCAtMzg2NCw2ICs0MDQ1LDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxs
UmVjdC56ZXJvCiAgIGRlc2M6IGZpbGxSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QK
QEAgLTM4NzcsNiArNDA1OSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDUwKTsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC5uZWdhdGl2
ZQogICBkZXNjOiBmaWxsUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcwpAQCAtMzg5NCw2ICs0
MDc3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDEyID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMzcgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwz
NyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC50
cmFuc2Zvcm0KICAgZGVzYzogZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcwpAQCAt
MzkwNSw2ICs0MDg5LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKICMgZG9uJ3QgYm90aGVyIHRlc3RpbmcgZ2xvYmFsYWxw
aGEsIGdsb2JhbGNvbXBvc2l0ZSBiZWNhdXNlIHRoZXkncmUgYWxyZWFkeSBoZWF2aWx5IHVzZWQg
Ynkgb3RoZXIgdGVzdCBjYXNlcwogCkBAIC0zOTIzLDYgKzQxMDgsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5maWxsUmVjdC5zaGFkb3cKICAgZGVzYzogZmlsbFJlY3QgZHJhd3Mgc2hhZG93cwpAQCAt
MzkzNyw2ICs0MTIzLDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3Qubm9uZmluaXRl
CiAgIGRlc2M6IGZpbGxSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzk0
OCw2ICs0MTM1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIEBub25maW5p
dGUgY3R4LmZpbGxSZWN0KDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAt
SW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIEluZmluaXR5
IC1JbmZpbml0eSBOYU4+KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuYmFzaWMKICAgZGVzYzog
c3Ryb2tlUmVjdCB3b3JrcwpAQCAtMzk1OCw2ICs0MTQ2LDcgQEAKICAgICBjdHgubGluZVdpZHRo
ID0gNTA7CiAgICAgY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1MCwgMik7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
dHJva2VSZWN0LnBhdGgKICAgZGVzYzogc3Ryb2tlUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1
cnJlbnQgcGF0aApAQCAtMzk3Miw2ICs0MTYxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lnplcm8uMQogICBk
ZXNjOiBzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGluZwpAQCAtMzk4Miw2ICs0
MTcyLDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gMjUwOwogICAgIGN0eC5zdHJva2VSZWN0KDUw
LCAyNSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuemVyby4yCiAgIGRlc2M6IHN0cm9rZVJl
Y3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5nLCBpbmNsdWRpbmcgY2FwcyBhbmQgam9pbnMK
QEAgLTM5OTQsNiArNDE4NSw3IEBACiAgICAgY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKICAgICBj
dHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lnplcm8uMwog
ICBkZXNjOiBzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBzdHJhaWdodCBsaW5lCkBA
IC00MDA0LDYgKzQxOTYsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ry
b2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuemVyby40CiAg
IGRlc2M6IHN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGgg
bm8gY2FwcwpAQCAtNDAxNSw2ICs0MjA4LDcgQEAKICAgICBjdHgubGluZUNhcCA9ICdyb3VuZCc7
CiAgICAgY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVj
dC56ZXJvLjUKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2Vk
IGxpbmUgd2l0aCBqb2lucwpAQCAtNDAyNiw2ICs0MjIwLDcgQEAKICAgICBjdHgubGluZUpvaW4g
PSAncm91bmQnOwogICAgIGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zdHJva2VSZWN0Lm5lZ2F0aXZlCiAgIGRlc2M6IHN0cm9rZVJlY3Qgb2YgbmVnYXRpdmUg
c2l6ZXMgd29ya3MKQEAgLTQwNDQsNiArNDIzOSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwx
MiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0KICAgZGVzYzogZmlsbFJlY3QgaXMg
YWZmZWN0ZWQgYnkgdHJhbnNmb3JtcwpAQCAtNDA1Niw2ICs0MjUyLDcgQEAKICAgICBjdHgubGlu
ZVdpZHRoID0gNTsKICAgICBjdHguc3Ryb2tlUmVjdCgyLjUsIC0yLjYsIDUsIDAuMik7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhCiAgIGRlc2M6IHN0cm9rZVJlY3QgaXMgYWZm
ZWN0ZWQgYnkgZ2xvYmFsQWxwaGEKQEAgLTQwNjcsNiArNDI2NCw3IEBACiAgICAgY3R4LmxpbmVX
aWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
dHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZQogICBkZXNjOiBzdHJva2VSZWN0IGlzIG5vdCBhZmZl
Y3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24KQEAgLTQwNzgsNiArNDI3Niw3IEBACiAg
ICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zdHJva2VSZWN0LmNsaXAKICAgZGVzYzogc3Ryb2tlUmVjdCBpcyBhZmZlY3Rl
ZCBieSBjbGlwcGluZyByZWdpb25zCkBAIC00MDk1LDYgKzQyOTQsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zdHJva2VSZWN0LnNoYWRvdwogICBkZXNjOiBzdHJva2VSZWN0IGRyYXdzIHNoYWRvd3MK
QEAgLTQxMTIsNiArNDMxMiw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5z
dHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lm5vbmZp
bml0ZQogICBkZXNjOiBzdHJva2VSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApA
QCAtNDEyNCwxMiArNDMyNSwxNCBAQAogICAgIGN0eC5saW5lV2lkdGggPSAxNTA7CiAgICAgQG5v
bmZpbml0ZSBjdHguc3Ryb2tlUmVjdCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1MCBJ
bmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS4zYXJnCiAg
IHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuZGVmYXVsdHNvdXJjZQogICAgIC0gMmQuZHJh
d0ltYWdlLmRlZmF1bHRkZXN0CisgIHRpbWVvdXQ6IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gcmVk
LnBuZwogICAgIC0gZ3JlZW4ucG5nCkBAIC00MTYyLDcgKzQzNjUsNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAs
NDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1
NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1l
OiAyZC5kcmF3SW1hZ2UuNWFyZwogICB0ZXN0aW5nOgpAQCAtNDE3MCw2ICs0MzczLDcgQEAKICAg
aW1hZ2VzOgogICAgIC0gcmVkLnBuZwogICAgIC0gZ3JlZW4ucG5nCisgIHRpbWVvdXQ6IGxvbmcK
ICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwpAQCAtNDIwMCwxMyArNDQwNCwxNCBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYwogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnBh
aW50CiAgIGltYWdlczoKICAgICAtIGdyZWVuLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6
IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKQEAgLTQyMjUsMTMgKzQ0MzAsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0lt
YWdlLjlhcmcuc291cmNlcG9zCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UucGFpbnQK
ICAgaW1hZ2VzOgogICAgIC0gcmdyZy0yNTZ4MjU2LnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNv
ZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKQEAgLTQyNTAsMTMgKzQ0NTYsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlc2l6ZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnBh
aW50CiAgIGltYWdlczoKICAgICAtIHJncmctMjU2eDI1Ni5wbmcKKyAgdGltZW91dDogbG9uZwog
ICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CkBAIC00MjgyLDcgKzQ0ODksNyBAQAogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDgwLDIwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyMCwzMCA9
PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgODAsMzAgPT1+IDAsMjU1LDAs
MjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJk
LmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MKICAgdGVzdGluZzoKQEAgLTQyOTAsNiArNDQ5Nyw3IEBA
CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAtIGdyZWVuLnBuZworICB0aW1lb3V0OiBs
b25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQzMjEsNyArNDUyOSw3IEBACiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMCw0
OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1
LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6
IDJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplCiAgIHRlc3Rpbmc6CkBAIC00MzI5LDYgKzQ1Mzcs
NyBAQAogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCiAgICAgLSBncmVlbi5wbmcKKyAgdGltZW91
dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MzYwLDExICs0NTY5LDEyIEBACiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLmRyYXdJbWFnZS5jYW52YXMKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFn
ZS5wYWludAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgdmFyIGN0eDIgPSBvZmZz
Y3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyk7CkBAIC00Mzc2LDEwICs0NTg2LDEyIEBACiAg
ICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zZWxmLjEKICAg
dGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zZWxmCisgIHRpbWVvdXQ6IGxvbmcKICAgY29k
ZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCA1MCk7CkBAIC00MzkwLDEwICs0NjAyLDEyIEBACiAgICAgQGFzc2VydCBwaXhlbCA5OSww
ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zZWxmLjIKICAgdGVzdGluZzoKICAgICAtIDJkLmRy
YXdJbWFnZS5zZWxmCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDEsIDEwMCwgNDkpOwpAQCAtNDQwNiwx
NiArNDYyMCwyMCBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3
SW1hZ2UubnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLklETAorICB0aW1lb3V0
OiBsb25nCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmRyYXdJ
bWFnZShudWxsLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uu
emVyb2NhbnZhcwogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnplcm9jYW52YXMKKyAg
dGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDAsIDEwKTsKICAgICBAYXNzZXJ0IHRocm93cyBJTlZBTElEX1NUQVRF
X0VSUiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwpAQCAtNDQyNywxOSAr
NDY0NSwyMyBAQAogICAgIG9mZnNjcmVlbkNhbnZhczIud2lkdGggPSAwOwogICAgIG9mZnNjcmVl
bkNhbnZhczIuaGVpZ2h0ID0gMDsKICAgICBAYXNzZXJ0IHRocm93cyBJTlZBTElEX1NUQVRFX0VS
UiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmRyYXdJbWFnZS53cm9uZ3R5cGUKICAgZGVzYzogSW5jb3JyZWN0IGltYWdl
IHR5cGVzIGluIGRyYXdJbWFnZSBkbyBub3QgbWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRzLCBz
byBXZWJJREwgdGhyb3dzIGEgVHlwZUVycm9yCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1h
Z2UuSURMCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFR5
cGVFcnJvciBjdHguZHJhd0ltYWdlKHVuZGVmaW5lZCwgMCwgMCk7CiAgICAgQGFzc2VydCB0aHJv
d3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UoMCwgMCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3Mg
VHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UoIiIsIDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0lt
YWdlLnBhaW50CisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgIHZhciB4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKQEAgLTQ0NTMsMTIgKzQ2NzUsMTMgQEAKICAgICBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuemVyb3NvdXJjZQogICBkZXNj
OiBkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgdGhyb3dzIElOREVY
X1NJWkVfRVJSCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuemVyb3NvdXJjZQorICB0
aW1lb3V0OiBsb25nCiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgY29kZTogfApAQCAtNDQ3
OCw3ICs0NzAxLDcgQEAKICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsKICAgICAg
ICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2UKICAgZGVzYzogZHJhd0lt
YWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIGZyb20gaW1hZ2UgdGhyb3dzIElO
REVYX1NJWkVfRVJSCkBAIC00NDg4LDYgKzQ3MTEsNyBAQAogICAgIC0gcmVkLXplcm93aWR0aC5z
dmcKICAgICAtIHJlZC16ZXJvaGVpZ2h0LnN2ZwogICAgIC0gcmVkLXplcm9zaXplLnN2ZworICB0
aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ1MDUsNyArNDcyOSw3IEBACiAgICAg
ICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2UKICAgZGVzYzog
TmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3Rh
bmdsZQpAQCAtNDUxNCw2ICs0NzM4LDcgQEAKICAgbW96aWxsYTogeyB0aHJvd3MgfQogICBpbWFn
ZXM6CiAgICAgLSBnZ3JyLTI1NngyNTYucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAog
ICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwpAQCAtNDUzOSwxMyArNDc2NCwxNCBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUxLDQ4
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAg
IH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZWRlc3QKICAgZGVzYzogTmVnYXRpdmUgZGVzdGluYXRpb24gd2lkdGgvaGVpZ2h0
IHJlcHJlc2VudHMgdGhlIGNvcnJlY3QgcmVjdGFuZ2xlCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5k
cmF3SW1hZ2UuZGlyZWN0aW9uCiAgIG1vemlsbGE6IHsgdGhyb3dzIH0KKyAgdGltZW91dDogbG9u
ZwogICBpbWFnZXM6CiAgICAgLSBnZ3JyLTI1NngyNTYucG5nCiAgIGNvZGU6IHwKQEAgLTQ1NzMs
MTMgKzQ3OTksMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MSw0OCA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIK
ICAgZGVzYzogTmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24g
b2YgdGhlIGltYWdlCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuZGlyZWN0aW9uCiAg
IG1vemlsbGE6IHsgdGhyb3dzIH0KKyAgdGltZW91dDogbG9uZwogICBpbWFnZXM6CiAgICAgLSBn
Z3JyLTI1NngyNTYucG5nCiAgIGNvZGU6IHwKQEAgLTQ2MDcsNyArNDgzNCw3IEBACiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTEsNDggPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9
PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuZHJhd0ltYWdlLm91dHNpZGVzb3VyY2UKICAgRElTQUJMRUQ6IGZpeCB0aGlz
IHRvIG1hdGNoIHRoZSBjdXJyZW50IHNwZWMgKHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUgc291
cmNlKQpAQCAtNDY0NSwxMSArNDg3MiwxMiBAQAogICAgICAgICBAYXNzZXJ0IHRocm93cyBJTkRF
WF9TSVpFX0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgNSwgLTUsIDAsIDAsIDEw
MCwgNTApOwogICAgICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlMSwgMTEwLCA2MCwgLTIwLCAtMjAsIDAsIDAsIDEwMCwgNTApOwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSk7
CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLmJy
b2tlbgogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLmluY29tcGxldGUuaW1hZ2UKKyAg
dGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOwpAQCAtNDY2NSwxMiArNDg5MywxMyBAQAogICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0lt
YWdlLnN2ZwogICBkZXNjOiBkcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UKICAgdGVzdGluZzoK
ICAgICAtIDJkLmRyYXdJbWFnZS5zdmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwpAQCAtNDY4NCw3ICs0OTEzLDcg
QEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIKICAgZGVzYzogZHJhd0ltYWdlKCkg
b2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1lCkBAIC00NjkyLDYgKzQ5MjEsNyBAQAog
ICAgIC0gMmQuZHJhd0ltYWdlLmFuaW1hdGVkLmltYWdlCiAgIGltYWdlczoKICAgICAtIGFuaW0t
cG9zdGVyLWdyLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICB2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CkBAIC00NzA1LDExICs0OTM1LDEyIEBACiAgICAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsgQG1vei10b2RvCi0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuZHJhd0ltYWdlLnBhdGgKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFn
ZS51bmFmZmVjdAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogICAgIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDcyNiwxMyArNDk1
NywxNCBAQAogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAg
Y3R4LmZpbGwoKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJh
d0ltYWdlLnRyYW5zZm9ybQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QK
ICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKQEAgLTQ3NDksMTMgKzQ5ODEsMTQgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5hbHBoYQogICB0ZXN0
aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBu
ZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ3NzIsMTMgKzUwMDUsMTQg
QEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLmRyYXdJbWFnZS5jbGlwCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uu
c3ViamVjdAogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29k
ZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwpAQCAtNDc5NiwxMyArNTAzMCwxNCBAQAogICAgIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7Cisg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLmNvbXBv
c2l0ZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QKICAgaW1hZ2VzOgog
ICAgIC0gcmVkLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ4MTks
MTIgKzUwNTQsMTMgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5ub3dyYXAKICAgZGVzYzogU3RyZXRjaGVk
IGltYWdlcyBkbyBub3QgZ2V0IHBpeGVscyB3cmFwcGluZyBhcm91bmQgdGhlIGVkZ2VzCiAgIGlt
YWdlczoKICAgICAtIHJlZHRyYW5zcGFyZW50LnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6
IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKQEAgLTQ4NDIsNyArNTA3OCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNDUs
MjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0lt
YWdlLm5vbmZpbml0ZQogICBkZXNjOiBkcmF3SW1hZ2UoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkCkBAIC00ODUwLDYgKzUwODYsNyBAQAogICAgIC0gMmQubm9uZmluaXRlCiAgIGltYWdl
czoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00
ODY3LDcgKzUxMDQsNyBAQAogICAgICAgICBAbm9uZmluaXRlIGN0eC5kcmF3SW1hZ2UoPHJlc3Bv
bnNlPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBO
YU4+LCA8MTAwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5maW5pdHkgLUluZmluaXR5
IE5hTj4pOwogICAgICAgICBAbm9uZmluaXRlIGN0eC5kcmF3SW1hZ2UoPHJlc3BvbnNlPiwgPDAg
SW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAw
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDww
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEw
MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAg
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRl
Mi5iYXNpYwogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoc3csIHNoKSBleGlzdHMgYW5kIHJldHVy
bnMgc29tZXRoaW5nCkBAIC00ODc1LDYgKzUxMTIsNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIub2JqZWN0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVJbWFnZURhdGEo
MSwgMSkgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTEuYmFzaWMKICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIGV4aXN0cyBhbmQg
cmV0dXJucyBzb21ldGhpbmcKQEAgLTQ4ODIsNiArNTEyMCw3IEBACiAgICAgLSAyZC5pbWFnZURh
dGEuY3JlYXRlMS5vYmplY3QKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LmNyZWF0ZUltYWdl
RGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSAhPT0gbnVsbDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsCiAgIGRlc2M6IGNyZWF0ZUlt
YWdlRGF0YShzdywgc2gpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUgcmln
aHQgc2l6ZQpAQCAtNDg5OSw2ICs1MTM4LDcgQEAKICAgICAgICAgaWYgKGltZ2RhdGEuZGF0YVtp
XSAhPT0gMCkKICAgICAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogICAgIEBh
c3NlcnQgaXNUcmFuc3BhcmVudEJsYWNrOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmlt
YWdlRGF0YS5jcmVhdGUxLmluaXRpYWwKICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEp
IHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZQpAQCAtNDkx
OSw2ICs1MTU5LDcgQEAKICAgICAgICAgaWYgKGltZ2RhdGEyLmRhdGFbaV0gIT09IDApCiAgICAg
ICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKICAgICBAYXNzZXJ0IGlzVHJhbnNw
YXJlbnRCbGFjazsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRl
Mi5sYXJnZQogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB3b3JrcyBmb3Igc2l6ZXMg
bXVjaCBsYXJnZXIgdGhhbiB0aGUgY2FudmFzCkBAIC00OTM0LDYgKzUxNzUsNyBAQAogICAgICAg
ICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICAgICAgaXNUcmFuc3BhcmVudEJs
YWNrID0gZmFsc2U7CiAgICAgQGFzc2VydCBpc1RyYW5zcGFyZW50QmxhY2s7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUKICAgZGVzYzogY3Jl
YXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGFrZXMgdGhlIGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUg
c2l6ZSBhcmd1bWVudHMKQEAgLTQ5NDcsNiArNTE4OSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRh
MS5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTIuZGF0YS5sZW5ndGg7CiAgICAgQGFzc2VydCBpbWdk
YXRhMi5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTMuZGF0YS5sZW5ndGg7CiAgICAgQGFzc2VydCBp
bWdkYXRhMy5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTQuZGF0YS5sZW5ndGg7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVybwogICBkZXNjOiBjcmVhdGVJ
bWFnZURhdGEoc3csIHNoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCkBA
IC00OTU2LDYgKzUxOTksNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0
eC5jcmVhdGVJbWFnZURhdGEoMTAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVf
RVJSIGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVY
X1NJWkVfRVJSIGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlCiAgIGRlc2M6IGNyZWF0ZUltYWdl
RGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlCkBAIC00
OTY3LDYgKzUyMTEsNyBAQAogICAgICAgICBuZWdpbmZvYmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgeyByZXR1cm4gLUluZmluaXR5OyB9IH0sCiAgICAgICAgIG5hbm9iaiA9IHsgdmFsdWVPZjog
ZnVuY3Rpb24oKSB7IHJldHVybiAtSW5maW5pdHk7IH0gfTsKICAgICBAbm9uZmluaXRlIEBhc3Nl
cnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlSW1hZ2VEYXRhKDwxMCBwb3NpbmZvYmogbmVn
aW5mb2JqIG5hbm9iaj4sIDwxMCBwb3NpbmZvYmogbmVnaW5mb2JqIG5hbm9iaj4pOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8KICAgZGVzYzogY3Jl
YXRlSW1hZ2VEYXRhKG51bGwpIHRocm93cyBUeXBlRXJyb3IKQEAgLTQ5NzQsNiArNTIxOSw3IEBA
CiAgICAgLSAyZC5pbWFnZURhdGEuY3JlYXRlLm51bGwKICAgY29kZTogfAogICAgIEBhc3NlcnQg
dGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlSW1hZ2VEYXRhKG51bGwpOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kCiAgIGRlc2M6IGNyZWF0ZUlt
YWdlRGF0YSh3LCBoKSBpcyByb3VuZGVkIHRoZSBzYW1lIGFzIGdldEltYWdlRGF0YSgwLCAwLCB3
LCBoKQpAQCAtNDk4NCw2ICs1MjMwLDcgQEAKICAgICB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1h
Z2VEYXRhKDAsIDAsIDEwLjAxLCAxMC45OSk7CiAgICAgQGFzc2VydCBpbWdkYXRhMS53aWR0aCA9
PT0gaW1nZGF0YTIud2lkdGg7CiAgICAgQGFzc2VydCBpbWdkYXRhMS5oZWlnaHQgPT09IGltZ2Rh
dGEyLmhlaWdodDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LmJh
c2ljCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmcK
QEAgLTQ5OTEsNiArNTIzOCw3IEBACiAgICAgLSAyZC5pbWFnZURhdGEuZ2V0LmJhc2ljCiAgIGNv
ZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCA1MCkgIT09IG51
bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC56ZXJvCiAgIGRl
c2M6IGdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm8K
QEAgLTUwMDAsNiArNTI0OCw3IEBACiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIg
Y3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhf
U0laRV9FUlIgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAxMCk7CiAgICAgQGFzc2VydCB0aHJv
d3MgSU5ERVhfU0laRV9FUlIgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAwKTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZQogICBkZXNjOiBnZXRJ
bWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZQpA
QCAtNTAxMSw2ICs1MjYwLDcgQEAKICAgICAgICAgbmVnaW5mb2JqID0geyB2YWx1ZU9mOiBmdW5j
dGlvbigpIHsgcmV0dXJuIC1JbmZpbml0eTsgfSB9LAogICAgICAgICBuYW5vYmogPSB7IHZhbHVl
T2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4gLUluZmluaXR5OyB9IH07CiAgICAgQG5vbmZpbml0ZSBA
YXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmdldEltYWdlRGF0YSg8MTAgcG9zaW5mb2JqIG5l
Z2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9z
aW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+
KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRz
aWRlCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgb3V0
c2lkZSB0aGUgY2FudmFzCkBAIC01MDcxLDYgKzUzMjEsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0
YTcuZGF0YVsyMCo0KzFdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YTcuZGF0YVsyMCo0KzJd
ID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YTcuZGF0YVsyMCo0KzNdID09PSAwOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlCiAgIGRl
c2M6IGdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUgd2lkdGggYW5kIGhlaWdodCwg
YW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0CkBAIC01MDk2LDYgKzUzNDcs
NyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0YVsxXSA9PT0gMDsKICAgICBAYXNzZXJ0IGlt
Z2RhdGEyLmRhdGFbMl0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzNdID09PSAw
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUK
ICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdn
ZXIgc291cmNlIHJlY3RhbmdsZQpAQCAtNTEwNiw2ICs1MzU4LDcgQEAKICAgICB2YXIgaW1nZGF0
YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDIwLCAyMCk7CiAgICAgQGFzc2VydCBpbWdkYXRh
Mi53aWR0aCA+IGltZ2RhdGExLndpZHRoOwogICAgIEBhc3NlcnQgaW1nZGF0YTIuaGVpZ2h0ID4g
aW1nZGF0YTEuaGVpZ2h0OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5n
ZXQudGlueQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0
aGFuIG9uZSBwaXhlbApAQCAtNTExNiw2ICs1MzY5LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEu
ZGF0YS5sZW5ndGggPT09IGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNDsKICAgICBAYXNz
ZXJ0IGltZ2RhdGEud2lkdGggPT09IDE7CiAgICAgQGFzc2VydCBpbWdkYXRhLmhlaWdodCA9PT0g
MTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bAog
ICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnMK
QEAgLTUxMzAsNiArNTM4NCw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMl0gPiAyMDA7
CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPiAxMDA7CiAgICAgQGFzc2VydCBpbWdkYXRh
LmRhdGFbM10gPCAyMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdl
dC5yYW5nZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFu
Z2UgWzAsIDI1NV0KQEAgLTUxNDUsNiArNTQwMCw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhMS5k
YXRhWzBdID09PSAwOwogICAgIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1
LCAxLCAxKTsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMF0gPT09IDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LmNsYW1wCiAgIGRlc2M6IGdldEltYWdl
RGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5nZSBbMCwgMjU1XQpAQCAtNTE2Myw2ICs1
NDE5LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMF0gPT09IDI1NTsKICAgICBAYXNz
ZXJ0IGltZ2RhdGEyLmRhdGFbMV0gPT09IDI1NTsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFb
Ml0gPT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0Lmxl
bmd0aAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIGEgY29ycmVjdGx5LXNpemVkIFVp
bnQ4Q2xhbXBlZEFycmF5CkBAIC01MTcxLDYgKzU0MjgsNyBAQAogICBjb2RlOiB8CiAgICAgdmFy
IGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiAgICAgQGFzc2VydCBp
bWdkYXRhLmRhdGEubGVuZ3RoID09PSBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzCiAgIGRl
c2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1vc3QgY29sdW1ucyBmaXJzdApAQCAtNTE4
NSw2ICs1NDQzLDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMDsKICAgICBA
YXNzZXJ0IGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0gPT09IDI1
NTsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8y
KSppbWdkYXRhLndpZHRoKjQpXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3MKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0
b3Btb3N0IHJvd3MgZmlyc3QKQEAgLTUxOTksNiArNTQ1OCw3IEBACiAgICAgQGFzc2VydCBpbWdk
YXRhLmRhdGFbMF0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihp
bWdkYXRhLndpZHRoLzIqNCldID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWyhpbWdk
YXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2IKICAgZGVzYzogZ2V0SW1hZ2VEYXRh
KCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEIKQEAgLTUyMTcsNiArNTQ3Nyw3IEBACiAgICAgQGFz
c2VydCBpbWdkYXRhLmRhdGFbNV0gPT09IDB4ODg7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFb
Nl0gPT09IDB4Q0M7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbN10gPT09IDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhCiAgIGRlc2M6
IGdldEltYWdlRGF0YSgpIHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudApAQCAtNTIy
OCw2ICs1NDg5LDcgQEAKICAgICB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwg
MTAsIDEwKTsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVszXSA8IDIwMDsKICAgICBAYXNzZXJ0
IGltZ2RhdGEuZGF0YVszXSA+IDEwMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFn
ZURhdGEuZ2V0LnVuYWZmZWN0ZWQKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVj
dGVkIGJ5IGNvbnRleHQgc3RhdGUKQEAgLTUyNTAsNiArNTUxMiw3IEBACiAgICAgY3R4LnB1dElt
YWdlRGF0YShpbWdkYXRhLCA1MCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMKQEAg
LTUyNjEsNiArNTUyNCw3IEBACiAgICAgQGFzc2VydCB0eXBlb2YoaW1nZGF0YS53aWR0aCkgPT09
ICdudW1iZXInOwogICAgIEBhc3NlcnQgdHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSA9PT0gJ251bWJl
cic7CiAgICAgQGFzc2VydCB0eXBlb2YoaW1nZGF0YS5kYXRhKSA9PT0gJ29iamVjdCc7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seQogICBkZXNj
OiBJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSByZWFkLW9ubHkKQEAgLTUyODEsNiAr
NTU0NSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMV0gPT09IDA7CiAgICAgQGFzc2Vy
dCBpbWdkYXRhLmRhdGFbMl0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPT09
IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQKICAg
ZGVzYzogSW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlmaWVkCkBAIC01MjkyLDYgKzU1NTcsNyBA
QAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAxMDA7CiAgICAgaW1nZGF0YS5kYXRh
WzBdID0gMjAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAyMDA7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmluZWQKICAgZGVzYzog
SW1hZ2VEYXRhLmRhdGEgY29udmVydHMgdW5kZWZpbmVkIHRvIDAKQEAgLTUzMDIsNiArNTU2OCw3
IEBACiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9IHVu
ZGVmaW5lZDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0Lm5hbgogICBkZXNjOiBJbWFnZURhdGEu
ZGF0YSBjb252ZXJ0cyBOYU4gdG8gMApAQCAtNTMxNSw2ICs1NTgyLDcgQEAKICAgICBpbWdkYXRh
LmRhdGFbMF0gPSAxMDA7CiAgICAgaW1nZGF0YS5kYXRhWzBdID0gImNoZWVzZSI7CiAgICAgQGFz
c2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcKICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY29udmVydHMg
c3RyaW5ncyB0byBudW1iZXJzIHdpdGggVG9OdW1iZXIKQEAgLTUzMzEsNiArNTU5OSw3IEBACiAg
ICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9ICIgKzEzMGUw
ICI7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDEzMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wCiAgIGRlc2M6IEltYWdlRGF0YS5k
YXRhIGNsYW1wcyBudW1iZXJzIHRvIFswLCAyNTVdCkBAIC01MzYyLDYgKzU2MzEsNyBAQAogICAg
IGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSBJbmZpbml0eTsK
ICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQKICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEg
cm91bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJvCkBAIC01Mzk3LDYgKzU2NjcsNyBAQAog
ICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9
IC0xLjU7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5udWxsCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgp
IHdpdGggbnVsbCBpbWFnZWRhdGEgdGhyb3dzIFR5cGVFcnJvcgpAQCAtNTQwNCw2ICs1Njc1LDcg
QEAKICAgICAtIDJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlCiAgIGNvZGU6IHwKICAgICBAYXNz
ZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YShudWxsLCAwLCAwKTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZQogICBkZXNjOiBw
dXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0
ZQpAQCAtNTQxMyw2ICs1Njg1LDcgQEAKICAgICB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAsIDEwKTsKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJv
ciBjdHgucHV0SW1hZ2VEYXRhKDxpbWdkYXRhPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+
LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOwogICAgIEBub25maW5pdGUgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJbWFnZURhdGEoPGltZ2RhdGE+LCA8MTAgSW5maW5pdHkg
LUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5
IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmJhc2ljCiAgIGRlc2M6IHB1dEltYWdl
RGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGdldEltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZh
cwpAQCAtNTQyNyw2ICs1NzAwLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkK
ICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdl
RGF0YS5wdXQuY3JlYXRlZAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEg
ZnJvbSBjcmVhdGVJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMKQEAgLTU0NDQsNiArNTcxOCw3
IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZQog
ICBkZXNjOiBwdXRJbWFnZURhdGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmpl
Y3RzCkBAIC01NDU0LDYgKzU3MjksNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBj
dHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVF
cnJvciBjdHgucHV0SW1hZ2VEYXRhKCJjaGVlc2UiLCAwLCAwKTsKICAgICBAYXNzZXJ0IHRocm93
cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSg0MiwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5jcm9zcwogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBh
Y2NlcHRzIGltYWdlIGRhdGEgZ290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzCkBAIC01NDY5LDYg
KzU3NDUsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogICAgIGN0eC5wdXRJ
bWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5hbHBo
YQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNvcnJl
Y3RseQpAQCAtNTQ4Miw2ICs1NzU5LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT1+IDAsMjU1LDAsNjQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1h
Z2VEYXRhLnB1dC5tb2RpZmllZAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIG1vZGlmaWVk
IGltYWdlIGRhdGEgY29ycmVjdGx5CkBAIC01NTAwLDYgKzU3NzgsNyBAQAogICAgIH0KICAgICBj
dHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDQ1LCAyMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LnB1dC5kaXJ0eS56ZXJvCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIHdpdGggemVyby1zaXplZCBk
aXJ0eSByZWN0YW5nbGUgcHV0cyBub3RoaW5nCkBAIC01NTEzLDYgKzU3OTIsNyBAQAogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCwgMCwgMCwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0
MQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUg
ZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB3aWR0aCBhbmQgaGVpZ2h0CkBAIC01NTM0LDYgKzU4MTQs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMTUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDUg
PT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5w
dXQuZGlydHkucmVjdDIKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVh
cyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgeCBhbmQgeQpAQCAtNTU1NSw2ICs1
ODM2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDY1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDE1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDQ1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURh
dGEucHV0LmRpcnR5Lm5lZ2F0aXZlCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVn
YXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHkKQEAgLTU1NzYsNiArNTg1OCw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCA2NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwxNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9
PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5vdXRzaWRlCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVj
dGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52YXMgY29ycmVjdGx5CkBAIC01NTk4LDYgKzU4ODEsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgMSw1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDEsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0NSA9PX4gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC51bmNo
YW5nZWQKICAgZGVzYzogcHV0SW1hZ2VEYXRhKGdldEltYWdlRGF0YSguLi4pLCAuLi4pIGhhcyBu
byBlZmZlY3QKQEAgLTU2MjAsNiArNTkwNCw3IEBACiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBp
bWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIEBhc3NlcnQgb2xkZGF0YVtpXSA9
PT0gaW1nZGF0YTIuZGF0YVtpXTsKICAgICB9CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGlzIG5vdCBh
ZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlCkBAIC01NjM5LDYgKzU5MjQsNyBAQAogICAgIGN0eC5z
Y2FsZSgwLjEsIDAuMSk7CiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmNsaXAKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgaXMg
bm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMKQEAgLTU2NTYsNiArNTk0Miw3IEBACiAg
ICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1
LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LnBhdGgKICAg
ZGVzYzogcHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAg
LTU2NzAsNiArNTk1Nyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuZGVmYXVsdHMKICAgdGVzdGluZzoKQEAgLTU2ODIs
NiArNTk3MCw3IEBACiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ2J1dHQnOwogICAgIEBh
c3NlcnQgY3R4LmxpbmVKb2luID09PSAnbWl0ZXInOwogICAgIEBhc3NlcnQgY3R4Lm1pdGVyTGlt
aXQgPT09IDEwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUud2lkdGguYmFzaWMK
ICAgZGVzYzogbGluZVdpZHRoIGRldGVybWluZXMgdGhlIHdpZHRoIG9mIGxpbmUgc3Ryb2tlcwpA
QCAtNTcyMSw2ICs2MDEwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg0LDI1ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA4NiwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkCiAgIGRlc2M6IExpbmUgc3Ryb2tlIHdpZHRocyBhcmUg
YWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zCkBAIC01NzY2LDYgKzYwNTYsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgODQsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA4NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg2LDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUud2lkdGguc2NhbGVkZWZh
dWx0CiAgIGRlc2M6IERlZmF1bHQgbGluZVdpZHRoIHN0cm9rZXMgYXJlIGFmZmVjdGVkIGJ5IHNj
YWxlIHRyYW5zZm9ybWF0aW9ucwpAQCAtNTc4NCw2ICs2MDc1LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUud2lkdGgudmFsaWQKICAgZGVzYzogU2V0dGluZyBs
aW5lV2lkdGggdG8gdmFsaWQgdmFsdWVzIHdvcmtzCkBAIC01Nzk5LDYgKzYwOTEsNyBAQAogICAg
IEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gMS8xMDI0OwogICAgIGN0eC5saW5lV2lkdGggPSAx
MDAwOwogICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gMTAwMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLndpZHRoLmludmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lV2lk
dGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApAQCAtNTgyMiw2ICs2MTE1LDcgQEAKICAg
ICBjdHgubGluZVdpZHRoID0gMS41OwogICAgIGN0eC5saW5lV2lkdGggPSBOYU47CiAgICAgQGFz
c2VydCBjdHgubGluZVdpZHRoID09PSAxLjU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
bGluZS5jYXAuYnV0dAogICBkZXNjOiBsaW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0
bHkKQEAgLTU4NTgsNiArNjE1Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMzYgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQubGluZS5jYXAucm91bmQKICAgZGVzYzogbGluZUNhcCAncm91bmQnIGlzIHJlbmRlcmVk
IGNvcnJlY3RseQpAQCAtNTkwMyw2ICs2MTk4LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDY3LDQz
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsNDMgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA4Miw0MyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLmNhcC5zcXVhcmUKICAgZGVzYzogbGluZUNhcCAnc3F1YXJlJyBp
cyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTU5MzksNiArNjIzNSw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCA3NSw0NCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDQ1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsNDYgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAub3BlbgogICBkZXNjOiBMaW5lIGNhcHMg
YXJlIGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZQpAQCAtNTk2
Miw2ICs2MjU5LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5j
YXAuY2xvc2VkCiAgIGRlc2M6IExpbmUgY2FwcyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXJz
IG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZQpAQCAtNTk4NSw2ICs2MjgzLDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAudmFsaWQKICAgZGVzYzogU2V0dGlu
ZyBsaW5lQ2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpAQCAtNTk5OCw2ICs2Mjk3LDcgQEAKICAg
ICBAYXNzZXJ0IGN0eC5saW5lQ2FwID09PSAncm91bmQnOwogICAgIGN0eC5saW5lQ2FwID0gJ3Nx
dWFyZSc7CiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ3NxdWFyZSc7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuaW52YWxpZAogICBkZXNjOiBTZXR0aW5nIGxpbmVD
YXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApAQCAtNjAyNCw2ICs2MzI0LDcgQEAKICAg
ICBjdHgubGluZUNhcCA9ICdidXR0JzsKICAgICBjdHgubGluZUNhcCA9ICdiZXZlbCc7CiAgICAg
QGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ2J1dHQnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmxpbmUuam9pbi5iZXZlbAogICBkZXNjOiBsaW5lSm9pbiAnYmV2ZWwnIGlzIHJlbmRlcmVk
IGNvcnJlY3RseQpAQCAtNjA3NCw2ICs2Mzc1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg1LDE1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODYsMTUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA4NiwxNCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLmpvaW4ucm91bmQKICAgZGVzYzogbGluZUpvaW4gJ3JvdW5kJyBp
cyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTYxMjEsNiArNjQyMyw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCA4NywxMyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg4LDEzID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODgsMTIgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLm1pdGVyCiAgIGRlc2M6IGxpbmVKb2lu
ICdtaXRlcicgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC02MTYxLDYgKzY0NjQsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgOTAsMTAgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5
MSw5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTIsOCA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4ub3BlbgogICBkZXNjOiBM
aW5lIGpvaW5zIGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhbiB1bmNsb3NlZCByZWN0
YW5nbGUKQEAgLTYxODMsNiArNjQ4Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmxpbmUuam9pbi5jbG9zZWQKICAgZGVzYzogTGluZSBqb2lucyBhcmUgZHJhd24gYXQg
dGhlIGNvcm5lciBvZiBhIGNsb3NlZCByZWN0YW5nbGUKQEAgLTYyMDUsNiArNjUxMCw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuam9pbi5wYXJhbGxlbAogICBk
ZXNjOiBMaW5lIGpvaW5zIGFyZSBkcmF3biBhdCAxODAtZGVncmVlIGpvaW5zCkBAIC02MjI1LDYg
KzY1MzEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4u
dmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAg
LTYyMzgsNiArNjU0NSw3IEBACiAgICAgQGFzc2VydCBjdHgubGluZUpvaW4gPT09ICdyb3VuZCc7
CiAgICAgY3R4LmxpbmVKb2luID0gJ21pdGVyJzsKICAgICBAYXNzZXJ0IGN0eC5saW5lSm9pbiA9
PT0gJ21pdGVyJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4uaW52YWxp
ZAogICBkZXNjOiBTZXR0aW5nIGxpbmVKb2luIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQK
QEAgLTYyNjQsNiArNjU3Miw3IEBACiAgICAgY3R4LmxpbmVKb2luID0gJ2JldmVsJzsKICAgICBj
dHgubGluZUpvaW4gPSAnYnV0dCc7CiAgICAgQGFzc2VydCBjdHgubGluZUpvaW4gPT09ICdiZXZl
bCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5leGNlZWRlZAogICBk
ZXNjOiBNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4
Y2VlZGVkCkBAIC02Mjg2LDYgKzY1OTUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5saW5lLm1pdGVyLmFjdXRlCiAgIGRlc2M6IE1pdGVyIGpvaW5zIGFyZSBkcmF3biBj
b3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXMKQEAgLTYzMTUsNiArNjYyNSw3IEBACiAgICAgQGFz
c2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIub2J0dXNlCiAgIGRlc2M6IE1p
dGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVzCkBAIC02MzQ0
LDYgKzY2NTUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1p
dGVyLnJpZ2h0YW5nbGUKICAgZGVzYzogTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRo
ZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCwgb24gZXhhY3QgcmlnaHQgYW5nbGVzCkBAIC02MzY1
LDYgKzY2NzcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1p
dGVyLmxpbmVlZGdlCiAgIGRlc2M6IE1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUg
bWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQgYXQgdGhlIGNvcm5lcnMgb2YgYSB6ZXJvLWhlaWdodCBy
ZWN0YW5nbGUKQEAgLTYzODMsNiArNjY5Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmxpbmUubWl0ZXIud2l0aGluCiAgIGRlc2M6IE1pdGVyIGpvaW5zIGFyZSBkcmF3
biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBub3QgcXVpdGUgZXhjZWVkZWQKQEAgLTY0MDQsNiAr
NjcxOCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIu
dmFsaWQKICAgZGVzYzogU2V0dGluZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpA
QCAtNjQxOSw2ICs2NzM0LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxLzEw
MjQ7CiAgICAgY3R4Lm1pdGVyTGltaXQgPSAxMDAwOwogICAgIEBhc3NlcnQgY3R4Lm1pdGVyTGlt
aXQgPT09IDEwMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5pbnZh
bGlkCiAgIGRlc2M6IFNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25v
cmVkCkBAIC02NDQyLDYgKzY3NTgsNyBAQAogICAgIGN0eC5taXRlckxpbWl0ID0gMS41OwogICAg
IGN0eC5taXRlckxpbWl0ID0gTmFOOwogICAgIEBhc3NlcnQgY3R4Lm1pdGVyTGltaXQgPT09IDEu
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmNyb3NzCiAgIGNvZGU6IHwKQEAg
LTY0NTksNiArNjc3Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxp
bmUudW5pb24KICAgY29kZTogfApAQCAtNjQ3OSw2ICs2Nzk3LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwxID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pbml0aWFsCiAgIHRlc3Rpbmc6CkBAIC02NDkwLDYg
KzY4MDksNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYmVnaW5QYXRoCiAgIHRlc3Rpbmc6CkBAIC02NTAyLDYgKzY4MjIs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGgubW92ZVRvLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC02NTE3LDYgKzY4MzgsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDkwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgKICAgdGVzdGluZzoKQEAgLTY1MzIsNiArNjg1NCw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUKICAgdGVzdGluZzoKQEAgLTY1NDcsNiArNjg3MCw3
IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZQogICBkZXNjOiBtb3ZlVG8oKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkCkBAIC02NTYxLDYgKzY4ODUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xvc2VQYXRoLmVt
cHR5CiAgIHRlc3Rpbmc6CkBAIC02NTcyLDYgKzY4OTcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xvc2VQYXRoLm5l
d2xpbmUKICAgdGVzdGluZzoKQEAgLTY1ODgsNiArNjkxNCw3IEBACiAgICAgY3R4LmNsb3NlUGF0
aCgpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xvc2VQYXRoLm5leHRw
b2ludAogICB0ZXN0aW5nOgpAQCAtNjYwMyw2ICs2OTMwLDcgQEAKICAgICBjdHgubGluZVRvKDEw
MDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmxpbmVUby5lbnN1
cmVzdWJwYXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlz
IGFkZGVkIGFuZCBub3RoaW5nIGlzIGRyYXduCkBAIC02NjE4LDYgKzY5NDYsNyBAQAogICAgIGN0
eC5saW5lVG8oMTAwLCA1MCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5s
aW5lVG8uZW5zdXJlc3VicGF0aC4yCiAgIGRlc2M6IElmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRo
ZSBwb2ludCBpcyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vic2VxdWVudCBkcmF3aW5nCkBAIC02NjM0
LDYgKzY5NjMsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8uYmFzaWMKICAgdGVzdGluZzoKQEAgLTY2NDgsNiAr
Njk3OCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQKICAgdGVzdGluZzoKQEAgLTY2NjMsNiAr
Njk5NCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmxpbmVUby5ub25maW5pdGUKICAgZGVzYzogbGluZVRvKCkgd2l0aCBJ
bmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNjY3OCw2ICs3MDEwLDcgQEAKICAgICBjdHguZmls
bCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlscwogICBkZXNjOiBsaW5lVG8oKSB3aXRoIElu
ZmluaXR5L05hTiBmb3IgZmlyc3QgYXJnIHN0aWxsIGNvbnZlcnRzIHRoZSBzZWNvbmQgYXJnCkBA
IC02Njg5LDYgKzcwMjIsNyBAQAogICAgICAgY3R4LmxpbmVUbyhhcmcxLCB7IHZhbHVlT2Y6IGZ1
bmN0aW9uKCkgeyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1cm4gMDsgfSB9KTsKICAgICAgIEBhc3Nl
cnQgY29udmVydGVkOwogICAgIH0KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1
YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xCiAgIGRlc2M6IElmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBk
cmF3biB1cCB0byBpdCkKQEAgLTY3MDUsNiArNzAzOSw3IEBACiAgICAgY3R4LnN0cm9rZSgpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA5NSw0NSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMgogICBkZXNjOiBJZiB0
aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZApAQCAt
NjcyMSw2ICs3MDU2LDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwy
NTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjczNSw2ICs3MDcxLDcgQEAKICAgICBjdHgu
cXVhZHJhdGljQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUKICAgdGVzdGluZzoKQEAgLTY3
NTMsNiArNzA5MCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
cXVhZHJhdGljQ3VydmVUby5zY2FsZWQKICAgdGVzdGluZzoKQEAgLTY3NzIsNiArNzExMCw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5ub25maW5pdGUKICAgZGVzYzogcXVhZHJhdGljQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQKQEAgLTY3ODcsNiArNzEyNiw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAs
NDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMQogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24g
dXAgdG8gaXQpCkBAIC02ODAzLDYgKzcxNDMsNyBAQAogICAgIGN0eC5zdHJva2UoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTUs
NDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMgogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZApAQCAtNjgxOSw2ICs3MTYwLDcgQEAK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC02
ODMzLDYgKzcxNzUsNyBAQAogICAgIGN0eC5iZXppZXJDdXJ2ZVRvKDEwMCwgMjUsIDEwMCwgMjUs
IDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZQogICB0ZXN0aW5nOgpAQCAtNjg1MSw2ICs3MTk0LDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZAogICB0ZXN0
aW5nOgpAQCAtNjg3MCw2ICs3MjE0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZQogICBkZXNjOiBiZXppZXJDdXJ2ZVRv
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNjg4NSw2ICs3MjMwLDcgQEAKICAg
ICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA5MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMQogICBkZXNjOiBJZiB0aGVyZSBp
cyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhp
bmcgaXMgZHJhd24gdXAgdG8gaXQpCkBAIC02OTAwLDYgKzcyNDYsNyBAQAogICAgIGN0eC5hcmNU
bygxMDAsIDUwLCAyMDAsIDUwLCAwLjEpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yCiAgIGRlc2M6IElmIHRoZXJlIGlzIG5vIHN1YnBh
dGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkCkBAIC02OTE2LDYgKzcyNjMsNyBA
QAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5hcmNUby5jb2luY2lkZS4xCiAgIGRlc2M6IGFyY1RvKCkgaGFzIG5vIGVmZmVjdCBp
ZiBQMCA9IFAxCkBAIC02OTM5LDYgKzcyODcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmNUby5jb2luY2lkZS4yCiAgIGRlc2M6IGFyY1RvKCkgZHJhd3Mg
YSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDIKQEAgLTY5NTQsNiArNzMwMyw3IEBACiAg
ICAgY3R4LmFyY1RvKDEwMCwgMjUsIDEwMCwgMjUsIDEpOwogICAgIGN0eC5zdHJva2UoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEKICAgZGVzYzogYXJjVG8oKSB3aXRoIGFs
bCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdo
dCBsaW5lIHRvIFAxCkBAIC02OTc0LDYgKzczMjQsNyBAQAogICAgIGN0eC5hcmNUbygwLCAyNSwg
MTAwLCAyNSwgMSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5j
b2xsaW5lYXIuMgogICBkZXNjOiBhcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFu
ZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEKQEAgLTY5OTQs
NiArNzM0NSw3IEBACiAgICAgY3R4LmFyY1RvKDIwMCwgMjUsIDExMCwgMjUsIDEpOwogICAgIGN0
eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMKICAgZGVzYzog
YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQMS9QMiwg
ZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxCkBAIC03MDE4LDYgKzczNzAsNyBAQAogICAgIGN0
eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxCiAgIGRlc2M6IGFyY1RvKCkgY3VydmVzIGluIHRo
ZSByaWdodCBraW5kIG9mIHNoYXBlCkBAIC03MDU0LDYgKzc0MDcsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgODAsNDUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCw0NiA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDY1LDQ1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUyCiAgIGRlc2M6
IGFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlCkBAIC03MDg5LDYgKzc0
NDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDQgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA4MCw0NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ2
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8u
c2hhcGUuc3RhcnQKICAgZGVzYzogYXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQ
MCB0byBQMQpAQCAtNzEwOCw2ICs3NDYzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguYXJjVG8uc2hhcGUuZW5kCiAgIGRlc2M6IGFyY1RvKCkgZG9lcyBub3Qg
ZHJhdyBhbnl0aGluZyBmcm9tIFAxIHRvIFAyCkBAIC03MTI3LDYgKzc0ODMsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwx
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5uZWdhdGl2ZQogICBkZXNj
OiBhcmNUbygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBhbiBleGNlcHRpb24KQEAgLTcx
MzQsNiArNzQ5MSw3IEBACiAgICAgLSAyZC5wYXRoLmFyY1RvLm5lZ2F0aXZlCiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguYXJjVG8oMCwgMCwgMCwgMCwg
LTEpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uemVyby4xCiAgIGRl
c2M6IGFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQ
MCB0byBQMQpAQCAtNzE1NCw2ICs3NTEyLDcgQEAKICAgICBjdHguYXJjVG8oNTAsIC0yNSwgNTAs
IDUwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnplcm8u
MgogICBkZXNjOiBhcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5l
IGZyb20gUDAgdG8gUDEsIGV2ZW4gd2hlbiBhbGwgcG9pbnRzIGFyZSBjb2xsaW5lYXIKQEAgLTcx
NzQsNiArNzUzMyw3IEBACiAgICAgY3R4LmFyY1RvKDIwMCwgMjUsIDUwLCAyNSwgMCk7CiAgICAg
Y3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbgogICBk
ZXNjOiBhcmNUbyBqb2lucyB1cCB0byB0aGUgbGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseQpA
QCAtNzE5Niw2ICs3NTU2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDk5LDQ5ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjVG8uc2NhbGUKICAgZGVzYzogYXJjVG8gc2NhbGVzIHRoZSBjdXJ2ZSwgbm90IGp1
c3QgdGhlIGNvbnRyb2wgcG9pbnRzCkBAIC03MjE5LDYgKzc1ODAsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5ub25maW5pdGUKICAgZGVzYzogYXJj
VG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC03MjM0LDYgKzc1OTYsNyBAQAog
ICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuZW1wdHkKQEAgLTcyNDksNiArNzYxMiw3IEBACiAgICAg
Y3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5vbmVtcHR5CiAgIGRlc2M6IGFyYygpIHdpdGggYSBu
b24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2lu
dApAQCAtNzI2NCw2ICs3NjI4LDcgQEAKICAgICBjdHguYXJjKDIwMCwgMjUsIDUsIDAsIDIqTWF0
aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuZW5k
CiAgIGRlc2M6IGFyYygpIGFkZHMgdGhlIGVuZCBwb2ludCBvZiB0aGUgYXJjIHRvIHRoZSBzdWJw
YXRoCkBAIC03MjgwLDYgKzc2NDUsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAg
Y3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuZGVmYXVsdAogICBkZXNjOiBhcmMo
KSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1bWVudCBkZWZhdWx0cyB0byBjbG9ja3dpc2UKQEAgLTcy
OTQsNiArNzY2MCw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgLU1hdGguUEksIE1hdGgu
UEkvMik7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjEKICAg
ZGVzYzogYXJjKCkgZHJhd3MgcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHkKQEAg
LTczMDgsNiArNzY3NSw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAt
TWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFu
Z2xlLjIKICAgZGVzYzogYXJjKCkgZHJhd3MgLTNwaS8yIC4uIC1waSBhbnRpY2xvY2t3aXNlIGNv
cnJlY3RseQpAQCAtNzMyMiw2ICs3NjkwLDcgQEAKICAgICBjdHguYXJjKDEwMCwgMCwgMTUwLCAt
MypNYXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5hcmMuYW5nbGUuMwogICBkZXNjOiBhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3
aGVuIGFudGljbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaQpAQCAtNzMzNiw2ICs3NzA1LDcg
QEAKICAgICBjdHguYXJjKDEwMCwgMCwgMTUwLCAoNTEyKzEvMikqTWF0aC5QSSwgKDEwMjQtMSkq
TWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFu
Z2xlLjQKICAgZGVzYzogYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGNsb2Nrd2lzZSBh
bmQgZW5kID4gc3RhcnQrMnBpCkBAIC03MzUzLDYgKzc3MjMsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS41CiAgIGRlc2M6IGFyYygpIHdyYXBz
IGFuZ2xlcyBtb2QgMnBpIHdoZW4gY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkKQEAgLTcz
NjcsNiArNzczOCw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgKDEwMjQtMSkqTWF0aC5Q
SSwgKDUxMisxLzIpKk1hdGguUEksIGZhbHNlKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5hcmMuYW5nbGUuNgogICBkZXNjOiBhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdo
ZW4gYW50aWNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpCkBAIC03Mzg0LDYgKzc3NTYsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvLjEKICAg
ZGVzYzogYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQg
YW50aWNsb2Nrd2lzZQpAQCAtNzM5OCw2ICs3NzcxLDcgQEAKICAgICBjdHguYXJjKDUwLCAyNSwg
NTAsIDAsIDAsIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
Lnplcm8uMgogICBkZXNjOiBhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVu
ZEFuZ2xlIGFuZCBjbG9ja3dpc2UKQEAgLTc0MTIsNiArNzc4Niw3IEBACiAgICAgY3R4LmFyYyg1
MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5hcmMudHdvcGllLjEKICAgZGVzYzogYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9
IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9ja3dpc2UKQEAgLTc0MjYsNiArNzgwMSw3IEBACiAg
ICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgLSAxZS00LCB0cnVlKTsKICAgICBj
dHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy50d29waWUuMgogICBkZXNjOiBhcmMo
KSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgY2xvY2t3
aXNlCkBAIC03NDQwLDYgKzc4MTYsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJIC0gMWUtNCwgZmFsc2UpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjLnR3b3BpZS4zCiAgIGRlc2M6IGFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBl
bmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlCkBAIC03NDU0LDYgKzc4MzEsNyBA
QAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJICsgMWUtNCwgdHJ1ZSk7CiAg
ICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMudHdvcGllLjQKICAgZGVzYzog
YXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGNsb2Nrd2lz
ZQpAQCAtNzQ2OCw2ICs3ODQ2LDcgQEAKICAgICBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0
aC5QSSArIDFlLTQsIGZhbHNlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmFyYy5zaGFwZS4xCiAgIGRlc2M6IGFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5vdCBkcmF3IGFu
eXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmCkBAIC03NDg3LDYgKzc4NjYsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMgogICBkZXNjOiBhcmMo
KSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IGhhbGYKQEAgLTc1MDYsNiAr
Nzg4Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMjAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5z
aGFwZS4zCiAgIGRlc2M6IGFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5vdCBkcmF3IGFueXRo
aW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudApAQCAtNzUyNCw2ICs3OTA1LDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNoYXBlLjQKICAg
ZGVzYzogYXJjKCkgZnJvbSAwIHRvIC1waS8yIGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBxdWFk
cmFudApAQCAtNzU0Miw2ICs3OTI0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5hcmMuc2hhcGUuNQogICBkZXNjOiBhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMg
bm90IGRyYXcgY3JhenkgdGhpbmdzCkBAIC03NTYwLDYgKzc5NDMsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEKICAgZGVzYzog
YXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseQpAQCAtNzU3
OCw2ICs3OTYyLDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAxLDEg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2VsZmludGVy
c2VjdC4yCiAgIGRlc2M6IGFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24g
c2Vuc2libHkKQEAgLTc2MDAsNiArNzk4NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5NywyID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTcsMyA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDIsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5hcmMubmVnYXRpdmUKICAgZGVzYzogYXJjKCkgd2l0aCBuZWdhdGl2ZSBy
YWRpdXMgdGhyb3dzIElOREVYX1NJWkVfRVJSCkBAIC03NjA3LDYgKzc5OTMsNyBAQAogICAgIC0g
MmQucGF0aC5hcmMubmVnYXRpdmUKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIElOREVY
X1NJWkVfRVJSIGN0eC5hcmMoMCwgMCwgLTEsIDAsIDAsIHRydWUpOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjLnplcm9yYWRpdXMKICAgZGVzYzogYXJjKCkgd2l0aCB6ZXJv
IHJhZGl1cyBkcmF3cyBhIGxpbmUgdG8gdGhlIHN0YXJ0IHBvaW50CkBAIC03NjIyLDYgKzgwMDks
NyBAQAogICAgIGN0eC5hcmMoMjAwLCAyNSwgMCwgMCwgTWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2NhbGUuMQogICBkZXNjOiBOb24tdW5p
Zm9ybWx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGUKQEAgLTc2NTUsNiArODA0Myw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5zY2FsZS4y
CiAgIGRlc2M6IEhpZ2hseSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlCkBAIC03Njc4
LDYgKzgwNjcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmMubm9uZmluaXRlCiAgIGRlc2M6IGFyYygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQK
QEAgLTc2OTUsNiArODA4NSw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuYmFzaWMKQEAg
LTc3MDcsNiArODA5OCw3IEBACiAgICAgY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5uZXdzdWJwYXRoCiAgIHRlc3Rpbmc6CkBA
IC03NzIyLDYgKzgxMTQsNyBAQAogICAgIGN0eC5yZWN0KDIwMCwgMjUsIDEsIDEpOwogICAgIGN0
eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5jbG9zZWQKICAgdGVzdGluZzoKQEAg
LTc3MzUsNiArODEyOCw3IEBACiAgICAgY3R4LnJlY3QoMTAwLCA1MCwgMTAwLCAxMDApOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5lbmQuMQogICB0ZXN0aW5nOgpA
QCAtNzc0OCw2ICs4MTQyLDcgQEAKICAgICBjdHgubGluZVRvKC0yMDAwLCAtMTAwMCk7CiAgICAg
Y3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0LmVuZC4yCiAgIHRlc3Rpbmc6CkBA
IC03NzY2LDYgKzgxNjEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLnJlY3QuemVyby4xCiAgIHRlc3Rpbmc6CkBAIC03Nzc5LDYgKzgxNzUsNyBAQAogICAgIGN0
eC5yZWN0KDAsIDUwLCAxMDAsIDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgucmVjdC56ZXJvLjIKICAgdGVzdGluZzoKQEAgLTc3OTIsNiArODE4OSw3IEBACiAgICAgY3R4
LnJlY3QoNTAsIC0xMDAsIDAsIDI1MCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5yZWN0Lnplcm8uMwogICB0ZXN0aW5nOgpAQCAtNzgwNSw2ICs4MjAzLDcgQEAKICAgICBj
dHgucmVjdCg1MCwgMjUsIDAsIDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgucmVjdC56ZXJvLjQKICAgdGVzdGluZzoKQEAgLTc4MTgsNiArODIxNyw3IEBACiAgICAgY3R4
LmxpbmVUbygwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0
Lnplcm8uNQogICB0ZXN0aW5nOgpAQCAtNzgzMSw2ICs4MjMxLDcgQEAKICAgICBjdHgucmVjdCgx
MDAsIDI1LCAwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3Qu
emVyby42CiAgIHRlc3Rpbmc6CkBAIC03ODQ2LDYgKzgyNDcsNyBAQAogICAgIGN0eC5yZWN0KDEw
MCwgMjUsIDEwMDAsIDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLnJlY3QubmVnYXRpdmUKICAgdGVzdGluZzoKQEAgLTc4NjQsNiArODI2Niw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDM3ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0LndpbmRpbmcKICAg
dGVzdGluZzoKQEAgLTc4ODIsNiArODI4NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3QKICAgY29kZTogfApAQCAtNzg5Myw2
ICs4Mjk3LDcgQEAKICAgICBjdHgucmVjdCg0NSwgMjAsIDEwLCAxMCk7CiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5ub25maW5pdGUKICAgZGVzYzog
cmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTc5MDgsNiArODMxMyw3IEBA
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLm92ZXJsYXAKICAgdGVzdGluZzoKQEAgLTc5MjEsNiAr
ODMyNyw3IEBACiAgICAgY3R4LnJlY3QoMTAsIDEwLCA4MCwgMzApOwogICAgIGN0eC5maWxsKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwxMjcsMCwyNTUgKy8tIDE7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndpbmRpbmcuYWRkCiAgIHRlc3Rpbmc6CkBA
IC03OTQwLDYgKzgzNDcsNyBAQAogICAgIGN0eC5saW5lVG8oMCwgNTApOwogICAgIGN0eC5maWxs
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xCiAgIHRlc3Rpbmc6
CkBAIC03OTU5LDYgKzgzNjcsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAwKTsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMgogICB0ZXN0
aW5nOgpAQCAtNzk3Nyw2ICs4Mzg2LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMCk7CiAgICAg
Y3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMKICAg
dGVzdGluZzoKQEAgLTgwMDEsNiArODQxMSw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDApOwog
ICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljCiAgIHRl
c3Rpbmc6CkBAIC04MDE1LDYgKzg0MjYsNyBAQAogICAgIGN0eC5saW5lVG8oMCwgNTApOwogICAg
IGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQKICAg
dGVzdGluZzoKQEAgLTgwMzIsNiArODQ0NCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDkwLDEwID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMTAsNDAg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2Uu
b3ZlcmxhcAogICBkZXNjOiBTdHJva2VkIHN1YnBhdGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVp
bmcgZHJhd24KQEAgLTgwNDgsNiArODQ2MSw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDMwKTsK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwxMjcsMCwy
NTUgKy8tIDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UudW5pb24K
ICAgZGVzYzogU3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFyZSB1bmlvbmVkLCBub3Qg
c3VidHJhY3RlZApAQCAtODA2NCw2ICs4NDc4LDcgQEAKICAgICBjdHgubGluZVRvKDAsIDQwKTsK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkCiAg
IGRlc2M6IFN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aApAQCAt
ODA4Myw2ICs4NDk4LDcgQEAKICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2Uuc2NhbGUxCiAgIGRlc2M6IFN0cm9r
ZSBsaW5lIHdpZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1h
dHJpeApAQCAtODExNCw2ICs4NTMwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDk5LDQ5ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguc3Ryb2tlLnNjYWxlMgogICBkZXNjOiBTdHJva2UgbGluZSB3aWR0aHMgYXJl
IHNjYWxlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTgxNDcsNiAr
ODU2NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0
OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9r
ZS5za2V3CiAgIGRlc2M6IFN0cm9rZXMgbGluZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0
cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTgxOTMsNiArODYxMSw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5lbXB0eQogICBkZXNjOiBFbXB0eSBz
dWJwYXRocyBhcmUgbm90IHN0cm9rZWQKQEAgLTgyMTAsNiArODYyOSw3IEBACiAgICAgY3R4Lm1v
dmVUbyg2MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tl
LnBydW5lLmxpbmUKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVU
byBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAgLTgyMjcsNiArODY0Nyw3IEBACiAgICAg
Y3R4LmxpbmVUbyg1MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBz
ZWdtZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAg
LTgyNDUsNiArODY2Niw3IEBACiAgICAgY3R4LmNsb3NlUGF0aCgpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZQogICBkZXNj
OiBaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6
aWVyQ3VydmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAgLTgyNjYsNiArODY4OCw3
IEBACiAgICAgY3R4LmJlemllckN1cnZlVG8oNTAsIDI1LCA1MCwgMjUsIDUwLCAyNSk7CiAgICAg
Y3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7IEBt
b3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmFy
YwogICBkZXNjOiBaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBh
cmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAgLTgyODcsNiArODcxMCw3IEBACiAgICAgY3R4
LmFyYyg1MCwgMjUsIDEwLCAwLCAwLCBmYWxzZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QKICAgZGVzYzogWmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVm
b3JlIHN0cm9raW5nCkBAIC04MzA0LDYgKzg3MjgsNyBAQAogICAgIGN0eC5zdHJva2UoKTsKICAg
ICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguc3Ryb2tlLnBydW5lLmNvcm5lcgogICBkZXNjOiBaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRz
IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRoIG1pdGVycwpAQCAtODMyNCw2ICs4NzQ5
LDcgQEAKICAgICBjdHgubGluZVRvKC0xMDAsIDEwMDApOwogICAgIGN0eC5zdHJva2UoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMKICAgdGVzdGluZzoKQEAgLTgzMzcs
NiArODc2Myw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZQogICBkZXNjOiBUcmFu
c2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRy
YXdpbmcKQEAgLTgzNjEsNiArODc4OCw3IEBACiAgICAgY3R4LnRyYW5zbGF0ZSgwLCA1MCk7CiAg
ICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2lu
ZwogICBkZXNjOiBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0
aHMsIG5vdCB3aGVuIGRyYXdpbmcKQEAgLTgzODIsNiArODgxMCw3IEBACiAgICAgY3R4LnNjYWxl
KDAuMSwgMC4xKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLmVtcHR5
CiAgIHRlc3Rpbmc6CkBAIC04Mzk0LDYgKzg4MjMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5jbGlwLmJhc2ljLjEKICAgdGVzdGluZzoKQEAgLTg0MDcsNiArODgzNyw3IEBACiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmNsaXAuYmFzaWMuMgogICB0ZXN0aW5nOgpAQCAtODQyMCw2ICs4ODUx
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC5pbnRlcnNlY3QKICAgdGVzdGluZzoK
QEAgLTg0MzYsNiArODg2OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsaXAud2luZGlu
Zy4xCiAgIHRlc3Rpbmc6CkBAIC04NDU3LDYgKzg4OTAsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5jbGlwLndpbmRpbmcuMgogICB0ZXN0aW5nOgpAQCAtODQ4MSw2ICs4OTE1LDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC51bmFmZmVjdGVkCiAgIHRlc3Rpbmc6CkBAIC04NDk4
LDYgKzg5MzMsNyBAQAogICAgIGN0eC5saW5lVG8oMCwgMCk7CiAgICAgY3R4LmZpbGwoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xCiAgIGRlc2M6IGlzUG9pbnRJblBh
dGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0aGUgcGF0aApAQCAtODUw
Nyw2ICs4OTQzLDcgQEAKICAgICBjdHgucmVjdCgwLCAwLCAyMCwgMjApOwogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDMwLCAxMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSBkZXRl
Y3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0aGUgcGF0aApAQCAtODUxNiw2ICs4OTUz
LDcgQEAKICAgICBjdHgucmVjdCgyMCwgMCwgMjAsIDIwKTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDEwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDEwKSA9PT0gdHJ1ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlz
UG9pbnRJblBhdGguZWRnZQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgY291bnRzIHBvaW50cyBv
biB0aGUgcGF0aCBhcyBiZWluZyBpbnNpZGUKQEAgLTg1MzUsNiArODk3Myw3IEBACiAgICAgQGFz
c2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpID09PSBmYWxzZTsKICAgICBAYXNzZXJ0
IGN0eC5pc1BvaW50SW5QYXRoKC0wLjAxLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5CiAgIGRlc2M6IGlzUG9pbnRJblBhdGgo
KSB3b3JrcyB3aGVuIHRoZXJlIGlzIG5vIHBhdGgKQEAgLTg1NDIsNiArODk4MSw3IEBACiAgICAg
LSAyZC5wYXRoLmlzUG9pbnRJblBhdGgKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LmlzUG9p
bnRJblBhdGgoMCwgMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguaXNQb2ludEluUGF0aC5zdWJwYXRoCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB1c2VzIHRo
ZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRoCkBAIC04NTU2LDYgKzg5OTYsNyBA
QAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSA9PT0gZmFsc2U7CiAgICAg
QGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSA9PT0gdHJ1ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZQogICBkZXNjOiBpc1BvaW50SW5QYXRo
KCkgd29ya3Mgb24gcGF0aHMgb3V0c2lkZSB0aGUgY2FudmFzCkBAIC04NTcwLDYgKzkwMTEsNyBA
QAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIC0yMCkgPT09IGZhbHNlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDApID09PSB0cnVlOwogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkCiAgIGRlc2M6IGlzUG9pbnRJblBh
dGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBzdWJwYXRocwpAQCAtODU4Miw2ICs5MDI0LDcgQEAKICAg
ICBjdHgubGluZVRvKDAsIDIwKTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAx
MCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMTApID09PSBm
YWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYXJj
CiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBhcmNzCkBAIC04NTk3LDYgKzkwNDAs
NyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSA9PT0gZmFsc2U7CiAg
ICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMzApID09PSBmYWxzZTsKICAgICBAYXNz
ZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMKICAgZGVzYzogaXNQb2ludElu
UGF0aCgpIHdvcmtzIG9uIHVuY2xvc2VkIGFyY3MgbGFyZ2VyIHRoYW4gMnBpCkBAIC04NjEzLDYg
KzkwNTcsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSA9PT0gZmFs
c2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMzApID09PSBmYWxzZTsKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkgPT09IGZhbHNlOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iZXppZXIKICAgZGVzYzogaXNQ
b2ludEluUGF0aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2ZXMKQEAgLTg2NDEsNiArOTA4Niw3IEBA
CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3MCwgMzApID09PSB0cnVlOwogICAgIEBh
c3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzUsIDIwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBj
dHguaXNQb2ludEluUGF0aCg3NSwgMzApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZwogICBkZXNjOiBpc1BvaW50SW5QYXRo
KCkgdXNlcyB0aGUgbm9uLXplcm8gd2luZGluZyBudW1iZXIgcnVsZQpAQCAtODY2Nyw2ICs5MTEz
LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDUsIDQ1KSA9PT0gdHJ1ZTsKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0NSkgPT09IHRydWU7CiAgICAgQGFzc2Vy
dCBjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpID09PSB0cnVlOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMQogICBkZXNjOiBpc1BvaW50
SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5CkBAIC04NjgxLDYgKzkx
MjgsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSA9PT0gdHJ1ZTsK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkgPT09IHRydWU7CiAgICAgQGFz
c2VydCBjdHguaXNQb2ludEluUGF0aCg3MSwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjIKICAgZGVzYzogaXNQ
b2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseQpAQCAtODY5NSw2
ICs5MTQzLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkgPT09IHRy
dWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg2OSwgMTApID09PSB0cnVlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSA9PT0gZmFsc2U7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zCiAgIGRlc2M6
IGlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkKQEAgLTg3
MDksNiArOTE1OCw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg1MSwgMTApID09
PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSA9PT0gdHJ1ZTsK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkgPT09IGZhbHNlOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNAogICBk
ZXNjOiBpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5CkBA
IC04NzIxLDYgKzkxNzEsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNjAsIDEw
KSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMTAsIDEwKSA9PT0g
dHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDExMCwgNjApID09PSBmYWxzZTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRl
CiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFy
Z3VtZW50cwpAQCAtODczNSw2ICs5MTg2LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDAsIC1JbmZpbml0eSkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoMCwgTmFOKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aChOYU4s
IE5hTikgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvb3JkaW5hdGVz
cGFjZQogICBkZXNjOiBDb29yZGluYXRlIHNwYWNlIGdvZXMgZnJvbSB0b3AtbGVmdCB0byBib3R0
b20tcmlnaHQKQEAgLTg3NTAsNiArOTIwMiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9
PSAwLDAsMjU1LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMCwyNTUsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwwLDI1NSwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQubWlzc2luZ2FyZ3MKICAgZGVzYzogTWlzc2luZyBhcmd1bWVudHMgY2F1c2Ug
VHlwZUVycm9yCkBAIC04NzY4LDcgKzkyMjEsNiBAQAogICAgICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3IgY3R4LnRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwKTsKICAgICB9CiAgICAgaWYgKGN0
eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5z
ZXRUcmFuc2Zvcm0oKTsKICAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRU
cmFuc2Zvcm0oMSk7CiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJh
bnNmb3JtKDEsIDApOwogICAgICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnNldFRy
YW5zZm9ybSgxLCAwLCAwKTsKQEAgLTg4NTEsNiArOTMwMyw3IEBACiAgICAgdmFyIGcgPSBjdHgu
Y3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlw
ZUVycm9yIGcuYWRkQ29sb3JTdG9wKCk7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgdGhyb3dzIFR5
cGVFcnJvciBnLmFkZENvbG9yU3RvcCgwKTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudm9pZHJldHVybgogICBkZXNjOiB2b2lkIG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5l
ZApAQCAtODg4Niw2ICs5MzM5LDcgQEAKICAgICB9CiAgICAgQGFzc2VydCBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZDsK
ICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xv
clN0b3AoMCwgJ3doaXRlJykgPT09IHVuZGVmaW5lZDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5jYW52YXMucmVmZXJlbmNlCiAgIGRlc2M6IGNhbnZhcyByZWZlcnMgYmFjayB0byBpdHMg
Y2FudmFzCkBAIC04ODkzLDYgKzkzNDcsNyBAQAogICAgIC0gMmQuY2FudmFzCiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IGN0eC5jYW52YXMgPT09IG9mZnNjcmVlbkNhbnZhczsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5jYW52YXMucmVhZG9ubHkKICAgZGVzYzogY2FudmFzIGlzIHJlYWRv
bmx5CkBAIC04OTA0LDYgKzkzNTksNyBAQAogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzMiAh
PT0gZDsKICAgICBjdHguY2FudmFzID0gb2Zmc2NyZWVuQ2FudmFzMjsKICAgICBAYXNzZXJ0IGN0
eC5jYW52YXMgPT09IGQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ2V0Y29udGV4dC5l
eGlzdHMKICAgZGVzYzogVGhlIDJEIGNvbnRleHQgaXMgaW1wbGVtZW50ZWQKQEAgLTg5MTIsNiAr
OTM2OCw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMyLmdldENv
bnRleHQoJzJkJykgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ2V0Y29u
dGV4dC5leHRyYWFyZ3MKICAgZGVzYzogVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRD
b250ZXh0IGFyZ3VtZW50cwpAQCAtODkyMCw2ICs5Mzc3LDcgQEAKICAgY29kZTogfAogICAgIHZh
ciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnLCBmYWxzZSwge30sIFtdLCAx
LCAiMiIpICE9PSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQu
dW5pcXVlCiAgIGRlc2M6IGdldENvbnRleHQoJzJkJykgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QK
QEAgLTg5MjgsNiArOTM4Niw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoJzJkJykgPT09IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgn
MmQnKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5nZXRjb250ZXh0LnNoYXJlZAogICBk
ZXNjOiBnZXRDb250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMg
c3RhdGUKQEAgLTg5MzksNiArOTM5OCw3IEBACiAgICAgY3R4Mi5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC5lbXB0
eXN0cmluZwogICBkZXNjOiBnZXRDb250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVs
bApAQCAtODk0Nyw2ICs5NDA3LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIiKTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiBjb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lCiAgIGRlc2M6IGdldENvbnRl
eHQgd2l0aCB1bnJlY29nbmlzZWQgY29udGV4dCBuYW1lIHJldHVybnMgbnVsbApAQCAtODk1NSw2
ICs5NDE2LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlzIG5vdCBhbiBpbXBsZW1lbnRlZCBjb250
ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBjb250
ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXgKICAgZGVzYzogQ29udGV4dCBuYW1lICIyZCIgcGx1
cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQKQEAgLTg5NjMsNiArOTQyNSw3IEBACiAgIGNvZGU6
IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgiMmQjIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlz
ZWQubnVsbHN1ZmZpeAogICBkZXNjOiBDb250ZXh0IG5hbWUgIjJkIiBwbHVzIGEgIlwwIiBzdWZm
aXggaXMgdW5yZWNvZ25pc2VkCkBAIC04OTcxLDYgKzk0MzQsNyBAQAogICBjb2RlOiB8CiAgICAg
dmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAg
IEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJk
XDAiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBjb250ZXh0LnVucmVjb2duaXNlZC51bmlj
b2RlCiAgIGRlc2M6IENvbnRleHQgbmFtZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgIjJkIiBp
cyB1bnJlY29nbmlzZWQKQEAgLTg5NzksNiArOTQ0Myw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFz
c2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMlx1RkY0
NCIpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNvbnRleHQuY2FzZXNlbnNpdGl2ZQogICBk
ZXNjOiBDb250ZXh0IG5hbWUgIjJEIiBpcyB1bnJlY29nbmlzZWQ7IG1hdGNoaW5nIGlzIGNhc2Ug
c2Vuc2l0aXZlCkBAIC04OTg3LDYgKzk0NTIsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNj
cmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQg
dGhyb3dzIFR5cGVFcnJvciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJEJyk7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC5hcmd1bWVudHMubWlzc2luZwogICB0ZXN0aW5n
OgpAQCAtODk5NCw2ICs5NDYwLDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCk7IEBtb3otdG9kbworICAgIHQu
ZG9uZSgpOwogCiAKIC0gbmFtZTogaW5pdGlhbC5jb2xvdXIKQEAgLTkwMDIsNiArOTQ2OSw3IEBA
CiAgICAgLSBpbml0aWFsLmNvbG91cgogICBjb2RlOiB8CiAgICAgQGFzc2VydCBwaXhlbCAyMCwy
MCA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGluaXRpYWwucmVzZXQuZGlm
ZmVyZW50CiAgIGRlc2M6IENoYW5naW5nIHNpemUgcmVzZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVu
dCBibGFjawpAQCAtOTAxMyw2ICs5NDgxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09
IDI1NSwwLDAsMjU1OwogICAgIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDUwOwogICAgIEBhc3Nl
cnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0
aWFsLnJlc2V0LnNhbWUKICAgZGVzYzogU2V0dGluZyBzaXplIChub3QgY2hhbmdpbmcgdGhlIHZh
bHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrCkBAIC05MDI1LDYgKzk0OTQs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMjU1LDAsMCwyNTU7CiAgICAgb2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoID0gMTAwOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAs
MDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LnBhdGgKICAgZGVzYzog
UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHBhdGgKQEAgLTkw
MzcsNiArOTUwNyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmls
bCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmNsaXAKICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52
YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IGNsaXAgcmVnaW9uCkBAIC05MDUwLDYgKzk1MjEs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0KICAgZGVzYzogUmVz
ZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9u
IG1hdHJpeApAQCAtOTA2Miw2ICs5NTM0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDIw
LDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGluaXRpYWwucmVz
ZXQuZ3JhZGllbnQKICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3Qg
aW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzCkBAIC05MDc4LDYgKzk1NTEsNyBAQAog
ICAgIGN0eC5maWxsU3R5bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IGluaXRpYWwucmVzZXQucGF0dGVybgogICBkZXNjOiBSZXNldHRpbmcgdGhlIGNh
bnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0ZXJucwpAQCAt
OTA5NCw2ICs5NTY4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gcDsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJv
CiAgIGRlc2M6IFNldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVzIHRvIDAKQEAgLTkx
MDUsNiArOTU4MCw3IEBACiAgICAgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDA7CiAgICAgQGFz
c2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0ID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IHNpemUuYXR0cmli
dXRlcy5pZGwKICAgZGVzYzogR2V0dGluZy9zZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmli
dXRlcwpAQCAtOTEzMCw2ICs5NjA2LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
ImZvbyI7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFz
c2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IHNpemUuYXR0cmlidXRlcy5kZWZhdWx0CiAgIGRlc2M6IERlZmF1bHQgd2lkdGgvaGVpZ2h0
IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZwpAQCAtOTEzOSw2ICs5NjE2LDcgQEAKICAgY29k
ZTogfAogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09PSAxMDA7CiAgICAgQGFz
c2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSA1MDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiBzaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwKICAgZGVzYzogU2V0dGluZyBJREwg
YXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1dGVzCkBAIC05MTQ5LDYg
Kzk2MjcsNyBAQAogICAgIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSA2MDsKICAgICBAYXNzZXJ0
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gMTIwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9PT0gNjA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogc2l6ZS5hdHRyaWJ1
dGVzLnJlZmxlY3Quc2V0aWRsemVybwogICBkZXNjOiBTZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRv
IDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcwpAQCAtOTE1OSw2ICs5NjM4LDcg
QEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKICAgICBAYXNzZXJ0IG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9PT0gMDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbWV0YTogfAogICAgIGNhc2VzID0gWwpAQCAtOTE5
MCw2ICs5NjcwLDggQEAKICAgICAgICAgICAgIGNvZGUgKz0gIkBhc3NlcnQgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID09PSAlcztcbkBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gJXM7
XG4iICUgKGV4cCwgZXhwKQogICAgICAgICAgICAgZXhwZWN0ZWQgPSBOb25lCiAKKyAgICAgICAg
Y29kZSArPSAidC5kb25lKCk7XG4iCisKICAgICAgICAgaWYgZXhwID09IDA6CiAgICAgICAgICAg
ICBleHBlY3RlZCA9IE5vbmUgIyBjYW4ndCBnZW5lcmF0ZSB6ZXJvLXNpemVkIFBOR3MgZm9yIHRo
ZSBleHBlY3RlZCBpbWFnZQogCkBAIC05MjE2LDYgKzk2OTgsNyBAQAogICAgIG9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQgPSBuOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09PSBu
OwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gbjsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMKICAgdGVzdGluZzoKQEAgLTky
MjcsNiArOTcxMCw3IEBACiAKICAgICBjdHguZm9udCA9ICcyMFBYICAgU0VSSUYnOwogICAgIEBh
c3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsgQG1vei10b2RvCisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBhcnNlLnRpbnkKICAgdGVzdGluZzoKQEAgLTkyMzUs
NiArOTcxOSw3IEBACiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7
CiAgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJzFweCBzYW5zLXNlcmlmJzsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC50ZXh0LmZvbnQucGFyc2UuY29tcGxleAogICB0ZXN0aW5nOgpAQCAt
OTI0NCw2ICs5NzI5LDcgQEAKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJ3NtYWxsLWNhcHMg
aXRhbGljIDQwMCAxMnB4LzIgVW5rbm93biBGb250LCBzYW5zLXNlcmlmJzsKICAgICBAYXNzZXJ0
IGN0eC5mb250ID09PSAnaXRhbGljIHNtYWxsLWNhcHMgMTJweCAiVW5rbm93biBGb250Iiwgc2Fu
cy1zZXJpZic7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAgICMgVE9ETzoKICAgIyAgIDJk
LnRleHQuZm9udC5wYXJzZS5zaXplLmFic29sdXRlCkBAIC05MjY0LDYgKzk3NTAsNyBAQAogICBj
b2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnbWVzc2FnZS1ib3gnOwogICAgIEBhc3NlcnQgY3R4LmZv
bnQgIT09ICdtZXNzYWdlLWJveCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5m
b250LnBhcnNlLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTkyNzIsNiArOTc1OSwxMCBAQAogICAg
IGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4
IHNlcmlmJzsKIAorICAgIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOworICAgIGN0eC5mb250ID0g
Jyc7CisgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJzIwcHggc2VyaWYnOworCiAgICAgY3R4LmZv
bnQgPSAnMjBweCBzZXJpZic7CiAgICAgY3R4LmZvbnQgPSAnYm9ndXMnOwogICAgIEBhc3NlcnQg
Y3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsKQEAgLTkyOTksMTQgKzk3OTAsMjIgQEAKICAgICBj
dHguZm9udCA9ICcyMHB4IHNlcmlmJzsKICAgICBjdHguZm9udCA9ICcxZW0gc2VyaWY7IGJhY2tn
cm91bmQ6IGdyZWVuOyBtYXJnaW46IDEwcHgnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcy
MHB4IHNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmZvbnQuZGVmYXVs
dAogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5mb250LmRlZmF1bHQKICAgY29kZTogfAogICAg
IEBhc3NlcnQgY3R4LmZvbnQgPT09ICcxMHB4IHNhbnMtc2VyaWYnOworICAgIHQuZG9uZSgpOwog
Ci0KKy0gbmFtZTogMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUKKyAgdGVzdGluZzoKKyAgICAt
IDJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplCisgIGNvZGU6IHwKKyAgICBjdHguZm9udCA9ICcx
ZW0gc2Fucy1zZXJpZic7CisgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJzEwcHggc2Fucy1zZXJp
Zic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5hbGlnbi52YWxpZAogICB0ZXN0
aW5nOgpAQCAtOTMyNyw2ICs5ODI2LDcgQEAKIAogICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVy
JzsKICAgICBAYXNzZXJ0IGN0eC50ZXh0QWxpZ24gPT09ICdjZW50ZXInOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnRleHQuYWxpZ24uaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtOTM0Nywx
MiArOTg0NywxNCBAQAogICAgIGN0eC50ZXh0QWxpZ24gPSAnc3RhcnQnOwogICAgIGN0eC50ZXh0
QWxpZ24gPSAnZW5kXDAnOwogICAgIEBhc3NlcnQgY3R4LnRleHRBbGlnbiA9PT0gJ3N0YXJ0JzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmFsaWduLmRlZmF1bHQKICAgdGVzdGlu
ZzoKICAgICAtIDJkLnRleHQuYWxpZ24uZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBj
dHgudGV4dEFsaWduID09PSAnc3RhcnQnOworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQu
dGV4dC5iYXNlbGluZS52YWxpZApAQCAtOTM3Nyw2ICs5ODc5LDcgQEAKIAogICAgIGN0eC50ZXh0
QmFzZWxpbmUgPSAnYm90dG9tJzsKICAgICBAYXNzZXJ0IGN0eC50ZXh0QmFzZWxpbmUgPT09ICdi
b3R0b20nOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuYmFzZWxpbmUuaW52YWxp
ZAogICB0ZXN0aW5nOgpAQCAtOTM5NywxMiArOTkwMCwxNCBAQAogICAgIGN0eC50ZXh0QmFzZWxp
bmUgPSAndG9wJzsKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZVwwJzsKICAgICBAYXNz
ZXJ0IGN0eC50ZXh0QmFzZWxpbmUgPT09ICd0b3AnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdAogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5iYXNl
bGluZS5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC50ZXh0QmFzZWxpbmUgPT09
ICdhbHBoYWJldGljJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmls
bC5iYXNpYwogICBkZXNjOiBmaWxsVGV4dCBkcmF3cyBmaWxsZWQgdGV4dApAQCAtOTQxNyw2ICs5
OTIyLDcgQEAKICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZvbnQgPSAn
MzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUp
OworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogJnBhc3NmaWxsIHwKICAgICBzaXplIDEwMCA1
MAogICAgIGNyLnNldF9zb3VyY2VfcmdiKDAsIDAsIDApCkBAIC05NDUwLDYgKzk5NTYsNyBAQAog
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVl
bgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLnJ0bApAQCAtOTQ2NCw2ICs5OTcxLDcgQEAK
ICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlh
bCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdcdTIwMmVGQUlMIFx4YTAgXHhhMCBT
U0FQJywgNSwgMzUpOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogKnBhc3NmaWxsCiAKIC0g
bmFtZTogMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubGFyZ2UKQEAgLTk0NzcsNiArOTk4NSw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZm9udCA9ICczNXB4IEFy
aWFsLCBzYW5zLXNlcmlmJzsKICAgICBjdHguZmlsbFRleHQoJ1BBU1MnLCA1LCAzNSwgMjAwKTsK
KyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6ICpwYXNzZmlsbAogCiAtIG5hbWU6IDJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsCkBAIC05NDkwLDYgKzk5OTksNyBAQAogICAgIGN0eC5m
b250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBm
YWlsIGZhaWwgZmFpbCBmYWlsJywgLTEwMCwgMzUsIDkwKTsKICAgICBfYXNzZXJ0R3JlZW4oY3R4
LCAxMDAsIDUwKTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTog
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVybwpAQCAtOTUwMyw2ICsxMDAxMyw3IEBACiAg
ICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0
KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgMCk7CiAgICAgX2Fzc2VydEdyZWVu
KGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5h
bWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlCkBAIC05NTE2LDYgKzEwMDI3
LDcgQEAKICAgICBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKICAgICBjdHgu
ZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIDUsIDM1LCAtMSk7CiAgICAgX2Fz
c2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVl
bgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTgpAQCAtOTUyOSw2ICsx
MDA0MSw3IEBACiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAg
Y3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgTmFOKTsKICAg
ICBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6
IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnN0cm9rZS5iYXNpYwpAQCAtOTU0NSw2ICsx
MDA1OCw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDE7CiAgICAgY3R4LmZvbnQgPSAnMzVweCBB
cmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LnN0cm9rZVRleHQoJ1BBU1MnLCA1LCAzNSk7Cisg
ICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiB8CiAgICAgc2l6ZSAxMDAgNTAKICAgICBjci5zZXRf
c291cmNlX3JnYigwLCAwLCAwKQpAQCAtOTU4MCw2ICsxMDA5NCw3IEBACiAKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTog
MmQudGV4dC5kcmF3Lmtlcm4uY29uc2lzdGVudApAQCAtOTU5OCw2ICsxMDExMyw3IEBACiAgICAg
Y3R4LmZpbGxUZXh0KCdUb1RvVG9Ub1RvVG9UbycsIC01MCwgNDUpOwogICAgIGN0eC5zdHJva2VU
ZXh0KCdWQVZBVkFWQVZBVkFWQScsIC01MCwgMjUpOwogICAgIGN0eC5zdHJva2VUZXh0KCdUb1Rv
VG9Ub1RvVG9UbycsIC01MCwgNDUpOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4K
IAogIyBDYW52YXNUZXN0IGlzOgpAQCAtOTYyMyw4ICsxMDEzOSw4IEBACiAgICAgLSBDYW52YXNU
ZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRl
ZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKQEAgLTk2MzMsNyArMTAxNDksNyBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwy
NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguYm91bmQKQEAgLTk2NDQsOCArMTAxNjAsOCBAQAogICAgIC0gQ2FudmFzVGVzdAog
ICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRl
c3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cisg
ICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05NjU0LDcgKzEwMTcwLDcgQEAKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5NSw1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5mb250ZmFjZQpA
QCAtOTY2NCw4ICsxMDE4MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBj
dHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKQEAgLTk2NzQsNyArMTAxOTAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1
LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0g
ICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6
IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdApAQCAtOTY5MCwx
NCArMTAyMDYsMTQgQEAKICAgICBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsKLSAg
ICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHgu
ZmlsbFRleHQoJ0FBJywgMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50
ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlCkBAIC05NzA5LDggKzEwMjI1LDggQEAKICAgZm9u
dGhhY2s6IDAKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci0g
ICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTcxOSw3ICsxMDIzNSw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAg
ICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDog
Z3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wCkBAIC05NzMwLDggKzEw
MjQ2LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
OTc0Myw3ICsxMDI1OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsK
KyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBu
YW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tCkBAIC05NzU0LDggKzEwMjcwLDggQEAK
ICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTc2Nyw3ICsx
MDI4Myw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50
ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlCkBAIC05Nzc4LDggKzEwMjk0LDggQEAKICAgICAtIENh
bnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0g
ICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTc5MSw3ICsxMDMwNyw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcu
YmFzZWxpbmUuYWxwaGFiZXRpYwpAQCAtOTgwMSw4ICsxMDMxNyw4IEBACiAgICAgLSBDYW52YXNU
ZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRl
ZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4MTQsNyArMTAzMzAsNyBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0
NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2Vs
aW5lLmlkZW9ncmFwaGljCkBAIC05ODI0LDggKzEwMzQwLDggQEAKICAgICAtIENhbnZhc1Rlc3QK
ICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJU
ZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
ICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTgzNyw3ICsxMDM1Myw3IEBACiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhl
bCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pLCA1MDApOworICAgICAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJk
LnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nCkBAIC05ODQ3LDggKzEwMzYzLDggQEAKICAgICAt
IENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTg2MCw3ICsxMDM3Niw3
IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRy
YXcuYWxpZ24ubGVmdApAQCAtOTg3MSw4ICsxMDM4Nyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAg
IGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVz
dCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAg
ICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4ODQsNyArMTA0MDAsNyBAQAogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4g
MCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0
CkBAIC05ODk1LDggKzEwNDExLDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAg
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAg
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwpAQCAtOTkwOCw3ICsxMDQyNCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsK
LSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3Rl
ZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyCkBAIC05OTIw
LDggKzEwNDM2LDggQEAKICAgY2FudmFzOiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIiBkaXI9Imx0
ciIKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVm
ZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTkzMyw3ICsxMDQ0OSw3IEBACiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1
ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24u
c3RhcnQucnRsCkBAIC05OTQ2LDggKzEwNDYyLDggQEAKICAgY2FudmFzOiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjUwIiBkaXI9InJ0bCIKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTk1OSw3
ICsxMDQ3NSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAy
ZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cgpAQCAtOTk3MSw4ICsxMDQ4Nyw4IEBACiAgIGNhbnZh
czogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJsdHIiCiAgIGNvZGU6IHwKICAgICBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTk5ODQsNyArMTA1MDAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAg
fSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdy
ZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwKQEAgLTk5OTcsOCArMTA1
MTMsOCBAQAogICBjYW52YXM6IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiIGRpcj0icnRsIgogICBj
b2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3Qo
KTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAg
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0xMDAxMCw3ICsxMDUyNiw3IEBACiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAw
LDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVy
CkBAIC0xMDAyMSw4ICsxMDUzNyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAg
ICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKQEAgLTEwMDM0LDcgKzEwNTUwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1
OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVj
dGVkOiBncmVlbgogCiAKQEAgLTEwMDQ2LDE1ICsxMDU2MiwxNSBAQAogICAgIC0gQ2FudmFzVGVz
dAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZl
clRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgICAgIGN0eC5maWxsVGV4dCgnRSBFRScs
IC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSks
IDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVu
CiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlCkBAIC0xMDA2NSwx
NSArMTA1ODEsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250
ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihm
dW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgICAgICBjdHguZmlsbFRleHQoJ0UgIEVFJywgLTEwMCwgMzcuNSk7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyCkBAIC0xMDA4NCwxNSArMTA2MDAsMTUgQEAK
ICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHgu
ZmlsbFRleHQoJ0UgXHgwOVx4MGFceDBjXHgwZCAgXHgwOVx4MGFceDBjXHgwZEVFJywgLTEwMCwg
MzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96
LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3ot
dG9kbwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4
cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25z
cGFjZQpAQCAtMTAxMDMsMTUgKzEwNjE5LDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6
IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwot
ICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdFXHgwYiBFRScsIC0xNTAs
IDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7
CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0g
bmFtZTogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0CkBAIC0xMDEyMiwxNSArMTA2
MzgsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAg
ICAgICBjdHguZmlsbFRleHQoJyBFRScsIDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5z
cGFjZS5jb2xsYXBzZS5lbmQKQEAgLTEwMTQxLDggKzEwNjU3LDggQEAKICAgICAtIENhbnZhc1Rl
c3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVm
ZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMTAxNTAsMTcgKzEwNjY2LDIyIEBACiAg
ICAgICAgIGN0eC5maWxsVGV4dCgnRUUgJywgMTAwLCAzNy41KTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0Lm1l
YXN1cmUud2lkdGguYmFzaWMKKyAgZGVzYzogVGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1l
IGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50
ZXh0Lm1lYXN1cmUKICAgZm9udHM6CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKLSAgICBk
ZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZh
c1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDog
ZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVu
KCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgICAgIEBhc3NlcnQg
Y3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGggPT09IDUwOwogICAgICAgICBAYXNzZXJ0IGN0eC5t
ZWFzdXJlVGV4dCgnQUEnKS53aWR0aCA9PT0gMTAwOwpAQCAtMTAxNjgsMzAgKzEwNjg5LDM4IEBA
CiAKICAgICAgICAgY3R4LmZvbnQgPSAnMTAwcHggQ2FudmFzVGVzdCc7CiAgICAgICAgIEBhc3Nl
cnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGggPT09IDEwMDsKLSAgICB9KSwgNTAwKTsKKyAg
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUud2lk
dGguZW1wdHkKLSAgZGVzYzogVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aAorICBkZXNj
OiBUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZvciBPZmZzY3JlZW5DYW52YXMKICAg
dGVzdGluZzoKICAgICAtIDJkLnRleHQubWVhc3VyZQogICBmb250czoKICAgICAtIENhbnZhc1Rl
c3QKICAgY29kZTogfAotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFz
VGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKKyAgICBsZXQgZm9udHMgPSAoc2VsZi5m
b250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7CisgICAgZm9udHMuYWRkKGYpOwor
ICAgIGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7CisgICAg
fSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoIiIpLndpZHRoID09PSAwOwotICAg
IH0pLCA1MDApOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnRl
eHQubWVhc3VyZS53aWR0aC5zcGFjZQotICBkZXNjOiBTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252
ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpCisgIGRlc2M6IFNwYWNlIGNo
YXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykg
Zm9yIE9mZnNjcmVlbkNhbnZhcwogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5tZWFzdXJlLnNw
YWNlcwogICBmb250czoKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAotICAgIGRlZmVyVGVz
dCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAg
ICB2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50
dGYiKTsKKyAgICBsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVu
dC5mb250cyk7CisgICAgZm9udHMuYWRkKGYpOworICAgIGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4g
eworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7CisgICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAg
ICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0EgQicpLndpZHRoID09PSAxNTA7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1
cmVUZXh0KCdBICBCJykud2lkdGggPT09IDE1MDsgQG1vei10b2RvCkBAIC0xMDIwMCw2ICsxMDcy
OSwxNDEgQEAKIAogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnIEFCJykud2lkdGgg
PT09IDEwMDsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQiAn
KS53aWR0aCA9PT0gMTAwOyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKKworLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMKKyAgZGVz
YzogVGVzdGluZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6
CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMKKyAgZm9udHM6CisgICAgLSBDYW52YXNU
ZXN0CisgIGNvZGU6IHwKKyAgICB2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIv
Zm9udHMvQ2FudmFzVGVzdC50dGYiKTsKKyAgICBsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNl
bGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7CisgICAgZm9udHMuYWRkKGYpOworICAgIGZvbnRz
LnJlYWR5LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7CisgICAgfSkudGhlbihm
dW5jdGlvbigpIHsKKyAgICAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICAg
ICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgICAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAg
ICAgICAgLy8gU29tZSBwbGF0Zm9ybXMgbWF5IHJldHVybiAnLTAnLgorICAgICAgICBAYXNzZXJ0
IE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSkgPT09IDA7Cisg
ICAgICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNsaWdodGx5IGRp
ZmZlcmVudC4KKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5j
ZXNbMV0gPj0gMzY7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFk
dmFuY2VzWzJdID49IDU4OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1szXSA+PSA3MDsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hl
bGxvJykuYWR2YW5jZXNbNF0gPj0gODA7CisKKyAgICAgICAgdmFyIHRtID0gY3R4Lm1lYXN1cmVU
ZXh0KCdIZWxsbycpOworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5h
ZHZhbmNlc1swXSA9PT0gdG0uYWR2YW5jZXNbMF07CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1
cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID09PSB0bS5hZHZhbmNlc1sxXTsKKyAgICAgICAg
QGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMl0gPT09IHRtLmFkdmFu
Y2VzWzJdOworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNl
c1szXSA9PT0gdG0uYWR2YW5jZXNbM107CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0
KCdIZWxsbycpLmFkdmFuY2VzWzRdID09PSB0bS5hZHZhbmNlc1s0XTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKKworLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdC
b3gKKyAgZGVzYzogVGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFz
CisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gKKyAg
Zm9udHM6CisgICAgLSBDYW52YXNUZXN0CisgIGNvZGU6IHwKKyAgICB2YXIgZiA9IG5ldyBGb250
RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKKyAgICBsZXQgZm9u
dHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7CisgICAgZm9u
dHMuYWRkKGYpOworICAgIGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSk7CisgICAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICAgICAgY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKKyAgICAgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgICAgICBj
dHguYWxpZ24gPSAnbGVmdCcKKyAgICAgICAgY3R4LmJhc2VsaW5lID0gJ2FscGhhYmV0aWMnCisg
ICAgICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICAgICAgQGFzc2Vy
dCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpID09
PSAwOworICAgICAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGln
aHRseSBkaWZmZXJlbnQuCisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0
dWFsQm91bmRpbmdCb3hSaWdodCA+PSA1MDsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRl
eHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNTsKKyAgICAgICAgQGFzc2VydCBN
YXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQpID09
PSAwOworCisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
YWN0dWFsQm91bmRpbmdCb3hMZWZ0KSA9PT0gMDsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3Vy
ZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDIwMDsKKyAgICAgICAgQGFz
c2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4
NTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGlu
Z0JveERlc2NlbnQgPj0gMzc7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFt
ZTogMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveAorICBkZXNjOiBUZXN0aW5nIGZvbnRC
b3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0
Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94CisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBj
b2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0Nh
bnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRz
IDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50
aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5k
aXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIEBh
c3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50ID09PSA4NTsK
KyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNj
ZW50ID09PSAzOTsKKworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZv
bnRCb3VuZGluZ0JveEFzY2VudCA9PT0gODU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVU
ZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCA9PT0gMzk7CisgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cworICBk
ZXNjOiBUZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6Cisg
ICAgLSAyZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzCisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVz
dAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2Zv
bnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxm
LmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5y
ZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAg
IGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQgPT09IDM3LjU7
CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ID09
PSAxMi41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVz
Y2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50ID09PSA1MDsKKworICAg
ICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNjZW50ID09PSAz
Ny41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVz
Y2VudCA9PT0gMTIuNTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5l
bUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2VudCA9
PT0gNTA7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4dC5t
ZWFzdXJlLmJhc2VsaW5lcworICBkZXNjOiBUZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVu
Q2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzCisgIGZv
bnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZh
Y2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRz
ID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRz
LmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKKyAgICAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgICAgY3R4LmFs
aWduID0gJ2xlZnQnCisgICAgICAgQGFzc2VydCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0En
KS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSA9PT0gMDsKKyAgICAgICBAYXNzZXJ0IGN0eC5t
ZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljID09PSAtMzk7CisgICAg
ICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nID09
PSA2ODsKKworICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
Z2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykgPT09IDA7CisgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyA9PT0gLTM5OworICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2lu
ZyA9PT0gNjg7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKICMgVE9ETzogc2hhZG93
cywgYWxwaGEsIGNvbXBvc2l0ZSwgY2xpcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLmIzYjcwYWMyMDg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0uaHRtbApAQCAt
MCwwICsxLDQwIEBACis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBFbnN1cmUgdGhhdCBjb250ZXh0MmQuZ2V0VHJh
bnNmb3JtIHdvcmtzCitjb25zdCBlcHNpbG9uID0gMWUtNTsKK2NvbnN0IGNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMzAwLCAxNTApOworY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQo
JzJkJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworCisgIGFzc2VydF9hcnJheV9lcXVhbHMoY3R4
LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzEsIDAsIDAsIDAsIDAsIDEs
IDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDFdLAorICAgICJBc3NlcnQgdGhhdCBhbiB1bnRy
YW5zZm9ybWVkIG1hdHJpeCBpcyBpZGVudGl0eSIpOworCisgIGN0eC5zY2FsZSgyLCAzKTsKKyAg
dHJhbnNmb3JtID0gY3R4LmdldFRyYW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGN0
eC5nZXRUcmFuc2Zvcm0oKS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFsyLCAwLCAwLCAwLCAwLCAz
LCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxXSwKKyAgICAiQXNzZXJ0IHRoYXQgY29udGV4
dDJkIHNjYWxpbmcgd29ya3MiKTsKKworICBjdHgucm90YXRlKE1hdGguUEkvMik7CisgIHRyYW5z
Zm9ybSA9IGN0eC5nZXRUcmFuc2Zvcm0oKTsKKyAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMo
Y3R4LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzAsIDMsIDAsIDAsIC0y
LCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxXSwgZXBzaWxvbiwKKyAgICAiQXNzZXJ0
IHRoYXQgY29udGV4dDJkIHJvdGF0ZSB3b3JrcyIpOworCisgIGN0eC50cmFuc2xhdGUoMSwgLTEp
OworICB0cmFuc2Zvcm0gPSBjdHguZ2V0VHJhbnNmb3JtKCk7CisgIGFzc2VydF9hcnJheV9hcHBy
b3hfZXF1YWxzKGN0eC5nZXRUcmFuc2Zvcm0oKS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFswLCAz
LCAwLCAwLCAtMiwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMiwgMywgMCwgMV0sIGVwc2lsb24sCisg
ICAgIkFzc2VydCBjb250ZXh0MmQgdHJhbnNsYXRlIHdvcmtzLiIpOworCisgIGN0eC5yZXNldFRy
YW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGN0eC5nZXRUcmFuc2Zvcm0oKS50b0Zs
b2F0MzJBcnJheSgpLAorICAgIFsxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAw
LCAwLCAwLCAxXSwKKyAgICAiQXNzZXJ0IHRoYXQgYSByZXNldCBtYXRyaXggaXMgaWRlbnRpdHki
KTsKK30sICdUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGdldFRyYW5zZm9ybSB3b3JrcyBjb3JyZWN0
bHkuJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbAppbmRleCA4ZDAxYjVhYWM2Zi4uYWVkOTJiZjVjYmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5z
Zm9ybWF0aW9uLm9yZGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVy
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
VHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlciIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ub3JkZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5vcmRlci53b3JrZXIuanMKaW5kZXggZTZhYTE2OWVkODUuLjc5MDRmYzQ0
Y2UyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9y
ZGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
Lm9yZGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiVHJhbnNmb3JtYXRpb25z
IGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIC01MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLmRpcmVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUuZGlyZWN0aW9uLmh0bWwKaW5kZXggODFkZmRhZGY4NzYuLjU3YjI3MDkzNWE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0
ZS5kaXJlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5kaXJlY3Rpb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5y
b3RhdGUoKSBpcyBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSBpcyBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzCmluZGV4IDMy
ODI5NmZjZTE3Li41ZmM4NzM3MjJlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSBpcyBjbG9ja3dpc2UiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKaW5kZXggZmI2YTcz
ZmJmNjEuLmUxNzk2YzY2NzVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRl
Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicm90
YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYg
QEAgY3R4LnJvdGF0ZShOYU4pOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5y
b3RhdGUubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggZGJmZGZjNzZjNTcuLjBm
NTg4MzQ0NzAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5yb3RhdGUoTmFOKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMuaHRtbAppbmRleCA1NWJjMjkzMDk4MS4u
MzNiMzU5ZTA1MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLnJhZGlhbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5yb3RhdGUoKSB1c2VzIHJhZGlhbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNs
eSBpZiB0aGlzIGlzIDMuMSBkZWdyZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5yYWRpYW5zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCmluZGV4IDI0M2VkNWU0NmMxLi41
MjA2YzIwNWJiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUucmFkaWFucy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInJvdGF0ZSgpIHVzZXMgcmFkaWFucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
Y3R4LnJvdGF0ZShNYXRoLlBJKTsgLy8gc2hvdWxkIGZhaWwgb2J2aW91c2x5IGlmIHRoaXMgaXMg
My4xIGRlZ3JlZXMKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwg
LTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndy
YXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndy
YXAuaHRtbAppbmRleCA5YzEzMzNhMzYxMS4uYzA4MjQyNmUzMGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS53cmFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSB3cmFwcyBsYXJnZSBwb3NpdGl2ZSB2YWx1ZXMgY29y
cmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgicm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUgdmFsdWVzIGNvcnJlY3RseSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMiwgMCwy
NTUsMCwyNTUsICI5OCwyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0NywgMCwyNTUsMCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAud29ya2VyLmpzCmluZGV4IDVhN2E0MTNhNjJjLi5m
YTU1M2YwNmE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1
LDAsMjU1LCAiOTgsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDcsIDAsMjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAppbmRleCAxMDhmNmQ4MzA3
OC4uOTM5ZWFiY2RlNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUud3JhcG5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRp
dmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgpIHdyYXBzIGxhcmdlIG5lZ2F0aXZlIHZh
bHVlcyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJyb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29ycmVj
dGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwyLCAwLDI1NSwwLDI1NSwgIjk4LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ3LCAwLDI1NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2Vy
LmpzCmluZGV4IDVkMTNiMzIyNGY4Li5kMDRiNzlmM2JjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFw
bmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSB3cmFw
cyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyLCAwLDI1NSwwLDI1NSwgIjk4LDIiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ3LCAwLDI1
NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnpl
cm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnpl
cm8uaHRtbAppbmRleCAxZDBhM2U0YzAzYy4uOTMwODAyNzIzYzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSBieSAwIGRvZXMgbm90aGluZzwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5IDAg
ZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgucm90YXRlKDApOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKaW5k
ZXggNGI2NjRiZTgwYmEuLjVlZGY5NjRmNmMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgYnkgMCBkb2VzIG5vdGhpbmciKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIGN0eC5yb3RhdGUoMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy5odG1sCmluZGV4IDFmNzYwYzEwMTU2Li43ZDhjMGY2YjIxYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNp
Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
YmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNjYWxlKCkgd29ya3M8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdvcmtz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2NhbGUoMiwgNCk7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAxMi41KTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYy53b3JrZXIuanMKaW5kZXggZDM1YTM1
MGNhYWMuLmJjN2I1MDQyZmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgic2NhbGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNj
YWxlKDIsIDQpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1
MCwgMTIuNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwy
NTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLmh0
bWwKaW5kZXggNTM4M2I1NGNmODAuLmViZWY5ZWY4M2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5sYXJnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMgd29ya3M8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Ob3QgcmVhbGx5IHRoYXQgbGFyZ2Ug
YXQgYWxsLCBidXQgaXQgaGl0cyB0aGUgbGltaXRzIGluIEZpcmVmb3guCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbGFyZ2Ugc2NhbGUgZmFjdG9ycyB3b3JrcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNjYWxlKDFlNSwgMWU1KTsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCmluZGV4IGE5MjI1NTQy
MDc3Li40MTI2ODBlMzhhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPk5vdCByZWFsbHkgdGhhdCBsYXJnZSBhdCBhbGws
IGJ1dCBpdCBoaXRzIHRoZSBsaW1pdHMgaW4gRmlyZWZveC4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0aCBsYXJnZSBzY2Fs
ZSBmYWN0b3JzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2NhbGUoMWU1LCAx
ZTUpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxLCAxKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbApp
bmRleCBjZWE3MDMwNmY0Mi4uYzA2ZmU2MTQxMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9u
LnNjYWxlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5NdWx0aXBsZSBzY2FsZSgpcyBjb21iaW5lPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTXVsdGlwbGUgc2Nh
bGUoKXMgY29tYmluZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNjYWxlKE1hdGguc3Fy
dCgyKSwgTWF0aC5zcXJ0KDIpKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAw
LDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bXVsdGlwbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggMTM0MTE2NmEzZGEuLjhmMTMwNGNkMTAx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
Lm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnNjYWxlLm11bHRpcGxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
TXVsdGlwbGUgc2NhbGUoKXMgY29tYmluZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnNj
YWxlKE1hdGguc3FydCgyKSwgTWF0aC5zcXJ0KDIpKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbAppbmRleCA0ODgxMzgzZmQ4Yy4uMmExODc5Mjc0
MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRy
YW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgp
IHdpdGggbmVnYXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0aCBuZWdhdGl2ZSBz
Y2FsZSBmYWN0b3JzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguZmlsbFJlY3Qo
NTAsIC01MCwgNTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLndvcmtl
ci5qcwppbmRleCAyN2Q2ZGUwYzUzMC4uZDY5N2EyNTg1NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbmVnYXRpdmUg
c2NhbGUgZmFjdG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0
KDUwLCAtNTAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS5odG1sCmlu
ZGV4IDdmZmEzMDIzMjMzLi4xNDQzMzVlM2NmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJzY2FsZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICsz
Myw2IEBAIGN0eC5zY2FsZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4
IGY4OTk1MGZlNmUxLi45ZGNjYWRiYWM4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguc2NhbGUoSW5maW5pdHksIEluZmlu
aXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLmh0bWwK
aW5kZXggMDkyYmE4NmQzZjkuLjk1YWE1Yjk3YTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
emVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5zY2FsZSgpIHdpdGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3JrczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0
aCBhIHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4
LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnpl
cm8ud29ya2VyLmpzCmluZGV4IDI1NTkzNTdkYjAwLi42YmJmYjI1YzIyMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8u
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggYSBzY2FsZSBm
YWN0b3Igb2YgemVybyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0u
bXVsdGlwbGUuaHRtbAppbmRleCA2NjZiNGM1NGEzMi4uODdlZWU0MzVlYjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRp
cGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubXVsdGlwbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc2V0VHJhbnNmb3JtKDIsMCwgMCwy
LCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwg
MjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1LDAsMjU1LCAi
NzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlw
bGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDgzNTMwMTYyNGFlLi41NTJiMWY5MzQ1
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguc2V0VHJhbnNmb3Jt
KDIsMCwgMCwyLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1
LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbAppbmRleCBmY2E1ZDVkZjkxOS4uNDZkZDU2NWE2
ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0
VHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5p
dGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNldFRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzZXRUcmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtOTcsNyArMTAxLDYgQEAgY3R4LnNldFRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgt
MTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggMTJjZGJj
YTkyM2IuLmNjODI2MzM1MjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNldFRyYW5zZm9ybSgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05Myw3ICs5Nyw2IEBAIGN0eC5zZXRUcmFu
c2Zvcm0oMCwgMCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLmh0bWwKaW5kZXgg
ZDM2NTAyZDNkNTkuLjZjOTExZjhhOWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3Jt
YXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFu
c2Zvcm0uc2tld2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NCw3ICs0OCw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1NSwwLDI1NSwgIjM5
LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwx
OSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1NSwwLDI1NSwgIjYx
LDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5z
Zm9ybS5za2V3ZWQud29ya2VyLmpzCmluZGV4IDZkNzI4YmZmMzg4Li5mNzMxZWNkY2FiMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0uc2tld2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC00MCw3ICs0NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDM5LDE5LCAwLDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAs
MjU1LCAiMzksMzEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDYxLDMxLCAwLDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sCmluZGV4IGI1ODkwYzEwZjJhLi41
MDYzOTU5YzhjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0u
aWRlbnRpdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj50cmFuc2Zvcm0oKSB3aXRoIHRoZSBpZGVudGl0eSBtYXRyaXggZG9l
cyBub3RoaW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgidHJhbnNmb3JtKCkgd2l0aCB0aGUgaWRlbnRpdHkgbWF0cml4IGRvZXMgbm90aGlu
ZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnRyYW5zZm9ybSgxLDAsIDAsMSwgMCwwKTsK
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVu
dGl0eS53b3JrZXIuanMKaW5kZXggMTY2ZmM1YjRiODQuLjZiNWZiZGFkZjQ0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0
eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0uaWRlbnRpdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFu
c2Zvcm0oKSB3aXRoIHRoZSBpZGVudGl0eSBtYXRyaXggZG9lcyBub3RoaW5nIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCBjdHgudHJhbnNmb3JtKDEsMCwgMCwxLCAwLDApOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS5odG1sCmluZGV4IDFj
NmQxNjYxZGI1Li5kMzZhNTM5MGUwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0ubXVsdGlwbHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11
bHRpcGx5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBD
VE08L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJ0cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IGN0eC50cmFuc2Zvcm0oLTIsMSwgMy8yLC0xLzIsIDEsLTIpOwogY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtlci5qcwppbmRl
eCBmMDFkM2Q5OTJmZC4uZjYxM2YzMjhhODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIG11bHRpcGxpZXMg
dGhlIENUTSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnRyYW5zZm9ybSgtMiwxLCAzLzIs
LTEvMiwgMSwtMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9u
ZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
Zm9ybS5ub25maW5pdGUuaHRtbAppbmRleCAyMDcxYzczZDhmMS4uYzhmMjdiODc0YWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5v
bmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
dHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3
aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTcsNyArMTAxLDYgQEAgY3R4
LnRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS53
b3JrZXIuanMKaW5kZXggMWVlMzY1OTYyOGMuLmIwNjJjYTljYjhjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9y
bSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05Myw3ICs5Nyw2IEBA
IGN0eC50cmFuc2Zvcm0oMCwgMCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLmh0bWwKaW5k
ZXggODM3NjllMDM0NDYuLmM2OTFhYTUwNDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLnNrZXdlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tl
d2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50cmFuc2Zvcm0oKSB3aXRoIHNrZXd5IG1hdHJpeCB0
cmFuc2Zvcm1zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggc2tld3kgbWF0cml4IHRyYW5zZm9y
bXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDQsNyArNDgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAzOSwxOSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1LDAsMjU1LCAiNjEsMTki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDMxLCAw
LDI1NSwwLDI1NSwgIjM5LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA2MSwzMSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcwppbmRleCBi
OGFlODNmZGE3ZC4uNzI2ZmJhNzg3N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXgg
dHJhbnNmb3JtcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MCw3ICs0NCw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUs
ICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYy5odG1sCmluZGV4IDI5Nzhi
ZTgxNDk1Li4wY2RmMmExZjllYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xh
dGUuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj50cmFuc2xhdGUoKSB3b3JrczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zbGF0ZSgpIHdvcmtzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNsYXRlKDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzCmlu
ZGV4IGUwMTlhYmIyNWE1Li41ZjZkMDM5M2IxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNsYXRlKCkgd29ya3MiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIGN0eC50cmFuc2xhdGUoMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS5odG1sCmluZGV4
IDBhOTBmNzI1YjM0Li5kMmU4N2M1ZTVjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNsYXRlKCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zbGF0ZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC50cmFuc2xhdGUoSW5maW5pdHksIEluZmlu
aXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZp
bml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zbGF0ZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGVhMjYxNzgxNTFmLi4zMDU1YzU4ODA2
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFu
c2xhdGUubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJ0cmFuc2xhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBjdHgudHJhbnNsYXRlKEluZmluaXR5LCBJbmZpbml0eSk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2Mt
aW1wb3J0LmxvZwppbmRleCA0NDY2ZWYwZTZjNC4uYTk1ZWI4NzFiNTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy93M2MtaW1wb3J0LmxvZwpAQCAtMTQsNiArMTQsNyBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLmdldFRyYW5zZm9ybS5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53b3JrZXIuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24uaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvdGVzdHMtb3B0aW9ucy5qc29uCmluZGV4IGM1Nzg3YTZlMjY1Li4zMDE3YjEyNjJlNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3Rz
L3Rlc3RzLW9wdGlvbnMuanNvbgpAQCAtMTgyOSw2ICsxODI5LDk2IEBACiAgICAgImltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1U
cmFjay1nZXRTZXR0aW5ncy5odHRwcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAor
ICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwi
OiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS4zYXJnLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLmh0bWwiOiBbCisgICAgICAgICJz
bG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJn
LmJhc2ljLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbCI6IFsKKyAgICAgICAgInNs
b3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
ZGVzdHNpemUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwiOiBbCisgICAgICAg
ICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45
YXJnLnNvdXJjZXNpemUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0bWwiOiBbCisgICAgICAgICJz
bG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmlt
YXRlZC5wb3N0ZXIuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sIjogWworICAgICAgICAic2xv
dyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFz
Lmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisg
ICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jb21wb3NpdGUuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmZsb2F0c291cmNlLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAg
ImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3QuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm5lZ2F0aXZlZGlyLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAg
ImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS5odG1sIjog
WworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAg
ImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbCI6IFsKKyAgICAg
ICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm51bGwuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGguaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAg
XSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS5odG1sIjog
WworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uuc2VsZi4yLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcuaHRtbCI6IFsKKyAgICAgICAgInNs
b3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5z
Zm9ybS5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0eXBlLmh0bWwiOiBbCisgICAgICAgICJzbG93Igor
ICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFz
Lmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAg
IF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmlt
YWdlLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1
Y3Rvci1jcmFzaC5odHRwcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386195</attachid>
            <date>2019-12-20 03:29:11 -0800</date>
            <delta_ts>2020-01-10 02:43:47 -0800</delta_ts>
            <desc>Update OffscreenCanvas tests and related files</desc>
            <filename>0001-Bug-205445-Update-and-re-enable-OffscreenCanvas-test.patch</filename>
            <type>text/plain</type>
            <size>2594815</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">RnJvbSBiNmE4NGY0NDcwMTVlNzU0ZDQ4MzkwZjc2N2Q0NTRkOTY4YmQ0YzM1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBMb3JkIDxjbG9yZEBpZ2FsaWEuY29tPgpEYXRlOiBU
aHUsIDE5IERlYyAyMDE5IDE1OjAwOjU4ICswMDAwClN1YmplY3Q6IFtQQVRDSCB4c2VydmVyXSBC
dWcgMjA1NDQ1IC0gVXBkYXRlIGFuZCByZS1lbmFibGUgT2Zmc2NyZWVuQ2FudmFzCiB0ZXN0cwoK
LS0tCiAuLi4vdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gICAgfCAgIDIg
KwogLi4uL2NyZWF0ZUltYWdlQml0bWFwLXNlcmlhbGl6YWJsZS5odG1sICAgICAgIHwgICA5ICsK
IC4uLi9jcmVhdGVJbWFnZUJpdG1hcC10cmFuc2Zlci5odG1sICAgICAgICAgICB8ICAxMSArCiAu
Li4vaW1hZ2ViaXRtYXAvbm8tY29vcC1jb2VwLmh0dHBzLndpbmRvdy5qcyAgfCAgNTAgLQogLi4u
LzJkY29udGV4dC9pbWFnZWJpdG1hcC93M2MtaW1wb3J0LmxvZyAgICAgIHwgICAxIC0KIC4uLi93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9NRVRBLnltbCAgICB8ICAgMyArCiAuLi4vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvT1dORVJTICAgICAgfCAgIDMgLQogLi4uL2ltYWdl
cy9ibHVlLXBuZy1jYWNoYWJsZS5weSAgICAgICAgICAgICAgIHwgIDEzICsKIC4uLi93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2NhbnZhcy1saW5lLnBuZyB8IEJpbiA1MDIgLT4gMCBieXRlcwog
Li4uL2ltYWdlcy9jbGVhci0xMDB4NTAucG5nICAgICAgICAgICAgICAgICAgIHwgQmluIDAgLT4g
MTE3IGJ5dGVzCiAuLi4vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY29sb3JzLnN2ZyAg
fCAgMTEgKwogLi4uL2ltYWdlcy9meWktbG9nby9meWlfY29sb3Iuc3ZnICAgICAgICAgICAgIHwg
IDIwICsKIC4uLi9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yX2JnLnN2ZyAgICAgICAgICB8ICAy
NiArCiAuLi4vaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljLnN2ZyAgICAgfCAgMTgg
KwogLi4uL2ltYWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpY19iZy5zdmcgIHwgIDI0ICsK
IC4uLi9pbWFnZXMvZnlpLWxvZ28vdzNjLWltcG9ydC5sb2cgICAgICAgICAgICB8ICAyMCArCiAu
Li4vd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5Ni5zdmcgfCAgIDMgKwogLi4u
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvdzNjLWltcG9ydC5sb2cgIHwgICA5ICstCiAuLi4v
aW1hZ2VzL3dwdC1sb2dvL3czYy1pbXBvcnQubG9nICAgICAgICAgICAgfCAgMjEgKwogLi4uL2lt
YWdlcy93cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS1iZy5zdmcgIHwgICA5ICsKIC4uLi9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnICAgICB8ICAgOCArCiAuLi4vaW1hZ2Vz
L3dwdC1sb2dvL3dwdC1sb2dvLWxpZ2h0Ymx1ZS1iZy5zdmcgfCAgIDkgKwogLi4uL2ltYWdlcy93
cHQtbG9nby93cHQtbG9nby1vcmFuZ2UtYmcuc3ZnICAgIHwgICA5ICsKIC4uLi9pbWFnZXMvd3B0
LWxvZ28vd3B0LWxvZ28td2hpdGUuc3ZnICAgICAgICB8ICAgOCArCiAuLi4vaW1hZ2VzL3dwdC1w
ci1ib3QtbG9nby93M2MtaW1wb3J0LmxvZyAgICAgfCAgMTcgKwogLi4uL3dwdC1wci1ib3QtbG9n
by1kYXJrYmx1ZS5zdmcgICAgICAgICAgICAgIHwgIDUwICsKIC4uLi9vZmZzY3JlZW4tY2FudmFz
L01FVEEueW1sICAgICAgICAgICAgICAgICB8ICAgMSAtCiAuLi4vY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5jb3B5Lmh0bWwgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFz
LmNvcHkud29ya2VyLmpzICAgICAgICB8ICAyNCArLQogLi4uLzJkLmNvbXBvc2l0ZS5jYW52YXMu
ZGVzdGluYXRpb24tYXRvcC5odG1sIHwgIDI0ICstCiAuLi5vbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24tYXRvcC53b3JrZXIuanMgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFzLmRl
c3RpbmF0aW9uLWluLmh0bWwgICB8ICAyNCArLQogLi4uLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzIHwgIDI0ICstCiAuLi4vMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0
aW5hdGlvbi1vdXQuaHRtbCAgfCAgMjQgKy0KIC4uLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRp
b24tb3V0Lndvcmtlci5qcyB8ICAyNCArLQogLi4uLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24tb3Zlci5odG1sIHwgIDI0ICstCiAuLi5vbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24t
b3Zlci53b3JrZXIuanMgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIu
aHRtbCAgICAgICAgICB8ICAyNCArLQogLi4uLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci53
b3JrZXIuanMgICAgIHwgIDI0ICstCiAuLi4vMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRv
cC5odG1sICAgICAgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9w
Lndvcmtlci5qcyB8ICAyNCArLQogLi4uLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0
bWwgICAgICAgIHwgIDI0ICstCiAuLi4vMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4ud29y
a2VyLmpzICAgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRt
bCAgICAgICB8ICAyNCArLQogLi4uLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3Jr
ZXIuanMgIHwgIDI0ICstCiAuLi4vMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1s
ICAgICAgfCAgMjQgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtl
ci5qcyB8ICAyNCArLQogLi4uL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLmh0
bWwgIHwgIDI0ICstCiAuLi4vMmQuY29tcG9zaXRlLmNhbnZhcy54b3Iud29ya2VyLmpzICAgICAg
ICAgfCAgMjQgKy0KIC4uLi9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwg
ICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkud29ya2VyLmpzICAgICAgICAg
IHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sICAg
fCAgIDcgKy0KIC4uLi5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyB8
ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLmh0bWwgICAgIHwg
ICA3ICstCiAuLi4yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQuaHRtbCAgICB8ICAg
NyArLQogLi4uZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzIHwgICA3
ICstCiAuLi4vMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sICAgfCAgIDcg
Ky0KIC4uLi5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyB8ICAgNyAr
LQogLi4uLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIuaHRtbCAgICAgICAgICAgIHwgICA3ICst
CiAuLi4vMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci53b3JrZXIuanMgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC5odG1sICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLndvcmtlci5qcyAgIHwgICA3ICstCiAu
Li4vMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLmh0bWwgICAgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzICAgICB8ICAgNyArLQogLi4u
LzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9yLmh0bWwgICAgfCAgIDcgKy0KIC4uLi8yZC5j
b21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS5odG1sICB8ICAgNyArLQogLi4uY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmNhbnZhc2NvcHkud29ya2VyLmpzIHwgICA3ICstCiAuLi5kLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLmh0bWwgfCAgIDcgKy0KIC4uLnBvc2l0ZS5nbG9i
YWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuZGVmYXVsdC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuZmlsbC5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5maWxsLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlLmh0bWwgICAgICAgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuaW1hZ2Uud29ya2VyLmpzICB8ICAxNiArLQogLi4uMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmltYWdlcGF0dGVybi5odG1sIHwgIDIwICstCiAuLi5tcG9zaXRlLmdsb2JhbEFscGhh
LmltYWdlcGF0dGVybi53b3JrZXIuanMgfCAgMjAgKy0KIC4uLi8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW52YWxpZC5odG1sICAgICB8ICAgNyArLQogLi4uMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmludmFsaWQud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLnJhbmdlLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEucmFuZ2Uud29ya2VyLmpzICB8ICAgNyArLQogLi4uL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5pbWFnZS5jb3B5Lmh0bWwgIHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLmNvcHku
d29ya2VyLmpzICAgICAgICAgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24tYXRvcC5odG1sICB8ICAxNiArLQogLi4uY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LWF0b3Aud29ya2VyLmpzIHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0
aW9uLWluLmh0bWwgICAgfCAgMTYgKy0KIC4uLmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcyB8ICAxNiArLQogLi4uLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlv
bi1vdXQuaHRtbCAgIHwgIDE2ICstCiAuLi4uY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91
dC53b3JrZXIuanMgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24t
b3Zlci5odG1sICB8ICAxNiArLQogLi4uY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIu
d29ya2VyLmpzIHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbCAg
ICAgICAgICAgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIu
anMgICAgICB8ICAxNiArLQogLi4uLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1s
ICAgICAgIHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLndvcmtl
ci5qcyAgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwgICAg
ICAgICB8ICAxNiArLQogLi4uLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpz
ICAgIHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQuaHRtbCAgICAg
ICAgfCAgMTYgKy0KIC4uLi8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMg
ICB8ICAxNiArLQogLi4uLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci5odG1sICAgICAg
IHwgIDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLndvcmtlci5qcyAg
fCAgMTYgKy0KIC4uLi9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLmh0bWwgICB8
ICAxNiArLQogLi4uLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2VyLmpzICAgICAgICAgIHwg
IDE2ICstCiAuLi4vMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0bWwgfCAg
IDcgKy0KIC4uLm9tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcyB8ICAg
NyArLQogLi4uLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIuaHRtbCAgICAgICAgIHwgICA3
ICstCiAuLi4vMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci53b3JrZXIuanMgICAgfCAgIDcg
Ky0KIC4uLi8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci5odG1sICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLndvcmtlci5qcyAgIHwgICA3ICst
CiAuLi4vMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQud29ya2VyLmpzICB8ICAgNyArLQog
Li4uLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC5odG1sICAgICB8ICAgNyArLQogLi4u
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQud29ya2VyLmpzIHwgICA3ICstCiAuLi4v
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwgICAgfCAgIDcgKy0KIC4uLmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci5odG1sICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLndvcmtlci5qcyAgICAgfCAgIDcgKy0KIC4uLi8yZC5j
b21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5odG1sICB8ICAgNyArLQogLi4uY29tcG9z
aXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzIHwgICA3ICstCiAuLi4vY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbCAgfCAgIDcgKy0KIC4uLi8yZC5jb21w
b3NpdGUuc29saWQuY29weS53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgIHwgICA3ICstCiAuLi5jb21wb3NpdGUu
c29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3Np
dGUuc29saWQuZGVzdGluYXRpb24taW4uaHRtbCAgICB8ICAgNyArLQogLi4uZC5jb21wb3NpdGUu
c29saWQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLW91dC5odG1sICAgfCAgIDcgKy0KIC4uLi5jb21wb3NpdGUuc29s
aWQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5z
b2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgIHwgICA3ICstCiAuLi5jb21wb3NpdGUuc29saWQu
ZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuc29s
aWQubGlnaHRlci5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5saWdodGVyLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLnNvbGlk
LnNvdXJjZS1hdG9wLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuc29saWQu
c291cmNlLWF0b3Aud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5zb2xpZC5z
b3VyY2UtaW4uaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1pbi53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLW91dC5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3Vy
Y2Utb3V0Lndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJj
ZS1vdmVyLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUuc29saWQuc291cmNl
LW92ZXIud29ya2VyLmpzICB8ICAgNyArLQogLi4uL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC54b3IuaHRtbCAgIHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLnNvbGlkLnhvci53b3Jr
ZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29w
eS5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5
Lndvcmtlci5qcyAgIHwgICA3ICstCiAuLi5vbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwgfCAgIDcgKy0KIC4uLml0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9w
Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1pbi5odG1sIHwgICA3ICstCiAuLi5vc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi53
b3JrZXIuanMgfCAgIDcgKy0KIC4uLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1v
dXQuaHRtbCB8ICAgNyArLQogLi4uc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29y
a2VyLmpzIHwgICA3ICstCiAuLi5vbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVy
Lmh0bWwgfCAgIDcgKy0KIC4uLml0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyLndvcmtl
ci5qcyB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLmh0bWwg
ICAgIHwgICA3ICstCiAuLi4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIu
anMgfCAgIDcgKy0KIC4uLi8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3AuaHRt
bCB8ICAgNyArLQogLi4ub21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Aud29ya2VyLmpz
IHwgICA3ICstCiAuLi4vMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi5odG1sICAg
fCAgIDcgKy0KIC4uLi5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluLndvcmtlci5qcyB8
ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0Lmh0bWwgIHwg
ICA3ICstCiAuLi5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLi8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbCB8ICAg
NyArLQogLi4ub21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIud29ya2VyLmpzIHwgICA3
ICstCiAuLi4vMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci5odG1sICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5qcyAgICB8ICAgNyAr
LQogLi4uLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lmh0bWwgICAgIHwgICA3ICst
CiAuLi4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLm9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCB8ICAgNyArLQog
Li4uLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIHwgICA3ICstCiAu
Li5tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwgfCAgIDggKy0KIC4u
LnRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyB8ICAgNyArLQogLi4u
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi5odG1sIHwgICA3ICstCiAuLi5t
cG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQuaHRtbCB8ICAgNyArLQogLi4ucG9z
aXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwgICAgfCAgMTggKy0KIC4uLmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcyB8ICAxOCArLQogLi4uc2l0ZS51
bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1sIHwgIDE4ICstCiAuLi51bmNvdmVy
ZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgfCAgMTggKy0KIC4uLnBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbCB8ICAxOCArLQogLi4uZS51bmNvdmVy
ZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIHwgIDE4ICstCiAuLi5kLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwgfCAgMTggKy0KIC4uLnBvc2l0ZS51bmNv
dmVyZWQuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcyB8ICAxOCArLQogLi4uLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5odG1sIHwgIDE4ICstCiAuLi5vc2l0ZS51bmNvdmVy
ZWQuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMgfCAgMTggKy0KIC4uLjJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQubm9jb250ZXh0LmNvcHkuaHRtbCB8ICAgNyArLQogLi4ubXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzIHwgICA3ICstCiAuLi4udW5jb3ZlcmVkLm5vY29u
dGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgfCAgIDcgKy0KIC4uLnZlcmVkLm5vY29udGV4dC5k
ZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyB8ICAgNyArLQogLi4udGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5kZXN0aW5hdGlvbi1pbi5odG1sIHwgICA3ICstCiAuLi5jb3ZlcmVkLm5vY29udGV4dC5k
ZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLm1wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5zb3VyY2UtaW4uaHRtbCB8ICAgNyArLQogLi4udGUudW5jb3ZlcmVkLm5vY29udGV4
dC5zb3VyY2UtaW4ud29ya2VyLmpzIHwgICA3ICstCiAuLi5wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5zb3VyY2Utb3V0Lmh0bWwgfCAgIDcgKy0KIC4uLmUudW5jb3ZlcmVkLm5vY29udGV4dC5z
b3VyY2Utb3V0Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
cGF0dGVybi5jb3B5Lmh0bWwgIHwgIDE4ICstCiAuLi5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRl
cm4uY29weS53b3JrZXIuanMgfCAgMTggKy0KIC4uLnRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3Rp
bmF0aW9uLWF0b3AuaHRtbCB8ICAxOCArLQogLi4uY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9u
LWF0b3Aud29ya2VyLmpzIHwgIDE4ICstCiAuLi5zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3Rp
bmF0aW9uLWluLmh0bWwgfCAgMTggKy0KIC4uLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcyB8ICAxOCArLQogLi4uY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNv
dXJjZS1pbi5odG1sIHwgIDE4ICstCiAuLi5zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1p
bi53b3JrZXIuanMgfCAgMTggKy0KIC4uLm9tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJj
ZS1vdXQuaHRtbCB8ICAxOCArLQogLi4uaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQu
d29ya2VyLmpzIHwgIDE4ICstCiAuLi4vMmQuY29vcmRpbmF0ZXNwYWNlLmh0bWwgICAgICAgICAg
ICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzICAgICAg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLm1pc3NpbmdhcmdzLWV4cGVjdGVkLnR4dCAgICAgICAg
ICAgICAgIHwgICAyICstCiAuLi4vMmQubWlzc2luZ2FyZ3MuaHRtbCAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDggKy0KIC4uLi8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0ICAg
ICAgICB8ICAgMiArLQogLi4uLzJkLm1pc3NpbmdhcmdzLndvcmtlci5qcyAgICAgICAgICAgICAg
ICAgIHwgICA4ICstCiAuLi4vMmQudm9pZHJldHVybi5odG1sICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC52b2lkcmV0dXJuLndvcmtlci5qcyAgICAgICAgICAgICAgICAg
ICB8ICAgNyArLQogLi4uL29mZnNjcmVlbmNhbnZhcy5jb252ZXJ0LnRvLmJsb2Iudy5odG1sICAg
IHwgICAyICsKIC4uLi8yZC5kcmF3SW1hZ2UuM2FyZy5odG1sICAgICAgICAgICAgICAgICAgICB8
ICAzMyArLQogLi4uLzJkLmRyYXdJbWFnZS4zYXJnLndvcmtlci5qcyAgICAgICAgICAgICAgIHwg
IDMyICstCiAuLi4vMmQuZHJhd0ltYWdlLjVhcmcuaHRtbCAgICAgICAgICAgICAgICAgICAgfCAg
MzEgKy0KIC4uLi8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMgICAgICAgICAgICAgICB8ICAz
MCArLQogLi4uLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLmh0bWwgICAgICAgICAgICAgIHwgIDIz
ICstCiAuLi4vMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpzICAgICAgICAgfCAgMjIg
Ky0KIC4uLi8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLmh0bWwgICAgICAgICAgICB8ICAzMyAr
LQogLi4uLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3Mud29ya2VyLmpzICAgICAgIHwgIDMyICst
CiAuLi4vMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUuaHRtbCAgICAgICAgICAgfCAgMzMgKy0K
IC4uLi8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS53b3JrZXIuanMgICAgICB8ICAzMiArLQog
Li4uLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy5odG1sICAgICAgICAgIHwgIDIzICstCiAu
Li4vMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLndvcmtlci5qcyAgICAgfCAgMjIgKy0KIC4u
Li8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLmh0bWwgICAgICAgICB8ICAzNyArLQogLi4u
LzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUud29ya2VyLmpzICAgIHwgIDM2ICstCiAuLi4v
MmQuZHJhd0ltYWdlLmFscGhhLmh0bWwgICAgICAgICAgICAgICAgICAgfCAgMTcgKy0KIC4uLi8y
ZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpzICAgICAgICAgICAgICB8ICAxNiArLQogLi4uLzJk
LmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbCAgICAgICAgIHwgIDE3ICstCiAuLi4vMmQu
ZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMgICAgfCAgMTYgKy0KIC4uLi8yZC5k
cmF3SW1hZ2UuYnJva2VuLmh0bWwgICAgICAgICAgICAgICAgICB8ICAyMSArLQogLi4uLzJkLmRy
YXdJbWFnZS5icm9rZW4ud29ya2VyLmpzICAgICAgICAgICAgIHwgIDIwICstCiAuLi4vMmQuZHJh
d0ltYWdlLmNhbnZhcy5odG1sICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIC4uLi8yZC5kcmF3
SW1hZ2UuY2FudmFzLndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmRyYXdJ
bWFnZS5jbGlwLmh0bWwgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCiAuLi4vMmQuZHJhd0lt
YWdlLmNsaXAud29ya2VyLmpzICAgICAgICAgICAgICAgfCAgMTYgKy0KIC4uLi8yZC5kcmF3SW1h
Z2UuY29tcG9zaXRlLmh0bWwgICAgICAgICAgICAgICB8ICAxNyArLQogLi4uLzJkLmRyYXdJbWFn
ZS5jb21wb3NpdGUud29ya2VyLmpzICAgICAgICAgIHwgIDE2ICstCiAuLi4vMmQuZHJhd0ltYWdl
LmZsb2F0c291cmNlLmh0bWwgICAgICAgICAgICAgfCAgMTcgKy0KIC4uLi8yZC5kcmF3SW1hZ2Uu
ZmxvYXRzb3VyY2Uud29ya2VyLmpzICAgICAgICB8ICAxNiArLQogLi4uLzJkLmRyYXdJbWFnZS5u
ZWdhdGl2ZWRlc3QuaHRtbCAgICAgICAgICAgIHwgIDM3ICstCiAuLi4vMmQuZHJhd0ltYWdlLm5l
Z2F0aXZlZGVzdC53b3JrZXIuanMgICAgICAgfCAgMzYgKy0KIC4uLi8yZC5kcmF3SW1hZ2UubmVn
YXRpdmVkaXIuaHRtbCAgICAgICAgICAgICB8ICAzNyArLQogLi4uLzJkLmRyYXdJbWFnZS5uZWdh
dGl2ZWRpci53b3JrZXIuanMgICAgICAgIHwgIDM2ICstCiAuLi4vMmQuZHJhd0ltYWdlLm5lZ2F0
aXZlc291cmNlLmh0bWwgICAgICAgICAgfCAgMzcgKy0KIC4uLi8yZC5kcmF3SW1hZ2UubmVnYXRp
dmVzb3VyY2Uud29ya2VyLmpzICAgICB8ICAzNiArLQogLi4uLzJkLmRyYXdJbWFnZS5ub25maW5p
dGUuaHRtbCAgICAgICAgICAgICAgIHwgNjE3ICsrKysrLS0tLS0tCiAuLi4vMmQuZHJhd0ltYWdl
Lm5vbmZpbml0ZS53b3JrZXIuanMgICAgICAgICAgfCA2MTYgKysrKystLS0tLS0KIC4uLi8yZC5k
cmF3SW1hZ2Uubm93cmFwLmh0bWwgICAgICAgICAgICAgICAgICB8ICAyMSArLQogLi4uLzJkLmRy
YXdJbWFnZS5ub3dyYXAud29ya2VyLmpzICAgICAgICAgICAgIHwgIDIwICstCiAuLi4vMmQuZHJh
d0ltYWdlLm51bGwuaHRtbCAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIC4uLi8yZC5kcmF3
SW1hZ2UubnVsbC53b3JrZXIuanMgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmRyYXdJ
bWFnZS5wYXRoLmh0bWwgICAgICAgICAgICAgICAgICAgIHwgIDE5ICstCiAuLi4vMmQuZHJhd0lt
YWdlLnBhdGgud29ya2VyLmpzICAgICAgICAgICAgICAgfCAgMTggKy0KIC4uLi8yZC5kcmF3SW1h
Z2Uuc2VsZi4xLmh0bWwgICAgICAgICAgICAgICAgICB8ICAgOCArLQogLi4uLzJkLmRyYXdJbWFn
ZS5zZWxmLjEud29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZHJhd0ltYWdl
LnNlbGYuMi5odG1sICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIC4uLi8yZC5kcmF3SW1hZ2Uu
c2VsZi4yLndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmRyYXdJbWFnZS5z
dmcuaHRtbCAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCiAuLi4vMmQuZHJhd0ltYWdlLnN2
Zy53b3JrZXIuanMgICAgICAgICAgICAgICAgfCAgMTYgKy0KIC4uLi8yZC5kcmF3SW1hZ2UudHJh
bnNmb3JtLmh0bWwgICAgICAgICAgICAgICB8ICAxNyArLQogLi4uLzJkLmRyYXdJbWFnZS50cmFu
c2Zvcm0ud29ya2VyLmpzICAgICAgICAgIHwgIDE2ICstCiAuLi4vMmQuZHJhd0ltYWdlLndyb25n
dHlwZS5odG1sICAgICAgICAgICAgICAgfCAgIDggKy0KIC4uLi8yZC5kcmF3SW1hZ2Uud3Jvbmd0
eXBlLndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmRyYXdJbWFnZS56ZXJvY2Fu
dmFzLmh0bWwgICAgICAgICAgICAgIHwgICA4ICstCiAuLi4vMmQuZHJhd0ltYWdlLnplcm9jYW52
YXMud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5kcmF3SW1hZ2UuemVyb3NvdXJj
ZS5odG1sICAgICAgICAgICAgICB8ICAyMSArLQogLi4uLzJkLmRyYXdJbWFnZS56ZXJvc291cmNl
LmltYWdlLmh0bWwgICAgICAgIHwgIDIxICstCiAuLi4vMmQuZHJhd0ltYWdlLnplcm9zb3VyY2Uu
aW1hZ2Uud29ya2VyLmpzICAgfCAgMjAgKy0KIC4uLi8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53
b3JrZXIuanMgICAgICAgICB8ICAyMCArLQogLi4uLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sICAg
ICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5q
cyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3QuY2xpcC5odG1sICAgICAg
ICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC5jbGlwLndvcmtlci5qcyAg
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLmh0bWwg
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEud29ya2Vy
LmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRt
bCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3Jr
ZXIuanMgICAgfCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3QubmVnYXRpdmUuaHRtbCAgICAgICAg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMgICAg
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS5odG1sICAgICAgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3Qubm9uZmluaXRlLndvcmtlci5qcyAgICAg
ICAgICB8ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC5wYXRoLmh0bWwgICAgICAgICAgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0LnBhdGgud29ya2VyLmpzICAgICAgICAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwgICAgICAgICAgICAgICAg
ICB8ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC5zaGFkb3cud29ya2VyLmpzICAgICAgICAgICAg
IHwgICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sICAgICAgICAgICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5jbGVhclJlY3QudHJhbnNmb3JtLndvcmtlci5qcyAgICAgICAgICB8
ICAgNyArLQogLi4uLzJkLmNsZWFyUmVjdC56ZXJvLmh0bWwgICAgICAgICAgICAgICAgICAgIHwg
ICA3ICstCiAuLi4vMmQuY2xlYXJSZWN0Lnplcm8ud29ya2VyLmpzICAgICAgICAgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5maWxsUmVjdC5iYXNpYy5odG1sICAgICAgICAgICAgICAgICAgICB8ICAg
NyArLQogLi4uLzJkLmZpbGxSZWN0LmJhc2ljLndvcmtlci5qcyAgICAgICAgICAgICAgIHwgICA3
ICstCiAuLi4vMmQuZmlsbFJlY3QuY2xpcC5odG1sICAgICAgICAgICAgICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5maWxsUmVjdC5jbGlwLndvcmtlci5qcyAgICAgICAgICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLmh0bWwgICAgICAgICAgICAgICAgIHwgICA3ICst
CiAuLi4vMmQuZmlsbFJlY3QubmVnYXRpdmUud29ya2VyLmpzICAgICAgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5maWxsUmVjdC5ub25maW5pdGUuaHRtbCAgICAgICAgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmZpbGxSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQuZmlsbFJlY3QucGF0aC5odG1sICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5maWxsUmVjdC5wYXRoLndvcmtlci5qcyAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLmZpbGxSZWN0LnNoYWRvdy5odG1sICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQuZmlsbFJlY3Quc2hhZG93Lndvcmtlci5qcyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5maWxsUmVjdC50cmFuc2Zvcm0uaHRtbCAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmZpbGxSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQu
ZmlsbFJlY3QuemVyby5odG1sICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5m
aWxsUmVjdC56ZXJvLndvcmtlci5qcyAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0
cm9rZVJlY3QuYmFzaWMuaHRtbCAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ry
b2tlUmVjdC5iYXNpYy53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJv
a2VSZWN0LmNsaXAuaHRtbCAgICAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9r
ZVJlY3QuY2xpcC53b3JrZXIuanMgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tl
UmVjdC5nbG9iYWxhbHBoYS5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VS
ZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJl
Y3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVj
dC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0
Lm5lZ2F0aXZlLmh0bWwgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3Qu
bmVnYXRpdmUud29ya2VyLmpzICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC5u
b25maW5pdGUuaHRtbCAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0Lm5v
bmZpbml0ZS53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3QucGF0
aC5odG1sICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC5wYXRo
Lndvcmtlci5qcyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0LnNoYWRv
dy5odG1sICAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3Quc2hhZG93
Lndvcmtlci5qcyAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC50cmFuc2Zv
cm0uaHRtbCAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0LnRyYW5zZm9y
bS53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3QuemVyby4xLmh0
bWwgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29y
a2VyLmpzICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0Lnplcm8uMi5odG1s
ICAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3QuemVyby4yLndvcmtl
ci5qcyAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRtbCAg
ICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0Lnplcm8uMy53b3JrZXIu
anMgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwgICAg
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpz
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdHJva2VSZWN0Lnplcm8uNS5odG1sICAgICAg
ICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0cm9rZVJlY3QuemVyby41Lndvcmtlci5qcyAg
ICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRtbCAgICAgICAg
ICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUuZGVmYXVsdC53b3JrZXIuanMgICAg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0
bWwgICAgIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53b3Jr
ZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLmh0bWwgICAgICAgICAg
ICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5nZXQuc29saWQud29ya2VyLmpzICAgICAg
ICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC5odG1sICAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lndvcmtlci5qcyAg
ICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLmh0bWwgICAgICAgICAg
IHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcud29ya2VyLmpzICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbCAgICAgICAgICAgICB8
ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53b3JrZXIuanMgICAgICAgIHwg
ICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLmh0bWwgfCAg
IDcgKy0KIC4uLmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcyB8ICAg
NyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi5odG1sIHwgICA3
ICstCiAuLi5pbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIuanMgfCAgIDcg
Ky0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMuaHRtbCB8ICAgNyAr
LQogLi4uaWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzIHwgICA3ICst
CiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwgfCAgIDcgKy0K
IC4uLmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcyB8ICAgNyArLQog
Li4uLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS5odG1sIHwgICA3ICstCiAu
Li5pbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMgfCAgIDcgKy0KIC4u
Li8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRtbCB8ICAgNyArLQogLi4u
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzIHwgICA3ICstCiAuLi4v
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lmh0bWwgfCAgIDcgKy0KIC4uLmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sIHwgICA3ICstCiAuLi5pbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbCB8ICAgNyArLQogLi4uaWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzIHwgICA3ICstCiAuLi4yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwgfCAgIDcgKy0KIC4uLmxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcyB8ICAgNyArLQogLi4uMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sIHwgICA3ICstCiAuLi5sbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbCB8ICAgNyArLQogLi4ubGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwgfCAgIDcgKy0KIC4uLmxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS00Lndvcmtlci5qcyB8ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sIHwgICA3ICstCiAuLi5sbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtNS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTYuaHRtbCB8ICAgNyArLQogLi4ubGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTYud29ya2VyLmpzIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwgfCAgIDcgKy0KIC4uLmxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsYS03Lndvcmtlci5qcyB8ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtOC5odG1sIHwgICA3ICstCiAuLi5sbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtOC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTkuaHRtbCB8ICAgNyArLQogLi4ubGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTkud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYi0xLmh0bWwgfCAgIDcgKy0KIC4uLmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi0xLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItMi5odG1sIHwgICA3ICstCiAuLi5pbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItMi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiLTMuaHRtbCB8ICAgNyArLQogLi4uaWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTMud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi00Lmh0bWwgfCAgIDcgKy0KIC4uLmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00
Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItNS5odG1sIHwgICA3ICstCiAuLi5pbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNS53
b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTYuaHRtbCB8ICAgNyArLQogLi4uaWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYud29y
a2VyLmpzIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0x
Lmh0bWwgfCAgIDcgKy0KIC4uLmxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtl
ci5qcyB8ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5o
dG1sIHwgICA3ICstCiAuLi5sbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIu
anMgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMuaHRt
bCB8ICAgNyArLQogLi4ubGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpz
IHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lmh0bWwg
fCAgIDcgKy0KIC4uLmxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcyB8
ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1sIHwg
ICA3ICstCiAuLi5sbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRtbCB8ICAg
NyArLQogLi4ubGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYud29ya2VyLmpzIHwgICA3
ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbCAgICAgICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaGV4My53b3JrZXIuanMgICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwgICAgICAgICAgICAgIHwgICA3ICst
CiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni5odG1sICAgICAgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcyAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQuZmlsbFN0eWxlLnBhcnNlLmhleDguaHRtbCAgICAgICAgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS5odG1sICAgICAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcyAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbCAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtMi53b3JrZXIuanMgICAgICAgIHwgICA3ICstCiAuLi4vMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC0zLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTMud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtNC5odG1sICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC00Lndvcmtlci5qcyAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLTUuaHRtbCAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtNS53b3JrZXIuanMgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC02Lmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5
bGUucGFyc2UuaHNsLTYud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC1jbGFtcC0xLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLWNsYW1wLTIuaHRtbCAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtMi53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC0zLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLWNsYW1wLTMud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtNC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC1jbGFtcC00Lndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS0xLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLTEud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtMi5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaHNs
YS0yLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LWNsYW1wLTEuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Y2xhbXAtMS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1j
bGFtcC0yLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTIud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtMy5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFt
cC0zLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1w
LTQuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
NC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01
Lmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUu
d29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi5o
dG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC02Lndv
cmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC5odG1sICAgICAg
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndvcmtlci5qcyAg
ICAgICAgfCAgIDcgKy0KIC4uLlN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEu
aHRtbCB8ICAgNyArLQogLi4uLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEud29ya2Vy
LmpzIHwgICA3ICstCiAuLi5TdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0
bWwgfCAgIDcgKy0KIC4uLi5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5q
cyB8ICAgNyArLQogLi4uU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1s
IHwgICA3ICstCiAuLi4ucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMg
fCAgIDcgKy0KIC4uLlN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbCB8
ICAgNyArLQogLi4uLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzIHwg
ICA3ICstCiAuLi5TdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwgfCAg
IDcgKy0KIC4uLi5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcyB8ICAg
NyArLQogLi4udHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS5odG1sIHwgICA3
ICstCiAuLi5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMgfCAgIDcg
Ky0KIC4uLnR5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbCB8ICAgNyAr
LQogLi4ucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIud29ya2VyLmpzIHwgICA3ICst
CiAuLi50eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLmh0bWwgfCAgIDcgKy0K
IC4uLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcyB8ICAgNyArLQog
Li4uU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS5odG1sIHwgICA3ICstCiAu
Li4ucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMgfCAgIDcgKy0KIC4u
LlN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbCB8ICAgNyArLQogLi4u
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzIHwgICA3ICstCiAuLi5T
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLmh0bWwgfCAgIDcgKy0KIC4uLi5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcyB8ICAgNyArLQogLi4uU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIHwgICA3ICstCiAuLi4ucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLlN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbCB8ICAgNyArLQogLi4uLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzIHwgICA3ICstCiAuLi50eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwgfCAgIDcgKy0KIC4uLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcyB8ICAgNyArLQogLi4udHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi5odG1sIHwgICA3ICstCiAuLi5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLnR5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbCB8ICAgNyArLQogLi4ucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4MS5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDIuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaGV4Mi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXgzLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDMud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4NC5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXg0Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDUuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4NS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oZXg2Lmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDYud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4Ny5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg3Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDguaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4OC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
c2wtMS5odG1sICAgICB8ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
LTEud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
LTIuaHRtbCAgICAgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0y
Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0z
Lmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53
b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5o
dG1sICAgICB8ICAgNyArLQogLi4uMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29y
a2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTUuaHRt
bCAgICAgfCAgIDcgKy0KIC4uLjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtl
ci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lmh0bWwg
ICAgIHwgICA3ICstCiAuLi4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi53b3JrZXIu
anMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEuaHRtbCAg
ICB8ICAgNyArLQogLi4uZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEud29ya2VyLmpz
IHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLmh0bWwgICAg
fCAgIDcgKy0KIC4uLmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5qcyB8
ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy5odG1sICAgIHwg
ICA3ICstCiAuLi5kLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEuaHRtbCAgICB8ICAg
NyArLQogLi4uZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEud29ya2VyLmpzIHwgICA3
ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwgICAgfCAgIDcg
Ky0KIC4uLmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcyB8ICAgNyAr
LQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy5odG1sICAgIHwgICA3ICst
CiAuLi5kLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLi8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQuaHRtbCAgICB8ICAgNyArLQog
Li4uZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQud29ya2VyLmpzIHwgICA3ICstCiAu
Li4vMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lmh0bWwgICAgfCAgIDcgKy0KIC4u
LmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcyB8ICAgNyArLQogLi4u
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xLmh0bWwgICAgIHwgICA3ICstCiAuLi4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sICAgICB8ICAgNyArLQogLi4uMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbCAgICAgfCAgIDcgKy0KIC4uLjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS5odG1sICAgIHwgICA3ICstCiAuLi5kLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIuaHRtbCAgICB8ICAgNyArLQogLi4uZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLmh0bWwgICAgfCAgIDcgKy0KIC4uLmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiYS0zLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC5odG1sICAgIHwgICA3ICstCiAuLi5kLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbCAgICB8ICAgNyArLQogLi4uZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0xLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTEud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtMi5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1jbGFtcC0yLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWNsYW1wLTMuaHRtbCAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtMy53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1jbGFtcC00Lmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWNsYW1wLTQud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtNS5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC01Lndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiLWVv
Zi5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9m
Lndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0u
aHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS53
b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2Vu
dC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50
Lndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0x
Lmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEu
d29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5o
dG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLndv
cmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi5odG1sICAg
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLndvcmtlci5q
cyAgICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5odG1sICAg
ICAgICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLndvcmtlci5q
cyAgIHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbCAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi53b3JrZXIuanMg
ICB8ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQuaHRtbCAgICAg
IHwgICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC53b3JrZXIuanMg
fCAgIDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwgICAgICB8
ICAgNyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEud29ya2VyLmpzIHwg
ICA3ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLndvcmtlci5qcyB8ICAg
NyArLQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMuaHRtbCAgICAgIHwgICA3
ICstCiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMgfCAgIDcg
Ky0KIC4uLi8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lmh0bWwgICAgICB8ICAgNyAr
LQogLi4uLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQud29ya2VyLmpzIHwgICA3ICst
CiAuLi4vMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEud29ya2VyLmpzICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi5odG1sICAgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcyAgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4v
MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRtbCAgICAgfCAgIDcgKy0KIC4uLjJk
LmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJk
LmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5m
aWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5n
cmFkaWVudC5lbXB0eS5odG1sICAgICAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdy
YWRpZW50LmVtcHR5Lndvcmtlci5qcyAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEuaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5hbHBoYS53b3JrZXIuanMgICB8ICAgNyArLQogLi4uLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sICB8ICAgNyArLQogLi4uZ3JhZGllbnQuaW50
ZXJwb2xhdGUuY29sb3VyYWxwaGEud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbCAgICAgfCAgIDcgKy0KIC4uLjJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLm11bHRpcGxlLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLm91dHNpZGUuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUub3V0c2lkZS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5vdmVybGFwLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLm92ZXJsYXAud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUub3ZlcmxhcDIuaHRtbCAgICAgfCAgIDcgKy0KIC4uLjJkLmdyYWRpZW50LmludGVycG9s
YXRlLm92ZXJsYXAyLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnNvbGlkLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuc29saWQud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS52ZXJ0aWNhbC5odG1sICAgICB8ICAgNyArLQogLi4uMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
dmVydGljYWwud29ya2VyLmpzIHwgICA3ICstCiAuLi4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56
ZXJvc2l6ZS5maWxsLmh0bWwgfCAgIDcgKy0KIC4uLmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5maWxsLndvcmtlci5qcyB8ICAgNyArLQogLi4ucmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5maWxsUmVjdC5odG1sIHwgICA3ICstCiAuLi5udC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxs
UmVjdC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5zdHJva2UuaHRtbCB8ICAgNyArLQogLi4uaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2Uud29ya2VyLmpzIHwgICA3ICstCiAuLi5kaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2VSZWN0Lmh0bWwgfCAgIDcgKy0KIC4uLi5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0
Lndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUuaHRt
bCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS53b3Jr
ZXIuanMgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEuaHRt
bCAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3Jr
ZXIuanMgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwg
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIud29ya2Vy
LmpzICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sICAg
ICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLndvcmtlci5q
cyAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sICAgICAgICAg
ICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLndvcmtlci5qcyAgICAg
IHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwgICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMud29ya2VyLmpzICB8
ICAgNyArLQogLi4uLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwgICAgIHwg
ICA3ICstCiAuLi4yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLi8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC5odG1sICAgICB8ICAg
NyArLQogLi4uMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQud29ya2VyLmpzIHwgICA3
ICstCiAuLi4vMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS5odG1sICAgICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLndvcmtlci5qcyAgICAgICB8ICAgNyAr
LQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC5odG1sICAgICAgIHwgICA3ICst
CiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLndvcmtlci5qcyAgfCAgIDcgKy0K
IC4uLi8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbCAgICAgICB8ICAgNyArLQog
Li4uLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53b3JrZXIuanMgIHwgICA3ICstCiAu
Li4vMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLmh0bWwgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20ud29ya2VyLmpzICB8ICAgNyArLQogLi4u
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLmh0bWwgICAgIHwgICA3ICstCiAuLi4y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMi5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS50b3AuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGll
bnQucmFkaWFsLmVxdWFsLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVu
dC5yYWRpYWwuZXF1YWwud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50
LnJhZGlhbC5pbnNpZGUxLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQu
cmFkaWFsLmluc2lkZTEud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5y
YWRpYWwuaW5zaWRlMi5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJh
ZGlhbC5pbnNpZGUyLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFk
aWFsLmluc2lkZTMuaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRp
YWwuaW5zaWRlMy53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlh
bC5uZWdhdGl2ZS5odG1sICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFs
Lm5lZ2F0aXZlLndvcmtlci5qcyAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwu
bm9uZmluaXRlLmh0bWwgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC5u
b25maW5pdGUud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxLmh0bWwgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTEud29ya2VyLmpzICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMi5odG1sICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUyLndvcmtlci5qcyAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lk
ZTMuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRl
My53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5o
dG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLndv
cmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRt
bCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi53b3Jr
ZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLmh0bWwg
ICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2Vy
LmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLmh0
bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEud29y
a2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi5odG1s
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndvcmtl
ci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMuaHRtbCAg
ICAgICB8ICAgNyArLQogLi4uLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIu
anMgIHwgICA3ICstCiAuLi4vMmQucGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbCAgICAgICAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIuanMgICAgICAg
ICB8ICAgNyArLQogLi4uLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2UuaHRtbCAgICAgICAgICAgICAg
IHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5iYXNpYy5pbWFnZS53b3JrZXIuanMgICAgICAgICAg
fCAgMjYgKy0KIC4uLi8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sICAgICAgICAgICB8
ICAgNyArLQogLi4uLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcyAgICAgIHwg
ICA3ICstCiAuLi4vMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLmh0bWwgICAgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMud29ya2VyLmpzICAgICB8ICAg
NyArLQogLi4uLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRtbCAgICAgICAgICAgICAgIHwgIDI2
ICstCiAuLi4vMmQucGF0dGVybi5jcm9zc2NhbnZhcy53b3JrZXIuanMgICAgICAgICAgfCAgMjYg
Ky0KIC4uLi8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbCAgICAgICAgICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMgICAgICAgICAgIHwgICA3ICst
CiAuLi4vMmQucGF0dGVybi5pbWFnZS5zdHJpbmcuaHRtbCAgICAgICAgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4v
MmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJk
LnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMuaHRtbCAgICAgIHwgIDI2ICstCiAuLi4vMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMgfCAgMjYgKy0KIC4uLi8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS5odG1sICAgICB8ICAyOCArLQogLi4uMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2VyLmpzIHwgIDI4ICstCiAuLi4vMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbCAgICAgfCAgMzYgKy0KIC4uLjJkLnBhdHRl
cm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLndvcmtlci5qcyB8ICAzNiArLQogLi4uLzJkLnBhdHRl
cm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwgICAgIHwgIDMyICstCiAuLi4yZC5wYXR0ZXJu
LnBhaW50Lm5vcmVwZWF0LmNvb3JkMy53b3JrZXIuanMgfCAgMzIgKy0KIC4uLi8yZC5wYXR0ZXJu
LnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbCAgICB8ICAzNiArLQogLi4uZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0Lm91dHNpZGUud29ya2VyLmpzIHwgIDM2ICstCiAuLi4vMmQucGF0dGVybi5w
YWludC5vcmllbnRhdGlvbi5jYW52YXMuaHRtbCAgfCAgIDcgKy0KIC4uLnBhdHRlcm4ucGFpbnQu
b3JpZW50YXRpb24uY2FudmFzLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnBhdHRlcm4ucGFp
bnQub3JpZW50YXRpb24uaW1hZ2UuaHRtbCAgIHwgIDM2ICstCiAuLi4ucGF0dGVybi5wYWludC5v
cmllbnRhdGlvbi5pbWFnZS53b3JrZXIuanMgfCAgMzYgKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdC5iYXNpYy5odG1sICAgICAgICB8ICAyNiArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmJhc2ljLndvcmtlci5qcyAgIHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5y
ZXBlYXQuY29vcmQxLmh0bWwgICAgICAgfCAgMjggKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdC5jb29yZDEud29ya2VyLmpzICB8ICAyOCArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMi5odG1sICAgICAgIHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQyLndvcmtlci5qcyAgfCAgMjYgKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5jb29yZDMuaHRtbCAgICAgICB8ICAzMCArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
LmNvb3JkMy53b3JrZXIuanMgIHwgIDMwICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBlYXQu
b3V0c2lkZS5odG1sICAgICAgfCAgMjggKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5v
dXRzaWRlLndvcmtlci5qcyB8ICAyOCArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5i
YXNpYy5odG1sICAgICAgIHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJh
c2ljLndvcmtlci5qcyAgfCAgMjYgKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29v
cmQxLmh0bWwgICAgICB8ICAzNiArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29y
ZDEud29ya2VyLmpzIHwgIDM2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNp
ZGUuaHRtbCAgICAgfCAgMzAgKy0KIC4uLjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRl
Lndvcmtlci5qcyB8ICAzMCArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYy5o
dG1sICAgICAgIHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLndv
cmtlci5qcyAgfCAgMjYgKy0KIC4uLi8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0
bWwgICAgICB8ICAzNiArLQogLi4uLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEud29y
a2VyLmpzIHwgIDM2ICstCiAuLi4vMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRt
bCAgICAgfCAgMzAgKy0KIC4uLjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtl
ci5qcyB8ICAzMCArLQogLi4uLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2UuaHRtbCAgICAgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vMmQucGF0dGVybi5yZXBlYXQuY2FzZS53b3JrZXIuanMgICAgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS5odG1sICAgICAgICAgICAg
ICB8ICAyNiArLQogLi4uLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtlci5qcyAgICAgICAg
IHwgIDI2ICstCiAuLi4vMmQucGF0dGVybi5yZXBlYXQubnVsbC5odG1sICAgICAgICAgICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5qcyAgICAgICAgICB8
ICAgNyArLQogLi4uLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXguaHRtbCAgICAgICAgIHwg
ICA3ICstCiAuLi4vMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3JrZXIuanMgICAgfCAg
IDcgKy0KIC4uLi8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQuaHRtbCAgICAgICAgICB8ICAg
NyArLQogLi4uLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIuanMgICAgIHwgICA3
ICstCiAuLi4vMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQud29ya2VyLmpzICB8ICAgNyAr
LQogLi4uLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwuaHRtbCAgIHwgICA3ICst
CiAuLi4ucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLi8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwgICAgICAgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzICAgICAgICAgIHwgICA3ICstCiAu
Li4vbGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC5odG1sICAgICAgICAgfCAgIDcgKy0KIC4u
Li9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcyAgICB8ICAgNyArLQogLi4u
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC5odG1sICAgICAgIHwgICA3ICstCiAuLi4v
bGluZS1zdHlsZXMvMmQubGluZS5jYXAuY2xvc2VkLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5pbnZhbGlkLmh0bWwgICAgICB8ICAgNyArLQogLi4uL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzIHwgICA3ICstCiAuLi4vbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi5odG1sICAgICAgICAgfCAgIDcgKy0KIC4uLi9saW5l
LXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLndvcmtlci5qcyAgICB8ICAgNyArLQogLi4uL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1z
dHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUuaHRtbCAgICAgICB8ICAgNyArLQogLi4uL2xpbmUtc3R5
bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vbGluZS1zdHls
ZXMvMmQubGluZS5jYXAudmFsaWQuaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMgICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY3Jvc3MuaHRtbCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMv
MmQubGluZS5jcm9zcy53b3JrZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8y
ZC5saW5lLmRlZmF1bHRzLmh0bWwgICAgICAgICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJk
LmxpbmUuZGVmYXVsdHMud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQu
bGluZS5qb2luLmJldmVsLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5s
aW5lLmpvaW4uYmV2ZWwud29ya2VyLmpzICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxp
bmUuam9pbi5jbG9zZWQuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGlu
ZS5qb2luLmNsb3NlZC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4uaW52YWxpZC5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLmxpbmUuam9pbi5pbnZhbGlk
Lndvcmtlci5qcyAgICAgICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLm1pdGVyLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLmpv
aW4ubWl0ZXIud29ya2VyLmpzICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9p
bi5vcGVuLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
Lm9wZW4ud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
cGFyYWxsZWwuaHRtbCAgICB8ICAgNyArLQogLi4uLzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3Jr
ZXIuanMgICAgICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJv
dW5kLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91
bmQud29ya2VyLmpzICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxp
ZC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlk
Lndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRl
Lmh0bWwgICAgICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUu
d29ya2VyLmpzIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5leGNlZWRl
ZC5odG1sICAgfCAgIDcgKy0KIC4uLi8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcyAg
ICAgICAgICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC5o
dG1sICAgIHwgICA3ICstCiAuLi4vMmQubGluZS5taXRlci5pbnZhbGlkLndvcmtlci5qcyAgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLmh0
bWwgICB8ICAgNyArLQogLi4uLzJkLmxpbmUubWl0ZXIubGluZWVkZ2Uud29ya2VyLmpzICAgICAg
ICAgIHwgICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2UuaHRtbCAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5saW5lLm1pdGVyLm9idHVzZS53b3JrZXIuanMgICAgICAgICAg
ICB8ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5odG1s
IHwgICA3ICstCiAuLi4vMmQubGluZS5taXRlci5yaWdodGFuZ2xlLndvcmtlci5qcyAgICAgICAg
fCAgIDcgKy0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnZhbGlkLmh0bWwgICAgICB8
ICAgNyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzIHwg
ICA3ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4uaHRtbCAgICAgfCAg
IDcgKy0KIC4uLi8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMgICAgICAgICAgICB8ICAg
NyArLQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24uaHRtbCAgICAgICAgICAgIHwgICA3
ICstCiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMgICAgICAgfCAgIDcg
Ky0KIC4uLi9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2ljLmh0bWwgICAgICB8ICAgNyAr
LQogLi4uL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzIHwgICA3ICst
CiAuLi4vbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwgICAgfCAgIDcgKy0K
IC4uLi8yZC5saW5lLndpZHRoLmludmFsaWQud29ya2VyLmpzICAgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lmh0bWwgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4v
bGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC5odG1sICAgICAgfCAgIDcgKy0KIC4uLi9s
aW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5qcyB8ICAgNyArLQogLi4uL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQu
cGF0aC5hcmMuYW5nbGUuMS53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBh
dGguYXJjLmFuZ2xlLjIud29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMuaHRtbCAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRo
LmFyYy5hbmdsZS4zLndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS40Lmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5h
cmMuYW5nbGUuNC53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuYW5nbGUuNS5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJj
LmFuZ2xlLjUud29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLmFuZ2xlLjYuaHRtbCAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyYy5h
bmdsZS42Lndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5kZWZhdWx0Lmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMuZGVm
YXVsdC53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuZW1wdHkuaHRtbCAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5lbXB0eS53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmVuZC5odG1sICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuZW5kLndvcmtlci5qcyAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5uZWdhdGl2ZS5odG1sICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMubmVnYXRpdmUu
d29ya2VyLmpzICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMubm9uZW1wdHkuaHRtbCAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndv
cmtlci5qcyAgICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
Lm5vbmZpbml0ZS5odG1sICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyYy5ub25maW5pdGUud29y
a2VyLmpzICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5z
Y2FsZS4xLmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMuc2NhbGUuMS53b3JrZXIu
anMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Nh
bGUuMi5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpz
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLmh0
bWwgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29y
a2VyLmpzICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1s
ICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLndvcmtl
ci5qcyAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5o
dG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjLnNoYXBlLjEud29ya2VyLmpzICAgICAg
ICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRt
bCAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcyAgICAgICAg
ICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4zLmh0bWwg
ICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIuanMgICAgICAgICAg
ICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC5odG1sICAg
ICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzICAgICAgICAgICAg
IHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUuaHRtbCAgICAg
fCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyYy5zaGFwZS41Lndvcmtlci5qcyAgICAgICAgICAgICB8
ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sICAgIHwg
ICA3ICstCiAuLi4vMmQucGF0aC5hcmMudHdvcGllLjEud29ya2VyLmpzICAgICAgICAgICAgfCAg
IDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIuaHRtbCAgICB8ICAg
NyArLQogLi4uLzJkLnBhdGguYXJjLnR3b3BpZS4yLndvcmtlci5qcyAgICAgICAgICAgIHwgICA3
ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLmh0bWwgICAgfCAgIDcg
Ky0KIC4uLi8yZC5wYXRoLmFyYy50d29waWUuMy53b3JrZXIuanMgICAgICAgICAgICB8ICAgNyAr
LQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC5odG1sICAgIHwgICA3ICst
CiAuLi4vMmQucGF0aC5hcmMudHdvcGllLjQud29ya2VyLmpzICAgICAgICAgICAgfCAgIDcgKy0K
IC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLmh0bWwgICAgICB8ICAgNyArLQog
Li4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEud29ya2VyLmpzIHwgICA3ICstCiAu
Li4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi5odG1sICAgICAgfCAgIDcgKy0KIC4u
Li9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLndvcmtlci5qcyB8ICAgNyArLQogLi4u
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLmh0bWwgIHwgICA3ICstCiAuLi4v
MmQucGF0aC5hcmMuemVyb3JhZGl1cy53b3JrZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEuaHRtbCAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJk
LnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMgICAgICAgIHwgICA3ICstCiAuLi4vMmQu
cGF0aC5hcmNUby5jb2luY2lkZS4yLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5w
YXRoLmFyY1RvLmNvaW5jaWRlLjIud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBh
dGguYXJjVG8uY29sbGluZWFyLjEuaHRtbCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0
aC5hcmNUby5jb2xsaW5lYXIuMS53b3JrZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRo
LmFyY1RvLmNvbGxpbmVhci4yLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgu
YXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5h
cmNUby5jb2xsaW5lYXIuMy5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFy
Y1RvLmNvbGxpbmVhci4zLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJj
VG8uZW5zdXJlc3VicGF0aC4xLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyY1Rv
LmVuc3VyZXN1YnBhdGguMi5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8u
ZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8ubmVnYXRpdmUuaHRtbCAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyY1RvLm5l
Z2F0aXZlLndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLm5vbmZpbml0ZS5odG1sIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNUby5ub25m
aW5pdGUud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5zY2FsZS5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8uc2NhbGUu
d29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNUby5zaGFwZS5j
dXJ2ZTEuaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1
cnZlMS53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8uc2hhcGUuY3Vy
dmUyLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2
ZTIud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5zaGFwZS5lbmQuaHRtbCB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndv
cmtlci5qcyAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC5o
dG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0Lndv
cmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24u
aHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53
b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJv
LjEuaHRtbCAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYXJjVG8uemVyby4xLndvcmtlci5qcyAg
ICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4y
Lmh0bWwgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMgICAg
ICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC5odG1s
ICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLndvcmtl
ci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbCAgICAg
ICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYy53b3JrZXIuanMg
ICAgIHwgICA3ICstCiAuLi4yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0
bWwgfCAgIDcgKy0KIC4uLnRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5q
cyB8ICAgNyArLQogLi4uMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi5odG1s
IHwgICA3ICstCiAuLi50aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMg
fCAgIDcgKy0KIC4uLi8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwgICAgICB8
ICAgNyArLQogLi4uLzJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25maW5pdGUud29ya2VyLmpzIHwg
ICA3ICstCiAuLi4vMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sICAgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcyAgICB8ICAg
NyArLQogLi4uLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS5odG1sICAgICAgICAgIHwgICA3
ICstCiAuLi4vMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlLndvcmtlci5qcyAgICAgfCAgIDcg
Ky0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEuaHRtbCAgICB8ICAgNyAr
LQogLi4uLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcyAgICAgICAgICAgIHwgICA3ICst
CiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwgICAgfCAgIDcgKy0K
IC4uLi8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMgICAgICAgICAgICB8ICAgNyArLQog
Li4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkuaHRtbCAgICAgIHwgICA3ICstCiAu
Li4vcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMgfCAgIDcgKy0KIC4u
Li9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC5odG1sICB8ICAgNyArLQogLi4u
LzJkLnBhdGguY2xpcC5pbnRlcnNlY3Qud29ya2VyLmpzICAgICAgICAgIHwgICA3ICstCiAuLi4v
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLmh0bWwgfCAgIDcgKy0KIC4uLi8y
ZC5wYXRoLmNsaXAudW5hZmZlY3RlZC53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4uL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwgIHwgICA3ICstCiAuLi4vMmQu
cGF0aC5jbGlwLndpbmRpbmcuMS53b3JrZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRo
LW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi5odG1sICB8ICAgNyArLQogLi4uLzJkLnBh
dGguY2xpcC53aW5kaW5nLjIud29ya2VyLmpzICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lmh0bWwgfCAgIDcgKy0KIC4uLi8yZC5wYXRo
LmNsb3NlUGF0aC5lbXB0eS53b3JrZXIuanMgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgu
Y2xvc2VQYXRoLm5ld2xpbmUuaHRtbCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5j
bG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmNs
b3NlUGF0aC5uZXh0cG9pbnQuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguY2xv
c2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5maWxs
LmNsb3NlZC5iYXNpYy5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmZpbGwu
Y2xvc2VkLmJhc2ljLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguZmlsbC5j
bG9zZWQudW5hZmZlY3RlZC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5maWxsLmNs
b3NlZC51bmFmZmVjdGVkLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQu
cGF0aC5maWxsLm92ZXJsYXAuaHRtbCAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguZmlsbC5vdmVy
bGFwLndvcmtlci5qcyAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5maWxsLndpbmRp
bmcuYWRkLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmZpbGwud2luZGlu
Zy5hZGQud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguZmlsbC53aW5kaW5n
LnN1YnRyYWN0LjEuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5maWxsLndpbmRpbmcu
c3VidHJhY3QuMS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmZpbGwud2luZGluZy5z
dWJ0cmFjdC4yLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1
YnRyYWN0LjIud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQucGF0aC5maWxsLndpbmRpbmcuc3Vi
dHJhY3QuMy5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0
cmFjdC4zLndvcmtlci5qcyB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRp
YWwuaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlh
bC53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0
bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5hcmMud29y
a2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEu
aHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53
b3JrZXIuanMgICB8ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yLmh0
bWwgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIud29y
a2VyLmpzICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5iZXppZXIud29ya2Vy
LmpzICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy5odG1sICAg
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5q
cyAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLmh0bWwgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uud29ya2VyLmpzICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkuaHRtbCAgICAgICAg
ICB8ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMgICAg
IHwgICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLndvcmtlci5qcyB8
ICAgNyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwgICAgICAgIHwg
ICA3ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUud29ya2VyLmpzICAgfCAg
IDcgKy0KIC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0aC5odG1sICAgICAgICB8ICAg
NyArLQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRoLndvcmtlci5qcyAgIHwgICA3
ICstCiAuLi4vMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwgICAgfCAgIDcg
Ky0KIC4uLmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcyB8ICAgNyAr
LQogLi4uLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMi5odG1sICAgIHwgICA3ICst
CiAuLi5kLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMi53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLi8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbCAgICB8ICAgNyArLQog
Li4uZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzIHwgICA3ICstCiAu
Li4vMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwgICAgfCAgIDcgKy0KIC4u
LmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lndvcmtlci5qcyB8ICAgNyArLQogLi4u
LzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC5odG1sICAgICAgIHwgICA3ICstCiAuLi4v
MmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJk
LnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5nLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vcGF0
aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLmh0bWwgICAgfCAgIDcgKy0KIC4uLi8yZC5w
YXRoLmxpbmVUby5iYXNpYy53b3JrZXIuanMgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBh
dGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0
aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5wYXRo
LmxpbmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbCAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgu
bGluZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vMmQucGF0aC5s
aW5lVG8ubmV4dHBvaW50Lmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmxp
bmVUby5uZXh0cG9pbnQud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgubGlu
ZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5wYXRoLmxpbmVU
by5ub25maW5pdGUuZGV0YWlscy53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLmxpbmVU
by5ub25maW5pdGUuaHRtbCAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgubGluZVRv
Lm5vbmZpbml0ZS53b3JrZXIuanMgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJk
LnBhdGgubW92ZVRvLmJhc2ljLmh0bWwgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLm1vdmVUby5i
YXNpYy53b3JrZXIuanMgICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5tdWx0aXBsZS5odG1sIHwgICA3ICstCiAuLi4vMmQucGF0aC5tb3ZlVG8ubXVs
dGlwbGUud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLm1vdmVUby5uZXdz
dWJwYXRoLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgubW92ZVRvLm5ld3N1
YnBhdGgud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5tb3ZlVG8ubm9uZmlu
aXRlLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLm1vdmVUby5ub25maW5p
dGUud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5iYXNpYy5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LmJhc2ljLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1
cmVzdWJwYXRoLjEuaHRtbCB8ICAgNyArLQogLi4ucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJw
YXRoLjEud29ya2VyLmpzIHwgICA3ICstCiAuLi5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJl
c3VicGF0aC4yLmh0bWwgfCAgIDcgKy0KIC4uLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0
aC4yLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25m
aW5pdGUuaHRtbCAgIHwgICA3ICstCiAuLi4ucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0
ZS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVk
Lmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQu
d29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0
bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUud29y
a2VyLmpzICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRt
bCAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy53b3Jr
ZXIuanMgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC5odG1s
ICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzICAgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sICAg
ICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLndvcmtlci5q
cyB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIuaHRtbCAgICAg
IHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi53b3JrZXIuanMg
fCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0bWwgICB8
ICAgNyArLQogLi4uLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS53b3JrZXIuanMgICAgICAgICAgIHwg
ICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwgfCAg
IDcgKy0KIC4uLi8yZC5wYXRoLnJlY3QubmV3c3VicGF0aC53b3JrZXIuanMgICAgICAgICB8ICAg
NyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRlLmh0bWwgIHwgICA3
ICstCiAuLi4vMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC5odG1sICAgICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lndvcmtlci5qcyAgICAgIHwgICA3ICst
CiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5kaW5nLmh0bWwgICAgfCAgIDcgKy0K
IC4uLi8yZC5wYXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMgICAgICAgICAgICB8ICAgNyArLQog
Li4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwgICAgIHwgICA3ICstCiAu
Li4vMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4u
Li9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi5odG1sICAgICB8ICAgNyArLQogLi4u
LzJkLnBhdGgucmVjdC56ZXJvLjIud29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4v
cGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMuaHRtbCAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5wYXRoLnJlY3QuemVyby4zLndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQu
cGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBh
dGgucmVjdC56ZXJvLjUud29ya2VyLmpzICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYuaHRtbCAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRo
LnJlY3QuemVyby42Lndvcmtlci5qcyAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5z
dHJva2UuZW1wdHkud29ya2VyLmpzICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ry
b2tlLm92ZXJsYXAud29ya2VyLmpzICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJv
a2UucHJ1bmUuYXJjLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5hcmMud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ryb2tl
LnBydW5lLmNsb3NlZC5odG1sICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2Uu
cHJ1bmUuY2xvc2VkLndvcmtlci5qcyAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5jb3JuZXIuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNvcm5lci53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2UucHJ1
bmUuY3VydmUuaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5jdXJ2ZS53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmxpbmUuaHRtbCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2UucHJ1bmUu
bGluZS53b3JrZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9rZS5wcnVuZS5y
ZWN0Lmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJl
Y3Qud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnNjYWxlMS5odG1sICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29y
a2VyLmpzICAgICAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTIuaHRtbCAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2Uuc2NhbGUyLndvcmtl
ci5qcyAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
c2tldy5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGguc3Ryb2tlLnNrZXcud29ya2VyLmpz
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1s
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtl
ci5qcyAgICAgICB8ICAgNyArLQogLi4uL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlv
bi5odG1sICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC5zdHJva2UudW5pb24ud29ya2VyLmpzICAg
ICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29ya2Vy
LmpzICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1s
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtl
ci5qcyB8ICAgNyArLQogLi4uLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbCAg
ICAgIHwgICA3ICstCiAuLi4vMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIu
anMgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sICAgICAgICAg
ICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljLndvcmtlci5qcyAgICAg
IHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC5odG1sICAgICAgICAg
fCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcyAgICB8
ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8uaHRtbCAgICAgICAgICAgIHwg
ICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sICAgICAgICAgICB8ICAg
NyArLQogLi4uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5qcyAgICAgIHwgICA3
ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC5odG1sICAgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLndvcmtlci5qcyAgICB8ICAgNyAr
LQogLi4uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLmh0bWwgICAgICAgICAgIHwgICA3ICst
CiAuLi4vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS5odG1sICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcyAgIHwgICA3ICstCiAu
Li4vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLmh0bWwgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29ya2VyLmpzICB8ICAgNyArLQogLi4u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvLmh0bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmltYWdlRGF0YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vMmQu
aW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5p
bWFnZURhdGEuZ2V0LmJhc2ljLndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmlt
YWdlRGF0YS5nZXQuY2xhbXAuaHRtbCAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1h
Z2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFn
ZURhdGEuZ2V0Lmxlbmd0aC5odG1sICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdl
RGF0YS5nZXQubGVuZ3RoLndvcmtlci5qcyAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VE
YXRhLmdldC5ub25maW5pdGUuaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURh
dGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0
YS5nZXQubm9ucHJlbXVsLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRh
LmdldC5ub25wcmVtdWwud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmFscGhhLmh0bWwgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuYWxwaGEud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdl
dC5vcmRlci5jb2xzLmh0bWwgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLmNvbHMud29ya2VyLmpzICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQu
b3JkZXIucmdiLmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdldC5v
cmRlci5yZ2Iud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0Lm9y
ZGVyLnJvd3MuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIucm93cy53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdldC5yYW5n
ZS5odG1sICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdl
Lndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQuc291cmNl
Lm5lZ2F0aXZlLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5u
ZWdhdGl2ZS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5v
dXRzaWRlLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91
dHNpZGUud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6
ZS5odG1sICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXpl
Lndvcmtlci5qcyAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQudGlueS5odG1sICAg
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdldC50aW55Lndvcmtlci5q
cyAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQuaHRt
bCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC53b3Jr
ZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLmh0bWwgICAgICAg
ICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8ud29ya2VyLmpzICAg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAuaHRtbCAgICAg
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53b3JrZXIuanMg
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sICAgICAgICAg
ICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLndvcmtlci5qcyAgICAg
ICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLmh0bWwgICAg
ICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMud29ya2VyLmpz
ICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkuaHRtbCAgICAgICAg
IHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS53b3JrZXIuanMgICAg
fCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwgICAgICAgICAgICB8
ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzICAgICAgIHwg
ICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQuaHRtbCAgICAgICAgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC53b3JrZXIuanMgICAgICAgICB8ICAg
NyArLQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwgICAgICAgICAgIHwgICA3
ICstCiAuLi4vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5pbWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sICAgICAgICB8ICAgNyAr
LQogLi4uLzJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLndvcmtlci5qcyAgIHwgICA3ICst
CiAuLi4vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS5odG1sICAgICAgICAgICAgICAgfCAgIDcgKy0K
IC4uLi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQog
Li4uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbCAgICAgICAgICAgICAgIHwgICA3ICstCiAu
Li4vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4u
Li8yZC5pbWFnZURhdGEucHV0LmNsaXAuaHRtbCAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMgICAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uLzJk
LmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbCAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQu
aW1hZ2VEYXRhLnB1dC5jcm9zcy53b3JrZXIuanMgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5p
bWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLmlt
YWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuaW1h
Z2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFn
ZURhdGEucHV0LmRpcnR5Lm91dHNpZGUud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmltYWdl
RGF0YS5wdXQuZGlydHkucmVjdDEuaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VE
YXRhLnB1dC5kaXJ0eS5yZWN0MS53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURh
dGEucHV0LmRpcnR5LnJlY3QyLmh0bWwgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0
YS5wdXQuZGlydHkucmVjdDIud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRh
LnB1dC5kaXJ0eS56ZXJvLmh0bWwgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEu
cHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5w
dXQubW9kaWZpZWQuaHRtbCAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLnB1
dC5tb2RpZmllZC53b3JrZXIuanMgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEucHV0
Lm5vbmZpbml0ZS5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5wdXQu
bm9uZmluaXRlLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLnB1dC5u
dWxsLmh0bWwgICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEucHV0Lm51
bGwud29ya2VyLmpzICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5wdXQucGF0
aC5odG1sICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLnB1dC5wYXRo
Lndvcmtlci5qcyAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEucHV0LnVuYWZm
ZWN0ZWQuaHRtbCAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZl
Y3RlZC53b3JrZXIuanMgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5n
ZWQuaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdl
ZC53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBl
Lmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUu
d29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0
bWwgICAgICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEud29y
a2VyLmpzICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1s
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtl
ci5qcyAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMuaHRtbCAg
ICAgICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53b3JrZXIu
anMgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lmh0bWwgICAg
ICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQud29ya2VyLmpz
ICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS5odG1sICAgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5qcyAg
ICAgICB8ICAgNyArLQogLi4uLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5o
dG1sIHwgICA3ICstCiAuLi5vdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC53b3JrZXIu
anMgfCAgIDcgKy0KIC4uLi5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRt
bCB8ICAgNyArLQogLi4ub3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQud29ya2VyLmpz
IHwgICA3ICstCiAuLi4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwg
fCAgIDcgKy0KIC4uLmFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLndvcmtlci5qcyB8
ICAgNyArLQogLi4uc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC5odG1sIHwg
ICA3ICstCiAuLi53LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC53b3JrZXIuanMgfCAg
IDcgKy0KIC4uLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQuaHRtbCB8ICAg
NyArLQogLi4udy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29ya2VyLmpzIHwgICA3
ICstCiAuLi5kLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLmh0bWwgfCAgIDcg
Ky0KIC4uLmRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndvcmtlci5qcyB8ICAgNyAr
LQogLi4uaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sIHwgICA3ICst
CiAuLi4uYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLmhhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbCB8ICAgNyArLQog
Li4uLmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzIHwgICA3ICstCiAu
Li4uc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLmh0bWwgfCAgIDcgKy0KIC4u
Lm93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLndvcmtlci5qcyB8ICAgNyArLQogLi4u
L3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sICAgICAgIHwgICA3ICstCiAuLi4v
c2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFzaWMuaHRtbCAgICAgICB8ICAgNyArLQogLi4uL3No
YWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vMmQu
c2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5z
aGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLnNo
YWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQuc2hh
ZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9zaGFkb3dz
LzJkLnNoYWRvdy5jbGlwLjEuaHRtbCAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3Mv
MmQuc2hhZG93LmNsaXAuMS53b3JrZXIuanMgICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8y
ZC5zaGFkb3cuY2xpcC4yLmh0bWwgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJk
LnNoYWRvdy5jbGlwLjIud29ya2VyLmpzICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQu
c2hhZG93LmNsaXAuMy5odG1sICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5z
aGFkb3cuY2xpcC4zLndvcmtlci5qcyAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNo
YWRvdy5jb21wb3NpdGUuMS5odG1sICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hh
ZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFk
b3cuY29tcG9zaXRlLjIuaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRv
dy5jb21wb3NpdGUuMi53b3JrZXIuanMgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93
LmNvbXBvc2l0ZS4zLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cu
Y29tcG9zaXRlLjMud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5l
bmFibGUuYmx1ci5odG1sICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS5ibHVyLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLm9mZi4xLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5lbmFi
bGUub2ZmLjEud29ya2VyLmpzICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJs
ZS5vZmYuMi5odG1sICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxl
Lm9mZi4yLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUu
eC5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54
Lndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnku
aHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS53
b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFs
cGhhLmh0bWwgICAgIHwgICA3ICstCiAuLi4vMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLndvcmtl
ci5qcyAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNp
Yy5odG1sICAgICB8ICAgNyArLQogLi4uLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53b3JrZXIu
anMgICAgICAgIHwgICA3ICstCiAuLi4vMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEu
aHRtbCAgICAgfCAgIDcgKy0KIC4uLjJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndv
cmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0
bWwgICAgIHwgICA3ICstCiAuLi4yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi53b3Jr
ZXIuanMgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sICAg
ICAgICB8ICAxNiArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLndvcmtlci5q
cyAgIHwgIDE2ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbCAgICAg
ICAgfCAgMTYgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIuanMg
ICB8ICAxNiArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLmh0bWwgICAgICAg
IHwgIDIwICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29ya2VyLmpzICAg
fCAgMjAgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwgICAgICB8
ICAyMCArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzIHwg
IDIwICstCiAuLi4vMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbCAgICAgICAgfCAg
MTYgKy0KIC4uLi8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMgICB8ICAx
NiArLQogLi4uLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwgICAgICAgIHwgIDI0
ICstCiAuLi4vMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIud29ya2VyLmpzICAgfCAgMjQg
Ky0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwgICB8ICAgNyAr
LQogLi4uLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLndvcmtlci5qcyAgICAgIHwgICA3ICst
CiAuLi4vc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5odG1sICAgfCAgIDcgKy0K
IC4uLi8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53b3JrZXIuanMgICAgICB8ICAgNyArLQog
Li4uL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVguaHRtbCAgIHwgICA3ICstCiAu
Li4vMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgud29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4u
Li9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLmh0bWwgICB8ICAgNyArLQogLi4u
LzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4v
c2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9z
aGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uL3No
YWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEuaHRtbCAgICAgIHwgIDI2ICstCiAuLi4vc2hh
ZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS53b3JrZXIuanMgfCAgMjYgKy0KIC4uLi9zaGFk
b3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwgICAgICB8ICAyNiArLQogLi4uL3NoYWRv
d3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzIHwgIDI2ICstCiAuLi4vMmQuc2hh
ZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS5odG1sICAgICAgfCAgMjYgKy0KIC4uLi8yZC5zaGFk
b3cucGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcyB8ICAyNiArLQogLi4uLzJkLnNoYWRv
dy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbCAgICAgIHwgIDM2ICstCiAuLi4vMmQuc2hhZG93
LnBhdHRlcm4udHJhbnNwYXJlbnQuMi53b3JrZXIuanMgfCAgMzYgKy0KIC4uLi9zaGFkb3dzLzJk
LnNoYWRvdy5zdHJva2UuYmFzaWMuaHRtbCAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5iYXNpYy53b3JrZXIuanMgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5z
aGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNo
YWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5jYXAuMi5odG1sICAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFk
b3cuc3Ryb2tlLmNhcC4yLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRv
dy5zdHJva2Uuam9pbi4xLmh0bWwgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93
LnN0cm9rZS5qb2luLjEud29ya2VyLmpzIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmpvaW4uMi5odG1sICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2Uuam9pbi4yLndvcmtlci5qcyB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LnN0
cm9rZS5qb2luLjMuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmpvaW4uMy53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy50cmFu
c2Zvcm0uMS5odG1sICAgICAgICB8ICAgNyArLQogLi4uL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5z
Zm9ybS4xLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vc2hhZG93cy8yZC5zaGFkb3cudHJhbnNm
b3JtLjIuaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zv
cm0uMi53b3JrZXIuanMgICB8ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0
Lmh0bWwgICAgICAgICAgIHwgICA3ICstCiAuLi4vdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQu
d29ya2VyLmpzICAgICAgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC5o
dG1sICAgICAgICAgICB8ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLndv
cmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0bWwg
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2Vy
LmpzICAgICAgICB8ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0
bWwgICAgICAgIHwgICA3ICstCiAuLi4vdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQud29y
a2VyLmpzICAgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC5odG1s
ICAgICAgICB8ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLndvcmtl
ci5qcyAgIHwgICA3ICstCiAuLi4vdGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZhbGlkLmh0bWwgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQud29ya2VyLmpz
ICAgICB8ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci5odG1sICAg
ICAgIHwgIDE0ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLndvcmtlci5q
cyAgfCAgMTQgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLmh0bWwgICAg
ICB8ICAxNCArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIud29ya2VyLmpz
IHwgIDE0ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC5odG1sICAgICAg
fCAgMTQgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLndvcmtlci5qcyB8
ICAxNCArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbCAgICAgICAgIHwg
IDE0ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMgICAgfCAg
MTQgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC5odG1sICAgICAgICB8ICAx
NCArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcyAgIHwgIDE0
ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyLmh0bWwgICAgfCAgMTQg
Ky0KIC4uLi8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyLndvcmtlci5qcyAgICB8ICAxNCAr
LQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sICAgIHwgIDE0ICst
CiAuLi4vMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC53b3JrZXIuanMgICAgfCAgMTQgKy0K
IC4uLi8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sICAgICB8ICAxNCArLQog
Li4uMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMud29ya2VyLmpzIHwgIDE0ICstCiAu
Li4vdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLmh0bWwgICAgfCAgMTQgKy0KIC4u
Li8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcyAgICB8ICAxNCArLQogLi4u
L3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcuaHRtbCAgIHwgIDE0ICstCiAuLi4v
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29ya2VyLmpzICAgfCAgMTQgKy0KIC4uLi8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMuaHRtbCAgICB8ICAxNCArLQogLi4uZC50
ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMud29ya2VyLmpzIHwgIDE0ICstCiAuLi4vdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLmh0bWwgICAgfCAgMTQgKy0KIC4uLi8yZC50
ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcyAgICB8ICAxNCArLQogLi4uL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sICAgICAgIHwgIDE0ICstCiAuLi4vdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLndvcmtlci5qcyAgfCAgMTQgKy0KIC4uLi8yZC50ZXh0
LmRyYXcuZmlsbC5iYXNpYy1tYW51YWwud29ya2VyLmpzICB8ICAgNyArLQogLi4uL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLmh0bWwgIHwgICA3ICstCiAuLi4vMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sICAgICB8ICAxNCArLQogLi4uMmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguYm91bmQud29ya2VyLmpzIHwgIDE0ICstCiAuLi4vMmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguZm9udGZhY2UuaHRtbCAgfCAgMTQgKy0KIC4uLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmZvbnRmYWNlLndvcmtlci5qcyB8ICAxNCArLQogLi4uLmRyYXcuZmlsbC5tYXhX
aWR0aC5sYXJnZS1tYW51YWwud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGgubmVnYXRpdmUuaHRtbCAgfCAgIDcgKy0KIC4uLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLm5lZ2F0aXZlLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLnNtYWxsLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5zbWFsbC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLnplcm8uaHRtbCB8ICAgNyArLQogLi4uLzJkLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLnplcm8ud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQudGV4dC5kcmF3LmZpbGwucnRs
LW1hbnVhbC53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5maWxs
LnVuYWZmZWN0ZWQuaHRtbCAgICB8ICAgNyArLQogLi4uLzJkLnRleHQuZHJhdy5maWxsLnVuYWZm
ZWN0ZWQud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZh
Y2UuaHRtbCAgICAgICAgICAgfCAgMTQgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5ub3RpbnBhZ2UuaHRtbCB8ICAxNCArLQogLi4uLzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3Rp
bnBhZ2Uud29ya2VyLmpzIHwgIDE0ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
cmVwZWF0Lmh0bWwgICAgfCAgMTQgKy0KIC4uLi8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0
Lndvcmtlci5qcyAgICB8ICAxNCArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLndv
cmtlci5qcyAgICAgIHwgIDE0ICstCiAuLi50ZXh0LmRyYXcua2Vybi5jb25zaXN0ZW50LW1hbnVh
bC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy5o
dG1sICAgICAgICB8ICAxNCArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLndv
cmtlci5qcyAgIHwgIDE0ICstCiAuLi4vdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uu
ZW5kLmh0bWwgfCAgMTQgKy0KIC4uLi8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kLndv
cmtlci5qcyB8ICAxNCArLQogLi4uLzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFj
ZS5odG1sIHwgIDE0ICstCiAuLi5leHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3Jr
ZXIuanMgfCAgMTQgKy0KIC4uLi8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRt
bCAgICB8ICAxNCArLQogLi4uZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2Vy
LmpzIHwgIDE0ICstCiAuLi4vMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwg
ICAgfCAgMTQgKy0KIC4uLmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLndvcmtlci5q
cyB8ICAxNCArLQogLi4uLzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sICAg
IHwgIDE0ICstCiAuLi5kLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIuanMg
fCAgMTQgKy0KIC4uLjJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMtbWFudWFsLndvcmtlci5qcyB8
ICAgNyArLQogLi4uL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwgIHwg
ICA3ICstCiAuLi4vMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcyAgfCAg
IDcgKy0KIC4uLi90ZXh0LzJkLnRleHQuZm9udC5kZWZhdWx0Lmh0bWwgICAgICAgICAgICB8ICAg
NyArLQogLi4uL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2VyLmpzICAgICAgIHwgICA3
ICstCiAuLi4vdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMuaHRtbCAgICAgICAgfCAgIDcg
Ky0KIC4uLi90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53b3JrZXIuanMgICB8ICAgNyAr
LQogLi4uL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXguaHRtbCAgICAgIHwgICA3ICst
CiAuLi4vdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuY29tcGxleC53b3JrZXIuanMgfCAgIDcgKy0K
IC4uLi90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0bWwgICAgICB8ICAxMSArLQog
Li4uL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQud29ya2VyLmpzIHwgIDExICstCiAu
Li4vdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwgICAgICAgfCAgIDcgKy0KIC4u
Li90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzICB8ICAgNyArLQogLi4u
L3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4v
dGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi90
ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0bWwgICAgICB8ICAyOCArCiAuLi4vMmQu
dGV4dC5mb250LnJlbGF0aXZlX3NpemUud29ya2VyLmh0bWwgICAgfCAgIDEgKwogLi4uL3RleHQv
MmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUud29ya2VyLmpzIHwgIDI0ICsKIC4uLi8yZC50ZXh0
Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRtbCAgICB8ICA0NyArCiAuLi50ZXh0Lm1lYXN1
cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmh0bWwgfCAgIDEgKwogLi4uZC50ZXh0Lm1lYXN1
cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzIHwgIDQzICsKIC4uLi90ZXh0LzJkLnRleHQu
bWVhc3VyZS5hZHZhbmNlcy5odG1sICAgICAgICB8ICA0OSArCiAuLi4vdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuYWR2YW5jZXMud29ya2VyLmh0bWwgfCAgIDEgKwogLi4uL3RleHQvMmQudGV4dC5tZWFz
dXJlLmFkdmFuY2VzLndvcmtlci5qcyAgIHwgIDQ1ICsKIC4uLi90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5iYXNlbGluZXMuaHRtbCAgICAgICB8ICA0MiArCiAuLi4vMmQudGV4dC5tZWFzdXJlLmJhc2Vs
aW5lcy53b3JrZXIuaHRtbCAgICAgfCAgIDEgKwogLi4uL3RleHQvMmQudGV4dC5tZWFzdXJlLmJh
c2VsaW5lcy53b3JrZXIuanMgIHwgIDM4ICsKIC4uLi90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhl
aWdodHMuaHRtbCAgICAgICB8ICA0MiArCiAuLi4vMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53
b3JrZXIuaHRtbCAgICAgfCAgIDEgKwogLi4uL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0
cy53b3JrZXIuanMgIHwgIDM4ICsKIC4uLi90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRp
bmdCb3guaHRtbCB8ICA0MCArCiAuLi5kLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29y
a2VyLmh0bWwgfCAgIDEgKwogLi4uLzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29y
a2VyLmpzIHwgIDM2ICsKIC4uLi90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1s
ICAgICB8ICAyMiArLQogLi4uLzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMg
ICAgIHwgIDIyICstCiAuLi4vdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkuaHRtbCAg
ICAgfCAgMjIgKy0KIC4uLi8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpzICAg
ICB8ICAyMiArLQogLi4uL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLmh0bWwgICAg
IHwgIDIyICstCiAuLi4vMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLndvcmtlci5qcyAgICAg
fCAgMjIgKy0KIC4uLi9vZmZzY3JlZW4tY2FudmFzL3RleHQvdzNjLWltcG9ydC5sb2cgICAgICB8
ICAxMiArCiAuLi4vMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLmh0bWwgICAgICAgICAgfCAg
IDcgKy0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2VyLmpzICAgICB8ICAg
NyArLQogLi4uLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbCAgICAgICAgICAgIHwgICA3
ICstCiAuLi4vMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMgICAgICAgfCAgIDcg
Ky0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUuaHRtbCAgICAgICB8ICAgNyAr
LQogLi4uLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53b3JrZXIuanMgIHwgICA3ICst
CiAuLi4vMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEuaHRtbCAgICAgfCAgIDcgKy0K
IC4uLjJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLndvcmtlci5qcyB8ICAgNyArLQog
Li4uLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi5odG1sIHwgICA3ICstCiAu
Li5yZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIuanMgfCAgIDcgKy0KIC4u
Li8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwLmh0bWwgICAgICAgICB8ICAgNyArLQogLi4u
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzICAgIHwgICA3ICstCiAuLi4v
MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4uaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53b3JrZXIuanMgICB8ICAgNyArLQogLi4uLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lmh0bWwgICAgICB8ICAgNyArLQogLi4uLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUucGF0aC5odG1sICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcyAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIuaHRtbCAgICAgIHwgICA3ICstCiAuLi4vMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sICAgICB8ICAgNyArLQogLi4uMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC5odG1sICAgfCAgIDcgKy0KIC4uLi5zdGF0ZS5zYXZlcmVz
dG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnNoYWRvd09mZnNldFkuaHRtbCAgIHwgICA3ICstCiAuLi4uc3RhdGUuc2F2ZXJlc3Rv
cmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zdGFjay5odG1sICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnN0YWNrLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAuLi4vMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc3RhY2tkZXB0aC5odG1sICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5zdGFja2RlcHRoLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnN0cm9rZVN0eWxlLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dHJva2VTdHlsZS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50
cmFuc2Zvcm1hdGlvbi5odG1sICB8ICAgNyArLQogLi4uc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNm
b3JtYXRpb24ud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5k
ZXJmbG93Lmh0bWwgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRl
cmZsb3cud29ya2VyLmpzICB8ICAgNyArLQogLi4uLzJkLmNhbnZhcy5yZWFkb25seS5odG1sICAg
ICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5q
cyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5jYW52YXMucmVmZXJlbmNlLmh0bWwgICAg
ICAgICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2VyLmpz
ICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ2V0Y29udGV4dC5leGlzdHMuaHRtbCAgICAg
ICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIuanMg
ICAgICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdldGNvbnRleHQuZXh0cmFhcmdzLmh0bWwgICAg
ICAgICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpz
ICAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC5nZXRjb250ZXh0LnNoYXJlZC5odG1sICAgICAgICAg
ICAgICAgICB8ICAgNyArLQogLi4uLzJkLmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcyAgICAg
ICAgICAgIHwgICA3ICstCiAuLi4vMmQuZ2V0Y29udGV4dC51bmlxdWUuaHRtbCAgICAgICAgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi8yZC5nZXRjb250ZXh0LnVuaXF1ZS53b3JrZXIuanMgICAgICAg
ICAgICB8ICAgNyArLQogLi4uL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbCAgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vY29udGV4dC5hcmd1bWVudHMubWlzc2luZy53b3JrZXIuanMgICAg
ICAgfCAgIDcgKy0KIC4uLi9jb250ZXh0LmNhc2VzZW5zaXRpdmUuaHRtbCAgICAgICAgICAgICAg
ICB8ICAgNyArLQogLi4uL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMgICAgICAgICAg
IHwgICA3ICstCiAuLi4vY29udGV4dC5lbXB0eXN0cmluZy5odG1sICAgICAgICAgICAgICAgICAg
fCAgIDcgKy0KIC4uLi9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcyAgICAgICAgICAgICB8
ICAgNyArLQogLi4uL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRtbCAgICAgICAgIHwg
ICA3ICstCiAuLi4vY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMgICAgfCAg
IDcgKy0KIC4uLi9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbCAgICAgICB8ICAg
NyArLQogLi4uL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC53b3JrZXIuanMgIHwgICA3
ICstCiAuLi4vY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC5odG1sICAgICAgfCAgIDcg
Ky0KIC4uLi9jb250ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lndvcmtlci5qcyB8ICAgNyAr
LQogLi4uL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUuaHRtbCAgICAgICAgIHwgICA3ICst
CiAuLi4vY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS53b3JrZXIuanMgICAgfCAgIDcgKy0K
IC4uLi90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci5odG1sICB8ICAgNyArLQog
Li4uL2luaXRpYWwuY29sb3VyLndvcmtlci5qcyAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAu
Li4vaW5pdGlhbC5yZXNldC4yZHN0YXRlLmh0bWwgICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4u
Li9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzICAgICAgICAgICB8ICAgNyArLQogLi4u
L2luaXRpYWwucmVzZXQuY2xpcC5odG1sICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4v
aW5pdGlhbC5yZXNldC5jbGlwLndvcmtlci5qcyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9p
bml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1sICAgICAgICAgICAgICB8ICAgNyArLQogLi4uL2lu
aXRpYWwucmVzZXQuZGlmZmVyZW50Lndvcmtlci5qcyAgICAgICAgIHwgICA3ICstCiAuLi4vaW5p
dGlhbC5yZXNldC5ncmFkaWVudC5odG1sICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9pbml0
aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcyAgICAgICAgICB8ICAgNyArLQogLi4uL2luaXRp
YWwucmVzZXQucGF0aC5odG1sICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vaW5pdGlh
bC5yZXNldC5wYXRoLndvcmtlci5qcyAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9pbml0aWFs
LnJlc2V0LnBhdHRlcm4uaHRtbCAgICAgICAgICAgICAgICB8ICAgNyArLQogLi4uL2luaXRpYWwu
cmVzZXQucGF0dGVybi53b3JrZXIuanMgICAgICAgICAgIHwgICA3ICstCiAuLi4vaW5pdGlhbC5y
ZXNldC5zYW1lLmh0bWwgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9pbml0aWFsLnJl
c2V0LnNhbWUud29ya2VyLmpzICAgICAgICAgICAgICB8ICAgNyArLQogLi4uL2luaXRpYWwucmVz
ZXQudHJhbnNmb3JtLmh0bWwgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vaW5pdGlhbC5yZXNl
dC50cmFuc2Zvcm0ud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi9vZmZzY3JlZW5jYW52
YXMuY29tbWl0Lmh0bWwgICAgICAgICAgICAgICB8ICAgMiArLQogLi4uL29mZnNjcmVlbmNhbnZh
cy5jb21taXQudy5odG1sICAgICAgICAgICAgIHwgICAyICstCiAuLi4vb2Zmc2NyZWVuY2FudmFz
LmNvbnN0cnVjdG9yLmh0bWwgICAgICAgICAgfCAgIDIgKy0KIC4uLi9vZmZzY3JlZW5jYW52YXMu
Y29uc3RydWN0b3Iud29ya2VyLmpzICAgICB8ICAgMiArLQogLi4uL29mZnNjcmVlbmNhbnZhcy5n
ZXRjb250ZXh0Lmh0bWwgICAgICAgICAgIHwgICAyICstCiAuLi4vb2Zmc2NyZWVuY2FudmFzLmdl
dGNvbnRleHQud29ya2VyLmpzICAgICAgfCAgIDIgKy0KIC4uLi9vZmZzY3JlZW5jYW52YXMucmVz
aXplLmh0bWwgICAgICAgICAgICAgICB8ICAgMiArLQogLi4uZnNjcmVlbmNhbnZhcy50cmFuc2Zl
ci50by5pbWFnZWJpdG1hcC5odG1sIHwgICAyICstCiAuLi5jcmVlbmNhbnZhcy50cmFuc2Zlci50
by5pbWFnZWJpdG1hcC53Lmh0bWwgfCAgIDIgKy0KIC4uLmVuY2FudmFzLnRyYW5zZmVyY29udHJv
bC50by5vZmZzY3JlZW4uaHRtbCB8ICAgMiArLQogLi4uY2FudmFzLnRyYW5zZmVyY29udHJvbC50
by5vZmZzY3JlZW4udy5odG1sIHwgICAyICstCiAuLi4vb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVy
cmFibGUuaHRtbCAgICAgICAgfCAgIDIgKy0KIC4uLi9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJy
YWJsZS53Lmh0bWwgICAgICB8ICAgMiArLQogLi4uL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lmh0
bWwgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29y
a2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMuaWRsLmh0bWwgICAg
ICAgICAgICAgICAgICB8ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8u
aHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53
b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcyAg
ICAgICAgICAgICB8ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLmh0
bWwgICAgICAgIHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWwud29y
a2VyLmpzICAgfCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0uaHRtbCAgICAg
ICAgICAgICB8ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5lbS53b3JrZXIuanMg
ICAgICAgIHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtcHR5Lmh0bWwgICAg
ICAgICAgfCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW1wdHkud29ya2VyLmpz
ICAgICB8ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAuaHRtbCAgICAgICAg
ICAgIHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMgICAg
ICAgfCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwgICAgICAgICAg
ICB8ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpzICAgICAg
IHwgICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsuaHRtbCAgICAgICAgICAg
fCAgIDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay53b3JrZXIuanMgICAgICB8
ICAgNyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1sICAgICAgICAgIHwg
ICA3ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcyAgICAgfCAg
IDcgKy0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwuaHRtbCAgICAgICAgICB8ICAg
NyArLQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMgICAgIHwgICA3
ICstCiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1sICAgICAgfCAgIDcg
Ky0KIC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcyB8ICAgNyAr
LQogLi4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwgICAgICAgIHwgICA3ICst
CiAuLi4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQud29ya2VyLmpzICAgfCAgIDcgKy0K
IC4uLi9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1cy5odG1sICAgICAgICAgICB8ICAgNyArLQog
Li4uL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcyAgICAgIHwgICA3ICstCiAu
Li4vc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLmh0bWwgICAgICAgICAgfCAgIDcgKy0KIC4u
Li9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29ya2VyLmpzICAgICB8ICAgNyArLQogLi4u
L3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsuaHRtbCAgIHwgICA3ICstCiAuLi56
ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi9z
aXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5odG1sICAgICB8ICAgNyArLQogLi4uc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzIHwgICA3ICstCiAuLi4vc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8uaHRtbCAgICAgICAgICAgfCAgIDcgKy0KIC4uLi9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuemVyby53b3JrZXIuanMgICAgICB8ICAgNyArLQogLi4uL3NpemUu
YXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1sICAgICAgIHwgICA3ICstCiAuLi4vc2l6ZS5h
dHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcyAgfCAgIDcgKy0KIC4uLi9zaXplLmF0
dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLmh0bWwgICB8ICAgNyArLQogLi4uemUuYXR0cmli
dXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2VyLmpzIHwgICA3ICstCiAuLi4vdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5sYXJnZS5odG1sICAgICAgfCAgIDcgKy0KIC4uLi90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5qcyB8ICAgNyArLQogLi4uL29mZnNjcmVlbi1j
YW52YXMvdG9vbHMvdGVtcGxhdGVzLnlhbWwgICAgIHwgIDE4ICstCiAuLi4vb2Zmc2NyZWVuLWNh
bnZhcy90b29scy90ZXN0czJkLnlhbWwgICAgICAgfCA5NjAgKysrKysrKysrKysrKysrLS0tCiAu
Li4vMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwgICAgICAgfCAgNDAgKwogLi4u
LzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwgICAgICAgICAgICAgIHwgICA3ICstCiAuLi4v
MmQudHJhbnNmb3JtYXRpb24ub3JkZXIud29ya2VyLmpzICAgICAgICAgfCAgIDcgKy0KIC4uLi8y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLmh0bWwgICB8ICAgNyArLQogLi4uLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS5odG1sICAgfCAgIDcgKy0KIC4uLi50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUud3JhcC5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLmh0bWwgfCAgIDcgKy0KIC4uLmFuc2Zvcm1hdGlv
bi5yb3RhdGUud3JhcG5lZ2F0aXZlLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwgICAgICAgIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLnplcm8ud29ya2VyLmpzICAgfCAgIDcgKy0KIC4uLi8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy5odG1sICAgICAgICB8ICAgNyArLQogLi4uLzJkLnRyYW5zZm9ybWF0
aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcyAgIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUubGFyZ2UuaHRtbCAgICAgICAgfCAgIDcgKy0KIC4uLi8yZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5sYXJnZS53b3JrZXIuanMgICB8ICAgNyArLQogLi4uLzJkLnRyYW5zZm9ybWF0aW9u
LnNjYWxlLm11bHRpcGxlLmh0bWwgICAgIHwgICA3ICstCiAuLi4yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5tdWx0aXBsZS53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5uZWdhdGl2ZS5odG1sICAgICB8ICAgNyArLQogLi4uMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUubmVnYXRpdmUud29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUubm9uZmluaXRlLmh0bWwgICAgfCAgIDcgKy0KIC4uLmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bm9uZmluaXRlLndvcmtlci5qcyB8ICAgNyArLQogLi4uLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
Lnplcm8uaHRtbCAgICAgICAgIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
emVyby53b3JrZXIuanMgICAgfCAgIDcgKy0KIC4uLi50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubXVsdGlwbGUuaHRtbCB8ICAgNyArLQogLi4uc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVs
dGlwbGUud29ya2VyLmpzIHwgICA3ICstCiAuLi50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0u
bm9uZmluaXRlLmh0bWwgfCAgIDcgKy0KIC4uLmZvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmlu
aXRlLndvcmtlci5qcyB8ICAgNyArLQogLi4uMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3Jt
LnNrZXdlZC5odG1sIHwgICA3ICstCiAuLi5hbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdl
ZC53b3JrZXIuanMgfCAgIDcgKy0KIC4uLi8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRl
bnRpdHkuaHRtbCB8ICAgNyArLQogLi4ucmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHku
d29ya2VyLmpzIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRp
cGx5Lmh0bWwgfCAgIDcgKy0KIC4uLnJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndv
cmtlci5qcyB8ICAgNyArLQogLi4uMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0
ZS5odG1sIHwgICA3ICstCiAuLi5hbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS53b3Jr
ZXIuanMgfCAgIDcgKy0KIC4uLi8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLmh0
bWwgICB8ICAgNyArLQogLi4uLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQud29ya2Vy
LmpzIHwgICA3ICstCiAuLi4vMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLmh0bWwg
ICAgfCAgIDcgKy0KIC4uLmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLndvcmtlci5q
cyB8ICAgNyArLQogLi4uMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS5odG1s
IHwgICA3ICstCiAuLi5hbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIuanMg
fCAgIDcgKy0KIC4uLi90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5sb2cgICAgICAgICAgICB8
ICAgMSArCiAuLi4vcmVzb3VyY2VzL2Nocm9taXVtL25mYy1tb2NrLmpzICAgICAgICAgICAgfCAg
IDMgKwogLi4uL3Jlc291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzICAgICAgICAgIHwgICA4
ICstCiAuLi4vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzICAgICAgICAgICAgfCAyNTQg
LS0tLS0KIC4uLi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgICAgICAgICAgICAgICAgICB8ICAg
MSAtCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgIDQg
Ky0KIExheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zICAgICB8ICAgNCAr
LQogMTYxMSBmaWxlcyBjaGFuZ2VkLCAxMTcxNSBpbnNlcnRpb25zKCspLCA1NzA4IGRlbGV0aW9u
cygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL25vLWNvb3AtY29lcC5odHRwcy53aW5k
b3cuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ltYWdlcy9NRVRBLnltbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL09XTkVSUwogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL2JsdWUtcG5nLWNhY2hhYmxlLnB5CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY2FudmFzLWxpbmUucG5n
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvY2xlYXItMTAweDUwLnBuZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NvbG9ycy5zdmcK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfY29sb3Iuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxv
Z28vZnlpX2NvbG9yX2JnLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21h
dGljLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljX2JnLnN2Zwog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL3czYy1pbXBvcnQubG9nCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4t
OTZ4OTYuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vdzNjLWltcG9ydC5sb2cKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy93cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS1iZy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQt
bG9nby93cHQtbG9nby1kYXJrYmx1ZS5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9n
by1saWdodGJsdWUtYmcuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tb3Jhbmdl
LWJnLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLXdoaXRlLnN2ZwogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1wb3J0LmxvZwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1w
ci1ib3QtbG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5odG1sCiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUud29y
a2VyLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVh
bEJvdW5kaW5nQm94Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLmh0bWwKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2Vy
Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5j
ZXMud29ya2VyLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LmJhc2VsaW5lcy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2VyLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmpzCiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0Jv
eC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRC
b3VuZGluZ0JveC53b3JrZXIuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0uaHRtbAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMTQ2YThkMmVjMzYuLmFmNzY4ODAzMjc3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTYsNiArMTYsNyBAQAogICAgICJ0b29scyI6ICJpbXBv
cnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dCI6ICJpbXBvcnQiLCAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcCI6ICJpbXBvcnQiLCAK
KyAgICAid2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9yZXNvdXJjZXMiOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvdHJhbnNmb3JtYXRpb25zL2NhbnZh
c190cmFuc2Zvcm1hdGlvbnNfcmVzZXRfMDAxLXJlZi5odG1sIjogImltcG9ydCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L3RyYW5zZm9ybWF0aW9ucy9jYW52YXNfdHJhbnNm
b3JtYXRpb25zX3Jlc2V0XzAwMS5odG1sIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvRE9NLXBhcnNpbmciOiAic2tpcCIsIApAQCAtMjc5LDYgKzI4MCw3IEBACiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9odHRwIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlLWRlY29kZXMiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vi
aXRtYXAtcmVuZGVyaW5nY29udGV4dCI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2luZnJhc3Ry
dWN0dXJlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW5uZXJUZXh0Ijog
ImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW5wdXQtZXZlbnRzIjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXNlcmlhbGl6YWJsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRl
eHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtc2VyaWFsaXphYmxlLmh0bWwKaW5kZXgg
YjQwZDljZWMzZjMuLmE0NDM0YWVjNmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFn
ZUJpdG1hcC1zZXJpYWxpemFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1h
cC1zZXJpYWxpemFibGUuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxzY3JpcHQgc3JjPSIvY29tbW9u
L25hbWVzcGFjZXMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9jb21tb24vbWVkaWEuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9ImNvbW1vbi5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPGRpdiBpZD1s
b2c+PC9kaXY+CiA8c2NyaXB0PgogbGV0IHdvcmtlciwgY29udGludWF0aW9ucyA9IHt9OwpAQCAt
NDAsNCArNDEsMTIgQEAgZm9yIChsZXQgeyBuYW1lLCBmYWN0b3J5IH0gb2YgaW1hZ2VTb3VyY2VU
eXBlcykgewogICAgICAgICB9KTsKICAgICB9LCBgU2VyaWFsaXplIEltYWdlQml0bWFwIGNyZWF0
ZWQgZnJvbSAke25hbWV9YCk7CiB9CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICBj
b25zdCB1cmwgPSBnZXRfaG9zdF9pbmZvKCkuUkVNT1RFX09SSUdJTiArICcvaW1hZ2VzL3BhdHRl
cm4ucG5nJzsKKyAgY29uc3QgaW1hZ2UgPSBhd2FpdCBtYWtlTWFrZUhUTUxJbWFnZSh1cmwpKCk7
CisgIGNvbnN0IGJpdG1hcCA9IGF3YWl0IGNyZWF0ZUltYWdlQml0bWFwKGltYWdlKTsKKworICBh
c3NlcnRfdGhyb3dzKCdEYXRhQ2xvbmVFcnJvcicsICgpID0+IHdvcmtlci5wb3N0TWVzc2FnZShi
aXRtYXApKTsKK30sICdTZXJpYWxpemluZyBhIG5vbi1vcmlnaW4tY2xlYW4gSW1hZ2VCaXRtYXAg
dGhyb3dzLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJp
dG1hcC10cmFuc2Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtdHJhbnNmZXIu
aHRtbAppbmRleCA1ODBlYzhhNWVkMC4uNzA4Zjk3MDk3YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFw
L2NyZWF0ZUltYWdlQml0bWFwLXRyYW5zZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1h
Z2VCaXRtYXAtdHJhbnNmZXIuaHRtbApAQCAtNSw2ICs1LDcgQEAKIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvY29t
bW9uL21lZGlhLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJjb21tb24uc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KIDxkaXYgaWQ9bG9nPjwvZGl2PgogPHNjcmlwdD4KIGxldCB3b3JrZXIsIGNvbnRpbnVhdGlv
bnMgPSB7fTsKQEAgLTM5LDQgKzQwLDE0IEBAIGZvciAobGV0IHsgbmFtZSwgZmFjdG9yeSB9IG9m
IGltYWdlU291cmNlVHlwZXMpIHsKICAgICAgICAgfSk7CiAgICAgfSwgYFRyYW5zZmVyIEltYWdl
Qml0bWFwIGNyZWF0ZWQgZnJvbSAke25hbWV9YCk7CiB9CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dCkgPT4geworICBjb25zdCB1cmwgPSBnZXRfaG9zdF9pbmZvKCkuUkVNT1RFX09SSUdJTiArICcv
aW1hZ2VzL3BhdHRlcm4ucG5nJzsKKyAgY29uc3QgaW1hZ2UgPSBhd2FpdCBtYWtlTWFrZUhUTUxJ
bWFnZSh1cmwpKCk7CisgIGNvbnN0IGJpdG1hcCA9IGF3YWl0IGNyZWF0ZUltYWdlQml0bWFwKGlt
YWdlKTsKKworICBhc3NlcnRfdGhyb3dzKCdEYXRhQ2xvbmVFcnJvcicsCisgICAgICAgICAgICAg
ICAgKCkgPT4gd29ya2VyLnBvc3RNZXNzYWdlKGJpdG1hcCwgW2JpdG1hcF0pKTsKK30sICdUcmFu
c2ZlcnJpbmcgYSBub24tb3JpZ2luLWNsZWFuIEltYWdlQml0bWFwIHRocm93cy4nKTsKKwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9uby1jb29wLWNvZXAuaHR0cHMud2luZG93Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQv
aW1hZ2ViaXRtYXAvbm8tY29vcC1jb2VwLmh0dHBzLndpbmRvdy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTI5NWYxZTEwY2YuLjAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL25v
LWNvb3AtY29lcC5odHRwcy53aW5kb3cuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBA
Ci0vLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcwotLy8gTUVUQTogc2NyaXB0PS9jb21t
b24vZ2V0LWhvc3QtaW5mby5zdWIuanMKLQotZnVuY3Rpb24gdGFpbnRlZEltYWdlQml0bWFwKHQp
IHsKLSAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgIGNvbnN0IGltZyA9IG5l
dyBJbWFnZSgpOwotICAgIGltZy5zcmMgPSBgJHtnZXRfaG9zdF9pbmZvKCkuSFRUUFNfUkVNT1RF
X09SSUdJTn0vaW1hZ2VzL2JsdWUucG5nYDsKLSAgICBpbWcub25sb2FkID0gdC5zdGVwX2Z1bmMo
KCkgPT4gewotICAgICAgcmVzb2x2ZShjcmVhdGVJbWFnZUJpdG1hcChpbWcpKTsKLSAgICB9KTsK
LSAgICBpbWcub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoKTsKLSAgfSk7Ci19Ci0KLWFzeW5j
X3Rlc3QodCA9PiB7Ci0gIGNvbnN0IGJjID0gbmV3IEJyb2FkY2FzdENoYW5uZWwodG9rZW4oKSk7
Ci0gIGNvbnN0IHBvcHVwID0gd2luZG93Lm9wZW4oYHJlc291cmNlcy9jb29wLWNvZXAtcG9wdXAu
aHRtbD9jaGFubmVsPSR7YmMubmFtZX1gKTsKLSAgY29uc3QgcG9wdXBSZWFkeSA9IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gewotICAgIGJjLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKHJlc29sdmUp
OwotICB9KTsKLSAgY29uc3QgaW1hZ2VSZWFkeSA9IHRhaW50ZWRJbWFnZUJpdG1hcCh0KTsKLSAg
UHJvbWlzZS5hbGwoW3BvcHVwUmVhZHksIGltYWdlUmVhZHldKS50aGVuKHQuc3RlcF9mdW5jKChb
LCBiaXRtYXBdKSA9PiB7Ci0gICAgYmMub25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShlID0+
IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAiR290IGZhaWx1cmUgYXMgZXhwZWN0ZWQu
Iik7Ci0gICAgfSk7Ci0gICAgYmMucG9zdE1lc3NhZ2UoYml0bWFwKTsKLSAgfSkpOwotfSwgIkJy
b2FkY2FzdENoYW5uZWwnaW5nIGEgdGFpbnRlZCBJbWFnZUJpdG1hcCB0byBhIENPT1ArQ09FUCBw
b3B1cCIpOwotCi1bCi0gIHsKLSAgICAidHlwZSI6ICJzZXJpYWxpemUvZGVzZXJpYWxpemUiLAot
ICAgICJtZXNzYWdlIjogKHBvcnQsIGJpdG1hcCkgPT4gcG9ydC5wb3N0TWVzc2FnZShiaXRtYXAp
Ci0gIH0sCi0gIHsKLSAgICAidHlwZSI6ICJ0cmFuc2ZlciIsCi0gICAgIm1lc3NhZ2UiOiAocG9y
dCwgYml0bWFwKSA9PiBwb3J0LnBvc3RNZXNzYWdlKGJpdG1hcCwgW2JpdG1hcF0pCi0gIH0KLV0u
Zm9yRWFjaCgoeyB0eXBlLCBtZXNzYWdlIH0pID0+IHsKLSAgYXN5bmNfdGVzdCh0ID0+IHsKLSAg
ICBjb25zdCBzdyA9IG5ldyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9jb29wLWNvZXAtd29ya2Vy
LmpzIik7Ci0gICAgY29uc3QgaW1hZ2VSZWFkeSA9IHRhaW50ZWRJbWFnZUJpdG1hcCh0KTsKLSAg
ICBpbWFnZVJlYWR5LnRoZW4odC5zdGVwX2Z1bmMoYml0bWFwID0+IHsKLSAgICAgIHN3LnBvcnQu
b25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShlID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEsICJHb3QgZmFpbHVyZSBhcyBleHBlY3RlZC4iKTsKLSAgICAgIH0pOwotICAgICAg
bWVzc2FnZShzdy5wb3J0LCBiaXRtYXApOwotICAgIH0pKTsKLSAgfSwgYE1lc3NhZ2luZyBhIHRh
aW50ZWQgSW1hZ2VCaXRNYXAgdmlhICR7dHlwZX0gdG8gYSBDT0VQIHNoYXJlZCB3b3JrZXJgKTsK
LX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC93M2Mt
aW1wb3J0LmxvZwppbmRleCAwODNmZTFhYzM2My4uODQ4YjM4YTYxZmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdl
Yml0bWFwL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL3czYy1pbXBvcnQubG9nCkBAIC0y
Nyw1ICsyNyw0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAt
c2VyaWFsaXphYmxlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1zaXplT3ZlcmZs
b3cuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRj
b250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXRyYW5zZmVyLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJp
dG1hcC9uby1jb29wLWNvZXAuaHR0cHMud2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvdHJhbnNmZXItd29y
a2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi42MDNiZmM1OGQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sCkBAIC0wLDAgKzEs
MyBAQAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSB6cXpoYW5nCisgIC0gZ3NuZWRkZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZjc4MjY2YzQ3
Li4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9PV05FUlMKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUB6cXpo
YW5nCi1AdGFnYXdhCi1AZ3NuZWRkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtcG5n
LWNhY2hhYmxlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lODc5
NzUzNDNmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtcG5nLWNhY2hhYmxlLnB5CkBAIC0wLDAgKzEsMTMg
QEAKK2ltcG9ydCBvcworaW1wb3J0IHRpbWUKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgorICAiIiJTZXJ2ZXMgdGhlIGNvbnRlbnRzIGluIGJsdWUucG5nIGJ1dCB3aXRoIGEgQ2FjaGUt
Q29udHJvbCBoZWFkZXIuCisKKyAgRW1pdHMgYSBDYWNoZS1Db250cm9sIGhlYWRlciB3aXRoIG1h
eC1hZ2Ugc2V0IHRvIDFoIHRvIGFsbG93IHRoZSBicm93c2VyCisgIGNhY2hlIHRoZSBpbWFnZS4g
VXNlZCBmb3IgdGVzdGluZyBiZWhhdmlvcnMgaW52b2x2aW5nIGNhY2hpbmcgbG9naWNzLgorICAi
IiIKKyAgaW1hZ2VfcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p
LCAiYmx1ZS5wbmciKQorICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJt
YXgtYWdlPTM2MDAiKQorICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgImlt
YWdlL3BuZyIpCisgIHJlc3BvbnNlLmNvbnRlbnQgPSBvcGVuKGltYWdlX3BhdGgsIG1vZGU9J3Ji
JykucmVhZCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy9jYW52YXMtbGluZS5wbmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jYW52YXMtbGluZS5wbmcKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMwZjhmNDU0MDU2MDkzOWUxMjk1Y2NjYjBjNjY1YjljZWQ5MDhh
ZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgNTAyCnpjbWVBU0BOPyhvbEh5YHVW
QnEhaWEweX55VkFLSiFyKlNYPSQ9OC1qdHc0JmdJTE9fSlZjantJbXB+M0BmayRMOQp6MHxVMSgy
czFMd25qLS1lV0gwZ2JiIUVUOUNDWTBvbGsrekQzUSRQMCM1SlBDSVheY3lITHJ4aHhoT1RVQnNF
MiQKekpoTFEyIVFJbjBBaVItSjlCNlF8cjtCNHEjalVzMzR7fG0qMihVUSVwUSVpfmt6dzlxJFNR
d0dHbztudkxWdSh1CnpVJjgjJEVEQkJuaW5QTiZfTj9CJF9DcjlaV2FEP2BJZzs4MytfWERJNTIm
KlVHQVJ1VlpzUER8cG8tTmtfamZVVgpYYj81b2txV2l9UjckKiMjdTZ7MS1vRCFNPCtJVSluCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvY2xlYXItMTAweDUwLnBuZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2NsZWFyLTEwMHg1MC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWVlZGQwZmYw
NTg4OWZmZDQ0NjhiZjE5YTJlOGU5ZTBhMDk0MjAxYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MTE3CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeRExgeiohM0hFKG5ieiRDUWZ4YHk/aylgZkwy
JHZ8PCYlTFRUQW5WQgp1QXIqN3A5JVNTTkAod05kP3dgd056NXZLWDJSfV53ZioyVTMrSUwrQyQj
fVpAeHZYPGFYYVdFZCZLcV9CCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMu
c3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMv
Y29sb3JzLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDI0ZGU4
NGE1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMuc3ZnCkBAIC0wLDAgKzEsMTEgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94bGluayIKKyAgICAgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+Cisg
IDxzdHlsZT51c2U6bm90KDp0YXJnZXQpIHsgZGlzcGxheTogbm9uZTsgfTwvc3R5bGU+CisgIDxk
ZWZzPgorICAgIDxyZWN0IGlkPSJncmVlbi1ib3giIGZpbGw9IiMwMGZmMDAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iNTAiLz4KKyAgICA8cmVjdCBpZD0icmVkLWJveCIgZmlsbD0iI2ZmMDAwMCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSI1MCIvPgorICA8L2RlZnM+CisgIDx1c2UgaWQ9ImdyZWVuIiB4bGlu
azpocmVmPSIjZ3JlZW4tYm94Ii8+CisgIDx1c2UgaWQ9InJlZCIgeGxpbms6aHJlZj0iI3JlZC1i
b3giLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yLnN2ZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xv
ci5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc2MDM4Nzg5MmFm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yLnN2ZwpAQCAtMCwwICsxLDIwIEBACis8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBHZW5lcmF0b3I6IEFk
b2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246
IDYuMDAgQnVpbGQgMCkgIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKKyAgICAgdmlld0JveD0iMCAwIDQ0MCA0
NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MCA0NDA7IiB4bWw6c3BhY2U9
InByZXNlcnZlIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIC5zdDB7ZmlsbDojN0VEMkVF
O30KKyAgLnN0MXtmaWxsOiMwMDNDNTc7fQorPC9zdHlsZT4KKzxnPgorICA8cmVjdCB4PSI2MS4y
IiB5PSIyNTUuMyIgY2xhc3M9InN0MCIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICA8
cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTU5LjMsMTAzLjhjLTI4LjUsMC01MS43LDIzLjItNTEuNyw1
MS43VjI4NEgxMzh2LTYwLjVoMjguNnYtMzAuNEgxMzh2LTM3LjVjMC0xMS44LDkuNi0yMS40LDIx
LjQtMjEuNAorICAgIGMxMS41LDAsMjAuOCw5LjEsMjEuMywyMC40aDMwLjRDMjEwLjYsMTI2LjUs
MTg3LjYsMTAzLjgsMTU5LjMsMTAzLjh6Ii8+CisgIDxyZWN0IHg9IjMwMiIgeT0iMTI2LjMiIGNs
YXNzPSJzdDEiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgPHBvbHlnb24gY2xhc3M9
InN0MSIgcG9pbnRzPSIzMDIuMSwxNzYuMSAzMDEuOSwyODQgMzMyLjMsMjg0IDMzMi40LDE3Ni4x
Ii8+CisgIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuMSwyMDguNGwwLTE1LjVsMC0xbDAtMTUu
OGgtMzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5LjljLTExLjgsMC0y
MS40LTkuNi0yMS40LTIxLjQKKyAgICB2LTMyLjNoLTMwLjR2MzIuM2MwLDI4LjUsMjMuMiw1MS43
LDUxLjcsNTEuN2M2LjksMCwxMy42LTEuMywxOS45LTRsMS4zLTAuNmwwLDIzLjFoMC4ydjUuOGMw
LDExLjgtOS42LDIxLjQtMjEuNCwyMS40CisgICAgYy0xMS41LDAtMjAuOC05LjEtMjEuMy0yMC40
aC0zMC40YzAuNSwyOC4xLDIzLjUsNTAuOCw1MS43LDUwLjhjMjguNSwwLDUxLjctMjMuMiw1MS43
LTUxLjd2LTMuOEgyODRsMC4xLTY5LjkKKyAgICBDMjg0LjEsMjA5LjksMjg0LjEsMjA5LjEsMjg0
LjEsMjA4LjR6Ii8+Cis8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xvcl9iZy5z
dmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9m
eWktbG9nby9meWlfY29sb3JfYmcuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwLi45NDg2NGI1YzJjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xvcl9iZy5z
dmcKQEAgLTAsMCArMSwyNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgi
Pz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQg
UGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KKzxzdmcgdmVyc2lvbj0i
MS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxu
czp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCisg
ICB2aWV3Qm94PSIwIDAgNDQwLjcgNDQwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAg
MCA0NDAuNyA0NDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgIC5zdDB7ZmlsbDojMDAzQzU3O30KKyAgLnN0MXtmaWxsOiM3RUQyRUU7fQorICAuc3Qy
e2ZpbGw6I0ZGRkZGRjt9Cis8L3N0eWxlPgorPGc+CisgIDxnPgorICAgIDxyZWN0IHg9IjAiIGNs
YXNzPSJzdDAiIHdpZHRoPSI0NDAiIGhlaWdodD0iNDQwIi8+CisgIDwvZz4KKyAgPGc+CisgICAg
PHJlY3QgeD0iNjEuMiIgeT0iMjU1LjMiIGNsYXNzPSJzdDEiIHdpZHRoPSIzMC40IiBoZWlnaHQ9
IjI4LjMiLz4KKyAgICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTU5LjMsMTAzLjhjLTI4LjUsMC01
MS43LDIzLjItNTEuNyw1MS43VjI4NEgxMzh2LTYwLjVoMjguNnYtMzAuNEgxMzh2LTM3LjVjMC0x
MS44LDkuNi0yMS40LDIxLjQtMjEuNAorICAgICAgYzExLjUsMCwyMC44LDkuMSwyMS4zLDIwLjRo
MzAuNEMyMTAuNiwxMjYuNSwxODcuNiwxMDMuOCwxNTkuMywxMDMuOHoiLz4KKyAgICA8cmVjdCB4
PSIzMDIiIHk9IjEyNi4zIiBjbGFzcz0ic3QyIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+
CisgICAgPHBvbHlnb24gY2xhc3M9InN0MiIgcG9pbnRzPSIzMDIuMSwxNzYuMSAzMDEuOSwyODQg
MzMyLjMsMjg0IDMzMi40LDE3Ni4xIi8+CisgICAgPHBhdGggY2xhc3M9InN0MiIgZD0iTTI4NC4x
LDIwOC40bDAtMTUuNWwwLTFsMC0xNS44aC0zMC40bC0wLjEsMzMuOGMtMC44LDExLjEtMTAuMSwx
OS45LTIxLjMsMTkuOWMtMTEuOCwwLTIxLjQtOS42LTIxLjQtMjEuNAorICAgICAgdi0zMi4zaC0z
MC40djMyLjNjMCwyOC41LDIzLjIsNTEuNyw1MS43LDUxLjdjNi45LDAsMTMuNi0xLjMsMTkuOS00
bDEuMy0wLjZsMCwyMy4xaDAuMnY1LjhjMCwxMS44LTkuNiwyMS40LTIxLjQsMjEuNAorICAgICAg
Yy0xMS41LDAtMjAuOC05LjEtMjEuMy0yMC40aC0zMC40YzAuNSwyOC4xLDIzLjUsNTAuOCw1MS43
LDUwLjhjMjguNSwwLDUxLjctMjMuMiw1MS43LTUxLjd2LTMuOEgyODRsMC4xLTY5LjkKKyAgICAg
IEMyODQuMSwyMDkuOSwyODQuMSwyMDkuMSwyODQuMSwyMDguNHoiLz4KKyAgPC9nPgorPC9nPgor
PC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpYy5zdmcgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfbW9u
b2Nocm9tYXRpYy5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJk
ZTI3NTk3MmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnCkBA
IC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjIuMS4wLCBTVkcgRXhwb3J0IFBsdWct
SW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+Cis8c3ZnIHZlcnNpb249IjEuMSIg
aWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgorICAgdmll
d0JveD0iMCAwIDQ0MCA0NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MCA0
NDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSI2MS4y
IiB5PSIyNTUuMyIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwYXRoIGQ9Ik0x
NTkuMywxMDMuOGMtMjguNSwwLTUxLjcsMjMuMi01MS43LDUxLjdWMjg0SDEzOHYtNjAuNWgyOC42
di0zMC40SDEzOHYtMzcuNWMwLTExLjgsOS42LTIxLjQsMjEuNC0yMS40CisgICAgICBjMTEuNSww
LDIwLjgsOS4xLDIxLjMsMjAuNGgzMC40QzIxMC42LDEyNi41LDE4Ny42LDEwMy44LDE1OS4zLDEw
My44eiIvPgorICAgIDxyZWN0IHg9IjMwMiIgeT0iMTI2LjMiIHdpZHRoPSIzMC40IiBoZWlnaHQ9
IjI4LjMiLz4KKyAgICA8cG9seWdvbiBwb2ludHM9IjMwMi4xLDE3Ni4xIDMwMS45LDI4NCAzMzIu
MywyODQgMzMyLjQsMTc2LjEgICAgICIvPgorICAgIDxwYXRoIGQ9Ik0yODQuMSwyMDguNGwwLTE1
LjVsMC0xbDAtMTUuOGgtMzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5
LjljLTExLjgsMC0yMS40LTkuNi0yMS40LTIxLjR2LTMyLjNoLTMwLjQKKyAgICAgIHYzMi4zYzAs
MjguNSwyMy4yLDUxLjcsNTEuNyw1MS43YzYuOSwwLDEzLjYtMS4zLDE5LjktNGwxLjMtMC42bDAs
MjMuMWgwLjJ2NS44YzAsMTEuOC05LjYsMjEuNC0yMS40LDIxLjQKKyAgICAgIGMtMTEuNSwwLTIw
LjgtOS4xLTIxLjMtMjAuNGgtMzAuNGMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUs
MCw1MS43LTIzLjIsNTEuNy01MS43di0zLjhIMjg0bDAuMS02OS45CisgICAgICBDMjg0LjEsMjA5
LjksMjg0LjEsMjA5LjEsMjg0LjEsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4KKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWNfYmcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0
aWNfYmcuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NGM4MmQz
MWEyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljX2JnLnN2ZwpAQCAt
MCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEt
LSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUlu
IC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGlk
PSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKKyAgIHZpZXdC
b3g9IjAgMCA0NDAuNyA0NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MC43
IDQ0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
LnN0MHtmaWxsOiNGRkZGRkY7fQorPC9zdHlsZT4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSIw
LjMiIHdpZHRoPSI0NDAiIGhlaWdodD0iNDQwIi8+CisgIDwvZz4KKyAgPGc+CisgICAgPHJlY3Qg
eD0iNjEuNSIgeT0iMjU1LjMiIGNsYXNzPSJzdDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMi
Lz4KKyAgICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTU5LjcsMTAzLjhjLTI4LjUsMC01MS43LDIz
LjItNTEuNyw1MS43VjI4NGgzMC40di02MC41aDI4LjZ2LTMwLjRoLTI4LjZ2LTM3LjVjMC0xMS44
LDkuNi0yMS40LDIxLjQtMjEuNAorICAgICAgYzExLjUsMCwyMC44LDkuMSwyMS4zLDIwLjRoMzAu
NEMyMTAuOSwxMjYuNSwxODcuOSwxMDMuOCwxNTkuNywxMDMuOHoiLz4KKyAgICA8cmVjdCB4PSIz
MDIuMyIgeT0iMTI2LjMiIGNsYXNzPSJzdDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4K
KyAgICA8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjMwMi40LDE3Ni4xIDMwMi4yLDI4NCAz
MzIuNiwyODQgMzMyLjgsMTc2LjEgICAgICIvPgorICAgIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0y
ODQuNSwyMDguNGwwLTE1LjVsMC0xbDAtMTUuOGgtMzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEw
LjEsMTkuOS0yMS4zLDE5LjljLTExLjgsMC0yMS40LTkuNi0yMS40LTIxLjQKKyAgICAgIHYtMzIu
M0gxODF2MzIuM2MwLDI4LjUsMjMuMiw1MS43LDUxLjcsNTEuN2M2LjksMCwxMy42LTEuMywxOS45
LTRsMS4zLTAuNmwwLDIzLjFoMC4ydjUuOGMwLDExLjgtOS42LDIxLjQtMjEuNCwyMS40CisgICAg
ICBjLTExLjUsMC0yMC44LTkuMS0yMS4zLTIwLjRIMTgxYzAuNSwyOC4xLDIzLjUsNTAuOCw1MS43
LDUwLjhjMjguNSwwLDUxLjctMjMuMiw1MS43LTUxLjd2LTMuOGgtMC4ybDAuMS02OS45CisgICAg
ICBDMjg0LjQsMjA5LjksMjg0LjUsMjA5LjEsMjg0LjUsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4K
Kzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTljZjBlYjY0NTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcy9meWktbG9nby93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIwIEBACitUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9m
eWktbG9nby9meWlfY29sb3Iuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yX2JnLnN2ZworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25v
Y2hyb21hdGljLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljX2JnLnN2ZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4t
OTZ4OTYuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvZ3JlZW4tOTZ4OTYuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi5mZGFmZmQ5MjBkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTk2eDk2LnN2ZwpAQCAtMCwwICsx
LDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iOTYi
IGhlaWdodD0iOTYiPgorICA8cmVjdCBmaWxsPSJsaW1lIiB3aWR0aD0iOTYiIGhlaWdodD0iOTYi
Lz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZwppbmRleCBlNmY0NGNj
MGMyMy4uYTMyNzZkMzZlY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAg
LTE0LDcgKzE0LDcgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvT1dORVJTCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvTUVUQS55bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9hbmltLWdyLmdpZgog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2FuaW0t
Z3IucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvYW5pbS1wb3N0ZXItZ3IucG5nCkBAIC0yMywxMCArMjMsMTIgQEAgTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibGFj
ay1yZWN0YW5nbGUucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvYmx1ZS1hcmVhLnBuZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtYm9yZGVyLnBuZworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtcG5nLWNhY2hhYmxlLnB5CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmx1ZS5w
bmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9i
bHVlOTZ4OTYucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvYnJva2VuLnBuZwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW1hZ2VzL2NhbnZhcy1saW5lLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NsZWFyLTEwMHg1MC5wbmcKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMuc3ZnCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZmFpbC5naWYK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9nZ3Jy
LTI1NngyNTYucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvZ3JlZW4tMTAweDUwLnBuZwpAQCAtMzQsNiArMzYsNyBAQCBMaXN0IG9mIGZpbGVz
OgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dy
ZWVuLTF4MS5wbmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy9ncmVlbi0yNTZ4MjU2LnBuZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTJ4Mi5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5Ni5zdmcKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi5wbmcKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi5z
dmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9n
cmdyLTI1NngyNTYucG5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jOTNiNDAz
MjRiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjEg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmtibHVlLWJnLnN2ZworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRh
cmtibHVlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWxpZ2h0Ymx1ZS1iZy5zdmcKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1v
cmFuZ2UtYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28td2hpdGUuc3ZnCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQt
bG9nby1kYXJrYmx1ZS1iZy5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS1iZy5zdmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQ5ZjM3NGMwMGNkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjIgNzYy
Ij4KKzxyZWN0IHg9IjAiIHk9IjAiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSI3NjIiIGhlaWdodD0i
NzYyIi8+Cis8cmVjdCB4PSIxODMuOSIgeT0iNTExLjQiIGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIy
MDEuNSIgaGVpZ2h0PSIzOCIvPgorPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTUwNC45LDU0OS40
YzM3LjMsMCw2Ny42LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2MTljMCwxNi4zLTEzLjMsMjkuNi0y
OS42LDI5LjZjLTE2LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42CitWMjg3LjRoLTM4djU2LjVoLTUx
Ljl2LTkyLjZoMTEyLjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNjMCwyMC0xMywzNy44LTMx
LjgsNDR2MzkuMWM0MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK2MwLTQ2LjUtMzcuOC04NC4zLTg0
LjMtODQuM0gzNjYuNGMtMTAuNSwwLTE5LDguNS0xOSwxOVYzODZsLTQ2LjQtNzkuNGMtMy40LTUu
OC05LjctOS40LTE2LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQKK2wtNDYuMiw3OS4yVjIx
My40aC0zOHYyNDIuN2MwLDguNiw1LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEu
NC04LjhsNjUuMi0xMTEuOEwzNTAsNDY1LjdjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43
LDAsMy4zLTAuMiw1LTAuN2M4LjMtMi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEM0
MzcuMyw1MTkuMSw0NjcuNiw1NDkuNCw1MDQuOSw1NDkuNHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0
LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yZGIwN2RhNzg5NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmtibHVlLnN2ZwpAQCAtMCwwICsxLDggQEAKKzxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzk4IDM0
MCI+Cis8cmVjdCB4PSIwIiB5PSIzMDAiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSIyMDEuNSIgaGVp
Z2h0PSIzOCIvPgorPHBhdGggZmlsbD0iIzAwM0M1NiIgZD0iTTMyMC45LDMzOGMzNy4zLDAsNjcu
Ni0zMC4zLDY3LjYtNjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0x
Ni4zLDAtMjkuNi0xMy4zLTI5LjYtMjkuNlY3NgoraC0zOHY1Ni41aC01MS45VjQwaDExMi40YzI1
LjUsMCw0Ni4zLDIwLjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45
LDY5LjgtNDIuMSw2OS44LTgzCitDMzk4LDM5LjgsMzYwLjIsMiwzMTMuOCwySDE4Mi40Yy0xMC41
LDAtMTksOC41LTE5LDE5djE1My42bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTku
NGMtNi43LDAtMTMsMy42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyaC0zOHYyNDIuN2MwLDguNiw1
LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0xMTEuOEwxNjYs
MjU0LjNjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1LTAuN2M4LjMt
Mi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEMyNTMuMywzMDcuNywyODMuNiwzMzgs
MzIwLjksMzM4eiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1saWdodGJsdWUt
Ymcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uMmY2MTY3MmRmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93
cHQtbG9nby1saWdodGJsdWUtYmcuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjIgNzYyIj4KKzxyZWN0IHg9
IjAiIHk9IjAiIGZpbGw9IiM3OEQ5RjQiIHdpZHRoPSI3NjIiIGhlaWdodD0iNzYyIi8+Cis8cmVj
dCB4PSIxODMuOSIgeT0iNTExLjQiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSIyMDEuNSIgaGVpZ2h0
PSIzOCIvPgorPHBhdGggZmlsbD0iIzAwM0M1NiIgZD0iTTUwNC45LDU0OS40YzM3LjMsMCw2Ny42
LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2
LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42CitWMjg3LjRoLTM4djU2LjVoLTUxLjl2LTkyLjZoMTEy
LjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0
MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK2MwLTQ2LjUtMzcuOC04NC4zLTg0LjMtODQuM0gzNjYu
NGMtMTAuNSwwLTE5LDguNS0xOSwxOVYzODZsLTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2
LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQKK2wtNDYuMiw3OS4yVjIxMy40aC0zOHYyNDIu
N2MwLDguNiw1LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0x
MTEuOEwzNTAsNDY1LjdjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1
LTAuN2M4LjMtMi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEM0MzcuMyw1MTkuMSw0
NjcuNiw1NDkuNCw1MDQuOSw1NDkuNHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxv
Z28tb3JhbmdlLWJnLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLW9yYW5nZS1iZy5zdmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZkZTJjMTVmMWIyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0
LWxvZ28vd3B0LWxvZ28tb3JhbmdlLWJnLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNzYyIDc2MiI+Cis8cmVj
dCB4PSIwIiB5PSIwIiBmaWxsPSIjRTg2RTQzIiB3aWR0aD0iNzYyIiBoZWlnaHQ9Ijc2MiIvPgor
PHJlY3QgeD0iMTgzLjkiIHk9IjUxMS40IiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhl
aWdodD0iMzgiLz4KKzxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAs
NjcuNi0zMC4zLDY3LjYtNjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42
Yy0xNi4zLDAtMjkuNi0xMy4zLTI5LjYtMjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42
aDExMi40YzI1LjUsMCw0Ni4zLDIwLjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5
LjFjNDAtNi45LDY5LjgtNDIuMSw2OS44LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNI
MzY2LjRjLTEwLjUsMC0xOSw4LjUtMTksMTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTku
NC0xNi40LTkuNGMtNi43LDAtMTMsMy42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2
MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1
LjItMTExLjhMMzUwLDQ2NS43YzMuNCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0w
LjIsNS0wLjdjOC4zLTIuMiwxNC05LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5
LjEsNDY3LjYsNTQ5LjQsNTA0LjksNTQ5LjR6Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dw
dC1sb2dvLXdoaXRlLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLXdoaXRlLnN2ZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGNhYjdiNTNlODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9n
by93cHQtbG9nby13aGl0ZS5zdmcKQEAgLTAsMCArMSw4IEBACis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM5OCAzNDAiPgorPHJlY3QgeD0iMCIg
eT0iMzAwIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxwYXRo
IGZpbGw9IiNGRkZGRkYiIGQ9Ik0zMjAuOSwzMzhjMzcuMywwLDY3LjYtMzAuMyw2Ny42LTY3LjZ2
LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5LjYtMTMuMy0y
OS42LTI5LjZWNzYKK2gtMzh2NTYuNWgtNTEuOVY0MGgxMTIuNGMyNS41LDAsNDYuMywyMC44LDQ2
LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2OS44LTQyLjEsNjkuOC04
MworQzM5OCwzOS44LDM2MC4yLDIsMzEzLjgsMkgxODIuNGMtMTAuNSwwLTE5LDguNS0xOSwxOXYx
NTMuNmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRjLTYuNywwLTEzLDMuNi0x
Ni40LDkuNAorbC00Ni4yLDc5LjJWMmgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQsMTguM2M4
LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMTY2LDI1NC4zYzMuNCw1LjgsOS43
LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05LjgsMTQtMTgu
M3YtNzQuMmg1MS45djk5LjhDMjUzLjMsMzA3LjcsMjgzLjYsMzM4LDMyMC45LDMzOHoiLz4KKzwv
c3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3cz
Yy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lNjE3
NjU5YjZjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1wb3J0LmxvZwpAQCAt
MCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1Ro
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy93cHQtcHItYm90LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVl
LnN2ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3dwdC1wci1ib3QtbG9nby1kYXJrYmx1ZS5zdmcg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQt
cHItYm90LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDY3MTJmYTIzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtcHIt
Ym90LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZwpAQCAtMCwwICsxLDUwIEBACis8
c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyB3aWR0aD0iMjYwIiBoZWln
aHQ9IjI2MCIgdmlld0JveD0iMCAwIDEyODAuMDAwMDAwIDEyNzYuMDAwMDAwIgorIHByZXNlcnZl
QXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgorPCEtLSBmcm9tIGh0dHBzOi8vc3Znc2lsaC5j
b20vaW1hZ2UvMzAzNDY1Lmh0bWwgLCBDQzAgLS0+Cis8bWV0YWRhdGE+CitDcmVhdGVkIGJ5IHBv
dHJhY2UgMS4xNSwgd3JpdHRlbiBieSBQZXRlciBTZWxpbmdlciAyMDAxLTIwMTcKKzwvbWV0YWRh
dGE+Cis8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMjc2LjAwMDAwMCkgc2NhbGUo
MC4xMDAwMDAsLTAuMTAwMDAwKSIKK2ZpbGw9IiMwMDNDNTYiIHN0cm9rZT0ibm9uZSI+Cis8cGF0
aCBkPSJNNTk3NSAxMjc0OSBjLTg2IC02IC0xNDQgLTE0IC0xNTEgLTIyIC02IC02IC00MSAtMTEx
IC03NyAtMjMyIC0zNworLTEyMSAtMTA3IC0zNTUgLTE1NyAtNTIwIC01MCAtMTY1IC0xMjMgLTQw
NiAtMTYyIC01MzYgbC03MSAtMjM3IC0xODggLTQ2CitjLTIxMyAtNTIgLTQ3NSAtMTM1IC02NTgg
LTIwOCAtNjggLTI3IC0xMzAgLTQ3IC0xMzcgLTQ0IC03IDMgLTMwMSAyMjEgLTY1MworNDg1IC0z
NTMgMjY1IC02NDUgNDgxIC02NDkgNDgxIC0xMyAwIC0yNTcgLTE0OSAtMzkyIC0yNDAgLTE5OCAt
MTMyIC0zNTkKKy0yNTQgLTU3OCAtNDM2IGwtMjUgLTIxIDI3MSAtNzQ2IGMxNTAgLTQxMSAyNzIg
LTc1MiAyNzIgLTc1OCAwIC02IC00MCAtNTYKKy04OCAtMTEyIC0xNzUgLTIwMiAtMzM3IC00MjAg
LTQ1NyAtNjE1IC0zMiAtNTIgLTY0IC05NiAtNzIgLTk5IC04IC0zIC0zNjYgNAorLTc5NiAxNiAt
NDMwIDEyIC03OTQgMjEgLTgwOCAyMSAtMjMgMCAtMzAgLTkgLTU2IC02NyAtNjEgLTEzNyAtMTQy
IC0zNTMKKy0yMDIgLTUzOCAtNjEgLTE4NiAtMTQ1IC00OTQgLTEzOCAtNTAyIDIgLTIgMzAzIC0y
MDQgNjY4IC00NDggNTYyIC0zNzcgNjY1CistNDUwIDY3MCAtNDczIDMgLTE1IDEgLTcyIC00IC0x
MjcgLTggLTk5IC0yIC01MjUgMTEgLTcwMiBsNyAtOTIgLTY2OSAtNDQ4CitjLTM2NyAtMjQ2IC02
NzIgLTQ1MCAtNjc3IC00NTMgLTkgLTYgMjMgLTE0NyA3MiAtMzIwIDcxIC0yNDkgMTgwIC01NTQg
Mjg0CistNzk0IGwxNiAtMzkgMTM3IDYgYzc1IDQgNDQwIDE0IDgxMCAyNCBsNjczIDE3IDI1IC0y
OSBjMTMgLTE3IDY4IC05NSAxMjAKKy0xNzQgMTEzIC0xNjkgMjIyIC0zMTQgMzUwIC00NjcgbDkz
IC0xMTEgLTI3NSAtNzUyIGMtMTUxIC00MTQgLTI3NCAtNzU3CistMjcyIC03NjEgNSAtMTQgMjEz
IC0xODUgMzYxIC0yOTYgMjI1IC0xNzAgNjA2IC00MTggNjMxIC00MTIgNyAyIDI5OSAyMTkKKzY0
OSA0ODIgbDYzNyA0NzkgNDcgLTE1IGMyNyAtOSA4NCAtMzAgMTI4IC00OCAxODMgLTc0IDM5MiAt
MTQxIDYxOSAtMjAwIDgxCistMjEgMTQ5IC00MCAxNTEgLTQyIDMgLTMgMjIyIC03MjQgMzg2IC0x
MjczIDM4IC0xMjYgNzMgLTIzOSA3OCAtMjUxIDggLTE4CisyNCAtMjIgMTM3IC0zMyAzMTQgLTMw
IDEwNzggLTIyIDExMTAgMTIgNiA3IDQxIDExMSA3NyAyMzIgMzcgMTIxIDEwNyAzNTUKKzE1NyA1
MjAgNTAgMTY1IDEyMyA0MDYgMTYyIDUzNiBsNzEgMjM3IDE4OCA0NiBjMjEzIDUyIDQ3NSAxMzUg
NjU4IDIwOCA2OCAyNworMTMwIDQ3IDEzNyA0NCA3IC0zIDMwMSAtMjIxIDY1MyAtNDg1IDM1MyAt
MjY1IDY0NCAtNDgxIDY0OSAtNDgxIDExIDAgMjUwCisxNDUgMzYyIDIyMCAyMDYgMTM3IDQyMiAy
OTkgNjA4IDQ1NiBsMjUgMjEgLTI3MSA3NDYgYy0xNTAgNDExIC0yNzIgNzUyIC0yNzIKKzc1OCAw
IDYgNDAgNTYgODggMTEyIDE3NSAyMDIgMzM3IDQyMCA0NTcgNjE1IDMyIDUyIDY0IDk2IDcyIDk5
IDggMyAzNjYgLTQKKzc5NiAtMTYgNDMwIC0xMiA3OTQgLTIxIDgwOCAtMjEgMjMgMCAzMCA5IDU2
IDY4IDYxIDEzNiAxNDIgMzUyIDIwMiA1MzcgNjEKKzE4NiAxNDUgNDk0IDEzOCA1MDIgLTIgMiAt
MzAzIDIwNCAtNjY4IDQ0OCAtNTYyIDM3NyAtNjY1IDQ1MCAtNjcwIDQ3MyAtMyAxNQorLTEgNzIg
NCAxMjcgOCA5OSAyIDUyNyAtMTEgNzAyIGwtNyA5MiA2NjggNDQ4IGMzNjggMjQ2IDY3MyA0NTAg
Njc4IDQ1MyA5IDYKKy0yMiAxNDYgLTcyIDMyMCAtNzEgMjQ5IC0xODAgNTU0IC0yODQgNzk0IGwt
MTcgMzkgLTE0MSAtNiBjLTc4IC00IC00NDMgLTE0CistODEwIC0yNCBsLTY2OCAtMTcgLTI1IDI5
IGMtMTMgMTcgLTY4IDk1IC0xMjAgMTc0IC0xMTMgMTY5IC0yMjIgMzE0IC0zNTAKKzQ2NyBsLTkz
IDExMSAyNzUgNzUyIGMxNTEgNDE0IDI3NCA3NTcgMjcyIDc2MSAtNSAxNCAtMjEzIDE4NSAtMzYx
IDI5NiAtMjI1CisxNzAgLTYwNiA0MTggLTYzMSA0MTIgLTcgLTIgLTI5OSAtMjE5IC02NDkgLTQ4
MiBsLTYzNyAtNDc5IC00NyAxNSBjLTI3IDkKKy04NCAzMCAtMTI4IDQ4IC0xODMgNzQgLTM5MiAx
NDEgLTYxOSAyMDAgLTgxIDIxIC0xNDkgNDAgLTE1MSA0MiAtMyAzIC0yMjIKKzcyNCAtMzg2IDEy
NzMgLTM4IDEyNyAtNzMgMjM5IC03OCAyNTEgLTggMTggLTI0IDIyIC0xMzcgMzMgLTE2NCAxNiAt
Nzc1IDIyCistOTU5IDEweiIvPgorPC9nPgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0iMTgzLjkiIHk9IjUx
MS40IiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxwYXRoIGZp
bGw9IiNGRkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0zMC4zLDY3LjYtNjcuNnYt
MTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAtMjkuNi0xMy4zLTI5
LjYtMjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40YzI1LjUsMCw0Ni4zLDIw
LjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45LDY5LjgtNDIuMSw2
OS44LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRjLTEwLjUsMC0xOSw4LjUt
MTksMTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTkuNGMtNi43LDAtMTMs
My42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEs
MTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMzUwLDQ2NS43YzMu
NCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05
LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3LjYsNTQ5LjQsNTA0Ljks
NTQ5LjR6Ii8+Cis8L3N2Zz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01FVEEueW1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L01FVEEueW1sCmluZGV4IGJjYjMwZWQyNzY2Li5kM2U0YzM4N2U4YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L01FVEEueW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9NRVRBLnltbApAQCAtMyw1ICszLDQgQEAgc3VnZ2VzdGVkX3Jl
dmlld2VyczoKICAgLSBBbWVsaWFCUgogICAtIGFubmV2awogICAtIGtlbnJ1c3NlbGwKLSAgLSBq
ZGFzaGcKICAgLSBmc2VyYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
Y29weS5odG1sCmluZGV4IGJjMmVkOWNlZTVlLi44MjRlMWVjYWVhYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5jYW52YXMuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7Ci0g
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1Iiwg
IjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUs
IDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSww
LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMuY29weS53b3JrZXIuanMKaW5kZXggMzVkZDNkOWZhY2YuLjEzZjg1YmM1Zjc5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnY29weSc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAy
NTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9w
Lmh0bWwKaW5kZXggYzM2YjIzMmI2ZGQuLjQ5ZGM2NDNmMDgyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0
aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMs
MTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKLSAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIs
ICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAy
NTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1
MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3Aud29ya2Vy
LmpzCmluZGV4IDE3MTgxY2I0MjI0Li43Y2RhYzg3NTNkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwx
NSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwotICAg
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUwLDI1Iiwg
IjEyOCwyNTUsMTI4LDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUw
LDI1IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbAppbmRleCBmNzI0OWU0
MDQyMC4uNjQ3ZTQ4NjZmNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1p
bjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rl
c3RpbmF0aW9uLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDI1NSw5NiwgIjUwLDI1IiwgIjAsMjU1LDI1NSw5NiIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcwppbmRleCAxMjUwNGY5NTBhNy4uMGZiZmM3NjFjNWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1
ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsK
LSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIs
ICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUs
IDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOworICAgICAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAi
MCwyNTUsMjU1LDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNDU0Y2Y3NTQ0YWMuLjQ2
MTE0YzY1NTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5kZXN0aW5hdGlvbi1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rlc3RpbmF0aW9uLW91dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3Rp
bmF0aW9uLW91dCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24t
b3V0Lndvcmtlci5qcwppbmRleCBlZDg4MzViZjZlMy4uNjU5ZDBlZmVlNDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRp
b24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUs
MTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0
JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwy
NSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAy
NTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwzMiwgIjUwLDI1
IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggODcyYmZlMDhj
OGMuLmE3Y2ZjMzA2YzUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsK
LSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0Niwy
MjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNh
bnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCmluZGV4IDhkMzUwYzVkZTkw
Li42NDhkYTc4Y2U5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIy
MyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdo
dGVyLmh0bWwKaW5kZXggNzgxYjZjMWRlZWYuLjE1MDEyZjIyMzJiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0
ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdsaWdodGVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEy
OCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRlcic7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwy
NTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCmluZGV4IDA2
MGM2YTNmZmEzLi41NDUwZmMzMWNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMubGlnaHRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2xpZ2h0ZXInOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUs
MTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdsaWdodGVy
JzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsMTI4
LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbAppbmRleCAyMmVl
ZGMwODEyMC4uMzBhZmI0OTQ3NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdz
b3VyY2UtYXRvcCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2
NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtYXRv
cCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0
LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpz
CmluZGV4IDAwMDViY2E0YzM3Li44YjhkMTgzMjEzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnc291cmNlLWF0b3AnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3Vy
Y2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1p
bi5odG1sCmluZGV4IDU2NGI4NjQ0NTdiLi43M2FlN2I3MTBlMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuc291
cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdzb3VyY2UtaW4nOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwg
MCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1
NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Ut
aW4nOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSww
LDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXgg
ODJhNTA4ZTc1MjUuLmE0YjlhNWI5OGFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1pbic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJj
ZS1pbic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1
LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sCmluZGV4IDQzMWQ2YmNm
MThlLi41ZjlmM2ZhMjI4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5jYW52YXMuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91
dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAs
MjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwg
MjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOworICAgICAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCBjZTE2ZDNiYzZhNi4u
MGZmZjAzM2IwOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdz
b3VyY2Utb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
OTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgy
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1
MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggMTIzYWE1ZTY0ZDYuLmVk
NDI4NDY2Y2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5zb3VyY2Utb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLnNvdXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLmNhbnZhcy5zb3VyY2Utb3ZlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXIn
OwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAs
MjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1
LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOworICAgICAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwy
NSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcwppbmRleCBiNWRj
ZmZmM2NkNS4uYjBiYzVjNTEzNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdmVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbAppbmRleCA0OWFlNmMwOGM2
OC4uMmRmNTEzMjMzMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
Lnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuY2FudmFzLnhvcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnhvcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41
KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAneG9yJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3hvcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1
LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53b3JrZXIuanMKaW5kZXggZjNkNTAy
NTVhYzUuLjlmYTU1MDU3NWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNhbnZhcy54b3Iud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7Ci0g
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIs
ICIxOTEsMjU1LDY0LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOworICAgICAgICBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1
LDY0LDEyOCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHku
aHRtbAppbmRleCA0NzYxYjA0N2E2OC4uOGYwY2FhNDRlYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuY29weTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUuY2xpcC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0
IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBp
eGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS53b3JrZXIuanMKaW5kZXgg
ZmM0YTRjYjU4ZDEuLjI1Njk2NGEwYTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCBhYTg2M2QxNWM3Ni4uN2IyODQyZDIx
ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5h
dGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkg
ZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9l
cyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
NTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAu
ZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggNmM1ODA3ODg5ZWQuLmI0MGI4
ZjE1YWNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVz
dGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IDNiZGUzZmY3YzVmLi42YWQ0YmM0
YjUzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3Rp
bmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBu
b3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3Qg
YWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICsz
MCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBiY2NmM2E4ODY5YS4uZWRjMGU5ODdhNTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1p
bi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMg
bm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLW91dC5odG1sCmluZGV4IDVkZWQwYjM2MTU0Li4zZDNlNjZiYTY2NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1v
dXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRl
c3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVj
dCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBw
aXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRp
b24tb3V0Lndvcmtlci5qcwppbmRleCBmZWUxMTNhMWM2MS4uNWM2YTM3YTQyNDEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlv
bi1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3Qg
YWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGlu
YXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3Rp
bmF0aW9uLW92ZXIuaHRtbAppbmRleCA0Nzc2ZTBlMjE2MC4uZjgxN2IzODgwNGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92
ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5k
ZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZm
ZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0
IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24t
b3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGlu
YXRpb24tb3Zlci53b3JrZXIuanMKaW5kZXggNTExNjg0NDExM2QuLmNiMTNiM2Q1ZTI0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zl
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3Rp
bmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9l
cyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
NTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAu
bGlnaHRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIu
aHRtbAppbmRleCBiZjFjZDhiYjFiNC4uMDA3OTY2ZTBjMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdodGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlcjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5jb21wb3NpdGUuY2xpcC5saWdodGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9l
cyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBu
b3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3
ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGln
aHRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRl
ci53b3JrZXIuanMKaW5kZXggZTllOWZjOWNkNjMuLjg0MGQxMGY5MTM1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3AuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC5odG1sCmluZGV4IDNhMGYwZGY1
ZGU2Li4yYjAwMDAxZTY5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBu
b3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3Qg
YWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICsz
MCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJj
ZS1hdG9wLndvcmtlci5qcwppbmRleCBhNmUwZmRjZjgyOC4uZGFmNWU5NjBiMmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBw
aXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1sCmluZGV4
IDE1ZTBhZWU1NTMyLi42ODA5YzgwOWY1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5jbGlwLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMg
bm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90
IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyAr
MzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJj
ZS1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LWluLndvcmtlci5qcwppbmRleCA2YjUyMGMxYjM5Mi4uODFlOGVjMTllZGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBv
dXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbAppbmRleCA5N2Rl
NDJkOWJhMy4uYTFjOWMzYzZiMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBu
b3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3Qg
YWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICsz
MCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LW91dC53b3JrZXIuanMKaW5kZXggNzJhOGYyOTExYmIuLjRmYmVhNWMyYmUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVs
cyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci5odG1sCmluZGV4
IDlhYzIzMWQ2YTQ1Li44MzY4MDZmMjlhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkg
ZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSww
LDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNs
aXAuc291cmNlLW92ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
bGlwLnNvdXJjZS1vdmVyLndvcmtlci5qcwppbmRleCBhNTk0NjI2NjUxNC4uY2YwNGIxZTM4YWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zl
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJj
ZS1vdmVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90
IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sCmluZGV4IGZi
OTk1ODQ4ODhjLi5jYTM0Y2NlOWMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC54b3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmNsaXAueG9yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLnhvcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0
aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUg
Y2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAueG9yLndvcmtlci5qcwppbmRleCA2Mjk5NjgwMjlhMC4uM2JmOTJk
NmUxM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBp
eGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRt
bAppbmRleCAwY2NmZWE5YTZlZC4uZmU5ODJhYzNlOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmNhbnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwg
YWxwaGE9MCBvcHRpbWlzYXRpb25zCiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAs
MjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52
YXMud29ya2VyLmpzCmluZGV4IGFiOGE2NDI0YWNkLi5kMDNhNDU5Yjg0MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAv
LyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNjb3B5Lmh0bWwKaW5kZXggZjc5N2M2Mzc2NDkuLmVhMGIx
ZDliYmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmNhbnZhc2NvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmNhbnZhc2NvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdjb3B5JwogY3R4Lmdsb2JhbEFscGhhID0gMC41MTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVu
Q2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwxMzAsICI1MCwyNSIsICIwLDI1NSwwLDEzMCIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmNhbnZhc2NvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5jYW52YXNjb3B5Lndvcmtlci5qcwppbmRleCBiYzhkYWFmOTFhZC4uMDVjNDRj
NzA4NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuY2FudmFzY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5jYW52YXNjb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2NvcHknCiBjdHguZ2xvYmFsQWxwaGEgPSAwLjUxOwogY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDEzMCwgIjUwLDI1IiwgIjAsMjU1LDAsMTMwIiwgMik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuY2FudmFzcGF0dGVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLmh0bWwKaW5kZXggZWE2YzVhYzJkNjguLjExYjI3MGY0
MTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmNhbnZhc3BhdHRlcm4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmNhbnZhc3BhdHRlcm4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm48
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm48L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9IGN0eC5j
cmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhczIsICduby1yZXBlYXQnKTsKIGN0eC5nbG9iYWxB
bHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25z
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcwppbmRl
eCAwOGI1ZDZhZDlkYi4uOTZiMDA5MjQ5ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBj
dHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJl
cGVhdCcpOwogY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBh
bHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1
IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKaW5kZXgg
NmExNWMwYzg5NzguLjE5NzM5Yjg3ODNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1
bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMS4wLCAiY3R4Lmdsb2JhbEFscGhh
IiwgIjEuMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCBj
OTYxOTI4Mjg0ZS4uYjEyMjZiOGEyZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiAr
NCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAxLjAsICJjdHguZ2xv
YmFsQWxwaGEiLCAiMS4wIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsLmh0bWwKaW5kZXggMTNhY2RhZmZm
ZjUuLjFiNzYxNWJlZjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmZpbGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGw8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmZpbGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlh
bCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5maWxsLndvcmtlci5qcwppbmRleCBkMmZiZjA4MjdiNC4uYWFjYzQzYzQ0NTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmls
bC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5maWxsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgs
NyArMjIsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFs
IGFscGhhPTAgb3B0aW1pc2F0aW9ucwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW1hZ2UuaHRtbAppbmRleCBmMjRlMDZhMDhlNC4uNWQ1ODZhMTkxZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5pbWFnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2U8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDExICszMywxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIs
ICIyLDI1MywwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS53b3JrZXIuanMKaW5kZXggNDk3NDY4N2U4ZDIu
LmY2NDVhOGU1NTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmltYWdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAi
NTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1h
Z2VwYXR0ZXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmltYWdlcGF0dGVybi5odG1sCmluZGV4IDMzZmEyM2E4Zjk3Li4wYzc3OTY1ZjdhOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRl
cm4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlt
YWdlcGF0dGVybi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDEzICszMiwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFu
eSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCi0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVh
dCcpOworICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50
aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4u
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFn
ZXBhdHRlcm4ud29ya2VyLmpzCmluZGV4IGQ4MDVmNjlmNDdjLi44NDQxZGMyNzVkNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRl
cm4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuaW1hZ2VwYXR0ZXJuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsMTMgKzI4LDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNl
LCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55
IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0
Jyk7CisgICAgICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRp
YWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQuaHRtbAppbmRl
eCBmNDIyY2ZlYTIzMy4uMDIyOTc3NThjNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52
YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAtSW5m
aW5pdHk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEi
LCAiYSIpOwogY3R4Lmdsb2JhbEFscGhhID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFs
cGhhLCBhLCAiY3R4Lmdsb2JhbEFscGhhIiwgImEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlk
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52
YWxpZC53b3JrZXIuanMKaW5kZXggMDk1Yjk0NDZiN2YuLjFhYjMzZTljNWJjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxp
ZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gLUluZmluaXR5OwogX2Fzc2VydFNhbWUoY3R4Lmdsb2Jh
bEFscGhhLCBhLCAiY3R4Lmdsb2JhbEFscGhhIiwgImEiKTsKIGN0eC5nbG9iYWxBbHBoYSA9IE5h
TjsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgYSwgImN0eC5nbG9iYWxBbHBoYSIsICJh
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2UuaHRtbAppbmRleCBiZGUxNWUyZDhjNy4uOGJjNDQwZDcw
MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
cmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LnJhbmdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5nZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEucmFuZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYg
QEAgY3R4Lmdsb2JhbEFscGhhID0gMDsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMCwg
ImN0eC5nbG9iYWxBbHBoYSIsICIwIik7CiBjdHguZ2xvYmFsQWxwaGEgPSAxOwogX2Fzc2VydFNh
bWUoY3R4Lmdsb2JhbEFscGhhLCAxLCAiY3R4Lmdsb2JhbEFscGhhIiwgIjEiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9i
YWxBbHBoYS5yYW5nZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLnJhbmdlLndvcmtlci5qcwppbmRleCBmMzhlZTU2ZjlhNy4uNTAzOGQ2M2RhMGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEucmFu
Z2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEucmFuZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFs
QWxwaGEsIDAsICJjdHguZ2xvYmFsQWxwaGEiLCAiMCIpOwogY3R4Lmdsb2JhbEFscGhhID0gMTsK
IF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMSwgImN0eC5nbG9iYWxBbHBoYSIsICIxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2UuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5jb3B5Lmh0bWwKaW5kZXggMzAwMWFhMWM0OTEuLmI0OTQ0YTc2YzEwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmNvcHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmltYWdlLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkxIiwgNSk7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMK
aW5kZXggMDQ3NmUzYTExNDkuLjQ5M2VlMGI0MDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
MTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAs
MTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggMmIxOGMzNmM3MTAuLjc5ZWNmY2RmOTVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0
aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1
MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwx
OTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCBiNTg3MDA0N2EyYi4u
ZDM2ZWQ1MGEwMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwy
NTUsMTI4LDE5MSwgIjUwLDI1IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUwLDI1Iiwg
IjEyOCwyNTUsMTI4LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggY2ZkZTgwMTQ5NmYuLmVm
MjA1ZjFiOTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24taW48L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAs
MjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5h
dGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBlZmY2NDc1YTVkYS4uNjBlYjYxOTUxY2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24t
aW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAi
MCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91
dC5odG1sCmluZGV4IDFmNzA1MTE5YWRiLi5lY2ZlZWVkNmJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlv
bi1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIs
ICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMK
aW5kZXggZmRhNzNkOTJmYzIuLmVlOTdkY2NmN2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAi
NTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggMWIyMWQy
ZDlmNTMuLmViNThiMzE1OTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwy
NSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwpp
bmRleCA2MjA5MTFkZDRmMC4uMjc0YzMyYzg5MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAg
fTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEwOSwyNTUs
MTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci5odG1sCmluZGV4IGY4OThlNDQ3NjI0
Li40OTM1Y2EzYzQxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5saWdodGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5saWdodGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5s
aWdodGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTkxLDI1NSwxMjgsMjU1LCAiNTAsMjUiLCAiMTkxLDI1NSwxMjgsMjU1
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1
NSwxMjgsMjU1LCAiNTAsMjUiLCAiMTkxLDI1NSwxMjgsMjU1IiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKaW5k
ZXggNTc0ZGU1YzM0MDguLjA1ZTM5Zjk1NjQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1
LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIx
OTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sCmluZGV4IDAxMmQ4OTIwMTU5Li45M2E1MjdkZTI0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Ut
YXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNl
LWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2UtYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTEgKzM0LDEx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwx
MjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEs
MjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLndvcmtl
ci5qcwppbmRleCBiMTU5YTdkMGE1Yy4uNWZkZGZjZmQ4YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3Aud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4
LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwKaW5kZXggZjQxZmM0YWExMGQuLjI1
MTlmZTcyZDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
c291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdl
LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTEgKzM0LDEx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUs
MCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcwppbmRleCA3
ODlmY2I5MDM5ZC4uYTVjYThkOTJlOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1
LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAs
OTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNv
dXJjZS1vdXQuaHRtbAppbmRleCA5MTg2MGU3ODc5NS4uZjU3MzkzYjhjMWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1h
Z2Uuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1
NSwyNTUsMCw5NiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDU4M2QyMjIyZTdiLi4xMDM4
ZWM1YmNmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUi
LCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIuaHRt
bAppbmRleCBiOGU1MmNhYzBhZC4uOTZjNTI1MmViNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Ut
b3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1
LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTks
MjU1LDM2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci53b3JrZXIuanMKaW5kZXggYjQ1OTMzOWU0ZmQuLjU1
YzBmMGViOWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLnNvdXJjZS1vdmVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAi
NTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIz
IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
eG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci5odG1sCmlu
ZGV4IGQwNTA3MTFkYTFlLi42MDM5Mjc1YmYwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UueG9yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFn
ZS54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4Iiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2
NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLndvcmtlci5qcwppbmRleCBiZDc3Nzg1YjU1
OC4uYzRlMjBmZmU1MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UueG9yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5
MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vu
c2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNl
c2Vuc2l0aXZlLmh0bWwKaW5kZXggN2M3MDE2ZTRkZTQuLjQxZDMxMjg3ZjcxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNp
dGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jYXNlc2Vuc2l0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnU291cmNlLW92ZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4
b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMKaW5k
ZXggMDkxZGZkNjFiYmYuLmZhMGI2MDJmZGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ1Nv
dXJjZS1vdmVyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4
b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24u
Y2xlYXIuaHRtbAppbmRleCBjYjE1MjA0YWM2MS4uNzQ2YWIyNjBiNTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5jbGVhcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9y
JzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY2xlYXInOwogX2Fzc2VydFNhbWUo
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ2NsZWFyJywgImN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24iLCAiJ2NsZWFyJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci53b3JrZXIuanMK
aW5kZXggMWVmZDE0OTRlNjAuLjcxNDlmZTkzYWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY2xlYXInOwogX2Fzc2Vy
dFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ2NsZWFyJywgImN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24iLCAiJ2NsZWFyJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci5odG1sCmlu
ZGV4IDFmNGNmYjA3YTY1Li4xNjE2MTFkYWI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGFya2VyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLndvcmtlci5qcwppbmRleCAyYjI4
MmY1NjQwYS4uNmI4ZTMwNGZkOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmRhcmtlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7
CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rhcmtlcic7CiBfYXNzZXJ0U2FtZShj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5odG1sCmluZGV4IGIxMTRl
MTQ5NDc5Li5hYWRmYjVkYzYxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2Vy
dFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3NvdXJjZS1vdmVyJywgImN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3NvdXJjZS1vdmVyJyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IDkwNmYxYmIzMzkwLi4yYWQ4MGE2NDZiNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVm
YXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICdzb3VyY2Utb3ZlcicsICJjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uIiwgIidzb3VyY2Utb3ZlciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRtbAppbmRleCBl
M2M4ZjllZTJmYi4uNmU3YWI1NTU3MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUub3BlcmF0aW9uLmdldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmdldC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmdldDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IG1vZGVzLmxlbmd0aDsgKytpKQogICAgIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBtb2Rlc1tpXTsKICAgICBfYXNzZXJ0U2FtZShjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBtb2Rlc1tpXSwgImN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24iLCAibW9kZXNbXCIiKyhpKSsiXCJdIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29y
a2VyLmpzCmluZGV4IDJkZDUwZmE2ZDk3Li40NmNlZTBiOWYxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGZvciAodmFyIGkgPSAw
OyBpIDwgbW9kZXMubGVuZ3RoOyArK2kpCiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9IG1vZGVzW2ldOwogICAgIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24sIG1vZGVzW2ldLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJtb2Rlc1tcIiIr
KGkpKyJcIl0iKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQuaHRtbAppbmRleCAxYmZkYjNi
MTY1Ny4uMDRlMzI0ZmJmY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmhpZ2hsaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2hpZ2hsaWdodCc7CiBfYXNzZXJ0U2FtZShjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMK
aW5kZXggZmFjNjRmY2UxMzUuLmI1NDE3ZjA2ZGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdoaWdobGln
aHQnOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51
bGxzdWZmaXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51
bGxzdWZmaXguaHRtbAppbmRleCA3ZTFkNjVjMzNiNi4uMzJhMGM2NjdjODQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51
bGxzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdzb3VyY2Utb3ZlclwwJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5udWxsc3VmZml4Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXgud29ya2VyLmpzCmluZGV4IDgzMWY5NDc3NDE4Li41
OTRmNDJlYjllOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24ubnVsbHN1ZmZpeC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwog
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3ZlclwwJzsKIF9hc3NlcnRT
YW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwKaW5kZXggNzFhMzQ0
NTRiYmYuLjczOTA5ZjMyNjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24ub3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXI8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnb3Zlcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
LCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24ub3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5vdmVyLndvcmtlci5qcwppbmRleCA4OWMyNjM0NWYzYy4uYjM4MTNmMjM2NmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnb3Zlcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAn
eG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24udW5yZWNvZ25pc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi51bnJlY29nbmlzZWQuaHRtbAppbmRleCAzNmU5OTBmZjA1ZC4uYWIyYmFmNGVjMTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVj
b2duaXNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9u
LnVucmVjb2duaXNlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ25vbmV4aXN0ZW50JzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtlci5q
cwppbmRleCA1OTgwZDE2NmEwZS4uNGU4ZGI0MTVhNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J25vbmV4aXN0ZW50JzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24s
ICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS5o
dG1sCmluZGV4IDk4ZmQ1ZDIyNDY0Li5kN2E1NWU3ODZjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5zb2xpZC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsy
Nyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUs
MCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkud29ya2VyLmpz
CmluZGV4IDQxMjQ5NjcxMzY1Li4xODE0OTg3M2M3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnY29weSc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1Iiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggYTNiNjQ1ZjlkNWIu
LjQwNDhlNjkxNjAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3A8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1
NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKaW5kZXggYmIyYmY1YTMxNjkuLjBkZTIwOTU4NzEwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYg
QEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IDQwZGJiNGM3ZjA2Li4wNzQxZDQxMGU4NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1pbi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24t
aW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBiNTQyMDhmNjZjZS4uMGU5ZDkzYTI3
MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24taW4nOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRleCA2MjE3MWVjYWM5ZS4u
NzczMmU0NDE1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnZGVzdGluYXRpb24tb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwg
MS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGZiY2Q3NWQ2
MWE4Li5lYWVjYWFhYTNlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1
LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggMTQ2Njlk
NmJhNGIuLmZlMzg4MzdjM2VkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9u
LW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgy
NTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zl
ci53b3JrZXIuanMKaW5kZXggNzZkMGRmMjU4MzQuLmFiMmI5ZDcwM2I0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24t
b3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcg
KzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVy
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxp
Z2h0ZXIuaHRtbAppbmRleCBhZjc1NzJhMGQ5NS4uNjlhYzUzNTM4NDggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQubGlnaHRl
cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2xpZ2h0ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUi
LCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQubGlnaHRlci53b3JrZXIuanMKaW5kZXggMzQ0YTVhM2I3NGIuLmE4MWUz
NDAwNGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxp
Z2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
bGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5
LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdsaWdodGVyJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
c291cmNlLWF0b3AuaHRtbAppbmRleCAwODJkNDIxNWE0ZC4uNTkyMzc5OWE3ZWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3AuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS5zb2xpZC5zb3VyY2UtYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3A8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwyNTUsICI1
MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC53b3Jr
ZXIuanMKaW5kZXggYzJkMGYwZTEyYzMuLmEzMzVlYWVjZjAyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKaW5kZXgg
YzM1NTI2ODZiMzIuLmUyZjMzOGU0YzQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW48L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1p
bic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuc291cmNlLWluLndvcmtlci5qcwppbmRleCBkZTk0ZDFlZWEzZS4uYzMzNjI4NjE0YmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWlu
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJj
ZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcg
KzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAy
NTUsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNl
LW91dC5odG1sCmluZGV4IDg5ZmNjZmViY2Q3Li5iYzI0MGMyMGJkOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5z
b3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnc291cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUs
IDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDc2ZTZhZGMxNzRhLi5h
NTc1NTRhNDQxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
c291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLW92ZXIuaHRtbAppbmRleCBkZTIyMDZmNTRlYi4uOWU5YmM5ZDFlMDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5z
b2xpZC5zb3VyY2Utb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwyNTUsICI1MCwy
NSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci53b3JrZXIu
anMKaW5kZXggZWRiZDYyOGEyMmMuLmFhYzViYmVkMDJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3IuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLmh0bWwKaW5kZXggOGQ0OGZmOGRiZWYuLjQ3
ZGY3MjYwMzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
Lnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS5zb2xpZC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnhvcjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
eG9yLndvcmtlci5qcwppbmRleCBhMjQ1OTUxNzFkOS4uNjZkZjI2M2I5NTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnhvci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAw
LCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuY29weS5odG1sCmluZGV4IGNmMjU2YTlkMDRhLi5kZDMzOTBlZTI2NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5j
b3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSwxOTEsICI1MCwyNSIs
ICIwLDAsMjU1LDE5MSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtlci5qcwppbmRl
eCA4ZmIzNWFiNDNjMi4uNjc2MjcyMzhkMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ2NvcHknOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43
NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsMTkxLCAiNTAsMjUiLCAiMCwwLDI1NSwxOTEi
LCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRl
eCAwNGJmY2E1ZTY4MC4uZmViM2JlYjY1NmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9u
LWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMTI4LDEyOCwxOTEsICI1MCwyNSIsICIwLDEyOCwxMjgsMTkxIiwgNSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmlu
ZGV4IGJjMDM2YjIyNWFiLi5lY2UwZTVjZjE5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0
b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwxOTEiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGU0MjljMmJkZWFmLi5kMDk0
YWVlM2ZmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0
aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDk2LCAiNTAsMjUi
LCAiMCwyNTUsMCw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRp
b24taW4ud29ya2VyLmpzCmluZGV4IGY5ZWU2ZDIxM2FiLi42N2M2YjVmODE5MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1p
bi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0
aW5hdGlvbi1pbic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCw5NiwgIjUwLDI1IiwgIjAsMjU1LDAsOTYiLCA1KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggYTgwYTNhOTE3
MjguLjE3NmU1MGRkMTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5kZXN0aW5hdGlvbi1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0
aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwzMiwgIjUwLDI1IiwgIjAsMjU1LDAsMzIiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5h
dGlvbi1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGY2MWFjMGZkN2RmLi4wMTZjNTBl
ZjFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwg
MCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwzMiwgIjUwLDI1IiwgIjAs
MjU1LDAsMzIiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIu
aHRtbAppbmRleCA4N2FkY2NmNTlhMi4uNmJhNWUwY2RiYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3Zlci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24t
b3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3ZlcjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3ZlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rl
c3RpbmF0aW9uLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMTQ2LDEwOSwyMjMsICI1MCwyNSIsICIwLDE0NiwxMDksMjIz
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIud29y
a2VyLmpzCmluZGV4IDExNjBlNzNkODQ0Li5kZGE3NGY4MTY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3Rp
bmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRp
b24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1IiwgIjAsMTQ2LDEwOSwyMjMiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbAppbmRleCA5YWU1ZGRlYmE5Yi4uZTA2ZmU5MWI5
NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
bGlnaHRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlcjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMs
NyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2xpZ2h0ZXInOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MTI4LDE5MSwyNTUsICI1MCwyNSIsICIwLDEyOCwxOTEsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQubGlnaHRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzCmluZGV4IDhkYTExNGM5YjJiLi45M2VhZjFjMTBkYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdo
dGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmxpZ2h0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRlcic7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwxMjgsMTkxLDI1NSwgIjUwLDI1IiwgIjAsMTI4LDE5MSwyNTUiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2UtYXRvcC5odG1sCmluZGV4IGJkYjI4M2NiYTAzLi43Y2U0YmY1MjAy
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2UtYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLndvcmtlci5qcwppbmRleCBh
MDNlMmU0YTMzMC4uNmQ0ZmQxZWEyMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Aud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsNjQsMTkxLDEyOCwgIjUw
LDI1IiwgIjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtaW4uaHRt
bAppbmRleCAzZmI4MzBhZTU2NC4uNzI3ZjI2ZjQwMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtaW4uaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWlu
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDk2LCAiNTAsMjUi
LCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi53b3Jr
ZXIuanMKaW5kZXggZjQ5NTM5YjU5ZTEuLmVjZDhhYTVkZmJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1pbi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtaW4ud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDk2
LCAiNTAsMjUiLCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91
dC5odG1sCmluZGV4IGIzNDA1YmIwZmFkLi5lZDQ0N2Q3ZjJkMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSw5
NiwgIjUwLDI1IiwgIjAsMCwyNTUsOTYiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLW91dC53b3JrZXIuanMKaW5kZXggYWZhMWFkZjE0YWEuLjI0M2M4YjM1ZGE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
c291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3V0
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMjU1LDk2LCAiNTAsMjUiLCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggY2MxZTk1MzMwOTYuLmJiNGIyODg5ZWVjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJj
ZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5zb3VyY2Utb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMzYsMjE5LDIyMywgIjUwLDI1IiwgIjAsMzYsMjE5LDIyMyIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIud29ya2VyLmpzCmluZGV4IDgxNTNl
MTc2YTg3Li5iYTgwNGI1MGJmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwzNiwyMTksMjIzLCAiNTAsMjUi
LCAiMCwzNiwyMTksMjIzIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci5odG1sCmluZGV4IDNmOThlNzhh
M2M2Li43NjAwMjMzNmJmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50Lnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcg
KzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsNjQsMTkx
LDEyOCwgIjUwLDI1IiwgIjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci53
b3JrZXIuanMKaW5kZXggNTg2MzRiZDZlOGUuLjUxZjhlYjJhNWE4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC54b3Iud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAw
LCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIw
LDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkuaHRtbAppbmRleCA0OWE3
MzgyMGEwNS4uMzQxOGRmZGYwOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBh
cyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAs
MCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwog
Y3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkud29ya2VyLmpzCmlu
ZGV4IDllY2JmNWQ0NjFmLi43NGJiMzRhMTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRo
ZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhl
bHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJl
Y3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZp
bGwuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggYmY0MWNlNjE1MTYuLjQ4
NjQ5OTVkM2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxs
LmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3Qg
Y292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUp
OwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5q
cwppbmRleCAzZjFhZjNkN2Q1Yy4uNTVlNThjODlhNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0
aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50
cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0
bWwKaW5kZXggZTI3YzcwYTIzNGEuLjFjYjZkMjYzOTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlv
bi1pbi5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9
ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5maWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmpl
Y3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQu
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjksNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1
LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBmZTFhZTY1NmJhOC4uYjk2MWZkNTM5
NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZp
bGwuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwg
NTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291
cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxs
LnNvdXJjZS1pbi5odG1sCmluZGV4IDY2YjBkNjQxOTY5Li5mZDllY2M1YzUzMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNv
dXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xh
dGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMKaW5k
ZXggNDJlMWZmMDM3ZTQuLmY2Y2FhY2U1NGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3Zl
cmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBj
dHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggNWM4MGMzZjczZjUuLjU3OGEx
YTRiZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1v
dXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVj
dCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUs
IDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCww
LCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5z
b3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA2ZjczODcwNDM4ZC4uNmRiMTc1N2QxYjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNl
LW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmls
bCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCww
LDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsK
IGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwKaW5kZXggNzMz
YTUxMzU4NzcuLjFlMWNhYjY0YjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNv
cHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ug
b2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFu
Z2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwg
MTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIs
IDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkud29ya2VyLmpz
CmluZGV4IDc4OTgwNjZkZjM5Li43MDE5MjcwY2Q2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292
ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2
ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCww
LDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwg
IjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCA5MjI0ZTc0ZTBhYS4uYmM2YWMz
ZWUyYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdl
LmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBw
aXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQg
ZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0
LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwg
IjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwg
MTAsIDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUs
MTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMK
aW5kZXggYzI3OTk2MDVlMDEuLmFhYWUxOTgyN2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0
aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdl
KCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAs
MCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAs
IDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUs
IDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEw
LCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXgg
NTEwMmIxOTQxZGYuLjM0MTBhYTQyYWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0lt
YWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgw
LDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFn
ZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCww
LDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUw
LCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1
LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAx
MCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzCmluZGV4IDlhMTA5MGRhNzEyLi4xNDBlMjFkOGVhZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdl
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0lt
YWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgw
LDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwg
NTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUs
MTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAs
IDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUw
LDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4uaHRtbAppbmRleCAwZDJhODk4
YjEwZS4uOTc5ZjBhYTkzZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmlt
YWdlLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1p
bjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3Zl
cmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJl
ZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAs
MCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1
LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291
cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggMDMwNzBiNGU5OTMuLjRhOTE0NzBhYTAx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFn
ZS5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEw
LCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0
MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbApp
bmRleCAyNjU5MDJiM2NkNi4uY2U3MjAzMmM1ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBw
aXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQg
ZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0
LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwg
IjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwg
MTAsIDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUs
MTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNDFiM2Zh
NTc2M2MuLjRjMDU0Y2IyOWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3Zl
cmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEyICszMCwxMiBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAs
MCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAg
Y3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAi
MTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5jb3B5Lmh0bWwKaW5kZXggOTI0MjJmNThmNjQuLmQyNGY2YjRkYmEyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHk8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdl
KCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBh
IGNhbnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzCmluZGV4IDc1Nzc4ZjQ0Y2I3Li5iNTQw
MDIwMTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBp
eGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnY29weSc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGlu
YXRpb24tYXRvcC5odG1sCmluZGV4IGIwNThjNmZiYjQ3Li4yMmE4YmRkYTdkNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3Rp
bmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGEg
Y2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMg
d2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcwppbmRleCAwZWVlNTFhYjBmMy4uYjgxMzAzMzk0ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9w
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5u
b2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMg
YXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rl
c3RpbmF0aW9uLWF0b3AnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5k
ZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGQ5YjlkYzNmNjQwLi45N2FmNjczMTUwNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRl
c3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRl
c3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNhbnZh
cyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90
IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGgg
bm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9j
b250ZXh0LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXgg
ODMxNjM2NTVhOTIuLmFhY2Q5NmY1NTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0
aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgp
IG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBh
bmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyAr
MjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsK
IHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0
eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCmluZGV4IGZj
NTJkMTA5NGZkLi4zOTA0YWQ1NGFhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkg
b2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNh
bnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGNjYTFi
MWJkMzQ1Li5jYjEwNzBiMzdlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdp
dGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCmluZGV4IGI1NTVjNjUzMDY3Li43MDc4OWY0
ODZmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNv
dXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdp
dGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBj
b250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUg
cGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5z
b3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA0MGQ3Y2M4NTEzMi4uNzI2
YzNhODBjNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29u
dGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29w
eS5odG1sCmluZGV4IDBhNjdhNDVmODNmLi44NGE1Mzg4NzhmNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwx
MiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwot
ICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHkud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5q
cwppbmRleCBlYTRmNDdmYjgyMy4uYjhhMmUyMDM0MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEyICszMCwxMiBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5m
aWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAg
IGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9u
LWF0b3AuaHRtbAppbmRleCAwYjI5MGQ2MGFhYy4uYzdjMjBiYjM5MmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24t
YXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRp
b24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24t
YXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5v
dCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90
IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBu
b3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5v
dCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmls
bFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBj
dHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAs
ICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggZjMyODExZTI1YmMuLmExYTJlYjg1NDhmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRl
c3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBi
eSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUg
cGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQn
KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4uaHRtbAppbmRleCA4
OGVjODk3YTYyZS4uNTA1OGM3NWJjZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWlu
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBv
YmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5n
ZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUw
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0
eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggMDgw
MGYwYmY3ZTUuLjJhYjcxM2I5NDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJh
d3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwg
YW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEy
ICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVh
dCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0
ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEw
MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWlu
Lmh0bWwKaW5kZXggNzhkMWZhZDY1YTEuLjRiZWIzZmIyNGI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNl
LWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVy
biBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFz
ICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRl
cm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBh
cyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9u
c2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5z
b3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQucGF0dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGEzNGQ4ZjZkNmVlLi5jNGU2Yzg1
Y2QyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
cGF0dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRo
ZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhl
bHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3Jl
YXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1
MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCww
LDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQuaHRtbAppbmRleCA0NzIzN2UzZGJjMi4u
OTA3Yzc3YWE0NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291
cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVs
cyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRt
YXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91
dC53b3JrZXIuanMKaW5kZXggYmI0NTE0ZTRlMzEuLjZhYmI2NmE5NTFhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRl
cm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBh
cyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9u
c2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS5odG1s
CmluZGV4IGVjMjRhMTljMTczLi4wMWIzZmY5YzY1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1h
bmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9y
bWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb29yZGluYXRlc3BhY2U8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29vcmRpbmF0ZXNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Db29yZGluYXRlIHNwYWNl
IGdvZXMgZnJvbSB0b3AtbGVmdCB0byBib3R0b20tcmlnaHQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj5UaGlzIHNob3VsZCBub3QgYmUgdXBzaWRlIGRvd24uCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb29yZGluYXRlIHNwYWNlIGdvZXMgZnJvbSB0b3At
bGVmdCB0byBib3R0b20tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwyNTUsMjU1LCAiMjUsMTIiLCAiMCwyNTUs
MjU1LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMCwyNTUs
MjU1LCAiNzUsMTIiLCAiMCwwLDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDM3LCAwLDAsMjU1LDI1NSwgIjI1LDM3IiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwwLDI1NSwyNTUsICI3NSwzNyIsICIwLDAs
MjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFu
Y2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9y
bWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMKaW5kZXggN2Nh
ZDk3YjJkZmIuLmMzOWE2YTQ0MzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWly
ZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNl
LXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5UaGlzIHNob3VsZCBub3QgYmUgdXBzaWRlIGRv
d24uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJDb29yZGluYXRlIHNwYWNlIGdvZXMgZnJvbSB0b3AtbGVmdCB0byBib3R0b20tcmlnaHQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEy
LCAwLDI1NSwyNTUsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMCwyNTUsMjU1LCAiNzUsMTIiLCAiMCwwLDI1NSwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAsMjU1LDI1NSwg
IjI1LDM3IiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwzNywgMCwwLDI1NSwyNTUsICI3NSwzNyIsICIwLDAsMjU1LDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3Np
bmdhcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlz
c2luZ2FyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IGY3ZTgyYThjMWJmLi5mZWY5YzYyZjQ2NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJn
cy1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBACiBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBU
eXBlRXJyb3IKIAogCi1GQUlMIE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvciBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBjdHguc2V0VHJhbnNmb3JtKCk7IH0i
IGRpZCBub3QgdGhyb3cKK1BBU1MgTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3Npbmdhcmdz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLmh0bWwK
aW5kZXggMGJlOGI1OGI2MWUuLjRjODEwNDk1YzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFu
Y2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNl
LXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5taXNzaW5nYXJnczwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5taXNzaW5nYXJn
czwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9y
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
TWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBA
QCBpZiAoY3R4LnRyYW5zZm9ybSkgeyAvLyAoYXZvaWQgc3B1cmlvdXMgZmFpbHVyZXMsIHNpbmNl
IHRoZSBhaW0gaGVyZSBpcyBub3QgdG8gdAogICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgY3R4LnRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwKTsgfSk7CiB9CiBp
ZiAoY3R4LnNldFRyYW5zZm9ybSkgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgpOyB9KTsKICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSk7IH0pOwog
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRy
YW5zZm9ybSgxLCAwKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKDEsIDAsIDApOyB9KTsKQEAgLTExMyw3ICsxMTYs
NiBAQCBpZiAoY3R4LnB1dEltYWdlRGF0YSkgewogdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3Jh
ZGllbnQoMCwgMCwgMCwgMCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7IGcuYWRkQ29sb3JTdG9wKCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2Fy
Z3Mud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQu
bWlzc2luZ2FyZ3Mud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA2YzVkNzI0NjI1YS4uZmJmYWI1
NTc5Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2lu
Z2FyZ3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1l
bnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAK
LUZBSUwgTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7IGN0eC5zZXRUcmFuc2Zvcm0oKTsgfSIgZGlkIG5vdCB0aHJv
dworUEFTUyBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJyb3IgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3Mud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMKaW5k
ZXggMWE5ZDQxZTM4NWQuLmI4YmMxMjdiODc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2Ut
cmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFu
Y2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYs
NyArMzAsNiBAQCBpZiAoY3R4LnRyYW5zZm9ybSkgeyAvLyAoYXZvaWQgc3B1cmlvdXMgZmFpbHVy
ZXMsIHNpbmNlIHRoZSBhaW0gaGVyZSBpcyBub3QgdG8gdAogICAgIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwKTsg
fSk7CiB9CiBpZiAoY3R4LnNldFRyYW5zZm9ybSkgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgpOyB9KTsKICAgICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0o
MSk7IH0pOwogICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LnNldFRyYW5zZm9ybSgxLCAwKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKDEsIDAsIDApOyB9KTsKQEAgLTEw
OSw3ICsxMTIsNiBAQCBpZiAoY3R4LnB1dEltYWdlRGF0YSkgewogdmFyIGcgPSBjdHguY3JlYXRl
TGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwKTsgfSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQu
dm9pZHJldHVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0
dXJuLmh0bWwKaW5kZXggNDJlYjk4ZWMxZWMuLmJkMWQ1NDEyZjYwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4uaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudm9pZHJldHVybjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC52b2lk
cmV0dXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj52b2lkIG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5l
ZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InZvaWQgbWV0aG9kcyByZXR1cm4gdW5kZWZpbmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDcsNyArNTEsNiBAQCBp
ZiAoY3R4LnB1dEltYWdlRGF0YSkgewogfQogX2Fzc2VydFNhbWUoY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDApLCB1bmRlZmluZWQsICJjdHguZHJh
d0ltYWdlKG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCkiLCAidW5kZWZp
bmVkIik7CiBfYXNzZXJ0U2FtZShjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCku
YWRkQ29sb3JTdG9wKDAsICd3aGl0ZScpLCB1bmRlZmluZWQsICJjdHguY3JlYXRlTGluZWFyR3Jh
ZGllbnQoMCwgMCwgMCwgMCkuYWRkQ29sb3JTdG9wKDAsICd3aGl0ZScpIiwgInVuZGVmaW5lZCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWly
ZW1lbnRzLzJkLnZvaWRyZXR1cm4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcwppbmRleCAwZDdkYTU5NzI3NS4uNjI4M2Y1M2Nh
OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVy
bi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0
dXJuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidm9pZCBtZXRob2RzIHJldHVy
biB1bmRlZmluZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGlmIChjdHgucHV0SW1hZ2VEYXRh
KSB7CiB9CiBfYXNzZXJ0U2FtZShjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhcywgMCwgMCwg
MSwgMSwgMCwgMCwgMCwgMCksIHVuZGVmaW5lZCwgImN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSIsICJ1bmRlZmluZWQiKTsKIF9hc3NlcnRTYW1l
KGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3do
aXRlJyksIHVuZGVmaW5lZCwgImN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5h
ZGRDb2xvclN0b3AoMCwgJ3doaXRlJykiLCAidW5kZWZpbmVkIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2NyZWVuY2FudmFzLmNvbnZl
cnQudG8uYmxvYi53Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1ibG9iL29mZnNjcmVlbmNhbnZhcy5j
b252ZXJ0LnRvLmJsb2Iudy5odG1sCmluZGV4IDFjNjlkNGQyNjM2Li45YjA4Y2M4NjI1NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZzY3JlZW5jYW52YXMuY29udmVydC50by5i
bG9iLncuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1ibG9iL29mZnNjcmVlbmNhbnZhcy5jb252
ZXJ0LnRvLmJsb2Iudy5odG1sCkBAIC0zMDAsNiArMzAwLDggQEAgYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7CiBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgd29ya2VyID0gbWFrZVdv
cmtlcih0KTsKICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24obXNnKSB7CisgICAgICAgIGlmIChtc2cuZGF0YSBpbnN0YW5jZW9m
IE9iamVjdCkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYXNzZXJ0X3RydWUobXNnLmRh
dGEpOwogICAgICAgICB0LmRvbmUoKTsKICAgICB9KSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2FyZy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNhcmcuaHRtbAppbmRleCBkYTFk
YzhmY2MyZi4uZjNlZGU5YTgxZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNhcmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8
IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmRyYXdJbWFnZS4zYXJnPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZHJhd0ltYWdlLjNhcmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM1LDE4ICs0MCwyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHBy
b21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwg
LTEwMCwgMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDEwMCwgMCk7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIC01MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAs
IDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNl
NF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcDIsIDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIC0xMDAs
IDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDEwMCwgMCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgLTUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAxLCAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUs
MCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLndvcmtl
ci5qcwppbmRleCAwOGNiMzUzYTUwZC4uNmJlNmJkZjk2ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2FyZy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDE4ICszNSwyMCBA
QCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5j
dGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Uy
LCAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgLTEwMCwgMCk7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZTEsIDEwMCwgMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIC01MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDUwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCww
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
Mik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24o
Yml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIC0xMDAsIDApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcDEsIDEwMCwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
MSwgMCwgLTUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUs
ICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAs
MjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbAppbmRleCA2ZDVmYmZkZWZjMS4uNzY3MWYz
YTQ5MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS41YXJnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjVhcmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4K
IDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMv
Z2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFn
ZS41YXJnPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJh
d0ltYWdlLjVhcmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDE3ICs0Miwx
OSBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihm
dW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UyLCA1MCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwg
NTAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
MCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIHZhciBwcm9taXNlMyA9
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAgdmFyIHByb21pc2U0ID0gY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHByb21p
c2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMiwgNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwMSwgMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
MCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS41YXJnLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS41YXJnLndvcmtlci5qcwppbmRleCAxN2UwMWZhZDAxZS4uNTkxNzYxNWYzOTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS41YXJnLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMzLDE3ICszNywxOSBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEs
IHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCA1MCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlMSwgMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAgdmFy
IHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNlLmFs
bChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAyKSB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgNTAsIDAsIDUwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUs
ICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAs
MjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMuaHRtbAppbmRleCA1MzBkYzY4
M2E1My4uODI5ZmM2YjRhNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMuaHRtbApAQCAtMSw5ICsx
LDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMg
YmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS45YXJnLmJhc2ljPC90aXRsZT4KKzxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlhcmcuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE0ICszMywxNCBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1
NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwg
MCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpz
CmluZGV4IDUzMDQ2ZTIyZDAwLi5hZmE3MzBiOWY3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJh
c2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTQg
KzI4LDE0IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1
NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAs
MjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAs
MjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
NDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVz
dHBvcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjlhcmcuZGVzdHBvcy5odG1sCmluZGV4IGU2Yzc1MTI1Yzc2Li5hMDFhY2UxNzJhNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
ZGVzdHBvcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRt
bD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9v
bHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJ
bWFnZS45YXJnLmRlc3Rwb3M8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zNywxOCArNDIsMjAgQEAgdmFyIHByb21pc2UyID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlzZS5hbGwoW3Byb21pc2Ux
LCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwg
NTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAw
LCAtNTAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAs
IDUwLCAwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTks
MCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwg
Ijk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgdmFyIHBy
b21pc2UzID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UxKTsKKyAgICB2YXIgcHJvbWlzZTQg
PSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTIpOworICAgIFByb21pc2UuYWxsKFtwcm9taXNl
MywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAyLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAtMTAwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAxMDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwg
NTAsIDAsIC01MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwg
MCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAs
MjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5kZXN0cG9zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3Mud29ya2VyLmpzCmluZGV4IDJhMThhOTM1NWY1Li42
ODdmMDI0NGYyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDE4ICszNywyMCBAQCB2YXIgcHJv
bWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNw
b25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwg
MCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7
CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0
bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAs
IDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcDEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCA1MCwgMTAwLCA1MCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwy
NTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUuaHRtbAppbmRl
eCA4OGI5NjM0ZDA5OS4uZGRlYTM4NTc1NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUu
aHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplPC90
aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlh
cmcuZGVzdHNpemU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDE4ICs0Miwy
MCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihm
dW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UyLCAxLCAxLCAxLCAxLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlMSwgMCwgMCwgMTAwLCA1MCwgLTUwLCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC0yNSwgMTAwLCAyNSk7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDI1KTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAi
MCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUs
ICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rp
b24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDEs
IDEsIDEsIDEsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEs
IDAsIDAsIDEwMCwgNTAsIC01MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTI1LCAxMDAsIDI1KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCA1MCwgMTAwLCAyNSk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwy
NTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndv
cmtlci5qcwppbmRleCBhOWY5NDA3MjVjYS4uN2Y1ODZlZjA1NTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5kZXN0c2l6ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMzLDE4ICszNywyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEs
IHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAxLCAxLCAxLCAxLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgLTUwLCAwLCA1MCwgNTApOwot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAsIDUwLCA1
MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC0yNSwg
MTAwLCAyNSk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAs
IDUwLCAxMDAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMg
PSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9t
aXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcDIsIDEsIDEsIDEsIDEsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIC01MCwgMCwgNTAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAsIDUwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTI1LCAx
MDAsIDI1KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAw
LCA1MCwgMTAwLCAyNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5
OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJn
LnNvdXJjZXBvcy5odG1sCmluZGV4IDllYTU4YjkwOTNjLi42NTQxZDc2MmJmMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291
cmNlcG9zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0
bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRv
b2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3
SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI4LDE0ICszMywxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDE0MCwgMjAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5
LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUs
ICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAxNDAsIDIwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAs
MCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUs
MCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIu
anMKaW5kZXggMGIxODg1ZDc1ZDEuLjdjZWZhZDkyZGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45
YXJnLnNvdXJjZXBvcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDE0ICsyOCwxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDE0MCwgMjAsIDEwMCwgNTAsIDAs
IDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
MCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAxNDAsIDIwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbAppbmRleCAxMmFhZDZjYTU5
Mi4uM2M3MThjOGRhNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLmh0bWwKQEAg
LTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRl
c3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplPC90aXRsZT4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlhcmcuc291
cmNlc2l6ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMzLDIxIEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMjU2LCAyNTYsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUxLCAyNik7Ci0g
ICAgY3R4LmZpbGxSZWN0KDQ5LCAyNCwgNTEsIDI2KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUs
MCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAs
MjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgw
LDIwLCAwLDI1NSwwLDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjAsMzAsIDAsMjU1LDAsMjU1LCAiMjAsMzAi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA4MCwzMCwgMCwyNTUsMCwyNTUsICI4MCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAyNTYsIDI1NiwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCA1MSwgMjYpOworICAgICAgICBjdHguZmlsbFJlY3QoNDksIDI0LCA1
MSwgMjYpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAs
IDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1
LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAs
MjAsIDAsMjU1LDAsMjU1LCAiODAsMjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjAsMzAsIDAsMjU1LDAsMjU1LCAiMjAs
MzAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgODAsMzAsIDAsMjU1LDAsMjU1LCAiODAsMzAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUud29ya2VyLmpzCmluZGV4
IGUxZmE2MGRjYjIxLi5kYWMxYzdhMGE5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291
cmNlc2l6ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDI1NiwgMjU2LCAwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCA1MSwgMjYpOwotICAgIGN0eC5maWxsUmVjdCg0OSwgMjQsIDUxLCAyNik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAi
MjAsMjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUsMCwyNTUsICI4MCwyMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1NSww
LDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgODAsMzAsIDAsMjU1LDAsMjU1LCAiODAsMzAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MjU2LCAyNTYsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTEsIDI2KTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KDQ5LCAyNCwgNTEsIDI2KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1
NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIw
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDgwLDIwLCAwLDI1NSwwLDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1
NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDMwLCAwLDI1NSwwLDI1NSwgIjgwLDMwIiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0bWwKaW5kZXggYWI2NDNkZGE2OTIuLmYxYTFm
MDgzMjMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuYWxwaGEuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRt
bD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9v
bHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJ
bWFnZS5hbHBoYTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmRyYXdJbWFnZS5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTEg
KzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53
b3JrZXIuanMKaW5kZXggZDcxYjNkNTBkNTYuLjY4MjhhZjkyMjVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBo
YS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDExICsy
OSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0
ZWQucG9zdGVyLmh0bWwKaW5kZXggOTM1YzY2ZmI1MGIuLjI4NzA4OTQxYjQ2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQu
cG9zdGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmFuaW1hdGVkLnBvc3Rlci5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0
b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJh
d0ltYWdlLmFuaW1hdGVkLnBvc3RlcjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZTwvcD4KQEAg
LTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFn
ZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICsz
MSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMKaW5kZXggZDMyOGQxOGQ4NmYuLmNlNmU4ZWU0ZjU1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuYW5pbWF0ZWQucG9zdGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVy
IGZyYW1lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjIsMTEgKzI2LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5icm9rZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5icm9rZW4uaHRtbAppbmRleCAwNWJmNjIxYzM0Ni4uNTMxMzc2YWFhYjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5i
cm9rZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuYnJva2VuLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0t
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuYnJv
a2VuPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0lt
YWdlLmJyb2tlbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMxLDEz
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
YnJva2VuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5icm9rZW4ud29ya2VyLmpzCmluZGV4IGRiOTY4MTc1YTVlLi40YWNjNDBiNDllNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmJyb2tlbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmJyb2tlbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDEzICsyNiwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jYW52YXMuaHRtbAppbmRleCAzMmZmM2ZjY2JkYy4uMmZj
ODI5M2NiMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFzLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UuY2FudmFzPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZHJhd0ltYWdlLmNhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAs
MjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAs
MjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFzLndvcmtlci5qcwppbmRleCA4
YWY4M2YyMTc2NS4uM2ZmMmRiZWNkN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jYW52YXMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAs
IDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuY2xpcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmNsaXAuaHRtbAppbmRleCBhNTFjNDExYWRjNC4uNTYyYTljNWQwYjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAu
aHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5jbGlwPC90aXRsZT4KKzxt
ZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmNsaXA8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNSwxMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLndvcmtlci5qcwppbmRleCBmMDM2M2MyMmU3
YS4uMTc0MWYxNWI2ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuY29tcG9zaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuY29tcG9zaXRlLmh0bWwKaW5kZXggNjhkNjY4NDE3ZGIuLmRlMzc3
Mzk5OTNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuY29tcG9zaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9D
VFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZHJhd0ltYWdlLmNvbXBvc2l0ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS5jb21wb3NpdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI5LDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5jb21wb3NpdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS53b3JrZXIuanMKaW5kZXggNDM1Yzc5M2U0ZTUuLmVlY2M4
OTE0ZTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuY29tcG9zaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY29tcG9zaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKaW5kZXggMWQzYjIxYjdkYzIu
LmY5MGI0MWQzZjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2UuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMxLDExIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEw
LjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcwpp
bmRleCAzYTkwZDMzZjc4My4uZDE1NGExMmIwYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291
cmNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTEg
KzI2LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwLjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5l
Z2F0aXZlZGVzdC5odG1sCmluZGV4IDNiM2E2MDliNjRmLi5kMDE4ZTk0M2Q3NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZl
ZGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRlc3QuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4K
IDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMv
Z2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZWRlc3Q8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5OZWdhdGl2
ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5n
bGU8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJOZWdhdGl2ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVj
dCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAx
MDAsIDc4LCA1MCwgNTAsIDAsIDUwLCA1MCwgLTUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAxMDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUs
ICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwMCwg
NzgsIDUwLCA1MCwgMCwgNTAsIDUwLCAtNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAwLCAxMjgsIDUwLCAtNTAsIDEwMCwgNTAsIC01MCwgLTUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAs
MjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVn
YXRpdmVkZXN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCmluZGV4IDkxY2Y0NjYzYjJmLi4wMTg1
ZGQ0YTQ1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXBy
ZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDEwMCwgNzgsIDUwLCA1MCwgMCwgNTAsIDUwLCAtNTApOwotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgMTI4LCA1MCwgLTUwLCAxMDAsIDUwLCAtNTAsIC01
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMTAwLCA3OCwgNTAsIDUwLCAwLCA1MCwgNTAsIC01MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAxMDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1
NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpci5odG1sCmluZGV4IDc0MWFhZWEwMmEyLi4y
ZjBhOTFkYWNjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyLmh0bWwKQEAgLTEsOSArMSwxMCBA
QAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXI8L3RpdGxlPgorPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPk5lZ2F0aXZlIGRpbWVuc2lvbnMgZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0aW9u
IG9mIHRoZSBpbWFnZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIGRpbWVuc2lvbnMgZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0
aW9uIG9mIHRoZSBpbWFnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMywyMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDE3OCwgNTAsIC0xMDAsIDAsIDAsIDUwLCAxMDApOwotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDc4LCA1MCwgMTAwLCA1MCwgMTAwLCA1MCwgLTEwMCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0
OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1
NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MTc4LCA1MCwgLTEwMCwgMCwgMCwgNTAsIDEwMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwy
NTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdh
dGl2ZWRpci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UubmVnYXRpdmVkaXIud29ya2VyLmpzCmluZGV4IDlkNDgxMmJmMTY5Li5iMjljZGFk
NzQwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm5lZ2F0aXZlZGlyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJOZWdhdGl2ZSBkaW1lbnNpb25zIGRvIG5vdCBhZmZlY3QgdGhlIGRpcmVj
dGlvbiBvZiB0aGUgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAxNzgsIDUwLCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAi
NDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwy
NTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDE3OCwgNTAsIC0xMDAsIDAsIDAsIDUwLCAxMDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgNzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAs
MjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0
aXZlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UubmVnYXRpdmVzb3VyY2UuaHRtbAppbmRleCAwYTk5YWE1Njc0MS4uYzJmNzhlNWE5NTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZXNvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwh
RE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVy
YXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5OZWdhdGl2ZSBzb3VyY2Ugd2lkdGgvaGVpZ2h0IHJlcHJlc2VudHMgdGhlIGNv
cnJlY3QgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiTmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRo
ZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMywyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwgNTApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1
LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUs
MCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMTAwLCAxMjgsIC0xMDAsIC01MCwgNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0
OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgs
NDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1
NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlc291cmNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMKaW5kZXggZmUwYjBjMTdh
NzUuLjIxNzFmNjkyZjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWln
aHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgs
MjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMDAsIDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMDAsIDEyOCwgLTEwMCwgLTUwLCA1MCwgMCwg
NTAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0
OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUx
LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAxMDAsIDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwg
NTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAw
LDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwKaW5kZXggNDc4MDAxMWJkMzAuLjlk
Mzc2MWEwZjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwh
RE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVy
YXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZHJhd0ltYWdlLm5vbmZpbml0ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmRyYXdJbWFnZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsx
MiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMzExICszMywzMTEgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5m
aW5pdHksIDApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1J
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBOYU4pOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5m
aW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBOYU4sIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIC1JbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgTmFOLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZp
bml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4sIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5p
dHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwg
LUluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IC1JbmZpbml0eSwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIE5hTiwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTiwgMTAw
LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBO
YU4sIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAt
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAw
LCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUw
LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDRlYmM3NjE2NTI1Li45YzI2
Y2QyNTYwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCwzMTEgKzI4LDMxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBOYU4sIDApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIE5hTik7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHkpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBOYU4sIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUlu
ZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCBOYU4sIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCAtSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4pOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgLUluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIE5hTiwgMCwgMTAwLCA1MCwgMCwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
MCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgTmFOLCAxMDAs
IDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmlu
aXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAt
SW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIE5hTiwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIE5hTiwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgTmFOLCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIC1JbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBOYU4s
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAs
IDAsIC1JbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1
MCwgMCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUw
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwg
MCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
MCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAs
IDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAx
MDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHks
IDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IC1JbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBO
YU4sIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIC1JbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgTmFOLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgTmFOKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1
MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAtSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUwLCAw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIE5hTiwg
NTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5hTiwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAtSW5maW5p
dHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCA1MCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBOYU4sIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAs
IDAsIC1JbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgMCwgMCwgTmFOLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgTmFOKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAs
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAw
LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5m
aW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbAppbmRleCBiNjZl
ZmViZjc1Ni4uZjBkZmIyOThmMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwKQEAgLTEsOSArMSwxMCBA
QAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5kcmF3SW1hZ2Uubm93cmFwPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm5vd3JhcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U3RyZXRjaGVkIGltYWdlcyBkbyBub3QgZ2V0IHBpeGVscyB3cmFwcGluZyBhcm91bmQgdGhlIGVk
Z2VzPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU3RyZXRjaGVkIGltYWdlcyBkbyBub3QgZ2V0IHBpeGVscyB3cmFwcGluZyBhcm91bmQgdGhl
IGVkZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsMTMgKzMzLDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgLTE5NTAs
IDAsIDIwMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0
NSwyNSwgMCwyNTUsMCwyNTUsICI0NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTUsMjUsIDAsMjU1LDAsMjU1LCAiNTUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLTE5NTAsIDAsIDIwMDAsIDUw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUsMjUsIDAs
MjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTUsMjUsIDAsMjU1LDAsMjU1LCAiNTUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uubm93cmFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5ub3dyYXAud29ya2VyLmpzCmluZGV4IGIwMTQ5NzRiNjRiLi5hYWIwODc3MWRi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm5vd3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRoZSBl
ZGdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC0xOTUwLCAw
LCAyMDAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUs
MjUsIDAsMjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC0xOTUwLCAwLCAyMDAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ1LDI1LCAwLDI1
NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
dWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bnVsbC5odG1sCmluZGV4IDc3NDUyYjljNzc2Li4wY2Y5Y2EyNmQ3MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubnVsbC5odG1s
CkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhp
cyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLm51bGw8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UubnVsbDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzEyLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguZHJhd0ltYWdlKG51bGwsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm51bGwud29ya2VyLmpzCmluZGV4IGU4ODZhMzM0Y2MxLi44ZWQwODg3ZWNkOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5udWxsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKG51bGwsIDAsIDApOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwKaW5kZXggYjRlY2ExNGE5OTcuLjEw
ZGFmMTJjZDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0
bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRv
b2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3
SW1hZ2UucGF0aDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmRyYXdJbWFnZS5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxMiAr
MzMsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbCgpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbCgpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcwppbmRleCA3ZTRhMjQw
Y2VlNi4uNDVhMDgyOTc0OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDEyICsyOCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwotICAgIGN0eC5maWxsKCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAg
IGN0eC5maWxsKCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxm
LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5z
ZWxmLjEuaHRtbAppbmRleCA2ODI4YjdjMDk1ZC4uZGU0YTBmN2ViNTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4x
Lmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2Uuc2VsZi4xPC90aXRsZT4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLnNlbGYuMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMzAsNiBAQCBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1
LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAw
LDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1
LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LnNlbGYuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uuc2VsZi4xLndvcmtlci5qcwppbmRleCBkZGQ3ZTE4ZmYyMi4uNWFkOTA0OGNhYWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5zZWxmLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwKaW5kZXgg
NjkwMjAyZDMzMTYuLmIyZTU4ZGI1NzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi5odG1sCkBAIC0xLDkgKzEs
MTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnNlbGYuMjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5zZWxmLjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI3LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi53
b3JrZXIuanMKaW5kZXggYjNjMDA1ZTJlNzUuLmM2ZmUwZGNkMmE4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2Vs
Zi4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyAr
MjcsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAs
MjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAi
MCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnN2Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnN2Zy5odG1sCmluZGV4IDJlM2NkYzAzMGZmLi43MmJhMmVjN2Jh
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLnN2Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5zdmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0g
RE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVz
dC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zdmc8
L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uu
c3ZnPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2U8L3A+
CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3
SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzEsMTEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzCmluZGV4IDY4NjBh
ODUyNTZjLi41MDg5MmMyYjRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGFuIFNWRyBpbWFnZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDEx
ICsyNiwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3Jt
Lmh0bWwKaW5kZXggMDgxN2U4MTg1MWEuLmI3ODJiYTg3ZTY4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5zZm9y
bS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJ
VCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4K
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnRyYW5zZm9ybTwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS50cmFu
c2Zvcm08L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDExICszNCwxMSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5zZm9ybS53b3Jr
ZXIuanMKaW5kZXggNDFiMGQ0Y2U1ZGMuLmE0Y2I4NjVkYzFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJh
bnNmb3JtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUs
MTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5
cGUuaHRtbAppbmRleCBmOWI3ZjNhMWZiNy4uNWNiMjgzNDY2YmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0
eXBlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBF
RElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0t
PgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2Uud3Jvbmd0eXBlPC90
aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLndy
b25ndHlwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW5jb3JyZWN0IGltYWdlIHR5cGVzIGluIGRy
YXdJbWFnZSBkbyBub3QgbWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRzLCBzbyBXZWJJREwgdGhy
b3dzIGEgVHlwZUVycm9yPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiSW5jb3JyZWN0IGltYWdlIHR5cGVzIGluIGRyYXdJbWFnZSBkbyBub3Qg
bWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRzLCBzbyBXZWJJREwgdGhyb3dzIGEgVHlwZUVycm9y
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTksNyArMjQsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2UodW5kZWZpbmVkLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoMCwgMCwgMCk7IH0pOwogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKCIi
LCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndyb25ndHlwZS53
b3JrZXIuanMKaW5kZXggYzRmNDY2ODg1N2EuLmZmZGMyNTAyMTYzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0eXBlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
d3Jvbmd0eXBlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSW5jb3JyZWN0IGlt
YWdlIHR5cGVzIGluIGRyYXdJbWFnZSBkbyBub3QgbWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRz
LCBzbyBXZWJJREwgdGhyb3dzIGEgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UodW5kZWZpbmVkLCAw
LCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UoMCwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKCIiLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS56ZXJvY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sCmluZGV4IGVmNjZkNWVkYzU0Li5mOTQ1Y2Vk
YWIxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLnplcm9jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9D
VFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZHJhd0ltYWdlLnplcm9jYW52YXM8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuemVyb2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzEsNiBAQCBhc3NlcnRfdGhyb3dzKCJJTlZBTElEX1NUQVRFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsCiBvZmZzY3Jl
ZW5DYW52YXMyLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhczIuaGVpZ2h0ID0gMDsKIGFzc2Vy
dF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2Nh
bnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMKaW5kZXggM2ExN2NmZTVhMzkuLjFlOWQ2M2NmOTJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuemVyb2NhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGFzc2VydF90aHJvd3MoIklOVkFMSURf
U1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwK
IG9mZnNjcmVlbkNhbnZhczIud2lkdGggPSAwOwogb2Zmc2NyZWVuQ2FudmFzMi5oZWlnaHQgPSAw
OwogYXNzZXJ0X3Rocm93cygiSU5WQUxJRF9TVEFURV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRy
YXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS56ZXJvc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sCmluZGV4IGE3NjcwY2Q5ZjJlLi5iOTQxZjNhYTNhYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lnplcm9zb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0
b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJh
d0ltYWdlLnplcm9zb3VyY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0lt
YWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpFX0VS
UjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSB0aHJvd3MgSU5ERVhf
U0laRV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxMyArMzMsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDEsIDAs
IDAsIDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDEsIDAsIDAsIDAsIDEw
MCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTAp
OyB9KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAxMCwgMTAsIDAsIDEsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDEwLCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLmh0bWwK
aW5kZXggYzFmMmIzMjRkNWYuLjFhYmNiNmFiZjQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291
cmNlLmltYWdlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERP
IE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3Qu
cHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuemVyb3Nv
dXJjZS5pbWFnZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1h
Z2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgZnJvbSBpbWFnZSB0aHJvd3MgSU5E
RVhfU0laRV9FUlI8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgZnJv
bSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxMyArMzMsMTMgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9F
UlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7
IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOyB9KTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJS
IiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsgfSk7
CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnpl
cm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzCmluZGV4IDNjYzNjNzIx
MTllLi5jZjQ3MmFjNDE3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlIHdpdGggemVyby1z
aXplZCBzb3VyY2UgcmVjdGFuZ2xlIGZyb20gaW1hZ2UgdGhyb3dzIElOREVYX1NJWkVfRVJSIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsMTMgKzI4LDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFz
c2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwKTsgfSk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1
MCk7IH0pOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMKaW5k
ZXggMGYwZWQ1ZDlkZDEuLmIzYjZhNTljYjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2Uu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNp
emVkIHNvdXJjZSByZWN0YW5nbGUgdGhyb3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
MTMgKzI4LDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAwLCAxLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAg
YXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAsIDEwLCAwLCAx
LCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMCwgMTAsIDEsIDAsIDAs
IDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwLCAxMCwgMCwgMCwgMCwgMCwg
MTAwLCA1MCk7IH0pOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0LmJhc2ljLmh0bWwKaW5kZXggZTUxNDFkNjlhZWIuLmI3OTUwNjgxODU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJh
c2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jbGVhclJlY3QuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2xlYXJSZWN0LmJhc2ljPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgY2xlYXJzIHRvIHRyYW5zcGFyZW50IGJsYWNrPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xl
YXJSZWN0IGNsZWFycyB0byB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5qcwppbmRleCBlYjBhZTRlZmUwYy4u
Nzg3MWEwMzk1MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgY2xlYXJzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC5odG1sCmluZGV4IDI1YWYz
MmRjYTE0Li4yYzNmZjBkZjkxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5jbGlwPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNsZWFyUmVjdC5jbGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgaXMgYWZm
ZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGlu
ZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguY2xlYXJSZWN0KDAsIDAsIDEw
MCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwg
MTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QuY2xpcC53b3JrZXIuanMKaW5kZXggY2U1ODg3MWVjZmMuLjQ1NmFhZjQ2MDQ2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNs
aXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFy
UmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS5odG1sCmluZGV4IDE5
ZGRhYmZjOTMyLi45YTI4OWM5ZDZkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xl
YXJSZWN0Lmdsb2JhbGFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNs
ZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDAu
MTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcwppbmRl
eCBhMjljZTQ0ZDgyOC4uN2ZlYjE5YTlhM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xv
YmFsYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMg
bm90IGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjE7CiBjdHguY2xl
YXJSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sCmluZGV4IDYzYTlhYzM1MmVm
Li43Y2I1MzRjMGVjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVh
clJlY3QuZ2xvYmFsY29tcG9zaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24t
YXRvcCc7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLndv
cmtlci5qcwppbmRleCA0ODczYjBhMzU5OC4uNTZjNDZkNGIyYWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9z
aXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4
LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0Lm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLmh0bWwKaW5kZXggMDY0ZjgwNTQ0MjEuLjU1ZWVmM2Q5
YjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
Y2xlYXJSZWN0Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QubmVnYXRpdmU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y2xlYXJSZWN0Lm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3Qgb2YgbmVn
YXRpdmUgc2l6ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAw
LDAsMCwwLCAiMjUsMTIiLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMTIsIDAsMCwwLDAsICI3NSwxMiIsICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwzNywgMCwwLDAsMCwgIjI1LDM3IiwgIjAsMCwwLDAiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDAsMCwwLCAiNzUsMzciLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRpdmUud29y
a2VyLmpzCmluZGV4IDhkYzFjZjI0ZjEyLi4xNzU2MzRmYzcxYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFy
UmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVj
dCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMCwwLDAsICIyNSwxMiIsICIwLDAsMCww
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwwLDAsMCwgIjc1LDEy
IiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAs
MCwwLCAiMjUsMzciLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NzUsMzcsIDAsMCwwLDAsICI3NSwzNyIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3Qubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IDhlM2IyNDFhNWJhLi4xYjIzNjY3
OGE3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3Qubm9uZmluaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNsZWFyUmVjdC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05h
TiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBAQCBjdHguY2xlYXJSZWN0KDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJS
ZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggYmQ1MTIzMzZlMDAuLmE2OGU1NGZmZDFkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJS
ZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJjbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzgsNyArNDIsNiBAQCBjdHguY2xlYXJSZWN0KDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOwogY3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBj
dHguY2xlYXJSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QucGF0aC5odG1sCmluZGV4IDAwZDIyODZm
YjU2Li4xN2YyMDBhNWQ2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5wYXRoPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNsZWFyUmVjdC5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgZG9lcyBub3Qg
YWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJy
ZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTAp
OwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QucGF0aC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgud29ya2VyLmpz
CmluZGV4IDM4NTY3MmQ5ZjI5Li40NjYxNjlhNWViMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5yZWN0KDAs
IDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGwoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRv
dy5odG1sCmluZGV4IDU0Y2JiZmIyMDFmLi5hOGJjNDdkYmQzOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNo
YWRvdy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jbGVhclJlY3Quc2hhZG93PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5zaGFkb3c8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgZG9lcyBu
b3QgZHJhdyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WCA9IDA7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmNsZWFyUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFk
b3cud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5zaGFkb3cud29ya2VyLmpzCmluZGV4IDg2YmQxNDlhM2Y4Li4yZjA2ZTgxYWYyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFy
UmVjdC5zaGFkb3cud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiY2xlYXJSZWN0IGRvZXMgbm90IGRyYXcgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAwOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0
eC5jbGVhclJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sCmluZGV4IDE0Mjc4YWIx
YTU5Li5hMzJhN2IxMjdlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QudHJh
bnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC50cmFuc2Zvcm08L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIGFmZmVjdGVk
IGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgxMCwgMTAp
OwogY3R4LnRyYW5zbGF0ZSgwLCA1KTsKIGN0eC5jbGVhclJlY3QoMCwgLTUsIDEwLCA1KTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9y
bS53b3JrZXIuanMKaW5kZXggZTVlYTMzMzU1YTguLjZkYTBkMmFiMWJhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9y
bS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJj
bGVhclJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LnNjYWxlKDEwLCAxMCk7CiBjdHgudHJhbnNsYXRlKDAsIDUpOwogY3R4LmNsZWFyUmVj
dCgwLCAtNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVy
by5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC56ZXJvLmh0bWwKaW5kZXggZDFmOTU1MzBlYjguLmMwNjhhN2E2YjViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY2xlYXJSZWN0Lnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2xlYXJSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmNsZWFyUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9m
IHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5j
bGVhclJlY3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgNTApOwogY3R4
LmNsZWFyUmVjdCgwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8ud29ya2VyLmpzCmluZGV4IDAwODUwYzZiMGYyLi4z
MzJjY2UyYmY5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJjbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDApOwogY3R4LmNs
ZWFyUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMuaHRtbAppbmRl
eCAyZjZlNmQxYTlmZS4uOTJhYTg3Nzg1M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5iYXNp
YzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsUmVjdC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3Qg
d29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5maWxsUmVjdC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMud29ya2VyLmpzCmluZGV4IDgwNTU2MTA0
NGZmLi4xN2VlZDNhODczZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC5odG1sCmluZGV4IGRkYzYy
NWRmYmU2Li5hN2ExNjJlMzkyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5jbGlwPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxSZWN0LmNsaXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IGlzIGFmZmVjdGVk
IGJ5IGNsaXBwaW5nIHJlZ2lvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdp
b25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53
b3JrZXIuanMKaW5kZXggNzQwYTlkZTVlMjAuLjExMjVhNzQxN2UyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
LmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBpcyBhZmZl
Y3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5maWxsUmVjdC5uZWdhdGl2ZS5odG1sCmluZGV4IGJhNTI1Y2UyMzljLi40MzMzNDg3MTZk
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZp
bGxSZWN0Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxS
ZWN0Lm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBvZiBuZWdhdGl2ZSBz
aXplcyB3b3JrczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcs
NyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwy
NTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwy
NTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVn
YXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmZpbGxSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCBkZjY0NGQ1ZmIzOC4uMDhkZTBlOGZk
YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZmlsbFJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Myw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSww
LDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSww
LDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5u
b25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC5ub25maW5pdGUuaHRtbAppbmRleCA3YmVkZWU2MzI3Ni4uNGQ3MmQ4OGUwYjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVj
dC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0KCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAgY3R4LmZpbGxSZWN0KDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwogY3R4LmZpbGxSZWN0KDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
IGN0eC5maWxsUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLndvcmtl
ci5qcwppbmRleCA3OTQ1NWIyOWY2MS4uZTdmYjdmNzBlZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIGN0
eC5maWxsUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsUmVj
dCgwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguZmlsbFJlY3QoMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QucGF0aC5odG1sCmluZGV4IGZmNjUzMGU5ODg1Li5lNDIzNWRjY2ZjNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3QucGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsUmVjdC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LnBhdGg8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGxSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qg
ZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0
aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QucGF0aC53b3JrZXIuanMKaW5kZXggNzQzMzYyMGVkNjEuLjFmMDQ3MmViODk4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
cGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmZpbGxSZWN0LnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
UmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIz
LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC5zaGFkb3cuaHRtbAppbmRleCAxMzk5YmJiZmI2Mi4uNzQ0YjUzNTgxY2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5z
aGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
ZmlsbFJlY3Quc2hhZG93Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxSZWN0LnNoYWRvdzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5zaGFkb3c8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IGRyYXdzIHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBkcmF3cyBz
aGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDA7CiBj
dHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFk
b3cud29ya2VyLmpzCmluZGV4IDdmMDU2ZjUwZDNjLi5mMzFhNDE2NjYyNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRvdy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZp
bGxSZWN0LnNoYWRvdy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0
IGRyYXdzIHNoYWRvd3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRY
ID0gMDsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zv
cm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC50cmFuc2Zvcm0uaHRtbAppbmRleCAyMWI3ODBhNTUyOS4uYTQ2NTJiNTAzZGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFu
c2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
ZmlsbFJlY3QudHJhbnNmb3JtLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC50cmFu
c2Zvcm08L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5z
Zm9ybXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmZpbGxSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3JtLndvcmtlci5qcwppbmRleCBkMGJm
YWE5YTRiYS4uYTYxYTU2MzM5MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0
cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLmh0bWwKaW5k
ZXggYjEzMDllZTFmN2MuLjhiNjljNWMyNzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lnplcm88
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFJlY3QuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3Qgb2Yg
emVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBl
ZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDAp
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAwLCAwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJv
Lndvcmtlci5qcwppbmRleCBhZmUzODMyY2MxYy4uNmE1MzdkOGQ2MmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3QuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IG9mIHpl
cm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDApOwogY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxs
UmVjdCgwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC5iYXNpYy5odG1sCmluZGV4IDMyOWUyOTg5NzRjLi4xMTZjYjI0MTlkNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3Qu
YmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgd29ya3M8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBj
dHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2lj
Lndvcmtlci5qcwppbmRleCAxM2ZkMmFlOWIwYS4uZWE5NjEzYWU2MWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJl
Y3Qgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYw
JzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC5o
dG1sCmluZGV4IDFmMWM5NDdkM2U5Li4xODMyZDZkODkwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ry
b2tlUmVjdC5jbGlwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+c3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBp
cyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBj
dHguc3Ryb2tlUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC53b3JrZXIuanMKaW5kZXggZGZiNjcwNWMw
NmEuLjdiNzYyMTBkN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyBy
ZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGFs
cGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5nbG9iYWxhbHBoYS5odG1sCmluZGV4IDM1ZTRlMDY2N2UxLi41NjM4OTdmMzY4ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuZ2xvYmFsYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJl
Y3QgaXMgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGds
b2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2Yw
MCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5n
bG9iYWxhbHBoYS53b3JrZXIuanMKaW5kZXggZjI0MTIwMDM0ZjAuLjdjODFiY2M4MWFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5nbG9iYWxhbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdp
ZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5o
dG1sCmluZGV4IDQ0Yjg5NjZlNDI4Li41ZDM0NGU4ODU3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0
cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0
IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGlz
IG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsK
IGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2Vy
LmpzCmluZGV4IDkzYmU2M2MzZWJiLi5kNmU2NDgxNGU5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJzdHJva2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0
eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5odG1sCmlu
ZGV4IGJlNWY5YWEzYzc1Li5mYzcyNDBlOGEwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRpdmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
dHJva2VSZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QubmVnYXRpdmU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3M8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0
IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAs
MjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdh
dGl2ZS53b3JrZXIuanMKaW5kZXggOWM4Mzk1MGE5ZmMuLjdjYmNjYzRjMDFkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdh
dGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIy
NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3
NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5p
dGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IDkxOTgzNjU4NzZjLi42MjFkN2I2OThiZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
bm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3Qubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9r
ZVJlY3Qubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0KCkgd2l0aCBJ
bmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNDQsNyArNDgsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3Qubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA3ZmIxNjgxMWEwYS4uYmNkMGRlYjI0ODcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgic3Ryb2tlUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC00MCw3ICs0NCw2IEBAIGN0eC5zdHJva2VSZWN0KDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwogY3R4LnN0cm9rZVJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwogY3R4LnN0cm9rZVJlY3QoMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGguaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGguaHRtbAppbmRleCBk
YzQ5Y2JmYmU2OS4uODdmYmM0NGQ4OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QucGF0
aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zdHJva2VSZWN0LnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJl
Y3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc3Ryb2tl
UmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
LnBhdGgud29ya2VyLmpzCmluZGV4IGI1OTA4YjE2NzRmLi44ZDViYmIwNTlhZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0
aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9r
ZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5zdHJva2VSZWN0KDAsIDAsIDE2LCAxNik7CiBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LnNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKaW5kZXggYTA0MmQ5NDM1ODkuLmMxNTBmNWZhYzFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC5zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5zaGFkb3c8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tl
UmVjdC5zaGFkb3c8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3QgZHJhd3Mgc2hhZG93
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InN0cm9rZVJlY3QgZHJhd3Mgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LnN0
cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3Qo
MCwgLTc1LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LnNoYWRvdy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cud29ya2VyLmpzCmluZGV4IDc4MWUwYjk2OWM5Li45
ZTkxZTk3NDI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRyYXdzIHNoYWRvd3MiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Myw3ICsyNyw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSA1
MDsKIGN0eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS5odG1sCmluZGV4
IGJhODU5YjhkODNlLi4yYzkwMTI5YjM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3Jt
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0
cm9rZVJlY3QudHJhbnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QudHJhbnNmb3JtPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5maWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qg
aXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnN0
cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4LmxpbmVXaWR0aCA9IDU7CiBjdHguc3Ryb2tlUmVjdCgy
LjUsIC0yLjYsIDUsIDAuMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtlci5qcwppbmRleCA4NWJjNmU4
YjIzYy4uODkyNzVlODA5ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkg
dHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMw
ZjAnOwogY3R4LmxpbmVXaWR0aCA9IDU7CiBjdHguc3Ryb2tlUmVjdCgyLjUsIC0yLjYsIDUsIDAu
Mik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMS5odG1sCmluZGV4IDk3M2I5ZDFhZjE0Li4xMjQ4MmFmNGM1MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4x
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0cm9rZVJlY3QuemVyby4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuemVyby4xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGlu
ZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gMjUwOwog
Y3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLndvcmtlci5qcwppbmRleCA1ZDFmNDY2NGFm
Yy4uZmZlZGJlNWJkMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5v
dGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsK
IGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4yLmh0bWwKaW5k
ZXggMTYxZTI0MDgzOWYuLmVmNDM4OGYwOTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tl
UmVjdC56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC56ZXJvLjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5nLCBpbmNsdWRpbmcgY2Fw
cyBhbmQgam9pbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGluZywgaW5jbHVk
aW5nIGNhcHMgYW5kIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZUNhcCA9
ICdyb3VuZCc7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0cm9rZVJlY3QoNTAsIDI1
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAi
NTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuemVyby4yLndvcmtlci5qcwppbmRleCBiZDdmODUyMDgzNi4uZGU2Y2ZlZTc0ZjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuemVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5vdGhpbmcsIGluY2x1ZGluZyBjYXBz
IGFuZCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQn
OwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4zLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRt
bAppbmRleCA3NTY2YmE4NDgyYS4uODA0MjkyODRlOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8u
My5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
dHJva2VSZWN0Lnplcm8uMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lnplcm8uMzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgc3RyYWlnaHQgbGluZTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0
cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1
MDsKIGN0eC5zdHJva2VSZWN0KDAsIDI1LCAxMDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMy53b3JrZXIuanMKaW5k
ZXggMGI3M2RlYjI3NmEuLmM0YmEyNGYxYjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8u
My53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBp
eGVscyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5z
dHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0
KDAsIDI1LCAxMDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuemVyby40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC56ZXJvLjQuaHRtbAppbmRleCBlNDBkNzhkMDZkZi4uODYwZmUzMmRkN2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uNDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VS
ZWN0Lnplcm8uNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxz
IGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBjYXBzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxz
IGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LnN0cm9r
ZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC56ZXJvLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lndvcmtlci5qcwppbmRleCBlN2RlN2E1ZGQxOC4uMzFm
MDY2MTNkMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0Lnplcm8uNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2Vk
IGxpbmUgd2l0aCBubyBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgubGluZVdpZHRo
ID0gMjUwOwogY3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwg
MTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAi
NTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnpl
cm8uNS5odG1sCmluZGV4IGMyM2Y2NzVlODI1Li41MDA1MzY3YjFhNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuemVyby41Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnN0cm9rZVJlY3QuemVyby41PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuemVyby41PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQg
bGluZSB3aXRoIGpvaW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxp
bmUgd2l0aCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDI1
MDsKIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBjdHguc3Ryb2tlUmVjdCgxMDAsIDI1LCAxMDAs
IDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lnplcm8uNS53b3JrZXIuanMKaW5kZXggY2I4MjI0ZWQ4NDguLjE1NTY2M2JjMWNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC56ZXJvLjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGgg
am9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgu
bGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC5odG1sCmluZGV4IDBlMDExYWRk
MmQ3Li5hZGM0ODE4YjY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
ZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwg
JyMwMDAwMDAnLCAiY3R4LmZpbGxTdHlsZSIsICInIzAwMDAwMCciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGJkNWFmNTIyOGMxLi45OTU2M2Y3OWViOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5k
ZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4
LmZpbGxTdHlsZSwgJyMwMDAwMDAnLCAiY3R4LmZpbGxTdHlsZSIsICInIzAwMDAwMCciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0bWwKaW5kZXggZDIx
MjgyYTU5MDAuLmUzOTRmODU1MDkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5nZXQuc2VtaXRyYW5zcGFyZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFy
ZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpJzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxT
dHlsZSwgL15yZ2JhXCgyNTUsIDI1NSwgMjU1LCAwXC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5nZXQuc2VtaXRyYW5zcGFyZW50Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lndvcmtlci5qcwppbmRleCA2ZDU0
NGYxN2UyMi4uN2ZhMTU3ZDE5YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC40NSknOwogYXNzZXJ0X3JlZ2V4cF9tYXRjaChj
dHguZmlsbFN0eWxlLCAvXnJnYmFcKDI1NSwgMjU1LCAyNTUsIDBcLjRcZCtcKSQvKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sCmluZGV4IDVkYTViOTc2NzUxLi4zY2JhM2E0ZWI4OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5z
b2xpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5n
ZXQuc29saWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLmdldC5zb2xpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuZ2V0LnNvbGlkPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICcjZmEw
JzsKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICcjZmZhYTAwJywgImN0eC5maWxsU3R5bGUi
LCAiJyNmZmFhMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC53b3JrZXIuanMK
aW5kZXggYWVlYTQ0YWJkMWMuLjdmYTdmZDVhZTlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5maWxsU3R5bGUgPSAn
I2ZhMCc7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCAnI2ZmYWEwMCcsICJjdHguZmlsbFN0
eWxlIiwgIicjZmZhYTAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50
Lmh0bWwKaW5kZXggYTM5MGFiYmI4NzMuLmZkNGM0NDU3M2VkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVu
dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJl
bnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwwLDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgJ3JnYmEoMCwgMCwg
MCwgMCknLCAiY3R4LmZpbGxTdHlsZSIsICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLmdldC50cmFuc3BhcmVudC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lndvcmtlci5qcwppbmRleCAzZGY5MWRk
MWExYy4uOGJiMTc1YTBiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsMCwwLDApJzsKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICdyZ2JhKDAsIDAsIDAs
IDApJywgImN0eC5maWxsU3R5bGUiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5pbnZhbGlkc3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUuaW52YWxpZHN0cmluZy5odG1sCmluZGV4IDhkMjMyNjIwMjljLi5jZjJjYTRjMDU3
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmlu
dmFsaWRzdHJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuaW52YWxpZHN0cmluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUuaW52YWxpZHN0cmluZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxTdHlsZSA9ICdpbnZhbGlk
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLndvcmtlci5qcwppbmRleCA1MDE4OWJk
ZjY4Zi4uNzA1ZjhhZTY5NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsU3R5bGUgPSAnaW52YWxpZCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5
cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlk
dHlwZS5odG1sCmluZGV4IDNkMTA0M2QyOGQ3Li43M2Y2YmJhZjU1YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5pbnZhbGlkdHlwZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuaW52YWxpZHR5cGU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsU3R5bGUgPSBudWxsOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53
b3JrZXIuanMKaW5kZXggNDIyYWUzZTg5YjkuLmE1OTg2OGQ0ZTE5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlw
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsU3R5bGUgPSBudWxsOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAppbmRleCBmNzk1
Njk0YmRlOS4uZWQ4NDRlYzdkZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzCmluZGV4IGMxNDc5MDVkNWY3
Li43ZDM3NTE2Yzk2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC0yLmh0bWwKaW5kZXggYTJjMmM3MGQ2MjUuLmIzNzAzNGI1MjM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAw
LjAlIDUwLjAlIC8gMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1
LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtMi53b3JrZXIuanMKaW5kZXggZDdhMzdkMmMwMzcuLmUxMjVjNzA0NDBkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4w
JSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC0zLmh0bWwKaW5kZXggYTBiZjRmMzdkMGMuLjJkNDI5ZjBjOGZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwg
MC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy53
b3JrZXIuanMKaW5kZXggMTcwOWY0OTNkYTYuLmFlNDNhNjM3NmQ3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUs
IDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwK
aW5kZXggYTI4ZjY4OTQ4ZDkuLjRhYzhhY2Q3NDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMK
aW5kZXggMjkzNWM1MWYyOTEuLjhiYTFkMzNhM2MxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01Lmh0bWwKaW5kZXggODdh
MDkzNWRhYjIuLmM2NzMxOTRjYWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUud29ya2VyLmpzCmluZGV4IDY0
YzgxMDgwZTNmLi5iMzhkODRmYWI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRtbAppbmRleCBjMThmOWQ5MDU4
Mi4uOTQ2YTc3NGZkZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53b3JrZXIuanMKaW5kZXggZmUzM2Y0YjJiYmEu
Ljk5Y2ZhMjVlZTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCmluZGV4IDNhZDk1ZGIxNTU3Li5lYzkzOWNmY2Yx
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC03Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtNzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTc8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTMz
LjMzMzMzMzMzZ3JhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC03Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy53b3JrZXIuanMKaW5kZXggMjFkNTFkN2Q3ZjguLmZi
Y2JiYzk5NjljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTMzLjMzMzMzMzMzZ3JhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC04Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTguaHRtbAppbmRleCA5OTcxYjIyNWJhMS4uNTJk
YThjOWNiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC04PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC04Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53b3JrZXIuanMKaW5kZXggYjViYzY0Yzhj
OGIuLjJlMzEwZGUyNjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTgud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
OC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMi4wOTQzOTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS5odG1sCmluZGV4IDBkOTlkMTQ1N2Vi
Li5kOGNkYTdmZmJiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsLTk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC05Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS53b3JrZXIuanMKaW5kZXggY2Fl
MTk1MzFlYjAuLmZiZmNiYWUzZjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2wtOS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCmluZGV4IDdm
MDNmNzFiZTYwLi4zNTVjZTg4ZjVhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKaW5kZXggMjFi
NDRjZTdmOGMuLjE2Y2YxOTMyZjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJu
b3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKaW5kZXggMDE0OTU3ZGVlMTIuLmI5
MTMxYTkzYjQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEs
ICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKaW5kZXggN2JmNzhiOTI4NmMu
LjViYmQ2MThlMDc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0y
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlIC8gMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCmluZGV4IDlmZGU3YmQ5NjNkLi5iZjhiZDFi
NWE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAi
NTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCmluZGV4IGZmNmFiODAxNzYxLi45
MDAxNGM4MjJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbAppbmRleCA1NjY5OTMxOGE1Yy4uNjU2ZWFj
ZjZhY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwg
IjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lndvcmtlci5qcwppbmRleCBmMzkxMGVmOTBmNC4u
MjUxZDQ3ZmY1OTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsYS01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lmh0bWwKaW5kZXggMWUxOTkwZjJmYWUuLjc3NDAz
Y2IyZjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUx
LCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsYS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzCmluZGV4IGM5NjMxZWMzMDI1
Li45MjIyZjRjNWQ2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
NS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsYS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lmh0bWwKaW5kZXggMGYxYjY0NGVhMjEuLjYw
NGQyZTcxYzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsYS02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTYud29ya2VyLmpzCmluZGV4IGM2ZTQ0MzBkOTQ3
Li5iYzFkMzBiZTU1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
Ni53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsYS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwKaW5kZXggZGEyOTA3NjJkNTcuLmEzNmYz
YmI5YjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS03PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTMzLjMzMzMzMzMzZ3JhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtNy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lndvcmtlci5qcwppbmRleCBjZmVh
ZWZkMDZkNy4uMGU4MWE4MzRkMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTcud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTguaHRtbAppbmRleCA0
MDQyNzdkOGEwZS4uM2Y1ZDE1Y2Q5NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTguaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS04Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTg8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtODwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5NTEwMjRyYWQsIDEwMC4wJSwgNTAuMCUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC53b3Jr
ZXIuanMKaW5kZXggZmIzNDE1YWQ5MDMuLmE1M2Y0Y2U2NzhjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5NTEwMjRyYWQsIDEwMC4w
JSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTkuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTkuaHRtbAppbmRleCAyYmQ1YTEwYTk3Yy4uODUyNTg3NzNkZTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTk8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLjMzMzMzMzMzMzN0dXJuLCAx
MDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTkud29ya2VyLmpzCmluZGV4IDFkZjFjODJjOGZjLi5mZmJjNGIwNjU1NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMC4zMzMz
MzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiLTEuaHRtbAppbmRleCAzMzEyZDA1YTQyNi4uY2Q4OGRlYmYyMmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NS4w
LCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0x
Lndvcmtlci5qcwppbmRleCA0ZDEzODZhNTliMC4uYjA5NWYwZTY4MmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwLCAyNTUuMCwgMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbAppbmRleCA3MTZk
NGY4MDdlOS4uYjY0MjNmYjAyMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2It
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYi0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwg
IjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKaW5kZXggMTAwMzA5ZTViYzIuLjc0
YmJhYjM4MjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2IoMCwgMjU1LCAwLCAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAi
MCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItMy5odG1sCmluZGV4IGIwZmFhMDU5NDlkLi4zMGYxM2MyOGY2OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LXJnYi0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2It
MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMjU1LCAwLCAyMCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtl
ci5qcwppbmRleCA2YWM0Nzc5NWVkOC4uNTg3YTVmMzZjZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKaW5kZXggZGY4NTgwMTlh
OTkuLmNlZjA0ZmQ3OTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigwIDI1NSAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi00Lndvcmtlci5qcwppbmRleCBhY2RmYjJkZjQxNS4uYzJiMWMyYTM2NWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1
NSAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNS5odG1s
CmluZGV4IGIzODkwM2IwYjIzLi4xN2Y1NTkxZTc3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYi01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCAvIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzCmluZGV4IDdjNDRk
ZGQyMWZhLi43MjM3OTM2NDNlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVz
Ij4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAwLjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAi
NTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiLTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2ItNi5odG1sCmluZGV4IGM1NGQ4ZGZkMGU5Li40NjE3NGQ0MGFkZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYi02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTY8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90
ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUg
MCAvIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTYud29ya2VyLmpzCmluZGV4IDIxZDYyZjYyMTMyLi4wNGMzZTgxYjIxOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAyMCUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKaW5kZXgg
ZGJjODMxZGIzODMuLjc4MWViZDMyNzA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpzCmluZGV4IGNiYjY4
MDYxMDc1Li4zZGVhZDczZGMyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwKaW5kZXggYzFmOWM2YmFmNmIuLmJlMzY3YTY0
MGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDI1NSwgMCwgMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAs
MjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcwppbmRleCBlZTNhMDlhODY5OC4uZmRmYjFlMjg3Y2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDAsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTMuaHRtbAppbmRleCBmOTkyNjYzZGY2YS4uYTQwYzIyN2QxNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAyMCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMud29y
a2VyLmpzCmluZGV4IDdiNWYzOTI2ZTQxLi5hNDU2ZTY1MGRmNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEt
My53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMjAlKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sCmluZGV4IDQ4
MmM5NWZlZmM4Li4wOTNlMzRlMDk4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwIDI1NSAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQud29ya2VyLmpzCmluZGV4IDhlMDI5MzUwZDM4
Li40Y2RhMWJhMzIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEt
NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAgMjU1IDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTUuaHRtbAppbmRleCBkZGZmZjU1MWQ3Yy4uNDk2ZThiODYxZGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2JhLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUg
MCAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
YmEtNS53b3JrZXIuanMKaW5kZXggMTRkMmIzMDE1MzcuLmJmOWI3NmJmY2UwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDAu
MiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRtbApp
bmRleCAzMzljZjVmOTE4Yi4uODMwNmI4MzZiMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTY8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDIwJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi53b3JrZXIuanMKaW5kZXgg
MDE2YzdjYzUxYTkuLjBlMjBlODQ5ZGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS02Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDIwJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4
My5odG1sCmluZGV4IDY2Mzc2OTNiNDEwLi5jY2M3MjlhMDQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuaGV4MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaGV4MzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhl
eDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhleDMud29ya2VyLmpzCmluZGV4IDhjY2ZlNmQ2OTRlLi4zMTJlMDQwMmVlNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oZXgzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJu
b3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwKaW5kZXggNDAz
ZWE5MDM4NzEuLjA3YTU2M2FkZGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnIzBmMGYnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2Vy
LmpzCmluZGV4IGQ4NzQzYzMwZWMyLi45M2I1OWJiMGE0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjBmJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni5odG1sCmluZGV4IGMyZGJlOTA0YjU2Li40NDk0
NzgyYmMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhleDYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4Ni5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaGV4NjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaGV4NjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJyMwMGZGMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzCmluZGV4IGI2
ZmU1ODNhODc5Li4zYjM3M2VlOTVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZGMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhleDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oZXg4Lmh0bWwKaW5kZXggYjA5MDk2ZWFlMGMuLjUyNWYyMDc3MjdlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aGV4OC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oZXg4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAwZmYw
MGZmJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcwppbmRleCAwNmI1ZmQwZmJk
Yy4uYjcxZjE1MTJjM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMDBmZjAwZmYnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsLTEuaHRtbAppbmRleCBmNmY5OTgzODQ4NC4uODAyMTBhNDcwNjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MCwgMTAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcwppbmRl
eCA1MDNmNWI2NThiOC4uMzdlNzE5ZDRiODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgx
MjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbAppbmRleCA3ZGY5MTE1
ODBhOS4uMzYwMGZmNmRiMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLTI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKCAtMjQwICwgMTAwJSAsIDUwJSApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsLTIud29ya2VyLmpzCmluZGV4IGJiOTE4MmE4Yjg4Li4yZjViNGU5MWIwMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAg
Y2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCAtMjQwICwgMTAwJSAsIDUwJSApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC0zLmh0bWwKaW5kZXggZTU2Yzk1ZmIyNzYuLjVlYmUyZWE3MWU2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
MzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgz
NjAxMjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMK
aW5kZXggMDgwOWZkNDI0ZTEuLmY0MDFmMzhkZDE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdo
c2woMzYwMTIwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lmh0bWwKaW5kZXgg
ZjIzYTc3MDUzOTQuLmYyOGNmNDlkMDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYwMjQwLCAxMDAlLCA1MCUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzCmluZGV4IGNjYmMzY2RhODhkLi44NjExNWE4
ODhjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKC0zNjAyNDAsIDEwMCUsIDUwJSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTUuaHRtbAppbmRleCAwZWY4YTBhOGNkZC4uODc3OWJmOTU0ZTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01Lndv
cmtlci5qcwppbmRleCA0MmE5ZjkwOTI0ZS4uMjE2ZGU1NzUzYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYu
aHRtbAppbmRleCA0MjBiNzg3ZWM4YS4uYTRhM2U3OWM0YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuaHNsLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCsxMjAsICsxMDAlLCArNTAl
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcwppbmRleCA5YTUzNjg2MjBm
OS4uN2E3ZDM0ZDczYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgrMTIwLCArMTAwJSwg
KzUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEuaHRtbAppbmRleCBmNTg2
OTU4Y2RkYy4uMjMzNjJmOWIwYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaHNsLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwgMjAw
JSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLndvcmtlci5q
cwppbmRleCA2YzU5ODYwNmVmNi4uMmRiMDQ1ODVhNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1j
bGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDIwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTIuaHRtbAppbmRleCA5MmM5Yzk1ZTIzYS4uNTM5YTljMTBlODUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xh
bXAtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC1jbGFtcC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwgLTIwMCUsIDQ5LjklKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEy
NywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29ya2VyLmpzCmluZGV4IDdhYWMxYzk4ZTdk
Li5lODE3ZTA1ZjI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MCwgLTIwMCUsIDQ5LjklKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAi
MTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0zLmh0bWwKaW5kZXggYTZjZjE1MDY5ZjcuLjg5YTZlOGQwMTVhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LWNsYW1wLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAsIDEwMCUsIDIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUs
ICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1j
bGFtcC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMKaW5kZXggMzQxMTUzYjA5MWQuLmVkM2U2Zjc2
Y2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLWNsYW1wLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCAy
MDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lmh0bWwKaW5k
ZXggYWM0MTRmZDZiZTAuLmE1YzRlMjE5N2Y5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC1jbGFtcC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAt
NDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgx
MjAsIDEwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQud29y
a2VyLmpzCmluZGV4IDQwMzk2MmFmYzY0Li5hNmQxZWJjNzgwMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwgMTAwJSwgLTIwMCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwyNTUsICI1MCwyNSIsICIwLDAsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtMS5odG1sCmluZGV4IGJlNTk1ZDdhNGNjLi42YmFmYTZiYjQzMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmhzbGEtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEw
MCUsIDUwJSwgMC40OTkpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEyNywgIjUwLDI1IiwgIjAsMjU1
LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMS53b3JrZXIuanMK
aW5kZXggODE4NWZkZDdjOTAuLmYwMTcwOGRiOWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbGEoMTIwLCAxMDAlLCA1MCUsIDAuNDk5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1
MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLmh0
bWwKaW5kZXggYzFkMDQ4NmRkN2UuLjI4ZTNkNmU5YTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKCAxMjAuMCAsIDEwMC4w
JSAsIDUwLjAlICwgMSApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMi53b3JrZXIuanMK
aW5kZXggOTFjODgyZWMwN2UuLmViYjNiMjUwNmY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbGEoIDEyMC4wICwgMTAwLjAlICwgNTAuMCUgLCAxICknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Y2xhbXAtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbGEtY2xhbXAtMS5odG1sCmluZGV4IDgwYjBlY2YzMzgzLi4yYzdmN2ExMmIxNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtY2xhbXAtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDIwMCUsIDUwJSwgMSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndvcmtlci5qcwppbmRleCBiMDMxNDE2
NjAxZi4uOWFkNjY3Y2QwMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsYSgxMjAsIDIwMCUsIDUwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtMi5odG1sCmluZGV4IGFlNGU2MzdhMjI5Li41ZjEzYWM0NDdjZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaHNsYSgxMjAsIC0yMDAlLCA0OS45JSwgMSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywx
MjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIud29ya2VyLmpzCmluZGV4IDY3MWNhMWFk
MzkwLi5lMjY2YzQ0NTgxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdo
c2xhKDEyMCwgLTIwMCUsIDQ5LjklLCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAi
NTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTMuaHRtbAppbmRleCA5ZTM1NjM0YjUzNy4uYjkxZmZkN2ZkZTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LWNsYW1wLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAyMDAlLCAxKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMjU1LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy53b3JrZXIuanMKaW5kZXgg
YTYwNDVjNjE0YWIuLmQzYzM5ZjExNWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0z
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAyMDAlLCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwyNTUs
MjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTQuaHRtbAppbmRleCA4NThiNDU5YzFmNS4uMmQ2NjQwMmY1MjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAtMjAwJSwgMSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwwLDI1NSwgIjUwLDI1IiwgIjAsMCwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsYS1jbGFtcC00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQud29ya2VyLmpzCmluZGV4IDc3YmU3
YmUwNDFiLi5mZWJhYTVmNDE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2xhKDEyMCwgMTAwJSwgLTIwMCUsIDEpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwyNTUsICI1MCwy
NSIsICIwLDAsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtNS5odG1sCmluZGV4IDI4NTEwOGE2ZTc0Li5mZDJlZTQ1ZTliZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDUwJSwgMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Y2xhbXAtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsYS1jbGFtcC01Lndvcmtlci5qcwppbmRleCBkNTM0ZDRkNmM3Mi4uOTQ0N2Mw
YWFjMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEw
MCUsIDUwJSwgMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi5odG1sCmlu
ZGV4IDgwNTY1MTFiNjMzLi43ODljODJlZmI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1j
bGFtcC02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsYSgxMjAsIDEwMCUsIDAlLCAtMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
Ni53b3JrZXIuanMKaW5kZXggMzJhNzdkOTIxZTIuLjI3NjUyYTgxYWE2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC02
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC02Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxw
IGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAwJSwgLTIpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHRtbDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5odG1sNC5odG1sCmluZGV4IGYwZWExYTczM2FjLi45ZTRjNGQ5ZWYzOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5odG1sNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdsaW1FJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5odG1sNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHRtbDQud29ya2VyLmpzCmluZGV4IGM5NTQ5NjZjMzhhLi5hODMyMzRm
N2QwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmh0bWw0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHRtbDQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnbGltRSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAppbmRleCBiMjNh
Mzc2MmVmMy4uZTVhNzcwMjkxMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSAvIDEpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbC0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcwppbmRleCAyN2RiMTI1
NDQ4YS4uOGEyODRiZTc4M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2wtMi5odG1sCmluZGV4IDIyMjdkNTVmYjBhLi5mMjcwNzIwY2NkNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdoc2woMCAxMDAlIDUwJSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIu
d29ya2VyLmpzCmluZGV4IDRlZGJhZTRkN2VkLi4xMzc4YTRhMmE4MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCAxMDAlIDUwJSwgMSkn
OyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRu
J3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKaW5kZXggZGM3Y2FhZDNmN2YuLjdi
ZDgzOTRiNmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlIDUwJSknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzCmluZGV4IDQ3NDRmOWU4NzNjLi5mMTE5NmY0YjA2
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhz
bC0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdo
c2woMCwgMTAwJSA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sCmluZGV4
IGFmZmI2NWU3NmMxLi4wMWNjOGJmYWVlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCAxMDAlIDUwJSAvKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKaW5kZXggNTQ1ZGYz
MDdmNzUuLmNhZWI5ZWM0ZDQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJ2hzbCgwIDEwMCUgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtNS5odG1sCmluZGV4IDQwN2Y2ZWUyY2MyLi5lNTZhZDY3N2Y0MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2wtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdo
c2woMCwgMTAwJSwgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndv
cmtlci5qcwppbmRleCA5NjBlMzE4NDE0Yy4uZWMwYTNlYjgwODAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbC01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSAvKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2xhLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCmluZGV4IDMxOTY3NmUyMTAyLi40
MmQ2NTJjNzYyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xh
LTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcwppbmRleCAwYmJmNWFjY2Q1
ZS4uZjI1NDM4OGU4ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsYS0yLmh0bWwKaW5kZXggMDAxZTFiYWE2MmIuLjdjOWYzMTI3NWM5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdoc2xhKDAgMTAwJSA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hv
dWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2xhLTIud29ya2VyLmpzCmluZGV4IGMxZTdjMGE1NjYzLi4xYzVlMDgxM2QxMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCAx
MDAlIDUwJSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA0
ZTllNTljMDUyMy4uZDdkY2ZkY2Y5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2xhLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0z
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCwgMTAwJSA1MCUp
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbGEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCmluZGV4IGJi
NDUyMTNjNGZkLi5iMGFkMTJmOWI1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCwgMTAwJSA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItMS5odG1sCmluZGV4IGJhMGNhNWUxYmJiLi5iZWViMTM2NmQ1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICdyZ2IoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTEud29ya2VyLmpzCmluZGV4IDE3YThmNDQwNTY2Li5jMWFhNGYyNTk4ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtcmdiLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAwLCAwIC8g
MSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLmh0bWwKaW5kZXggNDIzNTRhZThjYTYu
LmZkZDMwY2FmOWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUgMCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKaW5kZXggN2Y2ZWZjNjA2MGUuLmRiZjVkMTlh
NWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J3JnYigyNTUgMCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRl
eCA0MDJlNmFkNTdmMC4uZDIzOTM5N2ZkYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCAwKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2ItMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKaW5kZXggZjVkNTUxYzA0
MWMuLmRjMDFiYzc4ZjFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHgu
ZmlsbFN0eWxlID0gJ3JnYigyNTUsIDAgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00
Lmh0bWwKaW5kZXggMjU1NmE5YzliMWUuLjFmNTJlYTMzZDBmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2ItNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYi00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDAg
MCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5kZXgg
OTY2ZjQ2NTg2OGYuLjkxNDIzYjFjMmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDAgMCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiLTUuaHRtbAppbmRleCBjMmZjMWVlOGY2Yy4uNjFmZmFhZmVmY2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYi01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
cmdiKDAsIDAsIDAgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUud29ya2Vy
LmpzCmluZGV4IDNhNTQyNDZjNzBhLi5jNDU2ODMwNDE5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMCwgMCAvKSc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCmluZGV4IGY4NDJlZmFmMGU2Li44YTQ0OGUyMzQz
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0x
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcwppbmRleCA4OGY3ZDM1NDY1Zi4uZGFmNTQxZDQw
N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDI1NSwgMCwgMCAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLmh0
bWwKaW5kZXggMjI2NjBjYTM5YmUuLmVlZmExNzc0YzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2JhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtcmdiYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYmEtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1
NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpz
CmluZGV4IGNkNGI0ODkwYmQ4Li41NGU1M2MwN2MyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
YS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1IDAgMCwgMSknOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbAppbmRleCBlODlhNzE1ZWE3Ni4uZmRkOWQ0NmFj
NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEt
My5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2JhLTMud29ya2VyLmpzCmluZGV4IDk5OWUwYjU5OTkwLi4yNGI0M2YxOWM0ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2Jh
LTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMjU1LCAwIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDEuaHRtbAppbmRleCAwN2VlMzcwMTg1MS4uZWVjNGI5ZWJiNWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICcjZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXgxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEud29ya2VyLmpzCmluZGV4IGY1OTVlMTA4MDg3Li43
NGJkMzk2OGY0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2YnOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi5odG1sCmluZGV4
IDMzMGM0YmFjMTc0Li5hZTBmNzA1ZmEyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXgyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmMCc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIu
d29ya2VyLmpzCmluZGV4IDZmYjE2ZjMwZGVlLi5lMmU1Y2IyMjdiYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaGV4Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnI2YwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhleDMuaHRtbAppbmRleCAwYTY5YzI4MDRkNC4uNjNmZWVlNmI3ZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICcjZzAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My53b3JrZXIuanMKaW5kZXggODMyZjRkZWEx
MjAuLjZkOTg3Zjc4NWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZzAwJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQuaHRt
bAppbmRleCA1NTY1ZTcwMDJlNS4uMjY0YzRjNWFkYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4NDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmcwMCc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDQud29ya2VyLmpzCmluZGV4IGY3YTcwOTdhY2RmLi5jYWZlNjFhZWRlNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1sCmluZGV4IGIxZTQ1MmMyMjcyLi4z
YzdkNThlN2I5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUud29ya2VyLmpzCmlu
ZGV4IGE5MzE0NjdiN2E3Li41NzMxMzczNzliYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4NS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
I2ZmMDAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDYuaHRtbAppbmRleCBiMDk1NGVmMWZlMC4uZTdjMGQyNmRkZGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDY8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICcjZmcwMDAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni53b3JrZXIuanMKaW5kZXggNzUwNTQ4ZDc0ZTQuLjNm
ZDVlYzQ0MTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmcwMDAwJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcuaHRtbApp
bmRleCBlNTNjYjg3YThiYy4uN2RkMzMxMmViYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmYwMDAwZic7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDcud29ya2VyLmpzCmluZGV4IDc3OTZhNGU5OWIwLi5hOGMyM2UwMmYwMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4Ny53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ny53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZmMDAwMGYnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBz
aG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC5odG1sCmluZGV4IGE1OTMzMmYwNDBk
Li5iMjQ2MDA0NWNkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4ODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDBmZic7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDgud29ya2Vy
LmpzCmluZGV4IDIxNTZlZjA2Y2M3Li4zZDNkZmMxMzViNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4OC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5
bGUgPSAnI2ZnMDAwMGZmJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sCmluZGV4IGZiMTU0ODQ3OGVhLi5iNTRkMjNlZmZm
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wt
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCUsIDEwMCUsIDUwJSknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEud29y
a2VyLmpzCmluZGV4IGYxYjJhNTA4NmZjLi5lZTMwZDMyNmQxOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2woMCUsIDEwMCUsIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBz
aG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLmh0bWwKaW5kZXggN2Y1MDk2NmUw
YjUuLjg4NDY4ZDliNWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCh6LCAxMDAlLCA1MCUpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC0yLndvcmtlci5qcwppbmRleCBiMDlhOTJkZDk0YS4uNWM2YmUzNDE3ZjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKHosIDEwMCUsIDUwJSknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLmh0bWwKaW5k
ZXggNzI0NGNkMGUzNGMuLjhmZmI2M2Y0M2JjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0z
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAw
LCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcwppbmRleCAwYjJhMDY1MmEzNS4uYWM3M2I1Mjlk
ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDAsIDUwJSknOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lmh0
bWwKaW5kZXggMzU3NzY2NmE4YzcuLjM4NzQwODk5NDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bCgwLCAxMDAlLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC53b3JrZXIuanMKaW5kZXggZjE3NDM0NzIyMTMuLmY0
MjM5ZWNkZTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlLCAwKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aHNsLTUuaHRtbAppbmRleCBhM2I5MDcwODllMi4uYzM1YTJjNGViN2MgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaHNsLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5
bGUgPSAnaHNsKDAsIDEwMC4lLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtlci5qcwppbmRleCAzMzFl
YzA3MDIzMy4uMDkzZmM3ODk2YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAs
IDEwMC4lLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtNi5odG1sCmluZGV4IDllODBhNjIyM2I3Li44NzllMWI4ZTE3ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlLCknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2Vy
LmpzCmluZGV4IDNjYWQ4NGY3N2E0Li5kMjI1MmMyMjE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC02Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEuaHRtbAppbmRleCAwOTA0MjA5Y2Uz
Ni4uMzRjYjNlMzViMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2xhLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCUsIDEwMCUsIDUw
JSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
YS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMKaW5kZXggMDExZmJlN2JkN2QuLmEwYTdiMWVm
NjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2xhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwJSwgMTAwJSwgNTAlLCAx
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbGEtMi5odG1sCmluZGV4IDZlODllOWQ3MDA3Li42ZTBmYmVhNWE5NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIud29ya2VyLmpz
CmluZGV4IDlhYzc1YjdkYzUyLi5jZWQ1ODNiZTMyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ2hzbGEoMCwgMCwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2xhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy5odG1sCmluZGV4IDgyY2E4NDNhNDJk
Li5iNTI0YWVjNDlhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbGEtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEs
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsYS0zLndvcmtlci5qcwppbmRleCA1ZjUxMjZlZmMxNC4uYzA4ZGEzNGFkOWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDAsIDUwJSwgMSwpJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFt
ZS0xLmh0bWwKaW5kZXggMjZiYmQyNmI3ZDEuLmE3Mjc4OTg2NjRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5uYW1lLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdkYXJrYnJvd24nOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQubmFtZS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53b3JrZXIuanMKaW5kZXggNzBiMjQ0MDg5
YjYuLjI2ODE3NmZkZmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZGFya2Jyb3du
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS0yLmh0bWwKaW5kZXggZDExMmQ1ZDY4MTEuLjhiOTkxODFjMTNiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5u
YW1lLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5uYW1lLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdmaXJlYnJpY2sxJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIud29ya2VyLmpzCmluZGV4IDFh
YTBmNTI4NDM0Li4yOTgyZTU3M2JjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1l
LTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2Zp
cmVicmljazEnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBp
dCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTMuaHRtbAppbmRleCAwN2EwZjZjYzgzYi4uN2ZlYWMwMmJlZjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLm5hbWUtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JlZCBibHVlJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMg
c2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMud29ya2VyLmpzCmlu
ZGV4IGFiYzU3OWE4ODlhLi41NmEwMDNmZTAwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5uYW1lLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ3JlZCBibHVlJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQubmFtZS00Lmh0bWwKaW5kZXggYTY5YzMwZTg3NjQuLjkxMzc3ODlmYTc3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFt
ZS00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcicmVkIic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00Lndvcmtlci5qcwpp
bmRleCA3YjJmMTE5ZDBlNy4uZmQxOThiYTdhOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICcicmVkIic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5uYW1lLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLm5hbWUtNS5odG1sCmluZGV4IDNmM2FlNjMxMTkyLi5kNDUwOTc1MTUwZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQubmFtZS01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUt
NTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnInJlZCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcwppbmRl
eCBhM2Y5Y2YxNDRlOC4uOTQwZTUwYmRmNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICcicmVkJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
Yi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2ItMS5odG1sCmluZGV4IDNiYTI0MWJjOTA4Li4yYjE2YzBjNDgxNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2ItMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMKaW5k
ZXggYzFlZjQwNWM2YTUuLjkxNWIzMTMyYjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J3JnYigyNTUuMCwgMCwgMCwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sCmluZGV4IDA2MTc4NGY5ZWEyLi43ZjNiZDI2
MGZmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2ItMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMTAwJSwgMCwgMCknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29y
a2VyLmpzCmluZGV4IGUyYzI4N2ViZTFmLi45NDBmNTU1MTZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoMTAwJSwgMCwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwKaW5kZXggMTY0MTY2NzI4NzAu
LmU2Y2IzMDFkMmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIC0gMSwgMCknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTMud29ya2VyLmpzCmluZGV4IGJkYjliNmRjN2EwLi4xMzc0ZGMwZmZlZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAtIDEsIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLmh0bWwKaW5kZXgg
YmM0MDU2OWNhNDUuLjMzNDdmZGU1MDQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDEw
MCUsIDAsIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpzCmluZGV4IDI5MGYxNzUwOTZkLi5j
N2JkN2RjZDY4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMTAwJSwgMCwg
MCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdi
YS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2JhLTIuaHRtbAppbmRleCBlZGVkNTI2ZGZhNC4uMTZkMzg1ZTU0ZjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwLCAxLiAwKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLndv
cmtlci5qcwppbmRleCAwMzhiMzgzOGVkOC4uZWFkZWVjYzdiZGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4gMCknOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbAppbmRleCBk
ZWM3YWNlOTI5NS4uZWI0YmUwZDI4OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1
LCAwLCAwLCAxLiknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMKaW5kZXggOWJkZjc3M2NhMDkuLjA1
MzczOGUwYjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAs
IDEuKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYmEtNC5odG1sCmluZGV4IDhiMGFlZTU2ZWFiLi5hN2EzNjk3ZDc0NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lndvcmtlci5q
cwppbmRleCAwZGI0NGMzODgzNi4uNjA3NjllNzE3MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiYS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lmh0bWwKaW5kZXggYTNkOTc5MGE3NDYu
LmU4NGZiNWI1OWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMSwp
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2JhLTUud29ya2VyLmpzCmluZGV4IGU4MzE3ZWNkMzBhLi5mY2NhYjUyZmI2ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwLCAxLCknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTEuaHRt
bAppbmRleCA1YzQ4YWVlZjczMS4uMWIyYTNiMjI1NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0xMDAwLCAxMDAwLCAt
MTAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53b3JrZXIuanMK
aW5kZXggYjk4YzQxY2IzMTAuLjk3YWJiYzk2YzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTEw
MDAsIDEwMDAsIC0xMDAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi5odG1s
CmluZGV4IDNkYjAxOGM1ZjA4Li40NzFiNjdiMTNkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTIwMCUsIDIwMCUsIC0y
MDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yLndvcmtlci5qcwpp
bmRleCBkZTdmOTA2NzE0ZC4uODZjMWYyOWRkNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjAw
JSwgMjAwJSwgLTIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLmh0bWwK
aW5kZXggYmRlMjM0ODM3NzYuLjhmNjU5Zjc4ZmY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjE0NzQ4MzY0OSwgNDI5
NDk2NzI5OCwgLTE4NDQ2NzQ0MDczNzA5NTUxNjE5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcwppbmRleCBhNTk0ZGEwYzE3ZC4uMmFmYzZiYjdkYTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRv
IFswLDI1NV0uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjE0NzQ4MzY0OSwgNDI5NDk2NzI5OCwgLTE4NDQ2NzQ0
MDczNzA5NTUxNjE5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC5odG1sCmlu
ZGV4IDM2NjgwNTNjMDU2Li5hYTBlOWE1YTE1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2ItY2xhbXAtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAsIC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiLWNsYW1wLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtlci5qcwppbmRleCAwZGNi
Y2JjODMzOC4uZDNjOTc5NDlmMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBj
b2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMTAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCwgLTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lmh0bWwKaW5kZXggMDQ5MTNjNDM4
NGIuLmM0MDk3MmNlNDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1jbGFtcC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+QXNz
dW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUud29ya2VyLmpzCmluZGV4IDIx
ZWJlZmYyNGU4Li5mMjVhMmNhZGE2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVz
IGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0xMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIC0xMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2YuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLmh0bWwKaW5kZXgg
MzE1ODZjNjVhNTcuLjUyYTc4ODMzMjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItZW9mPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiLWVvZi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiLWVvZi53b3JrZXIuanMKaW5kZXggZWFkNGRkZDVmOWYuLmQ5Nzll
ZWMzZGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLWVvZi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLW51bS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYi1udW0uaHRtbAppbmRleCAyODIxZmYyYzMxYy4uZjA0YWU3YzFmYTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItbnVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1udW0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW08L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1udW08L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMCwyNTUsMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0ud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0ud29y
a2VyLmpzCmluZGV4IDMzM2ZlMGZkMzA0Li41OTEzYTdjODNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0ud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
bnVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYigwLDI1NSwwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2Vu
dC5odG1sCmluZGV4IDBmZDkyN2JmZThkLi5kMjFiOTA2NTA5NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1w
ZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLXBlcmNlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPkNTUzMgQ29sb3Igc2F5cyAiVGhlIGludGVnZXIgdmFsdWUgMjU1
IGNvcnJlc3BvbmRzIHRvIDEwMCUiLiAoSW4gcGFydGljdWxhciwgaXQgaXMgbm90IDI1NC4uLikK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAlICwxMDAlICww
JSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudC53b3JrZXIuanMKaW5k
ZXggNjc1MTNmYjUyNGMuLmMxZDE0YjVhMjdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2Vu
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPkNT
UzMgQ29sb3Igc2F5cyAiVGhlIGludGVnZXIgdmFsdWUgMjU1IGNvcnJlc3BvbmRzIHRvIDEwMCUi
LiAoSW4gcGFydGljdWxhciwgaXQgaXMgbm90IDI1NC4uLikKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAlICwxMDAl
ICwwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS5odG1sCmluZGV4IDZl
NDAzMjQ5ZTY5Li4xNWIyZTQ5ZDMwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtY2xhbXAtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDAsIC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0xLndvcmtlci5q
cwppbmRleCA1NjFmMjMyMjhkNC4uYWMxMTUwYzgwOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwg
IjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
Y2xhbXAtMi5odG1sCmluZGV4IGM2NWI0NDA1NjAyLi5kYWY2YWEzYTgzMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAt
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLWNsYW1wLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UucmdiYS1jbGFtcC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNs
YW1wLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtY2xhbXAtMi53b3JrZXIuanMKaW5kZXggN2Q3YjI3YzZiNWYuLjIzOThmMGFl
YmUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiYS1jbGFtcC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAw
LCAyKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2YuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi5odG1sCmluZGV4IDVmMDVmNzg4ZmYy
Li5iYzQwNjBhYWZjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Y8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1lb2Yud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtZW9mLndvcmtlci5qcwppbmRleCA4ZmE4YjUxZTk3YS4uNDE1YTA2
ZDQ0NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLWVvZi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAxJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5odG1sCmluZGV4IDhiNzVhM2ZhNGVlLi5j
ZTkzY2RkNmFkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0t
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAgICwg
IC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjci
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpz
CmluZGV4IDJkYmI5Mjg1OWFlLi43ODMzNWI2MjVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51
bS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgIC40OTkgICknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtbnVtLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2JhLW51bS0yLmh0bWwKaW5kZXggYzg0M2I5YWIxYzguLjI1Y2MyYmE1NjBl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1udW0tMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAgLCAgMC40OTkgICkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIud29ya2VyLmpzCmluZGV4IDNk
OGEyNmEwM2EzLi40Y2FlYjAyN2MwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgIDAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LXBlcmNlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXBlcmNlbnQuaHRtbAppbmRleCBjY2QwMmFlY2IxZi4uOGVmZmUxZTAwMGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLXBlcmNlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCUsMTAwJSwwJSwwLjQ5OSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtcGVyY2VudC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lndvcmtlci5qcwppbmRleCAwOTUyMTY2
MWZkOS4uZDUwNDdlOTM0YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgwJSwxMDAlLDAlLDAuNDk5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwyNSIs
ICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xp
ZC0xLmh0bWwKaW5kZXggYmE1NzdmZDlhOTUuLmQ4Y2FhZjk3M2ZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtc29saWQtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAxICApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLXNvbGlkLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS53b3JrZXIuanMKaW5kZXggNTg1ZTg1MWIwMzMu
LjBiNDVlZTdmNTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
ICAwICAsICAyNTUgICwgIDAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
c29saWQtMi5odG1sCmluZGV4IDZmYjg4NGMxNGVmLi4xMjExNmNkMzBjNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQt
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLXNvbGlkLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UucmdiYS1zb2xpZC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAgLCAgMS4wICApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi53b3JrZXIuanMKaW5kZXggNjEyNjU0
MDJhMmEuLjhiZGJmYzdlZDcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgIDEuMCAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1z
b2xpZC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1zb2xpZC0zLmh0bWwKaW5kZXggZTQ4YTU4NmYyMTMuLjA5NjVmZWNiMjgwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1zb2xpZC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtc29saWQtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICsxICApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKaW5kZXgg
ZGI0NTE2YWRjNjUuLjg2MmI3NjQyMWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0z
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgKzEgICknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtc29saWQtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtc29saWQtNC5odG1sCmluZGV4IDVhNDhiOGQxYWQzLi5kMTIwMzk4Y2MyMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtc29saWQtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggLTAgICwgIDI1NSAgLCArMCAgLCAgMSAg
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQud29ya2VyLmpzCmlu
ZGV4IDE4MWNjNDViZGVlLi44OGMxMTc1MzYwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29s
aWQtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKCAtMCAgLCAgMjU1ICAsICswICAsICAxICApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5zdmctMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnN2Zy0xLmh0bWwKaW5kZXggZTljOTcyNmI3NjkuLjRiMzRhOTgyY2M1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3Zn
LTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLnN2Zy0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2dyYXknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDEyOCwxMjgsMTI4LDI1NSwgIjUwLDI1IiwgIjEyOCwxMjgsMTI4LDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcwppbmRleCA3MWJjYjYwNWY2
ZS4uY2FhNTI3NGNhOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5zdmctMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2dyYXknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDEyOCwxMjgsMTI4LDI1NSwgIjUwLDI1IiwgIjEyOCwxMjgsMTI4LDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2Uuc3ZnLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zdmctMi5odG1sCmluZGV4IGRjZmVjMzFkNTRkLi44OTNkZGY4NWM3MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnN2Zy0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN2Zy0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
c3ZnLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdn
cmV5JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3JrZXIuanMKaW5kZXgg
MGFjODA1NDQwZTkuLjQ1NzZjOTAyM2VjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmV5JzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCmluZGV4IGNlMzVhNzQyNDk5Li4y
ZWMzZTIzZGYwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2Uuc3lzdGVtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ1RocmVlRERhcmtTaGFk
b3cnOwogYXNzZXJ0X3JlZ2V4cF9tYXRjaChjdHguZmlsbFN0eWxlLCAvXiMoPyEoRkYwMDAwfGZm
MDAwMHxmMDApJCkvKTsgLy8gdGVzdCB0aGF0IGl0J3Mgbm90IHJlZAotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3lzdGVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzCmluZGV4IGFiNTkwN2RlYWY3Li5hOWZhODEx
YzdkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnVGhyZWVERGFya1NoYWRvdyc7CiBhc3NlcnRfcmVnZXhwX21hdGNoKGN0eC5maWxsU3R5bGUs
IC9eIyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pOyAvLyB0ZXN0IHRoYXQgaXQncyBub3QgcmVk
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5odG1sCmluZGV4
IDNlN2RhODlkYjk0Li4zZGI4MTg5YjhhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UudHJhbnNw
YXJlbnQtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3RyYW5zcGFyZW50JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS53b3JrZXIu
anMKaW5kZXggMTBiYjUzYjVlNGQuLmI0MWNmMGRmNmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRy
YW5zcGFyZW50LTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAndHJhbnNwYXJlbnQnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJl
bnQtMi5odG1sCmluZGV4IDlkZDg3NjI1ZjViLi40NWVlMmUxNTA1ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
dHJhbnNwYXJlbnQtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UudHJhbnNwYXJlbnQtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ1RyQW5TcEFyRW5UJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNw
YXJlbnQtMi53b3JrZXIuanMKaW5kZXggMGRkMDc4NDY3ZjcuLmI5NmJkMGIxODY4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNw
YXJlbnQtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnVHJBblNwQXJFblQnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sCmluZGV4
IDM3MjA1NTgwN2MxLi42ZDcwNDlhYzg0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5l
bXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCB2YXIg
ZyA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCA1MCk7CiBjdHguZmlsbFN0eWxl
ID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lndvcmtlci5qcwppbmRleCAxNDY1MjBlOWQ3MC4u
ODVlYjMxMTA1YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwg
MCwgMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuYWxwaGEuaHRtbAppbmRleCA2OTZjNmU2YWZiNC4uMzRiNzRmNWUyN2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkx
LDE5MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAi
NzUsMjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5h
bHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5hbHBoYS53b3JrZXIuanMKaW5kZXggZmU1M2RiMjIwMjkuLjZkNzAzOTIwOGNl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkx
LDYzLDI1NSwgIjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3
LDEyNywxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgNjMsNjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIuaHRtbAppbmRleCBhOTI0Njc3ODU1
Yy4uNzQyNzE4ZjAyNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5jb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEs
MTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAi
MTI3LDEyNywxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci53b3JrZXIuanMKaW5k
ZXggODdjZWE1M2Q1MjMuLjRkYzBiMTFhNGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91
ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkxLDE5MSw2
MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAiNzUsMjUi
LCAiNjMsNjMsMTkxLDI1NSIsIDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJh
bHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUuY29sb3VyYWxwaGEuaHRtbAppbmRleCAxOWM0ZTQ3ZGY1NC4uM2ZiZDNhZGFkYjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLmNvbG91cmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3Vy
YWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5
MCwxOTAsNjUsNjUsICIyNSwyNSIsICIxOTAsMTkwLDY1LDY1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI2LDEyNiwxMjgsMTI4LCAiNTAsMjUiLCAi
MTI2LDEyNiwxMjgsMTI4IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgNjIsNjIsMTkyLDE5MiwgIjc1LDI1IiwgIjYyLDYyLDE5MiwxOTIiLCAzKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEud29y
a2VyLmpzCmluZGV4IDM0YzJkMDM3NzU3Li40NDljZmRmZDVkYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLmNvbG91cmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMTkwLDE5MCw2NSw2NSwg
IjI1LDI1IiwgIjE5MCwxOTAsNjUsNjUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxMjYsMTI2LDEyOCwxMjgsICI1MCwyNSIsICIxMjYsMTI2LDEyOCwx
MjgiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCA2Miw2
MiwxOTIsMTkyLCAiNzUsMjUiLCAiNjIsNjIsMTkyLDE5MiIsIDMpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbAppbmRleCA3ZjVjZDdiYzJiNS4uODZj
Yjk4YTBmNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
bXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDIwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEy
NywyNTUsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywyNTUsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTAwLDI1LCAwLDI1NSwyNTUsMjU1LCAiMTAwLDI1
IiwgIjAsMjU1LDI1NSwyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDE1MCwyNSwgMTI3LDEyNywyNTUsMjU1LCAiMTUwLDI1IiwgIjEyNywxMjcsMjU1LDI1NSIs
IDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53
b3JrZXIuanMKaW5kZXggMzNiZGY4OGIwNGYuLjk4ZWU0NjczNGZjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMjU1LDEyNywyNTUsICI1
MCwyNSIsICIxMjcsMjU1LDEyNywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDEwMCwyNSwgMCwyNTUsMjU1LDI1NSwgIjEwMCwyNSIsICIwLDI1NSwyNTUsMjU1
IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNTAsMjUsIDEyNywx
MjcsMjU1LDI1NSwgIjE1MCwyNSIsICIxMjcsMTI3LDI1NSwyNTUiLCAzKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sCmluZGV4IGYwZmQ5YWZhYjY2Li42
MzI3ZDQwMzAzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
b3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDI1LCAwLDI1
NSwwLDI1NSwgIjIwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMjUsIDAsMjU1
LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA5MjE2ZDBmYzUxMS4u
ZDU2MTkxNzNkY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDIwLDI1LCAwLDI1NSwwLDI1NSwgIjIwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
ODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1sCmluZGV4IDk0NTg3M2VlYTY5
Li5jYjY4YTZjZTE5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUub3ZlcmxhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDAsMjU1LDI1NSwgIjk5LDI1IiwgIjAsMCwyNTUs
MjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEwMSwyNSwgMjU1LDI1
NSwwLDI1NSwgIjEwMSwyNSIsICIyNTUsMjU1LDAsMjU1IiwgMTYpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMTQ5LDI1LCAwLDAsMjU1LDI1NSwgIjE0OSwyNSIsICIwLDAs
MjU1LDI1NSIsIDE2KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1MSwy
NSwgMjU1LDI1NSwwLDI1NSwgIjE1MSwyNSIsICIyNTUsMjU1LDAsMjU1IiwgMTYpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAud29ya2VyLmpzCmluZGV4
IGJmNWE1YTU1OWMzLi4wYzFiZjJjMDhhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zlcmxh
cC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDcgKzQy
LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMCwyNTUs
MjU1LCAiOTksMjUiLCAiMCwwLDI1NSwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMTAxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTAxLDI1IiwgIjI1NSwyNTUsMCwyNTUi
LCAxNik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNDksMjUsIDAsMCwy
NTUsMjU1LCAiMTQ5LDI1IiwgIjAsMCwyNTUsMjU1IiwgMTYpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMTUxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTUxLDI1IiwgIjI1NSwy
NTUsMCwyNTUiLCAxNik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVy
bGFwMi5odG1sCmluZGV4IGYyMDkwNGUyNDhkLi5hOGFiNzM4YjQxOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5vdmVybGFwMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5vdmVybGFwMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzMCwyNSwgMCwyNTUs
MCwyNTUsICIzMCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNDAsMjUsIDAsMjU1LDAsMjU1LCAiNDAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYwLDI1LCAwLDI1NSwwLDI1NSwgIjYwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCwyNSwgMCwyNTUs
MCwyNTUsICI4MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5vdmVybGFwMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMi53b3JrZXIuanMKaW5kZXggNDJiODQ3MzFiMjcuLmMw
YzM2NDM1ZTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDMwLDI1LCAwLDI1NSwwLDI1NSwgIjMwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0MCwyNSwgMCwyNTUsMCwy
NTUsICI0MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNjAsMjUsIDAsMjU1LDAsMjU1LCAiNjAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDI1LCAwLDI1NSwwLDI1NSwgIjgwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC5odG1sCmlu
ZGV4IGM1ODViYjA4NTdiLi5iMWZiYTQwOTJhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5zb2xpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBnLmFkZENvbG9y
U3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5z
b2xpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMKaW5kZXggNGI1MDAwODBhNzMuLjRhMTIyODlmMmM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5zb2xpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGcuYWRkQ29sb3JTdG9wKDEsICcjMGYw
Jyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0
aWNhbC5odG1sCmluZGV4IGZmZGIzMmRlODdjLi5hM2VlYTQ3NzVlNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS52ZXJ0aWNhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMTkxLDE5MSw2MywyNTUsICI1MCwxMiIsICIx
OTEsMTkxLDYzLDI1NSIsIDEwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCA1KTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCA2Myw2MywxOTEsMjU1
LCAiNTAsMzciLCAiNjMsNjMsMTkxLDI1NSIsIDEwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUudmVydGljYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwud29ya2VyLmpzCmluZGV4IDgyMTJhZDgyNjA4Li4x
YzE2MjRkNmMyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwxMiwgMTkxLDE5MSw2MywyNTUsICI1MCwxMiIsICIxOTEsMTkxLDYzLDI1NSIsIDEwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywy
NTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCA1KTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDM3LCA2Myw2MywxOTEsMjU1LCAiNTAsMzciLCAiNjMsNjMsMTkx
LDI1NSIsIDEwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVy
b3NpemUuZmlsbC5odG1sCmluZGV4IDdjOGVlYTgwOGUxLi5jYzYxYjUwZTQ4YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVy
b3NpemUuZmlsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUu
ZmlsbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsU3R5bGUgPSBn
OwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDAsMjAsIDAsMjU1LDAsMjU1LCAiNDAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5maWxsLndvcmtlci5qcwppbmRleCA0ZGJlMTQ2MjM4Mi4uZjMyNDJjMjEzMTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnpl
cm9zaXplLmZpbGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSBn
OwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDAsMjAsIDAsMjU1LDAsMjU1LCAiNDAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3QuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LmZpbGxSZWN0Lmh0bWwKaW5kZXggNWViMzdjODY5OTcuLjMwMzNjOTRlMjVjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5maWxsUmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnpl
cm9zaXplLmZpbGxSZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZp
bGxSZWN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGcu
YWRkQ29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAw
LDI1NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lndvcmtlci5q
cwppbmRleCA5MzVlMTZhN2RiOS4uNTBlODYwMDU3MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgZy5hZGRDb2xvclN0b3AoMSwgJyNmMDAn
KTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDAsMjAsIDAsMjU1LDAsMjU1LCAiNDAsMjAiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS56ZXJvc2l6ZS5zdHJva2UuaHRtbAppbmRleCA3MjE1YTk1NTQ4My4uZWNjNjEwZGQ0YjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnplcm9zaXplLnN0cm9rZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS56ZXJvc2l6ZS5zdHJva2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUu
c3Ryb2tlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIwLCAwLDI1NSwwLDI1NSwgIjIxLDIwIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxOSwyMSwgMCwy
NTUsMCwyNTUsICIxOSwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjAsMjEsIDAsMjU1LDAsMjU1LCAiMjAsMjEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIxLCAwLDI1NSwwLDI1NSwgIjIxLDIxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9r
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29ya2VyLmpzCmluZGV4IGNkYTRkYzQ2YzE2Li40NjI0
MDUyMDIwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIwLCAwLDI1NSwwLDI1NSwgIjIx
LDIwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxOSwy
MSwgMCwyNTUsMCwyNTUsICIxOSwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjAsMjEsIDAsMjU1LDAsMjU1LCAiMjAsMjEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIxLCAwLDI1NSwwLDI1NSwgIjIx
LDIxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LnN0cm9rZVJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3QuaHRtbAppbmRleCAyMWM5NGVlYTdmZi4u
YzZhNDIxYWRkM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3QuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2VSZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Q8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMSwyMCwgMCwyNTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1
NSwgIjIwLDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMSwyMSwgMCwyNTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9r
ZVJlY3Qud29ya2VyLmpzCmluZGV4IDc4YjhlOGYxMjQ2Li5kY2EyMzljOWJiZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVy
b3NpemUuc3Ryb2tlUmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1NSww
LDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUsICIyMCwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS5odG1sCmlu
ZGV4IDQ3YjFlZTViMmZiLi41MWQ0OGFjMGZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQu
bGluZWFyLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVMaW5lYXJHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3Ig
aWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlTGluZWFyR3JhZGllbnQoKSB0aHJvd3Mg
VHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQz
LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3Jl
YXRlTGluZWFyR3JhZGllbnQoMCwgSW5maW5pdHkKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5LCAxLCBJbmZp
bml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXgg
NTAyOTIxZjYxZjAuLmM4MjY4YjAwOTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlTGluZWFyR3JhZGllbnQoKSB0aHJv
d3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDcg
KzM5LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
Y3JlYXRlTGluZWFyR3JhZGllbnQoMCwgSW5maW5pdHkKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5LCAxLCBJ
bmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLmh0bWwKaW5kZXggNDNi
MTdkNjEwNmMuLjc5NzgwMmNlODlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQubGlu
ZWFyLnRyYW5zZm9ybS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+TGluZWFyIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2
ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZWFyIGdy
YWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBh
dCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFJl
Y3QoNTAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRy
YW5zZm9ybS4xLndvcmtlci5qcwppbmRleCBmNzc1ZDg1MDk1Zi4uYWRhMGI5Njg5NzYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFu
c2Zvcm0uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiTGluZWFyIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRp
bmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBjdHguZmlsbFJlY3QoNTAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJh
bnNmb3JtLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmxp
bmVhci50cmFuc2Zvcm0uMi5odG1sCmluZGV4IDQ0Yzk1ZTdjMDUyLi44MGI4NzkxOWVmZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRy
YW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5n
cmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmVhciBn
cmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2Ug
YXQgdGhlIHRpbWUgb2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVs
YXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi53b3JrZXIuanMKaW5kZXgg
YmNhOGRmMGFmNGIuLjMzMDU4MjQ5NTIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCBjb29yZGlu
YXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2Yg
ZmlsbGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMuaHRtbAppbmRl
eCA5NjNiN2VhZGIxMS4uYzczMGJkNWE4OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5saW5lYXIudHJhbnNmb3JtLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4z
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3Qg
ZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IHRyYW5zZm9y
bXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZmZWN0cyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
bGluZWFyLnRyYW5zZm9ybS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy53b3JrZXIuanMKaW5kZXggNmFjZmQwMGVm
OTIuLjU0NTVmMjRiNzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5v
dCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5j
b21wYXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmpl
Y3QuY29tcGFyZS5odG1sCmluZGV4IDFhZWMyNGM2NWRiLi4zMDIwYzYwYTY4MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3Qu
Y29tcGFyZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuY29t
cGFyZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCB2YXIg
ZzIgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMTAwLCAwKTsKIF9hc3NlcnREaWZm
ZXJlbnQoZzEsIGcyLCAiZzEiLCAiZzIiKTsKIGN0eC5maWxsU3R5bGUgPSBnMTsKIF9hc3NlcnRT
YW1lKGN0eC5maWxsU3R5bGUsIGcxLCAiY3R4LmZpbGxTdHlsZSIsICJnMSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5vYmplY3QuY29tcGFyZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS53b3JrZXIuanMKaW5kZXggYWZmZDY0Mzg4Yjgu
LmY5MDhjYzY4MDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5vYmplY3QuY29tcGFyZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIHZhciBnMiA9IGN0eC5jcmVh
dGVMaW5lYXJHcmFkaWVudCgwLCAwLCAxMDAsIDApOwogX2Fzc2VydERpZmZlcmVudChnMSwgZzIs
ICJnMSIsICJnMiIpOwogY3R4LmZpbGxTdHlsZSA9IGcxOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxT
dHlsZSwgZzEsICJjdHguZmlsbFN0eWxlIiwgImcxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5j
cm9zc2NhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmNyb3NzY2FudmFzLmh0bWwKaW5kZXggZWViNjI0MjZkMDQuLmU3YzIyZTM2MjkzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3Qu
Y3Jvc3NjYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5vYmplY3QuY3Jvc3NjYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBnLmFkZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxT
dHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFz
Lndvcmtlci5qcwppbmRleCA5Njk5OTc3YTZmZS4uYjRmMjg0ZjdjNzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2Jq
ZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBnLmFkZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxT
dHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIu
aHRtbAppbmRleCA3OTU2NzNiYWQ3ZC4uMGI3MmE4MzUyN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFs
aWRjb2xvdXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQub2Jq
ZWN0LmludmFsaWRjb2xvdXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENv
bG9yU3RvcCgwLCAnbnVsbCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5j
dGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9KTsKIGFzc2VydF90aHJv
d3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgbnVsbCk7IH0p
OwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3Rv
cCgwLCB1bmRlZmluZWQpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0
LmludmFsaWRjb2xvdXIud29ya2VyLmpzCmluZGV4IDFmYTYyZjNiMTdlLi41MjZlZGJmZmI2MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0
LmludmFsaWRjb2xvdXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBhc3NlcnRfdGhyb3dzKCJTWU5U
QVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDAsICdudWxsJyk7IH0pOwogYXNz
ZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCAn
dW5kZWZpbmVkJyk7IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkg
eyBnLmFkZENvbG9yU3RvcCgwLCBudWxsKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJS
IiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDAsIHVuZGVmaW5lZCk7IH0pOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQuaHRtbAppbmRleCAyZGQ4N2Zi
NDdjZi4uZDg0MTg5NWM5N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2Jq
ZWN0LmludmFsaWRvZmZzZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgYXNzZXJ0X3Ro
cm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMiwgJyMw
MDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcu
YWRkQ29sb3JTdG9wKEluZmluaXR5LCAnIzAwMCcpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoLUluZmluaXR5LCAnIzAwMCcp
OyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRD
b2xvclN0b3AoTmFOLCAnIzAwMCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRv
ZmZzZXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmludmFsaWRvZmZzZXQud29ya2VyLmpzCmluZGV4IDI4ZjcxMTE1NzlmLi4yM2I1ZDdh
M2Q4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmludmFsaWRvZmZzZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBhc3NlcnRfdGhyb3dz
KCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgyLCAnIzAwMCcp
OyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRD
b2xvclN0b3AoSW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7IH0p
OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9y
U3RvcChOYU4sICcjMDAwJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0
bWwKaW5kZXggYzdmMzZhMzE5OTMuLjY2ZmE2MTIyYWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5v
YmplY3QudXBkYXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZy5hZGRDb2xvclN0b3AoMC4xLCAn
IzBmMCcpOwogZy5hZGRDb2xvclN0b3AoMC45LCAnIzBmMCcpOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2Jq
ZWN0LnVwZGF0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5vYmplY3QudXBkYXRlLndvcmtlci5qcwppbmRleCAwMjhkOTM0MjQxNi4uZjZjMTUzMWQy
MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9i
amVjdC51cGRhdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50Lm9iamVjdC51cGRhdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGcuYWRkQ29sb3JTdG9wKDAuMSwgJyMwZjAnKTsK
IGcuYWRkQ29sb3JTdG9wKDAuOSwgJyMwZjAnKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlaGluZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuYmVoaW5kLmh0bWwKaW5kZXggNjgxOWUxNjAxZWYuLjQ1MjkyZGQ2ZmUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5iZWhpbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlaGluZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwy
NTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYmVoaW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmJlaGluZC53b3JrZXIuanMKaW5kZXggMzk3ZmY0ZWFkMTQuLjllMjBj
M2I0MmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5iZWhpbmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgs
IDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0bWwKaW5kZXggMGM4
MWI4MWU4NDIuLmUxOTk2YWQ4ZjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuYmVzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53b3JrZXIu
anMKaW5kZXggMTQ1ZTUxMTllMmUuLjJiYjg3OTIxOTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlc2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAs
MjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJv
dHRvbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuYm90dG9tLmh0bWwKaW5kZXggNTE0NTc3NTBiNjEuLmE0Y2FjMDk1MjExIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5i
b3R0b20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5ib3R0b20uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmJvdHRvbTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUu
Ym90dG9tLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLmJvdHRvbS53b3JrZXIuanMKaW5kZXggZGFhMjRiMDZjZDguLjkxMzVmMjg2
OWQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5ib3R0b20ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAs
MjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1sCmluZGV4IDhm
NmMzMDI1ZDlmLi4yMzRjOGYyNDgyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5jeWxpbmRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxp
bmRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3ls
aW5kZXIud29ya2VyLmpzCmluZGV4IDg1ZjI0OTU3MWJlLi4wNzg2NmZlNDhkYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3ls
aW5kZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUs
ICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKaW5kZXggYzViNDZiZWY5MDYuLjVhYzFk
ZTg2YTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5mcm9udC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUw
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMKaW5kZXggYTc3NThlOWU2YjYu
LjRlYWVlNDdmNzBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCmluZGV4
IGE3MDI1NTc3NzgxLi44MTYxNTY2MjhiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLnNoYXBlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29y
a2VyLmpzCmluZGV4IDQxMzIzZjYzMmE5Li4xNjE2ODMzZWJiOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5zaGFwZTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zNSw3ICszOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1
NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5zaGFwZTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLnNoYXBlMi5odG1sCmluZGV4IGY0ZjhiYjU1MWRkLi4wN2FjYWE4NmViMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuc2hhcGUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuc2hhcGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAs
MjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLnNoYXBlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzCmluZGV4IDRhMGI5YWRmNDYwLi5jNmY5
MjE3MzdmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4
LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCmluZGV4IDM2ZjQzOWVh
NzAwLi4zZjgwY2E5OWQ5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRv
cDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3A8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAi
NTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzCmluZGV4IDQyNzVlNTZmNzgyLi41
MTQ2NDQxOTY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAw
LDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCmluZGV4IDliYmY0ODliODBkLi40YTgz
YjI2YzM0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmVxdWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmVxdWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5yYWRpYWwuZXF1YWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAi
OTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwu
d29ya2VyLmpzCmluZGV4IGY1MjI0YTMyYWYwLi4zODUzNzRjMDkzYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1
YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICsz
Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwg
Ijk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEu
aHRtbAppbmRleCAyY2RjZDg4NDNlYi4uMzY4MmJiYTBmMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGll
bnQucmFkaWFsLmluc2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgs
IDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcwppbmRleCA5
YTNmOTVhMWYyZC4uMmZlMTY1NmNjZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCmluZGV4IDBh
NzlkYmVmMmRiLi4wMmQzYWIxYWY2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUs
ICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzCmluZGV4IDQ3MTVkNGUyYmI0Li41
ZjZlMTg1YTI0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwy
NTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwKaW5kZXggMjVkMjc2ZWRmNDMuLjVh
YmFkZGYxNjhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1
NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuaW5zaWRlMy53b3JrZXIuanMKaW5kZXggYjFmNTUzMGMxNDYuLjk2MzEzY2ZlYTBjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
aW5zaWRlMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUw
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5uZWdhdGl2ZS5odG1sCmluZGV4IDdkZTMxMTQ4MzhjLi4zOWNhY2I5MDFlNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5yYWRpYWwubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZVJhZGlhbEdyYWRp
ZW50KCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIGVpdGhlciByYWRpdXMgaXMgbmVnYXRpdmU8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
cmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBlaXRoZXIgcmFk
aXVzIGlzIG5lZ2F0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwg
MCwgMSk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEpOyB9KTsKIGFzc2Vy
dF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxH
cmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGM2YTk4Y2FjZGZlLi45NzllMDIw
Nzk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBl
aXRoZXIgcmFkaXVzIGlzIG5lZ2F0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKCJJTkRF
WF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwg
LTAuMSwgMCwgMCwgMSk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEpOyB9
KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsgfSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbAppbmRleCAyMmRiZTI3N2FhMy4uY2U2NTdk
ZWM0YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRl
UmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZp
bml0ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMg
YXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05MSw3ICs5NSw2IEBAIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAs
IDEsIEluCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbmZpbml0eSwgMCwgSW5maW5pdHkpOyB9KTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJh
ZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGJiZDJl
OTVhMmVlLi42YTJkNmUwZWIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5
cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC04Nyw3ICs5MSw2
IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCBJbmZpbml0
eSwgMCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS5odG1sCmlu
ZGV4IGJhMDY3NmJiN2E5Li4yOTViOTg1YTcyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJh
ZGlhbC5vdXRzaWRlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAs
MjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2VyLmpzCmluZGV4IDU4
MjgwYTZlNDVkLi40NTg5YjBjNTJlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi5odG1sCmluZGV4
IDI0YzNhNzM5ZTI0Li4zNjM2MTgzNjFiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlh
bC5vdXRzaWRlMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1
LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIud29ya2VyLmpzCmluZGV4IDdmMWIx
MDFiZGRhLi45MGY5ZTY2NTUzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy5odG1sCmluZGV4IDQy
NTg5ZGQxZGZjLi4wYjI1MTQ1NTE4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5vdXRzaWRlMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMud29ya2VyLmpzCmluZGV4IDNjNDEzOTIx
MjZjLi40MDFkNDZmN2ExNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLmh0bWwKaW5kZXggN2ZjMzQzMDI4
ZmQuLmUwOTE5OTc1ZGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAs
MjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
b3VjaDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLnRvdWNoMS53b3JrZXIuanMKaW5kZXggZDE3NmMwMTM5M2IuLmM1NWY2MWE1YWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
dG91Y2gxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwudG91Y2gxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwy
NSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLnRvdWNoMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLnRvdWNoMi5odG1sCmluZGV4IDFjODU5N2QwYzYxLi41NDZmMzU0MzNhMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNo
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC50b3VjaDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudG91
Y2gyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIud29ya2VyLmpz
CmluZGV4IDJmZmJjNzU3YmVlLi44NzBmOGM0Y2NjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMuaHRtbAppbmRl
eCAxYThhODFlMDc4OS4uOTQzYjQ0NDE2ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC50
b3VjaDM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUs
ICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLnRvdWNoMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLndvcmtlci5qcwppbmRleCA0ZWE5Yjg2NTBlZi4uMGM0
ZWU4M2UyOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSww
LDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS5odG1sCmluZGV4IGEzYjQ2NmY5YWVj
Li5lOTQ2Yjg5ZDkxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC50cmFu
c2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhl
IGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCBj
b29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRp
bWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZpbGxSZWN0KC01LCAt
Mi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3Jt
LjEud29ya2VyLmpzCmluZGV4IDM2ODM0OTE4N2RkLi4xYzYzMjBhNWUwMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJSYWRp
YWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNw
YWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5m
aWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3Jt
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMi5odG1sCmluZGV4IDJlYTNkMmEwYmVmLi5jMWNkM2UwMDkwMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9y
bS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLnRyYW5zZm9ybS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5yYWRpYWwudHJhbnNmb3JtLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJhZGlhbCBncmFkaWVu
dCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhl
IHRpbWUgb2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUg
dG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI5LDcgKzMzLDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50cmFuc2Zvcm0uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IDE1MTlj
MzM3MzQ2Li45OWRhODc0NTIyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMg
YXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxp
bmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy5odG1sCmluZGV4IGVi
M2Y3YmEwMjgwLi4zNDhiOGI2MDY3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJh
ZGlhbC50cmFuc2Zvcm0uMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjM8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBl
cmllbmNlIGJyb2tlbiBjYWNoaW5nIGVmZmVjdHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQgdHJhbnNmb3JtcyBk
byBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZlY3RzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyAr
MzMsNiBAQCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLnRyYW5zZm9ybS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMKaW5kZXggNTIzOTM3NmRiNDgu
LjRhOGZiMGUwMWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBl
eHBlcmllbmNlIGJyb2tlbiBjYWNoaW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZh
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52
YXMuaHRtbAppbmRleCBiM2JlNGU5ODE2ZC4uOTFlZTI2NDQyZjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5i
YXNpYy5jYW52YXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5iYXNpYy5jYW52YXM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMuY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLndvcmtlci5qcwppbmRleCBhOTk2OWY2NTIyMi4uYjgz
NjY1MzZhZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1
LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuaW1hZ2UuaHRtbAppbmRleCA3MzBmYjAyMzgzYy4uYzFlMzU2NTE5YjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmlt
YWdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdHRlcm4uYmFzaWMuaW1hZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5iYXNpYy5pbWFnZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTYgKzMyLDE2IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCmlu
ZGV4IDJkNGRmZDhlZTZmLi41NDNhYWVmMjBmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1s
CmluZGV4IGZjYWVjYmNlNzYwLi4wNzU0NzBmMGEwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmJh
c2ljLm5vY29udGV4dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5iYXNpYy5ub2NvbnRleHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQud29ya2VyLmpzCmluZGV4IGE1ZGFjZWY4ODVl
Li4zMWFkZDA2NWFjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5iYXNpYy5ub2NvbnRleHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMuaHRtbAppbmRleCA0NjUyYzQwN2NjZi4uMjI5
M2QyMWJmN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuemVyb2NhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMSw3ICszNSw2IEBAIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAi
KTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjAiKTsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVu
Y3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMKaW5k
ZXggMzI2Y2U1MzVkNDUuLmMwMTUwMDJjNmFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
d2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwog
YXNzZXJ0X3Rocm93cygiSU5WQUxJRF9TVEFURV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAncmVwZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNy
b3NzY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNy
b3NzY2FudmFzLmh0bWwKaW5kZXggZjdkMGM1ZmRmNjEuLmRhZjJmZDI2OGQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0
ZXJuLmNyb3NzY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uY3Jvc3NjYW52YXM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2ICszMCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKLSAgICB2YXIgcGF0dGVybiA9IG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgnMmQnKS5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0
Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwor
ICAgICAgICB2YXIgcGF0dGVybiA9IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKS5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5q
cwppbmRleCA2ZDNiYTMxYmFjZS4uZWE3MTlkNDIzNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Ci0gICAgdmFyIHBhdHRl
cm4gPSBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykuY3JlYXRlUGF0dGVybihyZXNw
b25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBvZmZzY3JlZW5DYW52YXMyLmdl
dENvbnRleHQoJzJkJykuY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC5o
dG1sCmluZGV4IDMwZmQ2NWEyNmI2Li4xOTNiYjlkZDRjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UubnVs
bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXR0ZXJuLmltYWdlLm51bGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4o
bnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIu
anMKaW5kZXggNDU0ZTYxOWE4YjAuLjZiNWFkNjRjN2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMK
QEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4obnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5pbWFnZS5zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLmh0bWwKaW5kZXggYmNjNGFkMDBjYjguLjA3MjJmOGYyODE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdl
LnN0cmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
aW1hZ2Uuc3RyaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uaW1hZ2Uuc3Ry
aW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKCcuLi9pbWFnZXMvcmVkLnBuZycsICdyZXBl
YXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcwppbmRl
eCA2ZDczMmU3YjIwMC4uYzY0Zjk3OGMzZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMKQEAg
LTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4oJy4uL2ltYWdlcy9yZWQucG5nJywgJ3JlcGVhdCcp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwKaW5kZXggZjAzNDdl
YTk3MzIuLjhkZmY5NDgyODEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVk
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0
ZXJuKHVuZGVmaW5lZCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmlu
ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFn
ZS51bmRlZmluZWQud29ya2VyLmpzCmluZGV4IDhlZDUxYjZjMWJiLi41MjE2M2MwOTFjNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRl
ZmluZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uaW1hZ2UudW5kZWZpbmVkLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVy
bih1bmRlZmluZWQsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZh
czEuaHRtbAppbmRleCAyM2M3ZTc4YWQ5Zi4uNjMyYzVhZWZjOGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRl
cm4ubW9kaWZ5LmNhbnZhczE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5tb2RpZnkuY2FudmFzMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5tb2RpZnkuY2FudmFzMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLndvcmtlci5qcwppbmRleCA2Y2E0ZDZkYTM1
YS4uODQxYTk4MDJjMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwKaW5kZXggZjc0ODhmY2NhN2UuLmYxZjI2ODU1
MWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1v
ZGlmeS5jYW52YXMyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5tb2RpZnkuY2FudmFzMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4u
bW9kaWZ5LmNhbnZhczI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi53b3Jr
ZXIuanMKaW5kZXggYTg3MmJiOGVhMmIuLjMxZDc0NjJhYWE0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMy
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNp
Yy5odG1sCmluZGV4IDkyNWU1Y2I1ZWE4Li5hZTNiZGIyZGJhNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50
Lm5vcmVwZWF0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxNiAr
MzIsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKaW5kZXggOTMxNjMxN2Q2MGEu
LjkwM2NhYjcxNzRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTYgKzI4LDE2IEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4g
PSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxs
U3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQxLmh0bWwKaW5kZXggMmI4MWRhMTQ0YjMuLjk1Mzg2MWNkZThjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNv
b3JkMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQubm9yZXBlYXQuY29vcmQxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCwxNyArMzQsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAn
bm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5z
bGF0ZSg1MCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOworICAgICAgICBjdHgu
ZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2VyLmpz
CmluZGV4IDQyMTBlYWE0ZjlmLi5mODQzMjE0NGNkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsMTcgKzMwLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJl
cGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUo
NTAsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbAppbmRleCBiZGMzYWI5NTRm
NS4uZjQ3NWFhZTk5YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5u
b3JlcGVhdC5jb29yZDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDIxICszMCwyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKLSAgICBj
dHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4
LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOworICAg
ICAgICBjdHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIu
d29ya2VyLmpzCmluZGV4IDIyNmRiMDRlMWM2Li5hYmY2MTk1YzQ4YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQubm9yZXBlYXQuY29vcmQyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsMjEgKzI2LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAg
Y3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJu
OwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIDAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
NTAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDUwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
KyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtNTAs
IDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5ub3JlcGVhdC5jb29yZDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwKaW5kZXggOGMwMjdhZjJhNGMuLjJjNTRh
ZDQwYzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
Y29vcmQzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxOSArMzIsMTkgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIC0y
NSwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVh
dCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5z
bGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgNTAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCmluZGV4IGRhOTNjNTNk
MjkyLi5hMWE0MzhhZjFlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTkgKzI4LDE5IEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBh
dHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0
eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKLSAgICBj
dHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KC01
MCwgLTI1LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS5odG1sCmluZGV4
IDkxNjI3MmZjYWRlLi4zYTczNzRkOWQzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm5vcmVw
ZWF0Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwy
MSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3QoMTAwLCAwLCAxMDAs
IDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIg
cGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOworICAgICAgICBj
dHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS53b3Jr
ZXIuanMKaW5kZXggZDhiNTkwMDcwNzYuLjBiMmM1OGQ1MmU2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2Us
ICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBj
dHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3QoLTEwMCwgMCwg
MTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBjdHguZmls
bFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25v
LXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJu
OworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEw
MCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0
aW9uLmNhbnZhcy5odG1sCmluZGV4IDQyNTc2ZmE1ZjhjLi44ZmYwN2FkOGU5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlv
bi5jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhczwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhczwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+Q2FudmFzIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDYW52
YXMgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMz
LDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2Fu
dmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQub3JpZW50YXRpb24uY2FudmFzLndvcmtlci5qcwppbmRleCAzYTdiODUyMWMxZS4uZDAxN2Yw
ODMwNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQub3JpZW50YXRpb24uY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNhbnZhcyBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBw
ZWQgd2hlbiBwYWludGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS5odG1sCmluZGV4IDBi
OWJkYTMxYjgwLi5jYTBiYjMzNTE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2Uu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm9yaWVu
dGF0aW9uLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZSBwYXR0ZXJucyBkbyBub3Qg
Z2V0IGZsaXBwZWQgd2hlbiBwYWludGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVk
IHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKLSAgICBjdHguc2F2ZSgpOwotICAgIGN0eC50cmFuc2xhdGUoMCwgLTEwMyk7Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Ci0gICAgY3R4LnJlc3RvcmUoKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVy
biA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnNhdmUoKTsKKyAgICAgICAgY3R4LnRy
YW5zbGF0ZSgwLCAtMTAzKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5yZXN0b3JlKCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9u
LmltYWdlLndvcmtlci5qcwppbmRleCBhMWZhMDIyYzZmZC4uZjc3MWIyMjZjZDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRp
b24uaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJbWFnZSBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5z
YXZlKCk7Ci0gICAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAzKTsKLSAgICBjdHguZmlsbFJlY3QoMCwg
MTAzLCAxMDAsIDUwKTsKLSAgICBjdHgucmVzdG9yZSgpOwotICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHguc2F2ZSgpOworICAgICAgICBjdHgudHJhbnNsYXRlKDAsIC0xMDMp
OworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMTAzLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnJl
c3RvcmUoKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwKaW5kZXggZTJkZDA2YTViNTQuLjhm
Y2ZiNzFkMzc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2lj
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOCwxNiArMzIsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLndvcmtlci5qcwpp
bmRleCAwNjJjNTk1NmM0Ni4uZmEwOTRjMzViNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNp
Yy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsy
OCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAg
Y3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXQuY29vcmQxLmh0bWwKaW5kZXggYjdkOWE1N2E2ZDcuLjFhOTczMWFhMDhiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdC5jb29yZDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjgsMTcgKzMyLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwg
J25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFu
c2xhdGUoLTEyOCwgLTc4KTsKLSAgICBjdHguZmlsbFJlY3QoMTI4LCA3OCwgMTAwLCA1MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4g
PSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLndv
cmtlci5qcwppbmRleCA5ZjQ0MmE4ZDUxZS4uOGNhNTk2MTBmZWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXQuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsMTcgKzI4LDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xh
dGUoLTEyOCwgLTc4KTsKLSAgICBjdHguZmlsbFJlY3QoMTI4LCA3OCwgMTAwLCA1MCk7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIuaHRtbAppbmRleCBm
ZjViNjdkZTc3Zi4uNjNiMWNhYzEzYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdC5jb29yZDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5jb29yZDIud29ya2VyLmpzCmluZGV4IDVlMmYxMjE2YzQ4Li41YWMyM2ZlY2Q5MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQu
Y29vcmQyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy5odG1sCmluZGV4IDAyYzQ1
ZmQ1MjgxLi43ZTE0ZTAwZDZmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE4ICszMCwxOCBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnRyYW5z
bGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgx
MjgsIDc4LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXQuY29vcmQzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy53b3JrZXIuanMKaW5kZXggNjIyYmNl
Y2ZiYTUuLjJiODk0MWEwZWIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDE4ICsyNiwxOCBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0
ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7CisgICAgICAgIGN0
eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRtbAppbmRleCA2NDg5
ZTIzNWRjZS4uODYyYTgwZTdkYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lkZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTcgKzMyLDE3IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKLSAgICBjdHguZmlsbFJl
Y3QoLTUwLCAtMjUsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8t
cmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgu
dHJhbnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtNTAsIC0yNSwgMTAwLCA1
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKaW5kZXggMjQ2YmNjZWNkODcuLjFkNmZi
NGI5ZjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdC5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTcgKzI4LDE3IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKLSAgICBjdHguZmlsbFJlY3Qo
LTUwLCAtMjUsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVw
ZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJh
bnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtNTAsIC0yNSwgMTAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eC5iYXNpYy5odG1sCmluZGV4IDEzZTdiOGQzMGJmLi5jY2Q2Y2E1ODQxYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJh
c2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5yZXBlYXR4LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdHguYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDE2ICszNCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQt
eCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14Jyk7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMud29ya2VyLmpzCmluZGV4IGFiYTAxMTgyZDlk
Li4xZGZhMTFhOWE4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXgnKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNv
b3JkMS5odG1sCmluZGV4IDFmYzJlNTIxODRkLi5iNWZiZWVjM2I3MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eC5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdHguY29vcmQxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwy
MSArMzIsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXgn
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDAsIDE2
KTsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0
bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAg
ICAgIGN0eC50cmFuc2xhdGUoMCwgMTYpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTE2LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1
LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXR4LmNvb3JkMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLndvcmtlci5qcwppbmRleCBlNDc3
N2UwNWQyOS4uM2UwN2M5Zjk3MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIg
cGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXgnKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDAsIDE2KTsKLSAgICBj
dHguZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwy
NSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVw
ZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50
cmFuc2xhdGUoMCwgMTYpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSww
LDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdHgub3V0c2lkZS5odG1sCmluZGV4IGM2ZWMxMjIzY2RiLi4xODA1NjA4ZDFl
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5yZXBlYXR4Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lk
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsMTggKzMyLDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ3JlcGVhdC14Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRl
cm4oYml0bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lk
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHgub3V0c2lkZS53b3JrZXIuanMKaW5kZXggZmM4YTRhMDEzYzEuLmUyY2IwNDZkMjg4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHgub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxOCArMjgsMTggQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXgnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAxNik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAx
Nik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHku
YmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0eS5iYXNpYy5odG1sCmluZGV4IGY2NzhmMWMyOGZmLi4yNTljNWE1ZDE3OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5
LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXR5LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDE2ICszNCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBl
YXQteScpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMud29ya2VyLmpzCmluZGV4IDQwZGZkYTk0
NWJlLi5hYTg4NmVmOTYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVy
biA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXknKTsKLSAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteScpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5
LmNvb3JkMS5odG1sCmluZGV4IDZkM2UzNDM0ZDU1Li4zNzNmYWZlYThhNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3Jk
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0eS5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdHkuY29vcmQxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCwyMSArMzIsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0
LXknKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDQ4
LCAwKTsKLSAgICBjdHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAwLDI1NSww
LDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwg
MCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICdyZXBlYXQteScpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAg
ICAgICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtNDgsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAwLDI1NSwwLDI1NSwgIjUwLDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwy
NTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0eS5jb29yZDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS53b3JrZXIuanMKaW5kZXggMTA4
YzQ2MmY2ZWMuLjRmYmVkY2E5ZTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7Ci0gICAg
Y3R4LmZpbGxSZWN0KC00OCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwx
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1
LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVw
ZWF0LXknKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50
cmFuc2xhdGUoNDgsIDApOworICAgICAgICBjdHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDE2LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAi
NTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXR5Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eS5vdXRzaWRlLmh0bWwKaW5kZXggNTc5MGJkYWY3NDguLjFlZjUyZGQ4ZDEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHkub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCwxOCArMzIsMTggQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAncmVwZWF0LXknKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkub3V0c2lkZS53b3JrZXIuanMKaW5kZXggNDk1ODY3NDM0MDguLjUwYTE1MTc5ODk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxOCArMjgsMTggQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXknKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS5odG1sCmlu
ZGV4IDBiMDgyZGZhOTc0Li4zOTJkZmI2NmU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2UuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5yZXBlYXQuY2FzZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRf
dGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNj
cmVlbkNhbnZhcywgIlJlcGVhdCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNl
Lndvcmtlci5qcwppbmRleCAwMTMwZmUzOWJlNi4uMWY3NTU3ZTQ4M2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uu
d29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIlJl
cGVhdCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lmh0bWwKaW5kZXggMDA5NzM2
Y2MxZWYuLjlmNDBmZTY5NTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4ucmVwZWF0LmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCwxNiArMzIsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAiIik7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDIwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAiIik7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5
Lndvcmtlci5qcwppbmRleCA4MDQyYTNjNzllMC4uYTMxYWZhNzEzOWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0
eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsy
OCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICIiKTsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4g
PSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICIiKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbAppbmRleCA3ZTc4
YWUwMTVhZS4uMjQ2ZGMwYTRlYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucmVwZWF0Lm51bGw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0dGVybi5yZXBlYXQubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMg
KzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydChjdHguY3Jl
YXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsIG51bGwpICE9IG51bGwsICJjdHguY3JlYXRlUGF0
dGVybihvZmZzY3JlZW5DYW52YXMsIG51bGwpICE9IG51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQubnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnJlcGVhdC5udWxsLndvcmtlci5qcwppbmRleCBlZTYyM2RmMWYxNS4uNWM2NWJmYjM5ZjEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51
bGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cmVwZWF0Lm51bGwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0KGN0
eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgbnVsbCkgIT0gbnVsbCwgImN0eC5jcmVh
dGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgbnVsbCkgIT0gbnVsbCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnJlcGVhdC5udWxsc3VmZml4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lmh0bWwKaW5kZXggN2Y4NWYzZTQ3OWMuLjRiMGYyNWFm
YmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJl
cGVhdC5udWxsc3VmZml4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90
aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2Ny
ZWVuQ2FudmFzLCAicmVwZWF0XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZm
aXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQubnVsbHN1ZmZpeC53b3JrZXIuanMKaW5kZXggYzZlZDE0MTdkMTYuLjMyODhlMTI4MjU3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5u
dWxsc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0
dGVybihvZmZzY3JlZW5DYW52YXMsICJyZXBlYXRcMCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQudW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnJlcGVhdC51bmRlZmluZWQuaHRtbAppbmRleCAyOThiYTk5NzZkYy4uMDcyMmFlNWRkYzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVu
ZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cmVwZWF0LnVuZGVmaW5lZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5y
ZXBlYXQudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEs
MTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5U
QVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywg
dW5kZWZpbmVkKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQu
d29ya2VyLmpzCmluZGV4IDNhMjc1YjgyNjMzLi4wMjBhZGY3YzAwMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51
bmRlZmluZWQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dz
KCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNh
bnZhcywgdW5kZWZpbmVkKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNv
Z25pc2VkLmh0bWwKaW5kZXggNzllMzc5ZWM0NzUuLjAzZjQ2NTlmZDc3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51
bnJlY29nbmlzZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVw
ZWF0LnVucmVjb2duaXNlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzEx
LDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lO
VEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
ICJpbnZhbGlkIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNv
Z25pc2VkLndvcmtlci5qcwppbmRleCAwOGMwNzZiNmNmZi4uMmQ3Nzk2ZDBhZTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2du
aXNlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
YXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVy
bihvZmZzY3JlZW5DYW52YXMsICJpbnZhbGlkIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51
bnJlY29nbmlzZWRudWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLmh0bWwKaW5kZXggYzhmNGNjZjVmNzAuLjVkNWI3
MDUzNmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnJlcGVhdC51bnJlY29nbmlzZWRudWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJl
Y29nbmlzZWRudWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGw8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAibnVsbCIpOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5q
cwppbmRleCBmYzRhNDU1MTBjNy4uZDE2OTc5YjZlOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVu
cmVjb2duaXNlZG51bGwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRf
dGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNj
cmVlbkNhbnZhcywgIm51bGwiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbApp
bmRleCAwNjk3Njg1ODI4ZS4uYTA1MDA4ZWQ4NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVN0eWxlLmRlZmF1bHQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc3Ryb2tlU3R5bGUuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2Vy
dFNhbWUoY3R4LnN0cm9rZVN0eWxlLCAnIzAwMDAwMCcsICJjdHguc3Ryb2tlU3R5bGUiLCAiJyMw
MDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKaW5kZXgg
NDk4ZjJmOTlhZDkuLjM5OWU5ZGRhNzBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwx
NiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxlLCAnIzAwMDAwMCcs
ICJjdHguc3Ryb2tlU3R5bGUiLCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC5odG1sCmluZGV4IDIxY2E4NmIyOWI1Li5mYzEwOGMw
ZGU0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmNhcC5idXR0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUuY2FwLmJ1dHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVDYXAgJ2J1dHQnIGlzIHJl
bmRlcmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImxpbmVDYXAgJ2J1dHQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQ2LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTYs
IDAsMjU1LDAsMjU1LCAiNzUsMTYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDM0LCAwLDI1NSwwLDI1NSwgIjc1LDM0IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNSwgMCwyNTUsMCwyNTUsICI3NSwz
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzYs
IDAsMjU1LDAsMjU1LCAiNzUsMzYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29ya2VyLmpzCmluZGV4IGI5ZDUw
M2M4MDUxLi4xMzAyMGFkYjA4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
Y2FwLmJ1dHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUNhcCAnYnV0dCcgaXMgcmVu
ZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwxNiwgMCwyNTUsMCwyNTUsICI3NSwxNiIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzQsIDAsMjU1LDAsMjU1LCAiNzUs
MzQiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM1
LCAwLDI1NSwwLDI1NSwgIjc1LDM1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwzNiwgMCwyNTUsMCwyNTUsICI3NSwzNiIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5jYXAuY2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuY2xvc2VkLmh0
bWwKaW5kZXggNjZiMDg1MzBmNTQuLjY3ZmMzNThiMDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAuY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuY2FwLmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5saW5lLmNhcC5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAuY2xvc2VkPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBv
ZiBhbiB1bmNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29y
bmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAs
MjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5jYXAuY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNh
cC5jbG9zZWQud29ya2VyLmpzCmluZGV4IGY1MjM3ZDZjMmIwLi5iNGNmZTUwMTgwOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFu
IHVuY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwg
MCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNh
cC5pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC5odG1s
CmluZGV4IGNiZjdjZWJjOGJmLi5iODQ5OWZjYTA1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuY2FwLmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5jYXAuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5saW5lLmNhcC5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuY2FwLmludmFsaWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUNhcCB0byBpbnZhbGlkIHZhbHVlcyBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zNiw3ICs0MCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgu
bGluZUNhcCIsICInYnV0dCciKTsKIGN0eC5saW5lQ2FwID0gJ2J1dHQnOwogY3R4LmxpbmVDYXAg
PSAnYmV2ZWwnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5saW5lQ2Fw
IiwgIididXR0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAuaW52YWxpZC53b3JrZXIuanMKaW5kZXggNGMzNDk1ZjI3N2EuLjQ2MDQ2ZDQxNjEx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMg
aXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVD
YXAsICdidXR0JywgImN0eC5saW5lQ2FwIiwgIididXR0JyIpOwogY3R4LmxpbmVDYXAgPSAnYnV0
dCc7CiBjdHgubGluZUNhcCA9ICdiZXZlbCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1
dHQnLCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAub3Blbi5odG1sCmluZGV4IDhiN2E1OTljMzJiLi4xNTRhYWY3NTIw
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmNhcC5vcGVuPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxp
bmUuY2FwLm9wZW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgY2FwcyBhcmUgZHJhd24gYXQg
dGhlIGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBjYXBzIGFyZSBkcmF3biBh
dCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICsz
Nyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAub3Blbi53b3JrZXIuanMKaW5kZXggYjY3ZGM1Nzk4YmQuLmU2NzFiNTVkMDZkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJMaW5lIGNhcHMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVu
Y2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwy
NTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5y
b3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLmh0bWwKaW5kZXgg
ZmIzODNjYmE5YmQuLjVmYzkwMTk4ZTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91
bmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
bGluZS5jYXAucm91bmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdyb3VuZCcg
aXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUsNyArNTksNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1NSwwLDI1NSwgIjgyLDYiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY3LDQzLCAwLDI1NSwwLDI1NSwg
IjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1LDAsMjU1LCAiODIsNDMiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5y
b3VuZC53b3JrZXIuanMKaW5kZXggNzU5MjM5M2IzY2IuLjM4ZmFhZTYyM2ZhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5yb3VuZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01
MSw3ICs1NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgyLDYsIDAsMjU1LDAs
MjU1LCAiODIsNiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNjcsNDMsIDAsMjU1LDAsMjU1LCAiNjcsNDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQzLCAwLDI1NSwwLDI1NSwgIjc1LDQzIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw0MywgMCwyNTUsMCwy
NTUsICI4Miw0MyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwKaW5kZXggZWY5NjQ2ZTYzMjguLjhjZDA5YzY4
M2ZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmNhcC5zcXVhcmU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQubGluZS5jYXAuc3F1YXJlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lQ2FwICdzcXVh
cmUnIGlzIHJlbmRlcmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVDYXAgJ3NxdWFyZScgaXMgcmVuZGVyZWQgY29y
cmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNDYsNyArNTAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSw2LCAwLDI1NSwwLDI1NSwgIjc1LDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ0LCAwLDI1NSwwLDI1NSwgIjc1LDQ0IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0NSwgMCwyNTUsMCwy
NTUsICI3NSw0NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsNDYsIDAsMjU1LDAsMjU1LCAiNzUsNDYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFy
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLndvcmtlci5q
cwppbmRleCA2ZTA3YTgwMWUxMi4uYWVhYzFlM2MwNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5l
Q2FwICdzcXVhcmUnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNiwgMCwyNTUsMCwyNTUsICI3NSw2
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0NCwg
MCwyNTUsMCwyNTUsICI3NSw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNzUsNDUsIDAsMjU1LDAsMjU1LCAiNzUsNDUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ2LCAwLDI1NSwwLDI1NSwgIjc1LDQ2
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuY2FwLnZhbGlkLmh0bWwKaW5kZXggMTZhNGY0OGQyMTAuLjlkNDU0ODc2N2FlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAu
dmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUNhcCB0byB2YWxpZCB2YWx1
ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQgdmFsdWVzIHdvcmtzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHgubGluZUNhcCA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShjdHgubGlu
ZUNhcCwgJ3JvdW5kJywgImN0eC5saW5lQ2FwIiwgIidyb3VuZCciKTsKIGN0eC5saW5lQ2FwID0g
J3NxdWFyZSc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ3NxdWFyZScsICJjdHgubGluZUNh
cCIsICInc3F1YXJlJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLnZhbGlkLndvcmtlci5qcwppbmRleCBiMzY0ZjNkMWM2OC4uZGE4NGViOTFkZmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lQ2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogX2Fzc2VydFNh
bWUoY3R4LmxpbmVDYXAsICdyb3VuZCcsICJjdHgubGluZUNhcCIsICIncm91bmQnIik7CiBjdHgu
bGluZUNhcCA9ICdzcXVhcmUnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdzcXVhcmUnLCAi
Y3R4LmxpbmVDYXAiLCAiJ3NxdWFyZSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNyb3NzLmh0bWwKaW5kZXggMzFmYzNmMzUwMDkuLjc0Nzc4N2M3YmEzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNyb3NzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmxpbmUuY3Jvc3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jcm9zczwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSww
LDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3Mud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3Mud29ya2VyLmpzCmluZGV4IGI4
NTIzMWU4N2RhLi4yYzhlNjhiZmJkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuY3Jvc3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1
NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuZGVmYXVsdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1
bHRzLmh0bWwKaW5kZXggZTlmYzUwOWI1ZDguLjEwNTFkOTk2MDlkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmRlZmF1bHRzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmxpbmUuZGVmYXVsdHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5kZWZhdWx0czwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBfYXNzZXJ0U2FtZShjdHgu
bGluZVdpZHRoLCAxLCAiY3R4LmxpbmVXaWR0aCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHgubGlu
ZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7CiBfYXNzZXJ0U2FtZShjdHgu
bGluZUpvaW4sICdtaXRlcicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwogX2Fzc2VydFNh
bWUoY3R4Lm1pdGVyTGltaXQsIDEwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMud29ya2VyLmpzCmlu
ZGV4IDY3MmJlZTU0ZWZmLi5lOTA0ZDM5MTEyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuZGVmYXVsdHMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmRlZmF1bHRzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTYsNyArMjAsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLCAiY3R4LmxpbmVXaWR0
aCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVDYXAi
LCAiJ2J1dHQnIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdtaXRlcicsICJjdHgubGlu
ZUpvaW4iLCAiJ21pdGVyJyIpOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEwLCAiY3R4
Lm1pdGVyTGltaXQiLCAiMTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuam9pbi5iZXZlbC5odG1sCmluZGV4IGM3MjFkMjliOTAwLi4wZTRkZDEzYmY0ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLmJldmVsPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxp
bmUuam9pbi5iZXZlbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUpvaW4gJ2JldmVsJyBpcyBy
ZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAnYmV2ZWwnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTU5LDcgKzYzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODQs
MTUsIDAsMjU1LDAsMjU1LCAiODQsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDg1LDE1LCAwLDI1NSwwLDI1NSwgIjg1LDE1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxNSwgMCwyNTUsMCwyNTUsICI4
NiwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYs
MTQsIDAsMjU1LDAsMjU1LCAiODYsMTQiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLndvcmtlci5qcwppbmRl
eCA5NGQ5ZWZiNzJlZi4uZDY4YjQ5MTFhYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4uYmV2ZWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4uYmV2ZWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAn
YmV2ZWwnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTU1LDcgKzU5LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODQsMTUsIDAsMjU1LDAsMjU1LCAiODQsMTUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDE1LCAwLDI1
NSwwLDI1NSwgIjg1LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4NiwxNSwgMCwyNTUsMCwyNTUsICI4NiwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTQsIDAsMjU1LDAsMjU1LCAiODYsMTQiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4uY2xvc2VkLmh0bWwKaW5kZXggODc0ZWY4MzNkZWQuLmJhOTJiNGM1M2ZlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5jbG9zZWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGlu
ZS5qb2luLmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBqb2lucyBhcmUgZHJhd24g
YXQgdGhlIGNvcm5lciBvZiBhIGNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBkcmF3biBh
dCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwy
NTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcwppbmRleCAxOTVmNTAwMDI2OC4uZmFiMWM2M2VjZTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXIg
b2YgYSBjbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi5pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQu
aHRtbAppbmRleCBlMTUzMzY4OTUxOS4uMGQwN2JmYTY4Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4uaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4uaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4uaW52
YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBsaW5lSm9pbiB0byBpbnZhbGlkIHZh
bHVlcyBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9pbiB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25v
cmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzYsNyArNDAsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdi
ZXZlbCcsICJjdHgubGluZUpvaW4iLCAiJ2JldmVsJyIpOwogY3R4LmxpbmVKb2luID0gJ2JldmVs
JzsKIGN0eC5saW5lSm9pbiA9ICdidXR0JzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ2Jl
dmVsJywgImN0eC5saW5lSm9pbiIsICInYmV2ZWwnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQud29ya2VyLmpzCmluZGV4IDFm
M2ZiNGFlOWNjLi4wNDg2M2U1ZjBkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuam9pbi5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxp
bmVKb2luIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ2JldmVsJywgImN0eC5saW5lSm9pbiIsICIn
YmV2ZWwnIik7CiBjdHgubGluZUpvaW4gPSAnYmV2ZWwnOwogY3R4LmxpbmVKb2luID0gJ2J1dHQn
OwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4LmxpbmVKb2luIiwgIidi
ZXZlbCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuam9pbi5taXRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5t
aXRlci5odG1sCmluZGV4IDlhNDYzZWQ3YzQ3Li40NWViNDdjZjMxMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmpvaW4ubWl0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLm1pdGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuam9pbi5taXRl
cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUpvaW4gJ21pdGVyJyBpcyByZW5kZXJlZCBjb3Jy
ZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJsaW5lSm9pbiAnbWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTUw
LDcgKzU0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODksMTEsIDAsMjU1LDAs
MjU1LCAiODksMTEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDEwLCAwLDI1NSwwLDI1NSwgIjkwLDEwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MSw5LCAwLDI1NSwwLDI1NSwgIjkxLDkiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkyLDgsIDAsMjU1LDAsMjU1
LCAiOTIsOCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIud29ya2VyLmpzCmluZGV4IDJkNDMyZmNhOTlhLi4x
NzA3MzAxZDEzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRl
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVKb2luICdtaXRlcicgaXMgcmVuZGVy
ZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDYsNyArNTAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA4OSwxMSwgMCwyNTUsMCwyNTUsICI4OSwxMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAiOTAsMTAi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkxLDksIDAs
MjU1LDAsMjU1LCAiOTEsOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTIsOCwgMCwyNTUsMCwyNTUsICI5Miw4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
b3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLmh0bWwKaW5kZXgg
ODNiNTViNTExNmMuLjE5NDFiMWFiZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5qb2luLm9wZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9w
ZW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
bGluZS5qb2luLm9wZW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5qb2luLm9wZW48L2gxPgogPHAgY2xhc3M9ImRl
c2MiPkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGFuIHVuY2xvc2Vk
IHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGFuIHVu
Y2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwy
NTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
b3Blbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4ud29ya2Vy
LmpzCmluZGV4IGY4NDY2MzExZTJhLi4zY2FkNzRlOWVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5qb2luLm9wZW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5l
IGpvaW5zIGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhbiB1bmNsb3NlZCByZWN0YW5n
bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLmh0bWwKaW5kZXggNTJmYTM5
ODExNDkuLmRjN2M4YzJiZDY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLnBhcmFsbGVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJh
bGxlbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5saW5lLmpvaW4ucGFyYWxsZWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5qb2luLnBhcmFsbGVsPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5MaW5lIGpvaW5zIGFyZSBkcmF3biBhdCAxODAtZGVncmVlIGpvaW5zPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGlu
ZSBqb2lucyBhcmUgZHJhd24gYXQgMTgwLWRlZ3JlZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxsZWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3JrZXIuanMKaW5kZXggZTEzYjMyZDc1NjEuLjQ5Y2Rh
NzYxM2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVs
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgZHJhd24gYXQg
MTgwLWRlZ3JlZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwy
NTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
cm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQuaHRtbAppbmRl
eCAyNmNlMmQ5MzgwMi4uNTRhOWVmMjgwZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4ucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUuam9pbi5yb3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4ucm91bmQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4g
J3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01Nyw3ICs2MSw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDEzLCAwLDI1NSwwLDI1NSwgIjg2LDEzIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NywxMywgMCwy
NTUsMCwyNTUsICI4NywxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgODgsMTMsIDAsMjU1LDAsMjU1LCAiODgsMTMiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg4LDEyLCAwLDI1NSwwLDI1NSwgIjg4LDEyIiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuam9pbi5yb3VuZC53b3JrZXIuanMKaW5kZXggMGM1MTY2MzE4ZWYuLmNjZTg4OGNlOTQ2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0
bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC01Myw3ICs1Nyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDg2LDEzLCAwLDI1NSwwLDI1NSwgIjg2LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NywxMywgMCwyNTUsMCwyNTUsICI4NywxMyIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODgsMTMsIDAsMjU1LDAsMjU1
LCAiODgsMTMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDg4LDEyLCAwLDI1NSwwLDI1NSwgIjg4LDEyIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQuaHRtbAppbmRleCAxNmNl
MDM1MTc4ZS4uNzM3ZWI0ODY0MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4udmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxp
bmUuam9pbi52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4udmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQgdmFsdWVzIHdvcmtzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9p
biB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5l
Sm9pbiA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdyb3VuZCcsICJjdHgu
bGluZUpvaW4iLCAiJ3JvdW5kJyIpOwogY3R4LmxpbmVKb2luID0gJ21pdGVyJzsKIF9hc3NlcnRT
YW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0eC5saW5lSm9pbiIsICInbWl0ZXInIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpv
aW4udmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53
b3JrZXIuanMKaW5kZXggMTYxODAzYjgwMzQuLjc4ZjBhNDU1OWE0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3
ICsyMiw2IEBAIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpv
aW4sICdyb3VuZCcsICJjdHgubGluZUpvaW4iLCAiJ3JvdW5kJyIpOwogY3R4LmxpbmVKb2luID0g
J21pdGVyJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0eC5saW5lSm9p
biIsICInbWl0ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5hY3V0ZS5odG1sCmluZGV4IDYyZGU1MzIyN2YwLi4xNGE2NWVhNDZlMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLmFjdXRlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxp
bmUubWl0ZXIuYWN1dGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5zIGFyZSBkcmF3
biBjb3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVj
dGx5IHdpdGggYWN1dGUgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsNyArNDIsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuYWN1dGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1
dGUud29ya2VyLmpzCmluZGV4IDYzZjkwOWU1NjUyLi4wODVhNGYwN2M0NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5leGNlZWRlZC5odG1sCmluZGV4IGYxNTMw
OWIyZDBkLi44OWViNTA5MThjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuZXhjZWVkZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5l
eGNlZWRlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5saW5lLm1pdGVyLmV4Y2VlZGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUubWl0ZXIuZXhjZWVkZWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0
ZXIgbGltaXQgaXMgZXhjZWVkZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1p
dGVyIGxpbWl0IGlzIGV4Y2VlZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
ZXhjZWVkZWQud29ya2VyLmpzCmluZGV4IDAyYjE2NTNmZGVjLi4zZmNlN2I4NTNkZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBt
aXRlciBsaW1pdCBpcyBleGNlZWRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0
OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmludmFs
aWQuaHRtbAppbmRleCBlOGQ4ODYzYTllNy4uYzdjYmQ4MjM0NDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1p
dGVyLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbWl0ZXJMaW1pdCB0byBp
bnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFs
dWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5t
aXRlckxpbWl0LCAxLjUsICJjdHgubWl0ZXJMaW1pdCIsICIxLjUiKTsKIGN0eC5taXRlckxpbWl0
ID0gMS41OwogY3R4Lm1pdGVyTGltaXQgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1p
dCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmludmFsaWQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3JrZXIuanMKaW5kZXgg
MTYyOGY3ODZkMzQuLmJkMDVlNTc3NWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5taXRlci5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGlu
ZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3
ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLjUsICJjdHgubWl0ZXJMaW1p
dCIsICIxLjUiKTsKIGN0eC5taXRlckxpbWl0ID0gMS41OwogY3R4Lm1pdGVyTGltaXQgPSBOYU47
CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLmxpbmVlZGdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5s
aW5lZWRnZS5odG1sCmluZGV4IGQ2ZjhhNjA3NzIwLi5mNTA5YzViYWU2NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVkZ2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLmxpbmVlZGdlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUubWl0ZXIubGluZWVkZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5zIGFy
ZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQgYXQgdGhlIGNvcm5l
cnMgb2YgYSB6ZXJvLWhlaWdodCByZWN0YW5nbGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdo
ZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBjb3JuZXJzIG9mIGEgemVyby1o
ZWlnaHQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1
NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
bGluZWVkZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVk
Z2Uud29ya2VyLmpzCmluZGV4IGEwZDFhYWFjNzZmLi5kMDRmYTM5ZTQxNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVkZ2Uud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBs
aW1pdCBpcyBleGNlZWRlZCBhdCB0aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3Rhbmds
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLm9idHVzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKaW5kZXggMmU4N2E4NzMw
NzIuLjZlNDQwYTljZGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci5vYnR1c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGlu
ZS5taXRlci5vYnR1c2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5vYnR1c2U8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPk1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
TWl0ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIG9idHVzZSBhbmdsZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zOCw3ICs0Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5qcwppbmRleCA1Nzk2MzUy
YzliNC4uNTBjMjJhZjRkYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLm9idHVzZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
b2J0dXNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJl
IGRyYXduIGNvcnJlY3RseSB3aXRoIG9idHVzZSBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAs
MjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5taXRlci5yaWdodGFuZ2xlLmh0bWwKaW5kZXggYTcxMjFmNTUwZGQuLjZlMmE5NmJiZTU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVy
LnJpZ2h0YW5nbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5yaWdodGFuZ2xlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5NaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlz
IGV4Y2VlZGVkLCBvbiBleGFjdCByaWdodCBhbmdsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgbm90IGRyYXdu
IHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCByaWdodCBhbmdsZXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUud29ya2VyLmpz
CmluZGV4IDcxN2Q3ZjIzMDdkLi4zNmUyNWZiMjJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMg
ZXhjZWVkZWQsIG9uIGV4YWN0IHJpZ2h0IGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUs
MCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci52YWxpZC5odG1sCmluZGV4IDhjZDg2Yjg0N2FhLi5jMGU2ZWUyYmViOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5taXRlci52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUubWl0
ZXIudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbWl0ZXJMaW1pdCB0byB2YWxp
ZCB2YWx1ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJTZXR0aW5nIG1pdGVyTGltaXQgdG8gdmFsaWQgdmFsdWVzIHdvcmtzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubWl0ZXJMaW1pdCA9IDEvMTAyNDsKIF9hc3NlcnRT
YW1lKGN0eC5taXRlckxpbWl0LCAxLzEwMjQsICJjdHgubWl0ZXJMaW1pdCIsICIxLzEwMjQiKTsK
IGN0eC5taXRlckxpbWl0ID0gMTAwMDsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxMDAw
LCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC53b3JrZXIuanMKaW5kZXggNjBhZjE5NTNi
ZTcuLjk5MmQzN2QyMWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFs
aWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIG1pdGVyTGltaXQg
dG8gdmFsaWQgdmFsdWVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubWl0ZXJM
aW1pdCA9IDEvMTAyNDsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLzEwMjQsICJjdHgu
bWl0ZXJMaW1pdCIsICIxLzEwMjQiKTsKIGN0eC5taXRlckxpbWl0ID0gMTAwMDsKIF9hc3NlcnRT
YW1lKGN0eC5taXRlckxpbWl0LCAxMDAwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAwMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci53aXRoaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5odG1s
CmluZGV4IDEyZjEwYjI2OGNiLi5iOGUwYWUyMWZmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUubWl0ZXIud2l0aGluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIud2l0aGluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUubWl0ZXIud2l0aGlu
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0aGUgbWl0
ZXIgbGltaXQgaXMgbm90IHF1aXRlIGV4Y2VlZGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4g
dGhlIG1pdGVyIGxpbWl0IGlzIG5vdCBxdWl0ZSBleGNlZWRlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5taXRlci53aXRoaW4ud29ya2VyLmpzCmluZGV4IGMyZTk0NjM1YjZlLi4yMDJjNGVm
NTczMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0
aGUgbWl0ZXIgbGltaXQgaXMgbm90IHF1aXRlIGV4Y2VlZGVkIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAw
LDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUudW5pb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9u
Lmh0bWwKaW5kZXggNjI2YTFhNTg1MmUuLjE3ODUyN2M1MmI4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS51bmlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LnVuaW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUudW5pb248L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS51bmlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0
OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUsMCwyNTUsICIyNSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwg
MCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMKaW5kZXggZTJjNjY2ODliODQu
LjQzY2U2YjdkMDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwxLCAwLDI1NSwwLDI1NSwgIjI1LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLndpZHRoLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNp
Yy5odG1sCmluZGV4IDFkZDFiYmY3YmRkLi5iNmI5MGExMjAwYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5saW5lLndpZHRoLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGguYmFz
aWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVXaWR0aCBkZXRlcm1pbmVzIHRoZSB3aWR0aCBv
ZiBsaW5lIHN0cm9rZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJsaW5lV2lkdGggZGV0ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJv
a2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtNDksNyArNTMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgODQsMjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1
NSwgIjg1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA4NiwyNSwgMCwyNTUsMCwyNTUsICI4NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNp
Yy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNpYy53b3JrZXIu
anMKaW5kZXggZTFlOGEwNWQ0MGUuLmYzMTIwYjZiNTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS53aWR0aC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJs
aW5lV2lkdGggZGV0ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJva2VzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NDUsNyArNDksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODQsMjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwyNTUs
MCwyNTUsICI4NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwKaW5kZXggMmY3MmM4ZDA3YWUu
LjZjNjA5MTQyZjA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5p
bnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5l
LndpZHRoLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS53aWR0aC5pbnZhbGlkPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TZXR0aW5nIGxpbmVXaWR0aCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0
dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMz
LDcgKzM3LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0
aCIsICIxLjUiKTsKIGN0eC5saW5lV2lkdGggPSAxLjU7CiBjdHgubGluZVdpZHRoID0gTmFOOwog
X2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0aCIsICIxLjUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGguaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5p
bnZhbGlkLndvcmtlci5qcwppbmRleCAyYzNiZTgyYThlMi4uMzdlMjcwNzM0YTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVXaWR0aCB0byBpbnZhbGlkIHZhbHVlcyBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRo
LCAxLjUsICJjdHgubGluZVdpZHRoIiwgIjEuNSIpOwogY3R4LmxpbmVXaWR0aCA9IDEuNTsKIGN0
eC5saW5lV2lkdGggPSBOYU47CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLjUsICJjdHgu
bGluZVdpZHRoIiwgIjEuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC5odG1sCmluZGV4IGJiNDYwN2ZmYzE4Li5l
MmUzNmM4YzZkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2Nh
bGVkZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVk
ZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGguc2NhbGVkZWZh
dWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5EZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBh
ZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJEZWZhdWx0IGxpbmVXaWR0aCBzdHJva2Vz
IGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICsz
Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNSwgMCwyNTUsMCwyNTUsICI1MCw1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1
MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcwppbmRleCA3
ZmVkYWVkYWU0Yy4uY2ZmNjkzMDJhYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLndpZHRoLnNjYWxlZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiRGVmYXVsdCBsaW5lV2lkdGggc3Ryb2tlcyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNm
b3JtYXRpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDUsIDAsMjU1
LDAsMjU1LCAiNTAsNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgu
dHJhbnNmb3JtZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9y
bWVkLmh0bWwKaW5kZXggNzIzNzBmNTkyNjYuLmU5OTc3MGQxNzkwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQubGluZS53aWR0aC50cmFuc2Zvcm1lZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBz
dHJva2Ugd2lkdGhzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIHN0
cm9rZSB3aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9ucyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTU1LDcgKzU5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDg0LDI1LCAwLDI1NSwwLDI1NSwgIjg0LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwyNSwgMCwyNTUsMCwyNTUsICI4NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMjUsIDAs
MjU1LDAsMjU1LCAiODYsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2Vy
LmpzCmluZGV4IDdiZDRlZmJhZGZmLi5jYmRjYTM3YWQzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiTGluZSBzdHJva2Ugd2lkdGhzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFu
c2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01MSw3ICs1NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAs
MjU1LDAsMjU1LCAiODUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDg2LDI1LCAwLDI1NSwwLDI1NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndp
ZHRoLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC5odG1s
CmluZGV4IDZjZmIxOTliYzVmLi44OWE5NmFiMjc4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGgudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS53aWR0aC52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5saW5lLndpZHRoLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGgudmFsaWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3Jr
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcg
KzI4LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDEvMTAyNDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lk
dGgsIDEvMTAyNCwgImN0eC5saW5lV2lkdGgiLCAiMS8xMDI0Iik7CiBjdHgubGluZVdpZHRoID0g
MTAwMDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEwMDAsICJjdHgubGluZVdpZHRoIiwg
IjEwMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGgudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGgudmFsaWQud29ya2VyLmpzCmluZGV4IDhlNzQ5OGZmMjVmLi43ZmE3ZmU1MDc1YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFsaWQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lV2lkdGggdG8gdmFsaWQgdmFsdWVzIHdvcmtz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubGluZVdpZHRoID0gMS8xMDI0OwogX2Fzc2Vy
dFNhbWUoY3R4LmxpbmVXaWR0aCwgMS8xMDI0LCAiY3R4LmxpbmVXaWR0aCIsICIxLzEwMjQiKTsK
IGN0eC5saW5lV2lkdGggPSAxMDAwOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMTAwMCwg
ImN0eC5saW5lV2lkdGgiLCAiMTAwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS5odG1sCmluZGV4IDFhNGNmZTljYzY2Li4wMDBmYjU1
MzVkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xl
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkg
ZHJhd3MgcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBwaS8y
IC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAtTWF0
aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIu
anMKaW5kZXggMTg1MzZjOTg4ZWIuLmRhMDU3ZWQzNzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyYygpIGRyYXdzIHBpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUw
LCBNYXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmFuZ2xlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5n
bGUuMi5odG1sCmluZGV4IGFjMWE1YTY2Mjk2Li45YTljNmNkMjBkOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjI8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMu
YW5nbGUuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgLTNwaS8yIC4uIC1waSBh
bnRpY2xvY2t3aXNlIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIC0zcGkvMiAuLiAtcGkgYW50aWNsb2Nr
d2lzZSBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAw
KTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC0zKk1hdGguUEkvMiwgLU1hdGguUEksIHRydWUpOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIud29ya2VyLmpzCmluZGV4IDdhN2Rl
Zjk3OGE2Li5mMWIwN2VhZDVkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5hbmdsZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyAt
M3BpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAtMypNYXRoLlBJ
LzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5odG1s
CmluZGV4IDA2ODQwMjQwNzgwLi5mMDZkNzAwYTZmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuMzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRp
Y2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3
aGVuIGFudGljbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgKDUxMisxLzIp
Kk1hdGguUEksICgxMDI0LTEpKk1hdGguUEksIHRydWUpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmFuZ2xlLjMud29ya2VyLmpzCmluZGV4IDRjNGJmYTg5OTJjLi4wZWE2N2M1OGU0MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3aGVuIGFu
dGljbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAg
Y3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgKDUxMisxLzIpKk1hdGgu
UEksICgxMDI0LTEpKk1hdGguUEksIHRydWUpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuYW5nbGUuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmds
ZS40Lmh0bWwKaW5kZXggZjQ3NjY5Y2NmOWYuLmIwNzZjNTljNTRkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5h
bmdsZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdo
ZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xl
IHdoZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5hbmdsZS40Lndvcmtlci5qcwppbmRleCA2NzU4MDhjOTczNS4uYzZkMTljNjBj
MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS40Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVu
IGNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjUuaHRtbAppbmRleCA5MDIwZmYxOWU4Yy4uNDg2OTMxZjAzZTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS41PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YXJjLmFuZ2xlLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdyYXBzIGFuZ2xlcyBtb2Qg
MnBpIHdoZW4gY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGk8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMg
bW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoMTAy
NC0xKSpNYXRoLlBJLCAoNTEyKzEvMikqTWF0aC5QSSwgZmFsc2UpOwogY3R4LmZpbGwoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLmFuZ2xlLjUud29ya2VyLmpzCmluZGV4IGJhNWM1MjE5OGM5Li5kYzMyMDBk
MjNhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjUud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3
aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoMTAyNC0xKSpNYXRo
LlBJLCAoNTEyKzEvMikqTWF0aC5QSSwgZmFsc2UpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuYW5nbGUuNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS42Lmh0bWwKaW5kZXggOWE5ZDlkZDVjYmMuLjdlYjQ2NmFmNGJlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFy
Yy5hbmdsZS42PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xl
IHdoZW4gYW50aWNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxs
IGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpzCmluZGV4IDcyMDFiNjlkYmEx
Li40ODYwMjdlMmU0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS42Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwg
Y2lyY2xlIHdoZW4gYW50aWNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmRlZmF1bHQuaHRtbAppbmRleCAwNzdmZTg4ODM3My4uZWQyNzA0MDg5
NmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5kZWZhdWx0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguYXJjLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdp
dGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lzZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGgg
bWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgLU1h
dGguUEksIE1hdGguUEkvMik7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5k
ZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC53
b3JrZXIuanMKaW5kZXggZjZkYjQ5ZjBkMmQuLjBlYWY4YmFjNmRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nr
d2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFy
YygxMDAsIDAsIDE1MCwgLU1hdGguUEksIE1hdGguUEkvMik7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy5lbXB0eS5odG1sCmluZGV4IGVjNjY5YjA0OWU1Li45OWI0M2UwN2M0NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuZW1w
dHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5v
dCBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQ8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGFuIGVt
cHR5IHBhdGggZG9lcyBub3QgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBvaW50
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDIwMCwg
MjUsIDUsIDAsIDIqTWF0aC5QSSwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmVtcHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
ZW1wdHkud29ya2VyLmpzCmluZGV4IGY3OGU0YTkyYTNhLi5iZGFkNzc3OTgwNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5vdCBkcmF3IGEgc3RyYWln
aHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5i
ZWdpblBhdGgoKTsKIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmVuZC5odG1sCmluZGV4IDY0OWMzMDQzNjk2Li4yYTkwOGFmMDc3
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5lbmQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5hcmMuZW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBhZGRzIHRoZSBlbmQgcG9pbnQg
b2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGFkZHMgdGhlIGVuZCBwb2ludCBvZiB0aGUg
YXJjIHRvIHRoZSBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguYXJjKC0xMDAs
IDAsIDI1LCAtTWF0aC5QSS8yLCBNYXRoLlBJLzIsIHRydWUpOwogY3R4LmxpbmVUbygxMDAsIDI1
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLndvcmtlci5qcwppbmRleCAzNzgyYTZk
ODJjZi4uZWRiYjczMjQ5OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuZW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGFkZHMgdGhlIGVuZCBwb2lu
dCBvZiB0aGUgYXJjIHRvIHRoZSBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgu
YXJjKC0xMDAsIDAsIDI1LCAtTWF0aC5QSS8yLCBNYXRoLlBJLzIsIHRydWUpOwogY3R4LmxpbmVU
bygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUuaHRtbAppbmRl
eCBjNDZkNTZjZTgxOS4uMzhiN2I4Njc5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLm5lZ2F0aXZlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgSU5E
RVhfU0laRV9FUlI8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIElOREVYX1NJWkVf
RVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguYXJjKDAs
IDAsIC0xLCAwLCAwLCB0cnVlKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggZTM4OWFhZmJm
ODYuLmU4NDg4YTBhYmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
Lm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5l
Z2F0aXZlLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbmVn
YXRpdmUgcmFkaXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0la
RV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFyYygwLCAwLCAtMSwgMCwgMCwgdHJ1ZSk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLm5vbmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5
Lmh0bWwKaW5kZXggNzVjNzBkYTQyNjUuLjBmODkyZDg2OTJmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5ub25lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5u
b25lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBhIG5vbi1lbXB0eSBwYXRo
IGRvZXMgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBvaW50PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBh
IG5vbi1lbXB0eSBwYXRoIGRvZXMgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBv
aW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmMo
MjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMubm9uZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5ub25lbXB0eS53b3JrZXIuanMKaW5kZXggNDQ0NjY1NGRhY2MuLjAyZGNkN2I4YmQ2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBhIG5vbi1lbXB0eSBwYXRoIGRv
ZXMgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBvaW50Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipN
YXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9u
ZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS5odG1s
CmluZGV4IGU2NzQzZTQxZmM2Li4yOGU0YThkMzc2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMubm9u
ZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTY3LDcg
KzcxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1
LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDZhODFj
ZmVjNTAzLi5jZTNmODJhMDIyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTYzLDcgKzY3LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNjYWxlLjEuaHRtbAppbmRleCBkNmRkNzkzMDlkZC4uNmU5NzNjMzQ4ZWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zY2FsZS4xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjLnNjYWxlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk5vbi11bmlmb3JtbHkgc2NhbGVk
IGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi11bmlmb3JtbHkgc2NhbGVkIGFyY3MgYXJlIHRo
ZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAs
MjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuc2NhbGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxl
LjEud29ya2VyLmpzCmluZGV4IGYzNWJhNDU5YWZkLi4yN2VkODQ0YTllZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJOb24tdW5pZm9ybWx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5
LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUw
LDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0
OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi5odG1sCmluZGV4IGMzZGZk
ZGVmMTJjLi44ZTU3YjBjNmIwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zY2FsZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2Fs
ZS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjLnNjYWxlLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2NhbGUuMjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+SGlnaGx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGU8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJIaWdobHkgc2Nh
bGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpzCmluZGV4IDRhY2UwMjE4YWY3Li44Y2IxNGViOTRj
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJIaWdobHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdo
dCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Vs
ZmludGVyc2VjdC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRl
cnNlY3QuMS5odG1sCmluZGV4IGZiYWI1ZDExZjIwLi45NWJkODdhMjIwMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zZWxmaW50
ZXJzZWN0LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5hcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
YXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI4LDcgKzMyLDYgQEAgY3R4LmFyYygwLCAwLCAyNSwgMCwgLU1hdGguUEkvMiwgdHJ1ZSk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNl
bGZpbnRlcnNlY3QuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNl
bGZpbnRlcnNlY3QuMS53b3JrZXIuanMKaW5kZXggMzE0ODM1NDIzNTYuLjJiMmI0NzZiNTk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0
LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGxpbmVXaWR0
aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguYXJjKDAsIDAsIDI1LCAwLCAtTWF0aC5QSS8yLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1sCmluZGV4
IGU5NmI4ZjJiYzhiLi44NTdiN2MxMDVkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5hcmMuc2VsZmludGVyc2VjdC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRo
IGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lk
dGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcsMSwgMCwyNTUsMCwyNTUsICI5NywxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywyLCAwLDI1
NSwwLDI1NSwgIjk3LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk3LDMsIDAsMjU1LDAsMjU1LCAiOTcsMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMiw0OCwgMCwyNTUsMCwyNTUsICIyLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLndvcmtlci5qcwppbmRleCBiZjI5Y2QxMmRk
Yy4uYjJlYjNlMzA3MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2VsZmludGVyc2VjdC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNlbGZpbnRlcnNlY3QuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
YygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2libHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDEsIDAsMjU1
LDAsMjU1LCAiOTcsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTcsMiwgMCwyNTUsMCwyNTUsICI5NywyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywzLCAwLDI1NSwwLDI1NSwgIjk3LDMiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIsNDgsIDAsMjU1LDAsMjU1
LCAiMiw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5odG1sCmluZGV4IDhiZTYyYTFkYmEwLi40YTUwNDFh
OTA0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBl
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmMuc2hhcGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkg
ZnJvbSAwIHRvIHBpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGY8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMo
KSBmcm9tIDAgdG8gcGkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDQ4LCAwLDI1NSwwLDI1NSwgIjIwLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5qcwppbmRl
eCAzYmU2YmM2ZmQ0NS4uNDViZjNiMWRlZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuc2hhcGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkg
ZnJvbSAwIHRvIHBpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGYiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbAppbmRleCBkOWI1M2Q5ZGI3
Ny4uNDJmYTQwOGI0MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy5zaGFwZS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNoYXBlLjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmFyYygpIGZyb20gMCB0byBwaSBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgaGFsZjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygp
IGZyb20gMCB0byBwaSBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgaGFsZiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5
LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDIwLDQ4LCAwLDI1NSwwLDI1NSwgIjIwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcwppbmRleCA5OGU3YjFkZGM1
Zi4uNWU4OTUzMjBlYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFw
ZS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIHBp
IGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBoYWxmIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjAsNDgsIDAsMjU1LDAsMjU1LCAiMjAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS4zLmh0bWwKaW5kZXggMDNiNDRkNzcyYWMuLmRkNTFkYTEwMjM5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5zaGFwZS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gLXBp
LzIgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQ8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9t
IDAgdG8gLXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4zLndvcmtlci5qcwppbmRleCAx
ZjA5ZjU4NmFlZS4uNTgzY2Y2ZGFkODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2hhcGUuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJv
bSAwIHRvIC1waS8yIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIHF1YWRyYW50
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQuaHRtbAppbmRleCA2ODc2N2RlNTI1
Zi4uYTY2YWQxMWJiODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy5zaGFwZS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNoYXBlLjQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmFyYygpIGZyb20gMCB0byAtcGkvMiBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJh
bnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSBmcm9tIDAgdG8gLXBpLzIgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IHF1YWRyYW50
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3JrZXIuanMKaW5kZXgg
ZDI5OWM1YjY3NWMuLjVmODZmMmMwMjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuc2hhcGUuNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZy
b20gMCB0byAtcGkvMiBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCmluZGV4IGU2YTJhYWRiYzgyLi5hNGE5ZGNm
ZDIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBl
LjU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmMuc2hhcGUuNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkg
ZnJvbSAwIHRvIDVwaSBkb2VzIG5vdCBkcmF3IGNyYXp5IHRoaW5nczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byA1
cGkgZG9lcyBub3QgZHJhdyBjcmF6eSB0aGluZ3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS41Lndvcmtlci5qcwppbmRleCAyMWEwY2EzYzc3ZC4uMmM3N2JlNjQ0OWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIDVwaSBkb2VzIG5vdCBkcmF3IGNy
YXp5IHRoaW5ncyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGll
LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjEuaHRtbAppbmRl
eCA1NTk1ZTMyODRhNi4uNDBiYjU3NjRhYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMudHdvcGllLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnR3b3BpZS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjLnR3b3BpZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQg
KyAycGktZSBhbmQgYW50aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBz
dGFydCArIDJwaS1lIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQs
IHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLndvcmtlci5q
cwppbmRleCA1NTI1NTcxNTRhMi4uYzI4NTJmMzg3YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMudHdvcGllLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMudHdvcGllLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgYW50aWNs
b2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFy
Yyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgLSAxZS00LCB0cnVlKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUwLDIw
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMudHdvcGllLjIuaHRtbAppbmRleCA0ZWE0MmIyZDNlYy4uMDkwMTRlN2M3YzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnR3b3BpZS4y
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBk
cmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgY2xvY2t3aXNl
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGNs
b2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFy
Yyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgLSAxZS00LCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwy
MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIud29ya2VyLmpzCmluZGV4IGQ5ZjQxZDg1ZGE4Li5j
MDdmZDFjZWIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29w
aWUuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBj
aXJjbGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJIC0gMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy50d29waWUuMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
My5odG1sCmluZGV4IDAxYmFlMDc0ZGI4Li4yYmMwMDA4NzdmNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMudHdvcGllLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMudHdvcGllLjM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMu
dHdvcGllLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUg
d2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBm
dWxsIGNpcmNsZSB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGFudGljbG9ja3dpc2UiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1
MCwgMCwgMipNYXRoLlBJICsgMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMudHdvcGllLjMud29ya2VyLmpzCmluZGV4IDQxYzQwMGU3ZjEzLi5lZWNjZTA1YjhjNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBl
bmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAr
IDFlLTQsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29w
aWUuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC5odG1sCmlu
ZGV4IDk5MDYzNzcwNDVhLi5mNWYwNWZjOGEzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy50d29waWUuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMudHdvcGllLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmMudHdvcGllLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMudHdvcGllLjQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFy
dCArIDJwaStlIGFuZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3Rh
cnQgKyAycGkrZSBhbmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVn
aW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFlLTQsIGZhbHNl
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAw
LDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC53b3JrZXIuanMKaW5k
ZXggMjQxMDcxZmQ4MzUuLjYxOGZkNDI2NWRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnR3b3BpZS40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnR3b3BpZS40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJj
KCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGNsb2Nrd2lzZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUs
IDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy56ZXJvLjEuaHRtbAppbmRleCA2MGI3M2UwNDFmZC4uYmY3NzQ4NmVmYWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuemVyby4xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
Lnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0
YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgYW50aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcg
d2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwg
dHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
MCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMS53b3JrZXIuanMKaW5k
ZXggOTFmMTVkNGU5NTYuLjQ4OWMxZTk1MDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnplcm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy56ZXJvLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBk
cmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNl
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAy
NSwgNTAsIDAsIDAsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy56ZXJvLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLmh0bWwK
aW5kZXggMzA2ZTUzMTI4MDcuLjczMGUyZjY1YzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnplcm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuemVyby4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjLnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy56ZXJvLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0gZW5k
QW5nbGUgYW5kIGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0g
ZW5kQW5nbGUgYW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2lu
UGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwy
MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnplcm8uMi53b3JrZXIuanMKaW5kZXggNDIzOGI3ZGFjODYuLmRhZDI1
ZmJmZWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3Rh
cnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAs
MjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMuaHRtbAppbmRleCBlZDc3YzNiN2E4
Ni4uYzQ5NTNkZmVlZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
emVyb3JhZGl1cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3Jh
ZGl1cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyYy56ZXJvcmFkaXVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnplcm9yYWRpdXM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRo
ZSBzdGFydCBwb2ludDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBz
dGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBj
dHguYXJjKDIwMCwgMjUsIDAsIDAsIE1hdGguUEksIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy53b3JrZXIuanMKaW5kZXggZmIxMmE4ZjQzOGMuLjU4
OTg4MDcxM2FiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9y
YWRpdXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3Jh
ZGl1cy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggemVybyBy
YWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYXJjKDIwMCwgMjUsIDAsIDAsIE1hdGguUEks
IHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRl
LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwK
aW5kZXggMWY3MzAyNTY4M2IuLjIwODJkZWVlY2ZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uY29pbmNpZGUuMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmFyY1RvLmNvaW5jaWRlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgaGFzIG5vIGVm
ZmVjdCBpZiBQMCA9IFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBoYXMgbm8gZWZmZWN0IGlmIFAwID0gUDEiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMyw3ICszNyw2IEBAIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDEsIDAsMjU1LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1
NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcwppbmRl
eCBhNjQ2YzM2NDAxOS4uMjQwOGUxNGRhYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAw
LDI1NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIuaHRtbAppbmRleCBkNzdkNWRlNjJiYS4uY2Y2NGFl
NzJhZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lk
ZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5hcmNUby5jb2luY2lkZS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uY29pbmNpZGUuMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEgaWYgUDEg
PSBQMjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyY1RvKDEwMCwgMjUs
IDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNv
aW5jaWRlLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5j
aWRlLjIud29ya2VyLmpzCmluZGV4IDU0NTk2MTlmMzQyLi4zM2M2NDYyNGIyOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8g
UDEgaWYgUDEgPSBQMiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7
CiBjdHguYXJjVG8oMTAwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5jb2xsaW5lYXIuMS5odG1sCmluZGV4IGUxY2QxNDk1ZWNhLi4xZjgxNTY1ZTU0
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4x
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
YXJjVG8uY29sbGluZWFyLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEg
YmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIGFs
bCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdo
dCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKC0xMDAsIDI1
KTsKIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLndvcmtlci5qcwppbmRleCA1ODBjYWM4ZGJmMS4u
NzEyNjRhYWMxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5j
b2xsaW5lYXIuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
LmNvbGxpbmVhci4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3
aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRvKC0x
MDAsIDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi5odG1sCmluZGV4IDEyODdiNTdmZjg5Li40NzQ3
OTVjMjcxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxp
bmVhci4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVh
ci4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjVG8uY29sbGluZWFyLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBh
bmQgUDIgYmV0d2VlbiBQMC9QMSwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3
aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDIgYmV0d2VlbiBQMC9QMSwgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKDEw
MCwgMjUpOwogY3R4LmFyY1RvKDIwMCwgMjUsIDExMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMKaW5kZXggY2VlYWU0
OTJlMGEuLjgxMGQyN2NjNWRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
Y1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAyIGJldHdlZW4gUDAvUDEsIGRy
YXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1v
dmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCAxMTAsIDI1LCAxKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKaW5kZXggMGM1NmU0ZGJh
ZGUuLmI5YTAzYWRkMjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uY29sbGluZWFyLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
Y29sbGluZWFyLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvbGxp
bmVhci4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBh
IGxpbmUsIGFuZCBQMCBiZXR3ZWVuIFAxL1AyLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDE8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJh
cmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMCBiZXR3ZWVuIFAxL1AyLCBk
cmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0eC5t
b3ZlVG8oLTEwMCwgMjUpOwogY3R4LmFyY1RvKDAsIDI1LCAtMjAwLCAyNSwgMSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcwppbmRl
eCA1MzZiZDBkODM2My4uZGY4OTllODA0NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQ
MS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBA
QCBjdHgubW92ZVRvKC0xMDAsIDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5odG1s
CmluZGV4IDhiNTQ5MDYzNzdjLi5iNDM4MzE4ODYyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRo
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFk
ZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24g
dXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgu
YXJjVG8oMTAwLCA1MCwgMjAwLCA1MCwgMC4xKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggY2VmY2YxMWU4
ZDEuLjlhOGFlMDU3ZTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRk
ZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyY1RvKDEwMCwgNTAsIDIwMCwgNTAsIDAuMSk7CiBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwK
aW5kZXggODA1NjM4OWEzMTEuLjViNTRiZDI5YjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGgu
MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRk
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRl
ZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmFyY1RvKDAsIDI1LCA1MCwgMjUwLCAwLjEp
OyAvLyBhZGRzICh4MSx5MSksIGRyYXdzIG5vdGhpbmcKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIu
d29ya2VyLmpzCmluZGV4IGQ2YWIwNGUxZDM5Li5jN2Y3NDQwODE3NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBm
aXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
YXJjVG8oMCwgMjUsIDUwLCAyNTAsIDAuMSk7IC8vIGFkZHMgKHgxLHkxKSwgZHJhd3Mgbm90aGlu
ZwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5l
Z2F0aXZlLmh0bWwKaW5kZXggZDI1OGQwYmQ2NTkuLjBiZDZlYjJkYmI1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5uZWdhdGl2ZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmFyY1RvLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGgg
bmVnYXRpdmUgcmFkaXVzIHRocm93cyBhbiBleGNlcHRpb248L3A+CkBAIC0xMSwxMyArMTEsMTYg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIG5lZ2F0aXZl
IHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIs
IGZ1bmN0aW9uKCkgeyBjdHguYXJjVG8oMCwgMCwgMCwgMCwgLTEpOyB9KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0
aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS53
b3JrZXIuanMKaW5kZXggYjk1ZjRjNTE2NWEuLjU1ZWNmNTRjMzgxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsMTYgKzQs
MTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBhbiBleGNl
cHRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5hcmNU
bygwLCAwLCAwLCAwLCAtMSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggMjIyNmY1NzEzOWIuLjQz
N2U4MDViMGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubm9u
ZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5vbmZpbml0
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmFyY1RvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLm5vbmZpbml0ZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8o
KSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNjUsNyArNjksNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGM4YjAwNzU5MWNl
Li5jOWFhNjgyNGMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTYxLDcgKzY1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2NhbGUuaHRtbAppbmRleCA2OTQ5MGVhNTgxNy4uMGMxNTNiZDAyZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLnNjYWxlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjVG8uc2NhbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvIHNjYWxlcyB0aGUgY3Vy
dmUsIG5vdCBqdXN0IHRoZSBjb250cm9sIHBvaW50czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIHNjYWxlcyB0aGUgY3VydmUsIG5v
dCBqdXN0IHRoZSBjb250cm9sIHBvaW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDcgKzM5LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAs
MjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zY2FsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uc2NhbGUud29ya2VyLmpzCmluZGV4IDgwYjM0MTlmMjBkLi5kZWIyZTc1YWE5NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2NhbGUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBzY2FsZXMgdGhlIGN1cnZlLCBub3QganVzdCB0
aGUgY29udHJvbCBwb2ludHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5
LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uc2hhcGUuY3VydmUxLmh0bWwKaW5kZXggZmU5NDQxMzdjYjIuLmMxMTkxYjEyZjYwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1Rv
LnNoYXBlLmN1cnZlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+YXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGU8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNU
bygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ2LDcgKzUw
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDQsIDAsMjU1LDAsMjU1LCAi
ODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgw
LDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA4MCw0NiwgMCwyNTUsMCwyNTUsICI4MCw0NiIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjUsNDUsIDAsMjU1LDAsMjU1LCAi
NjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLndvcmtlci5qcwppbmRl
eCAyZTdlM2Q5YzExOC4uMDhjMjkxMTJhNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTQyLDcgKzQ2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDQsIDAs
MjU1LDAsMjU1LCAiODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NiwgMCwyNTUsMCwyNTUsICI4MCw0NiIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjUsNDUsIDAs
MjU1LDAsMjU1LCAiNjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5odG1sCmlu
ZGV4IDkyNmIwNDNmNjUxLi5mMDUyYTc4OTg1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgY3Vy
dmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0
IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NSw3ICs0OSw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc5LDM1LCAwLDI1NSwwLDI1NSwgIjc5LDM1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NCwgMCwyNTUsMCwyNTUsICI4MCw0
NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDUs
IDAsMjU1LDAsMjU1LCAiODAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1NSwwLDI1NSwgIjgwLDQ2IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5zaGFwZS5jdXJ2ZTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKaW5kZXggZjJmYWZiMDY0NzQuLjRhY2I5NGE2
MGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3Vy
dmUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUu
Y3VydmUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMg
aW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MSw3ICs0NSw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc5LDM1LCAwLDI1NSwwLDI1NSwgIjc5LDM1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NCwgMCwyNTUs
MCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1NSwwLDI1NSwgIjgwLDQ2IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5zaGFwZS5lbmQuaHRtbAppbmRleCBhMzM0MWMwNGYxYy4uNTAyOTYyMzdlZGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8u
c2hhcGUuZW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uc2hhcGUuZW5kPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5hcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgZnJvbSBQMSB0byBQMjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkg
ZG9lcyBub3QgZHJhdyBhbnl0aGluZyBmcm9tIFAxIHRvIFAyIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVuZC53b3JrZXIuanMKaW5kZXggNTI3MTY3NTMx
OTQuLjU4YzQwNzA0ZWMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uc2hhcGUuZW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uc2hhcGUuZW5kLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBk
b2VzIG5vdCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8gUDIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbAppbmRleCA1MDcxNTI2ZTQ5Yy4uNzVh
MWU4Y2JmY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFw
ZS5zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5z
dGFydC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20g
UDAgdG8gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQud29ya2Vy
LmpzCmluZGV4IDg0ODM1Njg2ZDE2Li44OGQ3NzRiNzVmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAx
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1h
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9u
Lmh0bWwKaW5kZXggYTY5ODlkMGRmZWMuLmQ1MzM1ZThmMjc5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby50cmFuc2Zvcm1h
dGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5hcmNUbyBqb2lucyB1cCB0byB0aGUgbGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
Y1RvIGpvaW5zIHVwIHRvIHRoZSBsYXN0IHN1YnBhdGggcG9pbnQgY29ycmVjdGx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwy
NTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1
LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53
b3JrZXIuanMKaW5kZXggYTU0NWJkM2Q1MWYuLjQ4OWUwNmY2YTNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIGpvaW5zIHVwIHRvIHRoZSBsYXN0IHN1YnBh
dGggcG9pbnQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnpl
cm8uMS5odG1sCmluZGV4IDc3ZjY5ZjU5MzU4Li45ZTY4ZTVjZDQ3MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby56ZXJvLjE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5h
cmNUby56ZXJvLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1
cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6ZXJvIHJh
ZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcg
KzM0LDYgQEAgY3R4Lm1vdmVUbygwLCAtMjUpOwogY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwg
MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEud29ya2VyLmpzCmlu
ZGV4IGQxZDJlODdiNGNhLi5kMmI2MjM4OGVjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
Y1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQ
MSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygwLCAtMjUpOwogY3R4LmFyY1Rv
KDUwLCAtMjUsIDUwLCA1MCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uemVyby4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4y
Lmh0bWwKaW5kZXggZGViZTNkMzE0ODIuLjYwNDE4ZTc3ZmFkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLnplcm8uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1Rv
Lnplcm8uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRy
YXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxsIHBvaW50cyBh
cmUgY29sbGluZWFyPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGlu
ZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxsIHBvaW50cyBhcmUgY29sbGluZWFyIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMjUpOwogY3R4LmFyY1RvKDIwMCwg
MjUsIDUwLCAyNSwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
emVyby4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIu
d29ya2VyLmpzCmluZGV4IDNmZjU1Y2U1MGM5Li40MTc0ZTMwODUyNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUg
ZnJvbSBQMCB0byBQMSwgZXZlbiB3aGVuIGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhciIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1
LCA1MCwgMjUsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0
aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC5odG1sCmluZGV4IDQ2
YzQ3ZDc0YmRjLi5iZTFhZGMzMGQxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmJlZ2luUGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBh
dGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0aC5iZWdpblBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZWdpblBhdGg8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRo
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29ya2VyLmpz
CmluZGV4IDMwMDY5ZTM2OTkyLi4yNzFiNjg5YmNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmJlZ2luUGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRt
bAppbmRleCA0MmYyZjA0NmIwZS4uNTZmMDk4Mzg0YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5iZXppZXJDdXJ2
ZVRvKDEwMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMud29ya2VyLmpzCmluZGV4IDU3ZTEwODQ0ZmVh
Li41NmIwZDc3MTkxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemll
ckN1cnZlVG8uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5i
ZXppZXJDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5iZXppZXJDdXJ2
ZVRvKDEwMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCAy
OWNlYjBkNTE4OS4uMDQ2NGJiZDQ5ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZl
VG8uZW5zdXJlc3VicGF0aC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJw
YXRoLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBm
aXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBp
dCk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRl
ZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBjdHguYmV6aWVyQ3VydmVUbygxMDAsIDUwLCAyMDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJl
emllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwppbmRleCA1Yzk0MjI2NzA0Ni4u
ZTFiY2Y4MWNlNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJD
dXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wg
cG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmJlemllckN1cnZlVG8oMTAwLCA1MCwgMjAwLCA1MCwgMjAwLCA1
MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbAppbmRleCA5Mzc3NzNiMTc2
My4uZGJlOGNkMmFjNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJl
c3VicGF0aC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250
cm9sIHBvaW50IGlzIGFkZGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRy
b2wgcG9pbnQgaXMgYWRkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5iZXppZXJDdXJ2
ZVRvKDAsIDI1LCAxMDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwg
IjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMi53b3JrZXIuanMKaW5kZXggZDQ0MTE0NTA2NzAuLjI2ODhkNmI1MmVkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRo
ZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguYmV6aWVyQ3VydmVUbygwLCAyNSwgMTAwLCAyNSwgMTAw
LCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggNThkZTcwMDcyNmUuLjMxMTM5MGVk
NWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5u
b25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmJlemll
ckN1cnZlVG8ubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5iZXppZXJDdXJ2ZVRvKCkg
d2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImJlemllckN1cnZlVG8oKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTksNyArMTAzLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNmIxOTlkZGUx
ODAuLmM2MzZmNjg0Y2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6
aWVyQ3VydmVUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImJlemllckN1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtOTUsNyArOTksNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwg
MCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2Fs
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5o
dG1sCmluZGV4IDJlOTYyMzU4NGE3Li45NzYxNGIyZDQzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2Fs
ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2Nh
bGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNj
YWxlZC53b3JrZXIuanMKaW5kZXggN2MwNWRlMTJlNmUuLmExOGRhODQxOWQxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS5odG1sCmluZGV4IGM2MDFiNmJhNTY3Li4xZjkzNjc4
OTExNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
c2hhcGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5z
aGFwZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNo
YXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS53b3JrZXIuanMKaW5kZXggZWJkZWRhMTRhMjcuLjNh
YzIzMjczMTg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemll
ckN1cnZlVG8uc2hhcGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLmh0bWwKaW5kZXggNGQ2MWUzZDhlODQuLjdj
ZTQ1MjAyZjg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNp
Yy4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNs
aXAuYmFzaWMuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuYmFzaWMuMTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLmJhc2ljLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAu
YmFzaWMuMS53b3JrZXIuanMKaW5kZXggMzkxZDc0NWY2NWUuLjU1N2RlMWFhNmU2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xpcCgpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5jbGlwLmJhc2ljLjIuaHRtbAppbmRleCA0NTkxZjc3NDU3ZS4uMzkwM2EzMDhjZTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC5iYXNpYy4yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguY2xpcC5iYXNpYy4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMu
Mi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLndvcmtl
ci5qcwppbmRleCA5NjVhMzI4NDUwZi4uNjAwM2ZjNGE5OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVtcHR5
Lmh0bWwKaW5kZXggMzk1NTVhOTdhNzcuLjc4ZWU1MjI5ZGIwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuZW1wdHk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmNsaXAo
KTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMKaW5kZXggZDIyYjI3ZWMyMmMuLjMxNDhj
NzViNWRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3QuaHRtbAppbmRleCBkN2JjM2JkMjQ1OS4u
NjZlNzQwNDM5YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmlu
dGVyc2VjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2Vj
dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmNsaXAuaW50ZXJzZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xpcC5pbnRlcnNlY3Q8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3Qud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lndvcmtlci5qcwppbmRleCA2ZGQwMjFjZGZhNy4uZDhjYjA1
NWM4OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2Vj
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbAppbmRleCBiZjVk
NTQxODM1Yi4uNGQxMGMyYzAwMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC51bmFmZmVjdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguY2xpcC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xpcC51bmFmZmVj
dGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5j
bGlwKCk7CiBjdHgubGluZVRvKDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
aXAudW5hZmZlY3RlZC53b3JrZXIuanMKaW5kZXggY2U2YmJkMDBlMDcuLjM3Mzc1YmNhZjM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFmZmVjdGVkLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguY2xpcCgpOwogY3R4LmxpbmVUbygwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xpcC53aW5kaW5nLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LndpbmRpbmcuMS5odG1sCmluZGV4IGJhZThlOTRjZDM3Li40NTE0ZGFlNzFlMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC53aW5kaW5nLjE8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5jbGlwLndpbmRpbmcuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzIsNyArMzYsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRp
bmcuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEu
d29ya2VyLmpzCmluZGV4IDU4NjUxNDdjMDlkLi4xODUxMmUwZGNhZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5jbGlwKCk7CiBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xpcC53aW5kaW5nLjIuaHRtbAppbmRleCBlYzI1Njg5NzBjZi4uMjFjZDYzYzk0YTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAud2luZGlu
Zy4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguY2xpcC53aW5kaW5nLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM1LDcgKzM5LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC53aW5kaW5nLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2lu
ZGluZy4yLndvcmtlci5qcwppbmRleCA2NDljNDM0NmFkMC4uOTQ3ZDhmZjQ0NjYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHguY2xpcCgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbAppbmRleCA4Y2M1MTY4ZDM1OC4uMmFhMGZm
M2EwNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1w
dHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
Y2xvc2VQYXRoLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xvc2VQYXRoLmVtcHR5PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
b3NlUGF0aC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQ
YXRoLmVtcHR5Lndvcmtlci5qcwppbmRleCBiZTA5ZmZmNWViZC4uMWQwMjZmOWJiNjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5j
bG9zZVBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xvc2VQYXRoLm5ld2xpbmUuaHRtbAppbmRleCAzZjRmMTgzOWY3ZS4uNTYxYTgzYmI2
ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGlu
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmNsb3NlUGF0aC5uZXdsaW5lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmxpbmVUbygyMDAs
IDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xvc2VQYXRoLm5ld2xpbmUud29ya2VyLmpzCmluZGV4IDA0ZjMzOTJlNjg4Li5iNjVhYzhkM2Zk
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5l
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xp
bmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsy
Nyw2IEBAIGN0eC5saW5lVG8oMjAwLCAyNSk7CiBjdHguY2xvc2VQYXRoKCk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbAppbmRleCBiMzBmYmQ2
OTg2Mi4uNTc2MzJmMWVlMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bG9zZVBhdGgubmV4dHBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
b3NlUGF0aC5uZXh0cG9pbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xv
c2VQYXRoLm5leHRwb2ludDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyAr
MzAsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHgubGluZVRvKDEwMDAsIDI1KTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcwpp
bmRleCBmNTkwZTc2ZmZkNS4uYTJkYTQ5YmQ4MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmNsb3NlUGF0aCgpOwog
Y3R4LmxpbmVUbygxMDAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC5jbG9zZWQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNs
b3NlZC5iYXNpYy5odG1sCmluZGV4IGUxM2VhNmY3NjBlLi4xNThkNTI4ODBlNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC5jbG9zZWQu
YmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4Lmxp
bmVUbygwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2Vk
LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5i
YXNpYy53b3JrZXIuanMKaW5kZXggM2QzYzNjNzIzMjYuLjdhMWNjMzdkZmRlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4Lmxp
bmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC5odG1sCmluZGV4IDdmZGJlNDdhOTQ2Li4z
MjJjOTE3Mzc4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xv
c2VkLnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5j
bG9zZWQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5m
aWxsLmNsb3NlZC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCw3ICszMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAiOTAsMTAiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEwLDQwLCAwLDI1NSww
LDI1NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVk
Lndvcmtlci5qcwppbmRleCA0NzNkYWQ2NGFmMy4uNzVjYTg3ZTZjYzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwyNTUsICI5MCwxMCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMTAsNDAsIDAsMjU1LDAsMjU1LCAiMTAsNDAi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1sCmluZGV4IGI4YzZmMmFkNGE2Li42NjJiYmJmMTNmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxsLm92ZXJsYXA8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5maWxsLm92ZXJsYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDcgKzI4LDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnJlY3QoMTAsIDEwLCA4MCwg
MzApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDEyNywwLDI1NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJs
YXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC53b3Jr
ZXIuanMKaW5kZXggNWU1MzAxYjgyMDMuLmZjMTY2ODdiOWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHgucmVj
dCgxMCwgMTAsIDgwLCAzMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAx
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5hZGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxs
LndpbmRpbmcuYWRkLmh0bWwKaW5kZXggZDAxYzVkZjhmNDguLmUyNzI0YTFmZGE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRkLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC53aW5kaW5n
LmFkZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5hZGQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5l
VG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcu
YWRkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRk
Lndvcmtlci5qcwppbmRleCAzN2RmM2Q1YTlhOC4uZWU5NzE1N2VhMjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygx
MDAsIDUwKTsKIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLmh0bWwKaW5kZXggMzJhZmJmNjAzMjcuLjRkYzQ0
MjIyYmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5n
LnN1YnRyYWN0LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5k
aW5nLnN1YnRyYWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZp
bGwud2luZGluZy5zdWJ0cmFjdC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
MCw3ICszNCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3Qu
MS53b3JrZXIuanMKaW5kZXggMzdmNmM3MTE3MWIuLjU1OGEzNTgyMWRhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYg
QEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi5odG1sCmluZGV4IDM3
NDI2MzJmMjFhLi5mNGMzNzVhYmYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4Lmxp
bmVUbygxMDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRp
bmcuc3VidHJhY3QuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53
aW5kaW5nLnN1YnRyYWN0LjIud29ya2VyLmpzCmluZGV4IDg2NGNmZDVmM2U4Li45NGIwYTM4ZDJi
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0
cmFjdC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5k
aW5nLnN1YnRyYWN0LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwg
MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFj
dC4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0
LjMuaHRtbAppbmRleCA2OTM4MDZhMDRkNy4uYzZiZGY5OWJkNDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwud2lu
ZGluZy5zdWJ0cmFjdC4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjM8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDcgKzM5LDYgQEAgY3R4LmxpbmVUbygx
MDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtlci5qcwppbmRleCAyNzZiMGNi
YzdjMy4uOTEyNzQ0NmQ1YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5m
aWxsLndpbmRpbmcuc3VidHJhY3QuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwog
Y3R4LmxpbmVUbygxMDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0
aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC5odG1sCmluZGV4IGQ0
Njc0NGQwMGVjLi5iOTcxNmNlNTZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5pbml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwud29ya2VyLmpzCmluZGV4IDU4NTY3
MTQ4NzZlLi40MzhiNzcxZGU0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFs
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0bWwKaW5kZXggNDU1OGFmMTY4YjAu
LjcxYWYzNjllZWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5hcmMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5hcmMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgu
YXJjPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gYXJjczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlz
UG9pbnRJblBhdGgoKSB3b3JrcyBvbiBhcmNzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAyMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIw
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDMwLCAzMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAz
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5hcmMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGguYXJjLndvcmtlci5qcwppbmRleCA5YTZlNzZlMDViYi4uMzFlYjU0NTVlMTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIGFy
Y3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzCiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMw
LCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIpOwogX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludElu
UGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEuaHRtbAppbmRleCA3
NzRlZjc2NjRmNy4uMjc1OGNhZGZkMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1Bv
aW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGg8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJp
c1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBh
dGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGN0eC5yZWN0KDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCgxMCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIs
ICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFz
aWMuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
YXNpYy4xLndvcmtlci5qcwppbmRleCA4ZTJmYmVlNDk2MC4uZjNiZjhkYWFkMmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgZGV0ZWN0
cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsx
OSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5y
ZWN0KDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTAp
LCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMw
LCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi5odG1sCmluZGV4IDkyMTZjNzNm
ZDRkLi4zM2QyMzFjYjNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguYmFzaWMuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLmJhc2ljLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5pc1BvaW50SW5QYXRoLmJhc2ljLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBh
dGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0aGUgcGF0aDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJ
blBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0aGUgcGF0aCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogY3R4LnJlY3QoMjAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCgxMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAiZmFs
c2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCksIHRydWUsICJjdHgu
aXNQb2ludEluUGF0aCgzMCwgMTApIiwgInRydWUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4y
Lndvcmtlci5qcwppbmRleCBiMmJmOTQxMGJhNy4uYmMxYWMwMWQyZTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0
aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5yZWN0KDIw
LCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgzMCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEw
KSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwKaW5kZXggNTE5MDE4NDY2MjIuLmVl
M2EyMWRmYjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJ
blBhdGguYmV6aWVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mg
b24gQmV6aWVyIGN1cnZlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIgY3VydmVzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzgsNyArNDIsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwg
MjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFscwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcw
LCAzMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzUsIDIwKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwgMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg3NSwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1
LCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci53b3JrZXIuanMKaW5kZXgg
NWQyZjllMDA4OWYuLjIwM2IxYzg0MDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5iZXppZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIgY3VydmVzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBm
YWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCki
LCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzUsIDIwKSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCg3NSwgMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg3NSwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1LCAzMCki
LCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbAppbmRleCA4NzAzZWVmZmU1MC4uMmQ0
YTJkNGMwOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJpZ2FyYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJpZ2FyYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludElu
UGF0aC5iaWdhcmM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyBv
biB1bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFuIDJwaTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1
bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFuIDJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludElu
UGF0aCgzMCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAy
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0
aCgzMCwgMzApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwg
MzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkiLCAiZmFsc2UiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGguYmlnYXJjLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLmJpZ2FyYy53b3JrZXIuanMKaW5kZXggOTc0ZmY3NTkyMzQuLjYzMmI3ZWEyNTEx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdh
cmMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmJpZ2FyYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgo
KSB3b3JrcyBvbiB1bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFuIDJwaSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSwgZmFsc2UsICJj
dHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSIsICJmYWxz
ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSwgZmFsc2UsICJjdHgu
aXNQb2ludEluUGF0aCgzMCwgMzApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCg3MCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkiLCAiZmFs
c2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZWRnZS5odG1sCmluZGV4IDZkNmQ4N2QwMDFmLi42NjYwMDMwN2E0NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5p
c1BvaW50SW5QYXRoLmVkZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2U8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRo
IGFzIGJlaW5nIGluc2lkZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRo
IGFzIGJlaW5nIGluc2lkZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoMTAsIC0wLjAxKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwg
LTAuMDEpIiwKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAyMC4wMSksIGZhbHNl
LCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoLTAuMDEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgt
MC4wMSwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgyMC4w
MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDIwLjAxLCAxMCkiLCAiZmFsc2UiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZWRnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcwppbmRleCA4YmY5YjE5YjJhMS4uZDdkMWUzZjkw
OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVk
Z2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmVkZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkg
Y291bnRzIHBvaW50cyBvbiB0aGUgcGF0aCBhcyBiZWluZyBpbnNpZGUiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3
ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAtMC4wMSksIGZhbHNl
LCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIC0wLjAxKSIsCiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCgxMCwgMjAuMDEpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAyMC4wMSki
LCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKC0wLjAxLCAxMCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoLTAuMDEsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0
aCgyMC4wMSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS5odG1sCmluZGV4IDkyMTlk
NTBkZDBkLi41MDYxZjdmNDcxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZW1wdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHk8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5p
c1BvaW50SW5QYXRoLmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkg
d29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyB3aGVuIHRo
ZXJlIGlzIG5vIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDAsIDApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDAsIDApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5
Lndvcmtlci5qcwppbmRleCA4MjI4Mzg0MDBiNC4uNzk1MjM4MzU3YzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMK
QEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVy
ZSBpcyBubyBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCAwKSwgZmFsc2UsICJj
dHguaXNQb2ludEluUGF0aCgwLCAwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5p
dGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0
ZS5odG1sCmluZGV4IDZlNmJkMmVmMzZmLi5kZWM0N2IyMDVhYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludElu
UGF0aC5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHJldHVybnMgZmFsc2UgZm9yIG5vbi1m
aW5pdGUgYXJndW1lbnRzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHJldHVybnMgZmFsc2UgZm9yIG5vbi1maW5p
dGUgYXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCgwLCBJbmZpbml0eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5m
aW5pdAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgLUluZmluaXR5KSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCgwLCAtSW5maW5pdHkpIiwgImZhbHNlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAs
IE5hTikiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKE5hTiwgTmFO
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTikiLCAiZmFsc2UiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggOTFjMmQzNmM1YTEuLjg2ZjI5
MmM0Njk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlz
UG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50cyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5m
aW5pdHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXQKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMCwgLUluZmluaXR5KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMCwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pIiwgImZhbHNlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTiksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoTmFOLCBOYU4pIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUuaHRt
bAppbmRleCBjMzE3NTk4OWI2ZC4uMmMzZTQwM2EyNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRz
aWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gcGF0aHMgb3V0c2lkZSB0aGUgY2FudmFzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQ
b2ludEluUGF0aCgpIHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCkiLCAiZmEKIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDMwLCAtMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjAp
IiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMCksIHRydWUs
ICJjdHguaXNQb2ludEluUGF0aCgzMCwgMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwg
ImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZS53b3JrZXIuanMKaW5kZXggMTFiODFk
MjE1Y2EuLjZmZGQ3MmZjNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAs
IC03MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCkiLCAiZmEKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDMwLCAtMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwg
MCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgz
MCwgMjApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1YnBhdGguaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1YnBhdGguaHRtbAppbmRleCBkZGY3YjI3
OTNmNC4uMzBiMDQ1OTBmNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLnN1YnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRoPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguaXNQb2ludEluUGF0aC5zdWJwYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5Q
YXRoKCkgdXNlcyB0aGUgY3VycmVudCBwYXRoLCBub3QganVzdCB0aGUgc3VicGF0aDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJ
blBhdGgoKSB1c2VzIHRoZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRoIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBjdHgucmVjdCg0MCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAs
IDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUwLCAx
MCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRoLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1YnBhdGgud29ya2VyLmpzCmluZGV4IGE0
NTNjODA1ZGI4Li5jZjM0MTY5ZDYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB1c2VzIHRoZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0
IHRoZSBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCg0MCwgMCwgMjAs
IDIwKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4
LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoMzAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1
ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSwgdHJ1ZSwgImN0eC5p
c1BvaW50SW5QYXRoKDUwLCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjEuaHRtbAppbmRleCBhMWU4NzY2MGRiNy4uYTJjZTBmYmZjN2EgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1Bv
aW50SW5QYXRoLnRyYW5zZm9ybS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zv
cm0uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNm
b3JtYXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9u
cyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJm
YWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludElu
UGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNm
b3JtLjEud29ya2VyLmpzCmluZGV4IGJlYmM2ZDYzOTU1Li5hMDg2YThlMjIyMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgp
IGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2UsICJjdHguaXNQ
b2ludEluUGF0aCg0OSwgMTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDUxLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRydWUiKTsKIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHguaXNQb2ludElu
UGF0aCg2OSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcx
LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxzZSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC50cmFuc2Zvcm0uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGgudHJhbnNmb3JtLjIuaHRtbAppbmRleCAxOTk1Mjk1ZmFiMi4uMjBjZjI2ZTQ0
ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgudHJhbnNmb3JtLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
aXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludElu
UGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBo
YW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBA
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1
MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBh
dGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwg
MTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgudHJhbnNmb3JtLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGEwOTJjYjlhNjczLi43
NTk2MTU5NjJhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgudHJhbnNmb3JtLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDks
IDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwgImZhbHMKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1
MSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCks
IHRydWUsICJjdHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzEs
IDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbAppbmRleCBi
NDNlMTA0MmRkOC4uMmMxMGE3YjI3NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJl
Y3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAx
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEs
IDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0
cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAx
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpz
CmluZGV4IGNkMjQ0YTY4YjJkLi42OTRiMDczODM0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNm
b3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwg
MTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUs
ICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwg
InRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJh
bnNmb3JtLjQuaHRtbAppbmRleCBlNzk1NjI0MDBiNS4uNjJmOGVkZjk1NzEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC50
cmFuc2Zvcm0uNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRsZXMg
dHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9y
bWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC50cmFuc2xhdGUo
MCwgNTApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjAsIDEwKSwgZmFsc2UsICJj
dHguaXNQb2ludEluUGF0aCg2MCwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCgxMTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDExMCwgMTApIiwg
InRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDExMCwgNjApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDExMCwgNjApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS40Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnRyYW5zZm9ybS40Lndvcmtlci5qcwppbmRleCA2ZWMyMDEzNjE2MS4uYTQxYjRhZWU1YjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC50cmFuc2Zvcm0uNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIGN0eC50cmFuc2xhdGUoMCwgNTApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoNjAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg2MCwgMTApIiwgImZh
bHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMTAsIDEwKSwgdHJ1ZSwgImN0
eC5pc1BvaW50SW5QYXRoKDExMCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDExMCwgNjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDExMCwgNjApIiwg
ImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC5odG1sCmluZGV4IGYwNWEzOWQ3YWQ2Li4z
MmU1NzQyODU1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgudW5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC51bmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5p
c1BvaW50SW5QYXRoLnVuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRo
KCkgd29ya3Mgb24gdW5jbG9zZWQgc3VicGF0aHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5j
bG9zZWQgc3VicGF0aHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMjAsIDIw
KTsKIGN0eC5saW5lVG8oMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAs
IDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0
aCgzMCwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5q
cwppbmRleCAzMTZlNzkxYjJmNC4uYjhjZTgzMzRlNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBz
dWJwYXRocyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmxpbmVUbygyMCwgMjApOwogY3R4
LmxpbmVUbygwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCB0
cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgzMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAx
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy5odG1sCmluZGV4IDhiMGUwN2YxMDFl
Li4xNmIxOGQ3N2U2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgud2luZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLndpbmRpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmc8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5p
c1BvaW50SW5QYXRoLndpbmRpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgo
KSB1c2VzIHRoZSBub24temVybyB3aW5kaW5nIG51bWJlciBydWxlPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHVz
ZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVtYmVyIHJ1bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNiw3ICs0MCw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ1LCAyNSksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCg0NSwgMjUpIiwgInRydWUiCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCg1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1LCA0NSkiLCAidHJ1ZSIpOwogX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMjUsIDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDI1LCA0NSkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDUs
IDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ1LCA0NSkiLCAidHJ1ZSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC53aW5kaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLndpbmRpbmcud29ya2VyLmpzCmluZGV4IGZkZTBhMTdlZGQ2Li5iMWU4ZmRkNDll
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2lu
ZGluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgud2luZGluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBh
dGgoKSB1c2VzIHRoZSBub24temVybyB3aW5kaW5nIG51bWJlciBydWxlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIs
NyArMzYsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgMjUpLCB0cnVlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSIsICJ0cnVlIgogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNSwgNDUpIiwgInRydWUi
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0NSksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCgyNSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDQ1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpIiwgInRydWUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmxpbmVUby5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNp
Yy5odG1sCmluZGV4IGZlNGZmZWMzZmU4Li5mZjgyNDFiMTU2MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5lVG8uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5l
VG8uYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAg
Y3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLndvcmtlci5qcwppbmRleCBjMDcwOTc1YjIxZC4uZWEy
ZmY4MzcxZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFz
aWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCmluZGV4IDky
MTY4MTlhNTRjLi45YThmZWIxYWQ3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjE8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5J
ZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhpbmcgaXMg
ZHJhd248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhp
bmcgaXMgZHJhd24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0
eC5saW5lVG8oMTAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGlu
ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bGluZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggNzAxZmZkZDQxZDIuLmRjM2Q1
MDA4MDcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3Vy
ZXN1YnBhdGguMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0
aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhpbmcgaXMgZHJh
d24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5saW5lVG8o
MTAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3Vy
ZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVz
dWJwYXRoLjIuaHRtbAppbmRleCBmYjliMDRkNWE1ZC4uZGJjMjFmMzA2YjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5l
VG8uZW5zdXJlc3VicGF0aC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlz
IGFkZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50IGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJw
YXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1YnNlcXVlbnQgZHJhd2luZyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmxpbmVUbygwLCAyNSk7CiBjdHgubGluZVRvKDEw
MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVz
dWJwYXRoLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1
cmVzdWJwYXRoLjIud29ya2VyLmpzCmluZGV4IDY5OWU0NDA0OGNiLi5hMzQzNzY2Y2EyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3Vi
cGF0aC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8g
c3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50IGRyYXdp
bmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVU
bygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4
dHBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC5o
dG1sCmluZGV4IDA1NzY4YzBjZDg1Li44ZjNlNzRhODY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5saW5lVG8ubmV4dHBvaW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5qcwpp
bmRleCAyMjYyYjhiYzEwMi4uOTY4ZmQ0N2M5MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVUbygwLCAyNSk7CiBjdHgu
bGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVU
by5ub25maW5pdGUuZGV0YWlscy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVU
by5ub25maW5pdGUuZGV0YWlscy5odG1sCmluZGV4IDRlYTIwOTM3OTU0Li41MDQyN2I0MzBhMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0
YWlscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRl
LmRldGFpbHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8u
bm9uZmluaXRlLmRldGFpbHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVUbygpIHdpdGggSW5m
aW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMgdGhlIHNlY29uZCBhcmc8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5l
VG8oKSB3aXRoIEluZmluaXR5L05hTiBmb3IgZmlyc3QgYXJnIHN0aWxsIGNvbnZlcnRzIHRoZSBz
ZWNvbmQgYXJnIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3IgKHZhciBhcmcxIG9mIFtJbmZp
bml0eSwgLUluZmluaXR5LCBOYU5dKSB7CiAgIGN0eC5saW5lVG8oYXJnMSwgeyB2YWx1ZU9mOiBm
dW5jdGlvbigpIHsgY29udmVydGVkID0gdHJ1ZTsgcmV0dXJuIDA7IH0gfSk7CiAgIF9hc3NlcnQo
Y29udmVydGVkLCAiY29udmVydGVkIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWls
cy53b3JrZXIuanMKaW5kZXggMTNkNjE1MzA2Y2UuLjM3NjUxYmMyZjg2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxz
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZVRvKCkgd2l0aCBJbmZpbml0
eS9OYU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFyZyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgZm9yICh2YXIgYXJnMSBvZiBbSW5maW5pdHksIC1JbmZpbml0eSwg
TmFOXSkgewogICBjdHgubGluZVRvKGFyZzEsIHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7IGNvbnZl
cnRlZCA9IHRydWU7IHJldHVybiAwOyB9IH0pOwogICBfYXNzZXJ0KGNvbnZlcnRlZCwgImNvbnZl
cnRlZCIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmxpbmVUby5ub25maW5pdGUuaHRtbAppbmRleCA4ZGQ3NzNlODIwNy4uNzI4MjMxNjc3NmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5l
VG8ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRvLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+bGluZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVUbygpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA0Zjk3YjliMmRhMi4u
MDc4ZjFiM2U5MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8u
bm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRv
Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVUbygpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5tb3ZlVG8uYmFzaWMuaHRtbAppbmRleCAzNmUxNGFjMTE0Yi4uY2MzOGU5MjIyNzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92ZVRvLmJhc2ljPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGgubW92ZVRvLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDI1LCAwLDI1
NSwwLDI1NSwgIjkwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53b3JrZXIuanMKaW5kZXgg
ZDRiOTI4YTY2YzkuLmVmYTdiZTRiNDNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgubW92ZVRvLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubW92ZVRvLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwy
NSwgMCwyNTUsMCwyNTUsICI5MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLmh0bWwKaW5k
ZXggNDFmNDUxNDM4NjkuLmY2MjQ0MDk1ZGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5tdWx0aXBsZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVU
by5tdWx0aXBsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDdk
NjQ4ODQ5NjFhLi44M2Q4ZDY3ODM3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4Lmxp
bmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5u
ZXdzdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBh
dGguaHRtbAppbmRleCAzOTBhMjYxNTRhNS4uOTZkMjdiNjUwODMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0
aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgu
d29ya2VyLmpzCmluZGV4IDNkYWM2MDgxMTIwLi45MTg4YzY2MDU3MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5tb3ZlVG8o
MCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
Lm1vdmVUby5ub25maW5pdGUuaHRtbAppbmRleCAxMDAyNTlhNGE0MC4uZDc1NWE0NjZiNjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5tb3ZlVG8u
bm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+bW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIm1vdmVUbygpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5l
VG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggODRkODk3MjA3NjcuLjY0
NzUyNGYxNGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5v
bmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5u
b25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJtb3ZlVG8oKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGlu
ZVRvKDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwKaW5kZXggOTU3Yjg5MDEzN2Uu
LmYwMDFmOWQxZTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJh
dGljQ3VydmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFk
cmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8uYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgucXVhZHJhdGljQ3VydmVUbygx
MDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFk
cmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5x
dWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcwppbmRleCBkMDc0ZGZhNTdjNi4uNDczZWE5
ZDAwYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2
ZVRvLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJh
dGljQ3VydmVUby5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgucXVhZHJhdGljQ3Vy
dmVUbygxMDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKaW5kZXggOGYz
YzEwZjkwYzIuLmVkOTQ3ODlmZTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0
aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJw
YXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJh
d24gdXAgdG8gaXQpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9p
bnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1
LDcgKzI5LDYgQEAgY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCA1MCwgMjAwLCA1MCk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggNjdi
MGJiMjIyODkuLjZmNjc1YTZlYTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRo
ZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0
byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKDEwMCwg
NTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwK
aW5kZXggMGE2MWVjZDgzYzEuLjU3OWMzMzUwNDdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBp
cyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlz
IG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjUsNyArMjksNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygwLCAyNSwgMTAwLCAyNSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWND
dXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzCmluZGV4IGE4Yjg3
Y2NjYzg0Li5iZWYwNjNjMWRlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUg
Zmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LnF1YWRyYXRpY0N1cnZlVG8oMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAs
MjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0
ZS5odG1sCmluZGV4IDk4MDZjYTA4YzZkLi5jMGM2NmZmMjM2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVh
ZHJhdGljQ3VydmVUby5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5v
bmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cXVhZHJhdGljQ3VydmVUbygpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0aWNDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4g
aXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ3LDcgKzUxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1
YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNDg0MTA1MzI1
NTUuLjI2M2U4NDI4YTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVh
ZHJhdGljQ3VydmVUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInF1YWRyYXRpY0N1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtNDMsNyArNDcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5zY2FsZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWND
dXJ2ZVRvLnNjYWxlZC5odG1sCmluZGV4IDlkMWVjNGZkNGJjLi4zNDEzOWE2ODk3NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LnNjYWxlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMKaW5kZXggMmU0
MTA2ZWQ5YzcuLjc3MGFiOTM4ZjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0
aWNDdXJ2ZVRvLnNoYXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5zaGFwZS5odG1sCmluZGV4IDQwZTQ1NGE3ZTQxLi5mNWU1NWUzZjFkZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8uc2hhcGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNo
YXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS53b3JrZXIuanMKaW5kZXggZTg3MTBmOWFk
YjAuLjlmZjg0ZTIyZjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVh
ZHJhdGljQ3VydmVUby5zaGFwZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbAppbmRleCAwNTk2Njhh
YjlkYi4uMDFlZTAyNTVjMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5yZWN0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMu
d29ya2VyLmpzCmluZGV4IGFiY2FjYWQ1YmZiLi5kNjNiNzUyMGNjNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuY2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQu
aHRtbAppbmRleCA5NDNkN2M5MTkzOC4uZDJhODMyYTkxNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0LmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuY2xvc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5jbG9z
ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lmxp
bmVKb2luID0gJ21pdGVyJzsKIGN0eC5yZWN0KDEwMCwgNTAsIDEwMCwgMTAwKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzCmluZGV4IDlhMmI3ZTU2MjNj
Li5iNzcyZmIwZTk0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
Y2xvc2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9z
ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBjdHgucmVjdCgxMDAsIDUwLCAxMDAsIDEw
MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjEuaHRtbAppbmRleCBiNDRjNmE4NGEz
MS4uNTkyMzYyMGI2ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmVuZC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5y
ZWN0LmVuZC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5lbmQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgucmVjdCgyMDAsIDEwMCwgNDAwLCAxMDAwKTsK
IGN0eC5saW5lVG8oLTIwMDAsIC0xMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LmVuZC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmVuZC4xLndvcmtlci5qcwppbmRleCA3MmIyZDhhZmYxYy4uZDI3NTdlZTQ5MWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlY3QoMjAwLCAxMDAs
IDQwMCwgMTAwMCk7CiBjdHgubGluZVRvKC0yMDAwLCAtMTAwMCk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuZW5kLjIuaHRtbAppbmRleCBhNDhiMjdkNjFiOS4uMDY1YjBhMGViY2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0LmVuZC4yPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGgucmVjdC5lbmQuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuZW5kLjIud29ya2VyLmpzCmluZGV4IGE5NzE4NzQ1YTM5Li4wNDAxNmUxOWFj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5l
Z2F0aXZlLmh0bWwKaW5kZXggNTVlZGJhYmQzMWUuLmQ5ZTY4ZDE5MTM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5uZWdhdGl2ZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLnJlY3QubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDAsMjU1
LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUsMCwyNTUsICIyNSwzNyIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMjU1LDAsMjU1
LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDRlZTBi
NzMwZmQyLi40ZTI5MDBmMzZmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwy
NTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwy
NTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwKaW5kZXggOTgy
ZThiOWMxODkuLmI3YmI3ODQ1YmE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5uZXdzdWJwYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QubmV3c3VicGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnJlY3QubmV3c3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QubmV3c3Vi
cGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgu
bGluZVRvKC01MCwgMjUpOwogY3R4LnJlY3QoMjAwLCAyNSwgMSwgMSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgud29ya2VyLmpzCmluZGV4IDFiYWNkYWFk
MGM2Li4wNzQ1ZWJmMjNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QubmV3c3VicGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QubmV3c3VicGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVUbygtNTAsIDI1KTsKIGN0eC5yZWN0KDIwMCwgMjUs
IDEsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUuaHRtbAppbmRl
eCBkM2M2MmU1ZTY5Mi4uNDVmZDU1ZGRhYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5ub25m
aW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgicmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Nyw3
ICs1MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1
NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDM1
NTgyZmQ2NjRiLi4xNDQyMzJlNjQ1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3Qubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyZWN0
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC5odG1sCmluZGV4IDdjYTFhZjU5ZDUwLi5j
ZjM3Zjc2MjE1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2Vs
ZmludGVyc2VjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNlbGZp
bnRlcnNlY3QuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3Q8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0LnNlbGZpbnRl
cnNlY3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4
LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoNDUsIDIwLCAxMCwgMTApOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lndvcmtlci5qcwppbmRleCAwYzI2
MWI2NDNkNi4uY2NjODA2ZTU5ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDQ1
LCAyMCwgMTAsIDEwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lndp
bmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRtbApp
bmRleCA0NTMyZGRiOWVkZi4uNWRmMzhjMTA2NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC53aW5kaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGgucmVjdC53aW5kaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC53aW5kaW5n
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwy
NTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMKaW5kZXggNzJmM2UzYTAxOWUuLmJmZjAzYTQxMDRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5kaW5nLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5kaW5nLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1
LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lnplcm8uMS5odG1sCmluZGV4IDI4NzNhNTI4OTU4Li5mM2Y0MjIxYTM3MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5yZWN0Lnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEud29ya2VyLmpzCmluZGV4IDdhZDY0MDRi
MWNhLi4zOTdjYWUxOTcwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56
ZXJvLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDAsIDUwLCAxMDAsIDApOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbAppbmRleCAwYmRlYWQwNzBkMy4uZTg2
YWE1MzJhZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3Qu
emVyby4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoNTAsIC0x
MDAsIDAsIDI1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtl
ci5qcwppbmRleCBjZDQzNzAxYWI0OS4uOGE4N2RlOGU0YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1
MCwgLTEwMCwgMCwgMjUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
Lnplcm8uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLmh0bWwK
aW5kZXggMDJhODRlM2U4NDAuLjVjN2U4MWY0M2U1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC56ZXJvLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC56ZXJvLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5yZWN0Lnplcm8uMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuemVyby4zPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBh
dGgoKTsKIGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuemVyby4zLndvcmtlci5qcwppbmRleCAxOTE3NjgzOGQ1Mi4uOTc5OWFlMjk5OTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5Q
YXRoKCk7CiBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC56ZXJvLjQuaHRtbAppbmRleCA3YzgwNzgwNTg4Zi4uNDQ0NWE1MGMyMzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby40PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
cmVjdC56ZXJvLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnJlY3QoMTAwLCAyNSwgMCwgMCk7CiBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjQud29ya2VyLmpzCmluZGV4IDdjOTEyMzZjNzQ4
Li5mMTM3YzA3NWZhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
emVyby40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5yZWN0KDEwMCwgMjUsIDAsIDApOwogY3R4LmxpbmVUbygwLCAyNSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sCmluZGV4IDNmYzYzNDU3N2E1Li5hYjQ2
ZDRkODRhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56
ZXJvLjU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubW92ZVRvKDAsIDApOwogY3R4LnJlY3QoMTAwLCAy
NSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5q
cwppbmRleCAxZTgzOTAxNmYyNi4uYzNkYjBhZWE4ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubW92ZVRvKDAsIDApOwogY3R4LnJlY3QoMTAw
LCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCmluZGV4
IDQ1MGVmM2MzNjY4Li43MzZkYWY5Zjk2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuemVyby42Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby42Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGgucmVjdC56ZXJvLjY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uNjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHgucmVjdCgxMDAsIDI1LCAxMDAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC56ZXJvLjYud29ya2VyLmpzCmluZGV4IDQ0YmRhN2VlNzFmLi4zYjBjYTY0ZDJhZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby42Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5iZWdpblBh
dGgoKTsKIGN0eC5yZWN0KDEwMCwgMjUsIDEwMDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5lbXB0eS5odG1sCmluZGV4IDE0ZTQ4OWFiZjUzLi5jMjk0NzdlMmRlZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UuZW1wdHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5zdHJva2UuZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkVtcHR5IHN1YnBhdGhz
IGFyZSBub3Qgc3Ryb2tlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkVtcHR5IHN1YnBhdGhzIGFyZSBub3Qgc3Ryb2tlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg0MCwgMjUpOwogY3R4Lm1vdmVUbyg2MCwgMjUpOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcwppbmRleCBk
NmRiMmEwMWI2ZC4uMjM1MDM4MDQ3ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2UuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJFbXB0eSBz
dWJwYXRocyBhcmUgbm90IHN0cm9rZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5tb3Zl
VG8oNDAsIDI1KTsKIGN0eC5tb3ZlVG8oNjAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5vdmVybGFwLmh0bWwKaW5kZXggYzcyNzdiOTFjYWQuLmFlYTIwYjJiYjMxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2Uub3Zlcmxh
cDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5vdmVybGFwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TdHJv
a2VkIHN1YnBhdGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd248L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2VkIHN1YnBh
dGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2
IEBAIGN0eC5tb3ZlVG8oMCwgMzApOwogY3R4LmxpbmVUbygxMDAsIDMwKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDEyNywwLDI1
NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzCmluZGV4
IDUxNjA4NDc5MWM4Li5kOTdjZmJjYTgwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJT
dHJva2VkIHN1YnBhdGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd24iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiw3ICsyNiw2IEBAIGN0eC5tb3ZlVG8oMCwgMzApOwogY3R4LmxpbmVUbygxMDAsIDMwKTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDEyNywwLDI1NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
YXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy5odG1s
CmluZGV4IDA2NTMxNGU4MjA1Li5lMzIzY2UxNzk0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmM8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5zdHJva2UucHJ1bmUuYXJjPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5l
IHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmc8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJa
ZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3ZlZCBi
ZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5tb3ZlVG8oNjAsIDI1
KTsKIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzCmluZGV4IGViYTUyMzM1MjJm
Li44MTJkNzEwZGFlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5hcmMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuYXJjLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0
cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHgubW92ZVRvKDYwLCAyNSk7CiBjdHgu
YXJjKDUwLCAyNSwgMTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnBydW5lLmNsb3NlZC5odG1sCmluZGV4IDdjOGZmZTEyN2QwLi5kYTcyYzY5MTc3
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9z
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3Nl
ZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2Vk
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gY2xv
c2VkIHBhdGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZzwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2Vn
bWVudHMgZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjgsNyArMzIsNiBAQCBjdHgubGluZVRvKDUwLCAyNSk7CiBjdHguY2xvc2VQYXRoKCk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC53
b3JrZXIuanMKaW5kZXggOGIyZTkyMGU3ZjQuLjQwNzk4NGNhMmE0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gY2xv
c2VkIHBhdGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LmxpbmVUbyg1MCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwKaW5kZXggZWYwOTE5NjM0
YjcuLjI3OTYyY2IyM2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnBydW5lLmNvcm5lci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuY29ybmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lcjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5jb3JuZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlplcm8tbGVuZ3RoIGxpbmUgc2Vn
bWVudHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIHdpdGggbWl0ZXJzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGgg
bGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcgd2l0aCBtaXRlcnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5lVG8oLTEwMCwgMjAwKTsKIGN0eC5saW5lVG8o
LTEwMCwgMTAwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNvcm5lci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNvcm5lci53b3JrZXIuanMKaW5kZXggZTBiMGFkNTU2N2UuLjIwZTllNGIyMzVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lci53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21l
bnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRoIG1pdGVycyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtMTAwLCAyMDApOwogY3R4LmxpbmVUbygtMTAwLCAxMDAw
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUuaHRtbApp
bmRleCAyZjBkZDFlNjU4Yi4uNjJhMzliZjk5MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGZyb20gcXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6aWVyQ3VydmVUbyBh
cmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20g
cXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6aWVyQ3VydmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ry
b2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5tb3ZlVG8oNTAsIDI1KTsKIGN0eC5i
ZXppZXJDdXJ2ZVRvKDUwLCAyNSwgNTAsIDI1LCA1MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLndvcmtlci5qcwppbmRleCA1NGQ2OTU1
YzM1My4uMWFkNmQ5YTYxMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2UucHJ1bmUuY3VydmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUuY3VydmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJa
ZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6aWVy
Q3VydmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIGN0eC5tb3ZlVG8oNTAsIDI1KTsKIGN0eC5iZXppZXJDdXJ2ZVRvKDUwLCAyNSwgNTAsIDI1
LCA1MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5saW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUu
aHRtbAppbmRleCAyYTY1OWVhYmUwYS4uMTgxOGM3MmE4MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlplcm8tbGVu
Z3RoIGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5n
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUg
c3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5tb3ZlVG8oNTAsIDI1KTsKIGN0
eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUubGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnBydW5lLmxpbmUud29ya2VyLmpzCmluZGV4IDgyMjlmMzQxN2EyLi5hZDFjYTgzMDgwNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRz
IGZyb20gbGluZVRvIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcg
KzI3LDYgQEAgY3R4Lm1vdmVUbyg1MCwgMjUpOwogY3R4LmxpbmVUbyg1MCwgMjUpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRtbAppbmRleCBiNGI0YWVi
MGI2NS4uZDI2NTZhYjM5NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2UucHJ1bmUucmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUucmVjdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBy
dW5lLnJlY3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMg
ZnJvbSByZWN0IGFuZCBzdHJva2VSZWN0IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZzwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8t
bGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSByZWN0IGFuZCBzdHJva2VSZWN0IGFyZSByZW1vdmVk
IGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LnJlY3QoNTAsIDI1
LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIGN0eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Qud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcwppbmRleCBlM2IyZmY4
MzcyZi4uMTAyYjZjMTQyOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2UucHJ1bmUucmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVy
by1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0cm9rZVJlY3QgYXJlIHJlbW92
ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgucmVjdCg1MCwg
MjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnNjYWxlMS5odG1sCmluZGV4IDYxZTlhN2VhODIxLi41OWI0ZTBlMGEy
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5z
Y2FsZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uuc2NhbGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
dHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlv
biBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3VycmVudCB0cmFu
c2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MSw3ICs0NSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5
LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnNjYWxlMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnNjYWxlMS53b3JrZXIuanMKaW5kZXggZTVmYzhiY2M5MjMuLjI0NTM0MjZjZmViIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0
aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNyw3ICs0MSw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAw
LDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5zY2FsZTIuaHRtbAppbmRleCAwYmM0YzI2ZDA0MC4uOTA1YzA0YWI0MWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2Uuc2Nh
bGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnNjYWxlMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ry
b2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24g
bWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNm
b3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyArNDcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwg
MCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5zY2FsZTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTIud29ya2VyLmpzCmluZGV4IGI1MzJmYjdhM2Q4Li4zM2UxZGNkYzE1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhl
IGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzksNyArNDMsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwy
NTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnNrZXcuaHRtbAppbmRleCA2MjIwZTdjNTRmYy4uNjg5Njk2NTcyMTEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5za2V3PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGguc3Ryb2tlLnNrZXc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN0cm9rZXMgbGluZXMgYXJl
IHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2VzIGxpbmVz
IGFyZSBza2V3ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNTYsNyArNjAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwy
NTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1
LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy53b3JrZXIuanMKaW5kZXggMTI1
YzcwYzhlZGQuLmIyMDRiZWQxYzFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnNrZXcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2Uuc2tldy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgbGlu
ZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC01Miw3ICs1Niw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAw
LDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1sCmluZGV4
IGZjMmRmZjk0MWJhLi4wMmQ5N2E2NTU3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5z
dHJva2UudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tpbmcgZG9lcyBub3Qg
c3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tpbmcgZG9lcyBub3Qgc3RhcnQgYSBuZXcg
cGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHguY2xvc2VQYXRoKCk7
CiBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCA2YzNjMTY1NTliOC4uZDkyOTY5
N2U1ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZl
Y3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFm
ZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tpbmcgZG9lcyBu
b3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBj
dHguY2xvc2VQYXRoKCk7CiBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnVuaW9uLmh0bWwKaW5kZXggNzY4ODRjYTU0NjcuLmRhNTIyNmJlY2Yw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS51bmlv
bjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS51bmlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tl
cyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFyZSB1bmlvbmVkLCBub3Qgc3VidHJhY3RlZDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9r
ZXMgaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAs
IDQwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5pb24ud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53b3JrZXIuanMK
aW5kZXggMDU5NGIyOGNiZjYuLmU4NGNlZTE3M2Y5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnVuaW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
U3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFyZSB1bmlvbmVkLCBub3Qgc3VidHJhY3Rl
ZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDQwKTsKIGN0eC5saW5l
VG8oMCwgNDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0
aW9uLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24u
YmFzaWMuaHRtbAppbmRleCBlN2NiOGVjZTRmMS4uZDhkZjBlNTBjMDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnRyYW5zZm9ybWF0
aW9uLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAw
KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy53b3JrZXIuanMKaW5kZXggYWM5YmMxYmIxNmEuLmE4
NDg5YjA0OTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3Jt
YXRpb24uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFu
c2Zvcm1hdGlvbi5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAwKTsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0
aW9uLmNoYW5naW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRp
b24uY2hhbmdpbmcuaHRtbAppbmRleCBhYmE1NDZiODY3ZS4uYmJkMWU0MTE0YjggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hh
bmdpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3
aGlsZSBidWlsZGluZyBwYXRocywgbm90IHdoZW4gZHJhd2luZzwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUg
YXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRocywgbm90IHdoZW4gZHJhd2luZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMxLDcgKzM1LDYgQEAgY3R4LnJvdGF0ZShNYXRoLlBJLzIpOwogY3R4LnNjYWxlKDAuMSwgMC4x
KTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdp
bmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNo
YW5naW5nLndvcmtlci5qcwppbmRleCAyZjg0MThkYmVkZi4uZmY3MGNjNGQ5YzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5n
aW5nLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiVHJhbnNmb3JtYXRpb25zIGFy
ZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjcsNyArMzEsNiBAQCBjdHgucm90YXRlKE1hdGguUEkvMik7CiBjdHguc2NhbGUoMC4xLCAw
LjEpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0
aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRp
cGxlLmh0bWwKaW5kZXggN2YzOGRhZWQ4YTguLjAwMTExZWM3NTNkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zv
cm1hdGlvbi5tdWx0aXBsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVp
bGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQg
d2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICsz
OCw2IEBAIGN0eC5zdHJva2UoKTsKIGN0eC50cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIu
anMKaW5kZXggNjJiZGU2M2U5MTUuLmE4ZjIzNzlkNjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGls
ZSBidWlsZGluZyBwYXRocywgbm90IHdoZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYg
QEAgY3R4LnN0cm9rZSgpOwogY3R4LnRyYW5zbGF0ZSgwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljLmh0bWwKaW5kZXggODE1
MmNmYzk3MzIuLjhkNGZiMjlkMGY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNpYzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRl
SW1hZ2VEYXRhKGltZ2RhdGEpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmc8L3A+CkBAIC0x
MSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1h
Z2VEYXRhKGltZ2RhdGEpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJl
bnQoY3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSwgbnVsbCwg
ImN0eC5jcmVhdGVJbWFnZURhdGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSkiLCAibnVsbCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuYmFzaWMud29ya2VyLmpzCmluZGV4IDI1MGExNjFm
MzIyLi44ZDc5NWVjMWZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNpYy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgZXhpc3RzIGFuZCByZXR1cm5zIHNv
bWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VEYXRhKGN0eC5jcmVhdGVJbWFn
ZURhdGEoMSwgMSkpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VE
YXRhKDEsIDEpKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwK
aW5kZXggYTM4NWQ3MmUzOTcuLmNjODk1YjcxNDRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0
ZTEuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgcmV0dXJucyB0cmFuc3BhcmVudCBi
bGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVy
bnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytp
KQogICAgIGlmIChpbWdkYXRhMi5kYXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5zcGFyZW50
QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFuc3BhcmVu
dEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzCmlu
ZGV4IGRhMDU0M2M0NDk1Li4yNTdiYmQ4YzU3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgcmV0dXJu
cyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEyLmRhdGEubGVuZ3RoOyArK2kp
CiAgICAgaWYgKGltZ2RhdGEyLmRhdGFbaV0gIT09IDApCiAgICAgICAgIGlzVHJhbnNwYXJlbnRC
bGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50QmxhY2ssICJpc1RyYW5zcGFyZW50
QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8uaHRtbAppbmRleCBiYmNhZGFkMzFjNS4u
MTAwMGU0NGM4NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTEuemVyby5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTEuemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5jcmVhdGUxLnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShudWxs
KSB0aHJvd3MgVHlwZUVycm9yPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9y
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFn
ZURhdGEobnVsbCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcwpp
bmRleCBmM2JlZDg0ODhlNi4uNjkzZmM1OTI3YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcwpAQCAt
NCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVy
cm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJ
bWFnZURhdGEobnVsbCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwKaW5kZXgg
MTNjYjVkZTRjY2QuLjMzNzFiOWRhY2I0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3Jl
YXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZzwvcD4KQEAg
LTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJ
bWFnZURhdGEoc3csIHNoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0RGlmZmVy
ZW50KGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSksIG51bGwsICJjdHguY3JlYXRlSW1hZ2VEYXRh
KDEsIDEpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5q
cwppbmRleCA4MjE5MGQ2Y2IwYi4uMzYxMjhkOThhNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhpc3Rz
IGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VEYXRh
KDEsIDEpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSIsICJudWxsIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLmh0bWwKaW5kZXggZTdjZWQ5ZDIxNjYuLmM3YzA4MDgy
MzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVh
dGUyLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURh
dGEuY3JlYXRlMi5pbml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEo
c3csIHNoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemU8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
cmVhdGVJbWFnZURhdGEoc3csIHNoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2Yg
dGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGZvciAodmFyIGkgPSAwOyBp
IDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09
IDApCiAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5z
cGFyZW50QmxhY2ssICJpc1RyYW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5p
bml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIuaW5pdGlhbC53b3JrZXIuanMKaW5kZXggZDNmZWEyNGQ1ODYuLjE1MTIyMTA2NThlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmlu
aXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTIuaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0
ZUltYWdlRGF0YShzdywgc2gpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUg
cmlnaHQgc2l6ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCBp
bWdkYXRhLmRhdGEubGVuZ3RoOyArK2kpCiAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkK
ICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNzZXJ0KGlzVHJhbnNwYXJl
bnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdl
Lmh0bWwKaW5kZXggMjVkNDkwNTJiYjQuLjVkNGIxZDBmMzM5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3Jl
YXRlMi5sYXJnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFy
Z2VyIHRoYW4gdGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHdvcmtzIGZvciBzaXpl
cyBtdWNoIGxhcmdlciB0aGFuIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGZv
ciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsgaSArPSA3ODEzKSAvLyBjaGVj
ayB+MTAyNCBwb2ludHMgKGFzc3VtCiAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkKICAg
ICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNzZXJ0KGlzVHJhbnNwYXJlbnRC
bGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFy
Z2Uud29ya2VyLmpzCmluZGV4IGQ4YWUxNGNmNGIyLi5hZDM0ZTZkMDJjMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJn
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywg
c2gpIHdvcmtzIGZvciBzaXplcyBtdWNoIGxhcmdlciB0aGFuIHRoZSBjYW52YXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsg
aSArPSA3ODEzKSAvLyBjaGVjayB+MTAyNCBwb2ludHMgKGFzc3VtCiAgICAgaWYgKGltZ2RhdGEu
ZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNz
ZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLm5lZ2F0aXZlLmh0bWwKaW5kZXggZDVjNDJlZmVhN2IuLjRjNDJjNmI4ZGQ3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMi5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURh
dGEuY3JlYXRlMi5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgdGFrZXMgdGhlIGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVu
dHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0YWtlcyB0aGUgYWJzb2x1dGUgbWFnbml0dWRlIG9m
IHRoZSBzaXplIGFyZ3VtZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgdmFyIGltZ2RhdGE0
ID0gY3R4LmNyZWF0ZUltYWdlRGF0YSgtMTAsIC0yMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS5k
YXRhLmxlbmd0aCwgaW1nZGF0YTIuZGF0YS5sZW5ndGgsICJpbWdkYXRhMS5kYXRhLmxlbmd0aCIs
ICJpbWdkYXRhMi5kYXRhLmxlbmd0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YS5sZW5n
dGgsIGltZ2RhdGEzLmRhdGEubGVuZ3RoLCAiaW1nZGF0YTIuZGF0YS5sZW5ndGgiLCAiaW1nZGF0
YTMuZGF0YS5sZW5ndGgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEzLmRhdGEubGVuZ3RoLCBpbWdk
YXRhNC5kYXRhLmxlbmd0aCwgImltZ2RhdGEzLmRhdGEubGVuZ3RoIiwgImltZ2RhdGE0LmRhdGEu
bGVuZ3RoIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS53b3JrZXIuanMK
aW5kZXggMTFmMTY0MWFiNTkuLjViMmY4ZWI1NDhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGFr
ZXMgdGhlIGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVudHMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIHZhciBpbWdkYXRhNCA9IGN0eC5jcmVhdGVJbWFnZURhdGEoLTEwLCAt
MjApOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuZGF0YS5sZW5ndGgsIGltZ2RhdGEyLmRhdGEubGVu
Z3RoLCAiaW1nZGF0YTEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTIuZGF0YS5sZW5ndGgiKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEyLmRhdGEubGVuZ3RoLCBpbWdkYXRhMy5kYXRhLmxlbmd0aCwgImlt
Z2RhdGEyLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEzLmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhMy5kYXRhLmxlbmd0aCwgaW1nZGF0YTQuZGF0YS5sZW5ndGgsICJpbWdkYXRhMy5k
YXRhLmxlbmd0aCIsICJpbWdkYXRhNC5kYXRhLmxlbmd0aCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMi5ub25maW5pdGUuaHRtbAppbmRleCBhZTM2ZmM3MmFhNC4uNmY4YWZjMDMwM2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmlu
aXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5j
cmVhdGUyLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKCkg
dGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURh
dGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMzLDcgKzM3LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmopOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBuZWdp
bmZvYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgbmFub2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEocG9zaW5mb2JqLCBw
b3NpbmZvYmopOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29y
a2VyLmpzCmluZGV4IDA2MDlkMDU5NTFkLi4zZjU4OGIwYWQ2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmlu
aXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKCkg
dGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OSw3ICszMyw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgcG9zaW5mb2JqKTsKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgbmVnaW5mb2Jq
KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVJbWFnZURhdGEoMTAsIG5hbm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKHBvc2luZm9iaiwgcG9zaW5m
b2JqKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQuaHRtbAppbmRleCAyZDU5ZWZmMzhi
MS4uYjFhMTIzYWY1ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTIucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmlt
YWdlRGF0YS5jcmVhdGUyLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURh
dGEodywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCk8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
cmVhdGVJbWFnZURhdGEodywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEo
MCwgMCwgdywgaCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5j
cmVhdGVJbWFnZURhdGEoMTAuMDEsIDEwLjk5KTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFn
ZURhdGEoMCwgMCwgMTAuMDEsIDEwLjk5KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLndpZHRoLCBp
bWdkYXRhMi53aWR0aCwgImltZ2RhdGExLndpZHRoIiwgImltZ2RhdGEyLndpZHRoIik7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhMS5oZWlnaHQsIGltZ2RhdGEyLmhlaWdodCwgImltZ2RhdGExLmhlaWdo
dCIsICJpbWdkYXRhMi5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndv
cmtlci5qcwppbmRleCBiMGM0YTAzY2NiNi4uN2E0ZDdkMDg1M2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEodywgaCkgaXMg
cm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Niw3ICsyMCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAuMDEsIDEw
Ljk5KTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAuMDEsIDEwLjk5
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLndpZHRoLCBpbWdkYXRhMi53aWR0aCwgImltZ2RhdGEx
LndpZHRoIiwgImltZ2RhdGEyLndpZHRoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS5oZWlnaHQs
IGltZ2RhdGEyLmhlaWdodCwgImltZ2RhdGExLmhlaWdodCIsICJpbWdkYXRhMi5oZWlnaHQiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5jcmVhdGUyLnplcm8uaHRtbAppbmRleCA4Yzg4Y2M5YjZmYi4uNDNhMjE2Y2Rj
NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0
ZTIuemVyby5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIuemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUy
Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93
cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm88L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0
aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRh
KDEwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDEwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDApOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVyby53b3JrZXIuanMKaW5kZXggY2Y1NGIzYzZlZmIuLmU2
NDk3N2NhMTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlz
IHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rp
b24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOyB9
KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVJbWFnZURhdGEoMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCmluZGV4IGNmYjVl
M2MyYmE1Li5mOWU3MzBhOWJhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LmdldC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFu
ZCByZXR1cm5zIHNvbWV0aGluZzwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBleGlzdHMgYW5kIHJldHVybnMgc29t
ZXRoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCA1MCksIG51
bGwsICJjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApIiwgIm51bGwiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5iYXNpYy53b3JrZXIuanMKaW5kZXggNjgyNDk0NWQ5ZjguLmQ0ZjRlNTFmZGMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5i
YXNpYy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBl
eGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAwLCA1MCksIG51bGwsICJjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTAp
IiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAuaHRtbAppbmRleCBjNWUxODliN2JmNS4uYWI1
NDRhOTdlNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5jbGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5jbGFtcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LmNsYW1wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuY2xhbXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRo
ZSByYW5nZSBbMCwgMjU1XTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5n
ZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4Lmdl
dEltYWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwg
MjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhMi5kYXRhWzFdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIyNTUi
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIi
KygyKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcwppbmRl
eCA5N2EyYTE0Nzc3Ni4uMTQ4Mjk2ZWE5YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgY2xhbXBzIGNvbG91cnMgdG8gdGhlIHJhbmdlIFsw
LCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1h
Z2VEYXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAyNTUs
ICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEyLmRhdGFbMV0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjI1NSIpOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDIp
KyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbAppbmRleCBjOTUxNmQ3YTcz
NS4uNmRiZDk1MzJhYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5sZW5ndGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubGVuZ3RoPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5n
ZXQubGVuZ3RoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5zIGEg
Y29ycmVjdGx5LXNpemVkIFVpbnQ4Q2xhbXBlZEFycmF5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBh
IGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgaW1n
ZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCwgImltZ2RhdGEu
ZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5sZW5ndGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lmxlbmd0aC53b3JrZXIuanMKaW5kZXggZjhhMDhlMjg2NDIuLmViYjgyNzlmNzNi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVu
Z3RoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQubGVuZ3RoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRh
KCkgcmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQq
NCwgImltZ2RhdGEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbAppbmRleCBhYjkwYTgzMWY5Yy4uOGQz
MGI1NTJhNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5nZXQubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB0aHJv
d3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHRo
cm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNjUs
NyArNjksNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0
eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgcG9zaQogYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIHBv
c2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgMTAsIHBvc2luZm9i
aik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
Z2V0SW1hZ2VEYXRhKDEwLCAxMCwgcG9zaW5mb2JqLCBwb3NpbmZvYmopOyB9KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubm9uZmluaXRlLndvcmtlci5qcwppbmRleCBiZmQ1ZmIwMzhhZi4uYjcwOWNh
NmU5OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJn
ZXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTYxLDcgKzY1LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIHBvc2kKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgx
MCwgcG9zaW5mb2JqLCBwb3NpbmZvYmosIHBvc2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZv
YmosIDEwLCBwb3NpbmZvYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIHBvc2luZm9iaiwgcG9zaW5mb2Jq
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwuaHRtbAppbmRleCA0NzNkNmY2ZWZhYS4u
MzJmOGQ1MmYzNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5ub25wcmVtdWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5nZXQubm9ucHJlbXVsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSBy
ZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIG5v
bi1wcmVtdWx0aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnQo
aW1nZGF0YS5kYXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSA+IDIwMCIp
OwogX2Fzc2VydChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsi
XCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImltZ2RhdGEuZGF0
YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdIDwgMjAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJl
bXVsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5u
b25wcmVtdWwud29ya2VyLmpzCmluZGV4IDZkODVhNWMxMjhlLi4yNjk2ODVlY2I3NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5v
bnByZW11bC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IHJldHVybnMgbm9uLXByZW11bHRpcGxpZWQgY29sb3VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgX2Fzc2VydChpbWdkYXRhLmRhdGFbMV0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygxKSsi
XCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsyXSA+IDIwMCwgImltZ2RhdGEuZGF0
YVtcIiIrKDIpKyJcIl0gPiAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdID4gMTAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFb
M10gPCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdIDwgMjAwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0Lm9yZGVyLmFscGhhLmh0bWwKaW5kZXggNGJmMzBjMDhkZjQuLjk2ZTc4YmNhYjhmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIu
YWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
b3JkZXIuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5z
IEEgaW4gdGhlIGZvdXJ0aCBjb21wb25lbnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIEEgaW4gdGhl
IGZvdXJ0aCBjb21wb25lbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwg
MTApOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbM10gPCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygz
KSsiXCJdIDwgMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImltZ2RhdGEu
ZGF0YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5h
bHBoYS53b3JrZXIuanMKaW5kZXggNjExYTljNzc4MWYuLmE5NzI1MWY2NTc4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRl
ci5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1h
Z2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA8IDIwMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPCAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNd
ID4gMTAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuY29scy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmNvbHMuaHRtbAppbmRleCBkM2FiZWMzOGEyNC4uODkyMmMzMjQ5YjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVy
LmNvbHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQub3JkZXIu
Y29sczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBsZWZ0bW9z
dCBjb2x1bW5zIGZpcnN0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBsZWZ0bW9zdCBjb2x1bW5zIGZp
cnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2Rh
dGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhW01h
dGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSwgMjU1LCAiaW1nZGF0YS5kYXRhW01hdGgucm91
bmQoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjQpXSwgMCwgImlt
Z2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjQp
XSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndvcmtlci5qcwppbmRl
eCBjM2E3ZDI1MDQ2NC4uNzFhZWRiNTk1ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1vc3QgY29s
dW1ucyBmaXJzdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0
SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAs
ICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0sIDI1NSwgImltZ2RhdGEuZGF0YVtN
YXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0KV0s
IDAsICJpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53
aWR0aCo0KV0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwKaW5kZXggY2U4
MTUyMWJjY2MuLmY2YTg1OTM4MTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1h
Z2VEYXRhKCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEI8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIFIg
dGhlbiBHIHRoZW4gQiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhWzRdLCAweDQ0LCAiaW1nZGF0YS5kYXRhW1wiIisoNCkrIlwiXSIsICIweDQ0Iik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNV0sIDB4ODgsICJpbWdkYXRhLmRhdGFbXCIiKyg1KSsi
XCJdIiwgIjB4ODgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs2XSwgMHhDQywgImltZ2Rh
dGEuZGF0YVtcIiIrKDYpKyJcIl0iLCAiMHhDQyIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRh
WzddLCAyNTUsICJpbWdkYXRhLmRhdGFbXCIiKyg3KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQub3JkZXIucmdiLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCmluZGV4IDY1NGVhMTlmNmRjLi4wY2M1Yjhi
Zjg3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLnJnYi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lm9yZGVyLnJnYi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdl
dEltYWdlRGF0YSgpIHJldHVybnMgUiB0aGVuIEcgdGhlbiBCIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNF0sIDB4NDQsICJpbWdkYXRhLmRhdGFbXCIi
Kyg0KSsiXCJdIiwgIjB4NDQiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs1XSwgMHg4OCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDUpKyJcIl0iLCAiMHg4OCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhWzZdLCAweENDLCAiaW1nZGF0YS5kYXRhW1wiIisoNikrIlwiXSIsICIweENDIik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbN10sIDI1NSwgImltZ2RhdGEuZGF0YVtcIiIrKDcpKyJc
Il0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1sCmluZGV4IGJhOGE3
NDBjZjQ5Li5lY2JjMGE2ZTIyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3M8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJ
bWFnZURhdGEoKSByZXR1cm5zIHRvcG1vc3Qgcm93cyBmaXJzdDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVy
bnMgdG9wbW9zdCByb3dzIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0
YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSwgMCwgImltZ2Rh
dGEuZGF0YVtNYXRoLmZsb29yKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMCIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdLCAyNTUs
ICJpbWdkYXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNF0iLCAiMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtlci5qcwppbmRleCA5ZmIy
M2U2YTA0Ni4uMDg5M2Y1ZTVhN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCByb3dzIGZpcnN0
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEo
MCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEu
ZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhW01hdGgu
Zmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSwgMCwgImltZ2RhdGEuZGF0YVtNYXRoLmZsb29yKGlt
Z2RhdGEud2lkdGgvMio0KV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWyhpbWdk
YXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdLCAyNTUsICJpbWdkYXRhLmRhdGFbKGltZ2Rh
dGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNF0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5y
YW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdl
Lmh0bWwKaW5kZXggOWExOWI2NTFmN2EuLmVmMTY4ZWJmMTg3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2UuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5yYW5nZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5pbWFnZURhdGEuZ2V0LnJhbmdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFn
ZURhdGEoKSByZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDI1NV08L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEo
KSByZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDI1NV0iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5nZXRJbWFnZURhdGEoMTAsIDUsIDEsIDEpOwogX2Fz
c2VydFNhbWUoaW1nZGF0YTEuZGF0YVswXSwgMCwgImltZ2RhdGExLmRhdGFbXCIiKygwKSsiXCJd
IiwgIjAiKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1LCAxLCAxKTsK
IF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygw
KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2Uud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndvcmtlci5qcwppbmRleCA1
Y2FjNzA3YWM5Ni4uY2VjNTk3NDg1ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5yYW5nZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAy
NTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguZ2V0SW1hZ2VE
YXRhKDEwLCA1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRhdGFbMF0sIDAsICJpbWdk
YXRhMS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1h
Z2VEYXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAyNTUs
ICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNv
dXJjZS5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnNvdXJjZS5uZWdhdGl2ZS5odG1sCmluZGV4IGI2ZDQ3YTIyOGU3Li42MDVmZDI0ZDU2ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJj
ZS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldElt
YWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUgd2lkdGggYW5kIGhlaWdodCwgYW5kIHJldHVy
bnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3Mgd2l0aCBu
ZWdhdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0LCBhbmQgcmV0dXJucyB0b3AtdG8tYm90dG9tIGxlZnQt
dG8tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRh
dGFbMF0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhMi5kYXRhWzFdLCAwLCAiaW1nZGF0YTIuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMCIp
OwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygy
KSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbM10sIDAsICJpbWdkYXRh
Mi5kYXRhW1wiIisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRp
dmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNv
dXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggZWQ4M2VlNTcwODIuLmNlZjFjNDMwZmUxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNl
Lm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3Mgd2l0aCBuZWdhdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0LCBh
bmQgcmV0dXJucyB0b3AtdG8tYm90dG9tIGxlZnQtdG8tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICsz
NCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDAsICJpbWdkYXRhMi5kYXRhW1wi
IisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzFdLCAwLCAiaW1n
ZGF0YTIuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0
YVsyXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygyKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1l
KGltZ2RhdGEyLmRhdGFbM10sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMykrIlwiXSIsICIwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLmh0bWwKaW5kZXggMDE5MGExZjIy
YzMuLjRlNGVkYThmMWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0
c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUg
dGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgb3V0c2lk
ZSB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNjksNyArNzMsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRh
Ny5kYXRhWzIwKjQrMF0sIDAsICJpbWdkYXRhNy5kYXRhWzIwKjQrMF0iLCAiMCIpOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzFdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzFdIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCsyXSwgMCwgImltZ2RhdGE3LmRh
dGFbMjAqNCsyXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrM10sIDAs
ICJpbWdkYXRhNy5kYXRhWzIwKjQrM10iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91
dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcwppbmRleCAwY2M1ZmQ0YTI0ZS4uNzYzNzAwYTBkOTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3Vy
Y2Uub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBvdXRzaWRlIHRoZSBj
YW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC02NSw3ICs2OSw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFb
MjAqNCswXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCswXSIsICIwIik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhNy5kYXRhWzIwKjQrMV0sIDAsICJpbWdkYXRhNy5kYXRhWzIwKjQrMV0iLCAiMCIpOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzJdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0
KzJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCszXSwgMCwgImltZ2Rh
dGE3LmRhdGFbMjAqNCszXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplLmh0
bWwKaW5kZXggZTk1ZGQ1NTY1ZWIuLmUyYzNhMWQ4OGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdl
dC5zb3VyY2Uuc2l6ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5zIGJpZ2dlciBJbWFnZURhdGEgZm9y
IGJpZ2dlciBzb3VyY2UgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBiaWdnZXIgSW1h
Z2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgdmFyIGltZ2RhdGExID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogdmFyIGlt
Z2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAyMCwgMjApOwogX2Fzc2VydChpbWdkYXRh
Mi53aWR0aCA+IGltZ2RhdGExLndpZHRoLCAiaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0
aCIpOwogX2Fzc2VydChpbWdkYXRhMi5oZWlnaHQgPiBpbWdkYXRhMS5oZWlnaHQsICJpbWdkYXRh
Mi5oZWlnaHQgPiBpbWdkYXRhMS5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXpl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3Vy
Y2Uuc2l6ZS53b3JrZXIuanMKaW5kZXggYmI4YzEwNWE2ODUuLjljMzBiMjg0MmFhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5z
b3VyY2Uuc2l6ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0
YSgpIHJldHVybnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJjZSByZWN0YW5nbGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5nZXRJbWFnZURhdGEo
MCwgMCwgMTAsIDEwKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMjAs
IDIwKTsKIF9hc3NlcnQoaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aCwgImltZ2RhdGEy
LndpZHRoID4gaW1nZGF0YTEud2lkdGgiKTsKIF9hc3NlcnQoaW1nZGF0YTIuaGVpZ2h0ID4gaW1n
ZGF0YTEuaGVpZ2h0LCAiaW1nZGF0YTIuaGVpZ2h0ID4gaW1nZGF0YTEuaGVpZ2h0Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC50aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQudGlueS5odG1sCmluZGV4IGFjOTU2M2I1ZjMxLi4zNzFlNzI4ZDg2ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0
LnRpbnk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC50aW55PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5n
ZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0aGFuIG9uZSBwaXhlbDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldElt
YWdlRGF0YSgpIHdvcmtzIGZvciBzaXplcyBzbWFsbGVyIHRoYW4gb25lIHBpeGVsIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMC4w
MDAxLCAwLjAwMDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53
aWR0aCppbWdkYXRhLmhlaWdodCo0LCAiaW1nZGF0YS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhLndp
ZHRoKmltZ2RhdGEuaGVpZ2h0KjQiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEud2lkdGgsIDEsICJp
bWdkYXRhLndpZHRoIiwgIjEiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuaGVpZ2h0LCAxLCAiaW1n
ZGF0YS5oZWlnaHQiLCAiMSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS53b3JrZXIuanMKaW5kZXgg
MzE2N2U0NjVkNjkuLmVhOTEzNmQyYzAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJnZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0aGFuIG9uZSBw
aXhlbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VE
YXRhKDAsIDAsIDAuMDAwMSwgMC4wMDAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5n
dGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCwgImltZ2RhdGEuZGF0YS5sZW5ndGgi
LCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
LndpZHRoLCAxLCAiaW1nZGF0YS53aWR0aCIsICIxIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmhl
aWdodCwgMSwgImltZ2RhdGEuaGVpZ2h0IiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVj
dGVkLmh0bWwKaW5kZXggYWZkNzU5YjVkYTUuLjBkNGIwNmE1M2ZhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0
YS5nZXQudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0
IHN0YXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZ2V0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5yZXN0b3JlKCk7CiBjdHgucHV0SW1hZ2VEYXRhKGlt
Z2RhdGEsIDUwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC53b3JrZXIuanMK
aW5kZXggMDQ5MDQyZjVkNWYuLjE3YzMxMDM5NjllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQg
YnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LnJlc3RvcmUoKTsK
IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby5odG1sCmlu
ZGV4IDQyZDcxZmM5NjQyLi4zYzQ2MTM1ODIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lnplcm88L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1h
Z2VEYXRhLmdldC56ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB0aHJv
d3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElO
REVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygi
SU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwg
MCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4
LmdldEltYWdlRGF0YSgxLCAxLCAwLCAxMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0la
RV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAwKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcwppbmRleCA1ODg2Yjg4ZTg3My4uYTVhOTYzZGI2
YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56
ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsx
OSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2Vy
dF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEo
MSwgMSwgMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rp
b24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMTApOyB9KTsKIGFzc2VydF90aHJvd3Mo
IklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwg
MCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC5odG1sCmluZGV4IGIzNjc4MjFjMmNlLi4z
NTA2OGVmMWM5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LmNsYW1wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LmNsYW1wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXA8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
Lm9iamVjdC5jbGFtcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhLmRhdGEgY2xhbXBz
IG51bWJlcnMgdG8gWzAsIDI1NV08L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwg
MjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBd
LCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0g
PSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSBJbmZpbml0eTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LmNsYW1wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53b3JrZXIuanMKaW5kZXggMDA0MDBiZjQ1NDYuLjlkYTUz
ZWFkOGZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QuY2xhbXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLm9iamVjdC5jbGFtcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklt
YWdlRGF0YS5kYXRhIGNsYW1wcyBudW1iZXJzIHRvIFswLCAyNTVdIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzcsNyAr
NDEsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIi
KygwKSsiXCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVsw
XSA9IEluZmluaXR5OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAyNTUsICJpbWdkYXRh
LmRhdGFbXCIiKygwKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLmh0bWwKaW5k
ZXggMzEyMjRiYWFjOTQuLmI0NGFiMmIyZGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0Lm5hbjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5pbWFnZURhdGEub2JqZWN0Lm5hbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhLmRh
dGEgY29udmVydHMgTmFOIHRvIDA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBOYU4gdG8gMCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1n
ZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBp
bWdkYXRhLmRhdGFbMF0gPSAiY2hlZXNlIjsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwg
MCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qu
bmFuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5uYW4ud29ya2VyLmpzCmluZGV4IGVmNjY1ZTcwNmFjLi41OTUwMmVkNWFmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRz
IE5hTiB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRh
dGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0
YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9ICJjaGVlc2UiOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3QucHJvcGVydGllcy5odG1sCmluZGV4IDA0YjliMDJjZWZjLi5hNmYw
Yzk3N2E2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnByb3BlcnRpZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QucHJvcGVydGllcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFn
ZURhdGEgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBwcm9wZXJ0aWVzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMg
aGF2ZSB0aGUgcmlnaHQgcHJvcGVydGllcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGlt
Z2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZSh0eXBl
b2YoaW1nZGF0YS53aWR0aCksICdudW1iZXInLCAidHlwZW9mKGltZ2RhdGEud2lkdGgpIiwgIidu
dW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS5oZWlnaHQpLCAnbnVtYmVyJywg
InR5cGVvZihpbWdkYXRhLmhlaWdodCkiLCAiJ251bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVv
ZihpbWdkYXRhLmRhdGEpLCAnb2JqZWN0JywgInR5cGVvZihpbWdkYXRhLmRhdGEpIiwgIidvYmpl
Y3QnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcwpp
bmRleCAxMDk0YzY2MGZjYi4uZjgyNDFjZWRkYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucHJvcGVydGllcy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIGhhdmUgdGhl
IHJpZ2h0IHByb3BlcnRpZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZhciBpbWdkYXRhID0g
Y3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2Rh
dGEud2lkdGgpLCAnbnVtYmVyJywgInR5cGVvZihpbWdkYXRhLndpZHRoKSIsICInbnVtYmVyJyIp
OwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSwgJ251bWJlcicsICJ0eXBlb2Yo
aW1nZGF0YS5oZWlnaHQpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0
YS5kYXRhKSwgJ29iamVjdCcsICJ0eXBlb2YoaW1nZGF0YS5kYXRhKSIsICInb2JqZWN0JyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS5odG1sCmluZGV4IDdhZDNiNmIxYTdjLi5jNTZi
ZTViYmIzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnJlYWRvbmx5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LnJlYWRvbmx5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHk8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1h
Z2VEYXRhLm9iamVjdC5yZWFkb25seTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9i
amVjdHMgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGll
cyBhcmUgcmVhZC1vbmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVsxXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDEpKyJcIl0iLCAi
MCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzJdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIiso
MikrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbM10sIDAsICJpbWdkYXRh
LmRhdGFbXCIiKygzKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFk
b25seS53b3JrZXIuanMKaW5kZXggNzcwZGY4OTgwODMuLjJiYjZkMWYxMzM3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5y
ZWFkb25seS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmpl
Y3RzIHByb3BlcnRpZXMgYXJlIHJlYWQtb25seSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fz
c2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMV0sIDAsICJpbWdkYXRhLmRhdGFbXCIi
KygxKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsyXSwgMCwgImltZ2Rh
dGEuZGF0YVtcIiIrKDIpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzNd
LCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5yb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0
LnJvdW5kLmh0bWwKaW5kZXggY2JiNzUxOWE2MWEuLjM5MDFmYWM3ZjlhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRh
Lm9iamVjdC5yb3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5JbWFnZURhdGEuZGF0YSByb3VuZHMgbnVtYmVycyB3aXRoIHJvdW5kLXRvLXpl
cm88L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJJbWFnZURhdGEuZGF0YSByb3VuZHMgbnVtYmVycyB3aXRoIHJvdW5kLXRvLXplcm8iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC00NSw3ICs0OSw2IEBAIGltZ2RhdGEuZGF0YVswXSA9IC0wLjU7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIGlt
Z2RhdGEuZGF0YVswXSA9IC0xLjU7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJp
bWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5k
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5y
b3VuZC53b3JrZXIuanMKaW5kZXggNjkyNGU2YzExNGQuLjFmNzZhYmIxMTlmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3Vu
ZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIHJvdW5k
cyBudW1iZXJzIHdpdGggcm91bmQtdG8temVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1LDYgQEAgaW1n
ZGF0YS5kYXRhWzBdID0gLTAuNTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gLTEuNTsK
IF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJc
Il0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lmh0bWwKaW5kZXggZjM5MjQwZTcyNzUuLmFh
ZDc3ZGYxNWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5vYmplY3Quc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LnNldC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnNldDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0
LnNldDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlmaWVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
SW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlmaWVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBp
bWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDEwMCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTAwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAy
MDA7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDIwMCwgImltZ2RhdGEuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMjAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC53b3JrZXIuanMKaW5k
ZXggNmFiNmZlMTZlOGQuLjhlYjU0MzgxMjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlmaWVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGFbMF0sIDEwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTAwIik7CiBpbWdk
YXRhLmRhdGFbMF0gPSAyMDA7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDIwMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJp
bmcuaHRtbAppbmRleCA3ZDk0NGQwMDNjMS4uYTg1MDI4NzUwZWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5v
YmplY3Quc3RyaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5JbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0
aCBUb051bWJlcjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRo
IFRvTnVtYmVyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRh
dGFbMF0sIDEyMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTIwIik7CiBpbWdkYXRh
LmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhWzBdLCAxMzAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEz
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzCmluZGV4IDQxYTM4
Mzk1MjU3Li5kZThiMjEyOGU5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3
aXRoIFRvTnVtYmVyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGFbMF0sIDEyMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTIwIik7CiBpbWdk
YXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMzAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwg
IjEzMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwKaW5kZXggODFjMjk1
OWEwYjUuLjY1ODU4ZTZkZDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnVuZGVmaW5l
ZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+SW1hZ2VEYXRhLmRhdGEgY29udmVydHMgdW5kZWZpbmVkIHRvIDA8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBj
b252ZXJ0cyB1bmRlZmluZWQgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2Rh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBpbWdkYXRhLmRhdGFbMF0gPSAx
MDA7CiBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRh
dGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnVuZGVmaW5lZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLndvcmtlci5qcwppbmRleCBiY2RlZDMzZGQ4Mi4uZmFm
OGI0NTcyNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC51bmRlZmluZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmluZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJbWFnZURhdGEuZGF0YSBjb252ZXJ0cyB1bmRlZmluZWQgdG8gMCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE2LDcgKzIwLDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAx
MCk7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsi
XCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEuaHRtbAppbmRleCA1MjM2NzE3ZTViYy4uZDc3
NzFkYmVmZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5hbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEucHV0LmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuYWxwaGE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGltYWdl
IGRhdGEgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBub24tc29saWQgaW1hZ2UgZGF0YSBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw2NCwgIjUwLDI1IiwgIjAsMjU1LDAsNjQiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53
b3JrZXIuanMKaW5kZXggYTEwMjBmZDhiODYuLjFhZDdmNjI0N2E4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGlt
YWdlIGRhdGEgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRh
KGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNjQsICI1MCwyNSIsICIwLDI1NSwwLDY0IiwgMik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJh
c2ljLmh0bWwKaW5kZXggOTEyMzQ2MGMyM2YuLmZjMzFmODlhMDIyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5iYXNp
YzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJ
bWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBj
YW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBv
bnRvIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1n
ZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmJhc2ljLndvcmtlci5qcwppbmRleCAzOTU5MzQ4YjkzNS4uYzIwOGRmOTgwYzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2ljLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFn
ZSBkYXRhIGZyb20gZ2V0SW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlwLmh0bWwKaW5kZXggM2RmNjVlMDA1MzAuLmFiNDNk
YjBkYWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuY2xpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5wdXQuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmNsaXA8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGlu
ZyByZWdpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lv
bnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5jbGlwKCk7CiBjdHgucHV0SW1hZ2VEYXRh
KGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcwppbmRleCBlMDM4
ZTQxZWZlYy4uYmI2Njk3MGQxZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguY2xpcCgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdk
YXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQuaHRtbAppbmRleCA3ZjU1ZjE3NTJmYy4u
ZTcwMTQyM2FiM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5jcmVhdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmNyZWF0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5w
dXQuY3JlYXRlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFn
ZSBkYXRhIGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRh
KCkgcHV0cyBpbWFnZSBkYXRhIGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29y
a2VyLmpzCmluZGV4IGFlZGU4NTFjNDg3Li44ZGQ3MDk0YTEyNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRh
IGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyAr
MjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyb3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbAppbmRleCBhN2FmNWYyOWY2Zi4uZTk5ZTk3
ODFlZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcm9zcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcm9zcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5pbWFnZURhdGEucHV0LmNyb3NzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY3Jvc3M8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3Qg
ZnJvbSBhIGRpZmZlcmVudCBjYW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRhdGEg
Z290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0
SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LmNyb3NzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jcm9zcy53b3JrZXIuanMKaW5kZXggZDgxMTU2MDY4YTkuLjM5ZGM5MmRi
YjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
Y3Jvc3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5jcm9zcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3QgZnJvbSBhIGRpZmZlcmVudCBjYW52YXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5o
dG1sCmluZGV4IDNiNWY0MzdlNDQxLi43NjJmNGJhNTYzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5wdXQuZGlydHkubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdh
dGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBuZWdhdGl2
ZS1zaXplZCBkaXJ0eSByZWN0YW5nbGVzIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMg
bmVnYXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3
ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1
NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwy
NTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53b3JrZXIuanMKaW5k
ZXggNDYwZTc5NzcxNDAuLmNiOWU0MDIxZTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVn
YXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICsz
MSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSww
LDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUs
ICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwKaW5kZXggMWFkYTg1YmRlYzEu
LmExYzQ1Yjk1ZmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQuZGlydHkub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PnB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52
YXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBkaXJ0eSByZWN0YW5nbGVzIG91dHNp
ZGUgdGhlIGNhbnZhcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ1LCAwLDI1NSwwLDI1NSwgIjk4LDQ1Iiwg
IjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNSwg
MCwyNTUsMCwyNTUsICIxLDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0NSwgMCwyNTUs
MCwyNTUsICIxLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5v
dXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA3YTE5NGY5YzE1Yy4uODdjZTIxYjQyY2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0
eS5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQuZGlydHkub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52
YXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0NSwgMCwyNTUsMCwyNTUsICI5OCw0NSIsICIwLDI1NSwwLDI1
NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDUsIDAsMjU1LDAsMjU1
LCAiMSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDUsIDAsMjU1LDAsMjU1LCAiMSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MS5odG1s
CmluZGV4IDVlMTMyZDY5M2NhLi5mNWY5M2Y1YzZmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQu
ZGlydHkucmVjdDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhl
IGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lkdGggYW5kIGhlaWdodDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIG9u
bHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5nIHdpZHRo
IGFuZCBoZWlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1
IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1
NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1
LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3Qx
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0
eS5yZWN0MS53b3JrZXIuanMKaW5kZXggN2Q5Y2E0NjVmM2UuLjE0Y2E0ODVkNGExIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0MS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5n
IHdpZHRoIGFuZCBoZWlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1
LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1
NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1
LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGly
dHkucmVjdDIuaHRtbAppbmRleCA5NjA1NmQxOTA4My4uMWZlNzJiODg3Y2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0Mi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEucHV0LmRpcnR5LnJlY3QyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVj
dDI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJl
YXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5nIHggYW5kIHk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB4
IGFuZCB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIsCiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUsICI2
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUw
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0Mi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVj
dDIud29ya2VyLmpzCmluZGV4IDUyNGE2ZDc3NjlkLi5kYzhmMDdkZDViZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHku
cmVjdDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBv
bmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB4IGFu
ZCB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIsCiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUsICI2NSwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby5odG1sCmlu
ZGV4IGMxN2RmOTJkZTRiLi45YzBlY2M1OTEwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5
Lnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5wdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xlIHB1dHMg
bm90aGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggemVyby1zaXplZCBkaXJ0eSByZWN0YW5nbGUgcHV0
cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEs
IDAsIDAsIDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzCmluZGV4IGU5YmI0YWM2MGIzLi5mNGE2
MzlhMTVmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgicHV0SW1hZ2VEYXRhKCkgd2l0aCB6ZXJvLXNpemVkIGRpcnR5IHJlY3RhbmdsZSBwdXRzIG5v
dGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwg
MCwgMCwgMCwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQubW9kaWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5tb2RpZmllZC5odG1sCmluZGV4IGRkZmU2MzRmMWIyLi4xYjA3MGJlMDczNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5wdXQubW9kaWZpZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNv
cnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbW9kaWZpZWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAodmFyIGkgPSAwLCBsZW4gPSBpbWdkYXRhLndp
ZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7IGkgPCBsZW47IGkgKz0gNCkKIH0KIGN0eC5wdXRJbWFnZURh
dGEoaW1nZGF0YSwgNDUsIDIwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQubW9kaWZpZWQud29ya2VyLmpzCmluZGV4IGQyMjU4OGRjYTZhLi5lODE0NDIy
MGQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
Lm1vZGlmaWVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQubW9kaWZpZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJ
bWFnZURhdGEoKSBwdXRzIG1vZGlmaWVkIGltYWdlIGRhdGEgY29ycmVjdGx5Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjQsNyArMjgsNiBAQCBmb3IgKHZhciBpID0gMCwgbGVuID0gaW1nZGF0YS53aWR0aCppbWdkYXRh
LmhlaWdodCo0OyBpIDwgbGVuOyBpICs9IDQpCiB9CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEs
IDQ1LCAyMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9u
ZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9u
ZmluaXRlLmh0bWwKaW5kZXggZDJmMTc0YWYwYmIuLjk1MTk2OTFiOTkxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURh
dGEucHV0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVu
dHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3Vt
ZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk5LDcgKzEwMyw2IEBAIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRh
LCAxMCwgMTAsIDEwCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIEluZmluaXR5LCAxMCwg
SW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCAxMCwgSW5maW5pdHksIElu
ZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5k
ZXggNWJhMzlkNmIyOGQuLjk3YjgxZDcxZWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBh
cmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05NSw3ICs5OSw2IEBAIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdk
YXRhLCAxMCwgMTAsIDEwCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIEluZmluaXR5LCAx
MCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlv
bigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCAxMCwgSW5maW5pdHks
IEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC5odG1sCmluZGV4IGEwZjcwMTcxMTg2Li5m
MzZmOTNlZWRkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0Lm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEucHV0Lm51bGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5udWxsPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSB3aXRoIG51bGwgaW1hZ2VkYXRhIHRo
cm93cyBUeXBlRXJyb3I8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgd2l0aCBudWxsIGltYWdlZGF0YSB0aHJvd3Mg
VHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5w
dXRJbWFnZURhdGEobnVsbCwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC53b3JrZXIu
anMKaW5kZXggMjUzNTA4ZmM5MWIuLmU3YzRiM2JjMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwud29ya2VyLmpzCkBAIC00LDE2
ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgd2l0aCBudWxsIGltYWdlZGF0YSB0aHJv
d3MgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0
eC5wdXRJbWFnZURhdGEobnVsbCwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQucGF0aC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbAppbmRl
eCA0N2FlMjBhMjk5Ni4uMTYzNTc2NzhhN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5wYXRoPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5wdXQucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgZG9lcyBu
b3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBkb2VzIG5vdCBhZmZlY3Qg
dGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCAwLCAwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGgud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGgud29ya2VyLmpz
CmluZGV4IGMyZWYxNDUxY2Y5Li4wN2QzYThhN2ZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50
IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC5odG1sCmluZGV4IDNm
ODA3MDljNmE4Li42YTMxNzBkZGI4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5w
dXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBjdHgudHJhbnNsYXRlKDEwMCwgNTApOwogY3R4LnNjYWxlKDAuMSwgMC4xKTsKIGN0eC5w
dXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIuanMKaW5kZXggMjNlNGNlYTFl
ZWUuLmU3MTRmNDE4Mzg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnRyYW5zbGF0ZSgxMDAsIDUwKTsKIGN0eC5z
Y2FsZSgwLjEsIDAuMSk7CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC5odG1sCmluZGV4
IDcyNjQwYmZiMmQ3Li4yZDA4NTQyNTUwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1
dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZmZWN0PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VE
YXRhKGdldEltYWdlRGF0YSguLi4pLCAuLi4pIGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3
ICszNiw2IEBAIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMC4xLCAwLjIsIDE1Ljgs
IDE1LjkpOwogZm9yICh2YXIgaSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKSB7
CiAgICAgX2Fzc2VydFNhbWUob2xkZGF0YVtpXSwgaW1nZGF0YTIuZGF0YVtpXSwgIm9sZGRhdGFb
XCIiKyhpKSsiXCJdIiwgImltZ2RhdGEyLmRhdGFbXCIiKyhpKSsiXCJdIik7CiB9Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LnVuY2hhbmdlZC53b3JrZXIuanMKaW5kZXggNDE4ZTQ2Y2NmODcuLjBhZjkw
NTgzMmU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQudW5jaGFuZ2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQudW5jaGFuZ2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
cHV0SW1hZ2VEYXRhKGdldEltYWdlRGF0YSguLi4pLCAuLi4pIGhhcyBubyBlZmZlY3QiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCw3ICszMiw2IEBAIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMC4xLCAw
LjIsIDE1LjgsIDE1LjkpOwogZm9yICh2YXIgaSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0
aDsgKytpKSB7CiAgICAgX2Fzc2VydFNhbWUob2xkZGF0YVtpXSwgaW1nZGF0YTIuZGF0YVtpXSwg
Im9sZGRhdGFbXCIiKyhpKSsiXCJdIiwgImltZ2RhdGEyLmRhdGFbXCIiKyhpKSsiXCJdIik7CiB9
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbAppbmRleCAxYTMxODc5ZjA2OS4uOTA3MDA1
NTIzNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC53cm9uZ3R5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQud3Jvbmd0eXBlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5w
dXQud3Jvbmd0eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBkb2VzIG5v
dCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWNj
ZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGlt
Z2RhdGEgPSB7IHdpZHRoOiAxLCBoZWlnaHQ6IDEsIGRhdGE6IFsyNTUsIDAsIDAsIDI1NV0gfTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdl
RGF0YShpbWdkYXRhLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoImNoZWVzZSIsIDAsIDApOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YSg0
MiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUud29ya2VyLmpzCmlu
ZGV4IDE4ZDczN2M3MDcyLi45M2RjMzNjMDc5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGRvZXMgbm90IGFjY2VwdCBub24t
SW1hZ2VEYXRhIG9iamVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZhciBpbWdkYXRhID0g
eyB3aWR0aDogMSwgaGVpZ2h0OiAxLCBkYXRhOiBbMjU1LCAwLCAwLCAyNTVdIH07CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1n
ZGF0YSwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHgucHV0SW1hZ2VEYXRhKCJjaGVlc2UiLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoNDIsIDAsIDAp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmFscGhhLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwKaW5k
ZXggYzIyM2UyNTA5MGEuLjRhODk2OTM0YjI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYWxwaGEuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5hbHBoYS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hbHBoYS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQ8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgY29sb3VyIGFscGhh
IGNvbXBvbmVudHMgYXJlIHVzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dD
b2xvciA9ICdyZ2JhKDI1NSwgMCwgMCwgMC4wMSknOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsK
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCA0
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmFscGhhLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEud29ya2Vy
LmpzCmluZGV4IDk4NTIwMzNlZWQ3Li42ZGI3NDMyNTVmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmFscGhhLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5hbHBoYS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91
ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgu
c2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAsIDAuMDEpJzsKIGN0eC5zaGFkb3dPZmZzZXRZ
ID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1IiwgNCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hbHBoYS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1s
CmluZGV4IDUzZGQwMTUyMzBjLi43ZGYwZWI1NDEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmFscGhhLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEu
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
aGFkb3cuYWxwaGEuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYWxwaGEuMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBh
bHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hh
ZG93Q29sb3IgPSAncmdiYSgwLCAwLCAyNTUsIDAuNSknOwogY3R4LnNoYWRvd09mZnNldFkgPSA1
MDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcs
MjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4y
Lndvcmtlci5qcwppbmRleCA0OTEzOTdhOGExYS4uNDdjNWNiOTM1ZjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
dyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjUpJzsKIGN0eC5zaGFkb3dP
ZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAi
MTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFs
cGhhLjMuaHRtbAppbmRleCA1Y2FjNjRkOGRkNi4uMmQ5MDlmNmViYTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmFscGhhLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuc2hhZG93LmFscGhhLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5z
aGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjU7CiBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53b3JrZXIuanMKaW5kZXgg
ZjMwY2JhMjAxNDcuLmJiYmE1ZTc1NDJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYWxwaGEuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBhZmZlY3RlZCBi
eSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd09mZnNldFkg
PSA1MDsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEy
NywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYWxwaGEuNC5odG1sCmluZGV4IGU3YWFkNGYzZTA4Li42ZTM4MDgxN2Fj
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuNDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cu
YWxwaGEuNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyB3aXRoIGFscGhhIGNvbXBvbmVu
dHMgYXJlIGNvcnJlY3RseSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgd2l0aCBhbHBo
YSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxw
aGEgPSAwLjcwNzsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIx
MjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5hbHBoYS40Lndvcmtlci5qcwppbmRleCAxYzFiNjE5ZWNjYy4uODM4ZmI1YmYyYzAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQg
YnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZ
ID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjcwNzsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNyww
LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS5odG1sCmluZGV4IGRiMzFmNzExOWFiLi5lNDY1ZDNk
YWZkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuNTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuYWxwaGEuNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBvZiBzaGFwZXMgd2l0aCBh
bHBoYSBjb21wb25lbnRzIGFyZSBkcmF3biBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyB3aXRo
IGFscGhhIGNvbXBvbmVudHMgYXJlIGRyYXduIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3
LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsK
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hbHBoYS41Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndv
cmtlci5qcwppbmRleCBkZDc2OTlmYmUyMS4uNzQ3YWJhNzExMjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYWxwaGEuNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
b2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgZHJhd24gY29ycmVjdGx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTksNyArMjMsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguc2hhZG93
T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1Iiwg
IjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwuaHRtbApp
bmRleCAyOTBmZmJiZThmNi4uYTE2Zjk5ZjRiYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dCbHVyLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1
ci5pbml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1
ciwgMCwgImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFs
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIu
aW5pdGlhbC53b3JrZXIuanMKaW5kZXggMDQwNmU1ZjljN2IuLjVhNjQzMjM0MzQ3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0Js
dXIuaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dCbHVyLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0JsdXIuaW52YWxpZC5odG1sCmluZGV4IDEwOGMwZDBkYTQwLi4xMGNmOTcxZjc0MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZh
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1
ci5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDEsICJj
dHguc2hhZG93Qmx1ciIsICIxIik7CiBjdHguc2hhZG93Qmx1ciA9IDE7CiBjdHguc2hhZG93Qmx1
ciA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxLCAiY3R4LnNoYWRvd0JsdXIi
LCAiMSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLndvcmtlci5qcwppbmRl
eCBkNGUzN2ExY2NkYS4uZjA5NDc3NGUxMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0
U2FtZShjdHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsKIGN0eC5zaGFk
b3dCbHVyID0gMTsKIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d0JsdXIsIDEsICJjdHguc2hhZG93Qmx1ciIsICIxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFs
aWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFs
aWQuaHRtbAppbmRleCA0NWE4Mzk1Yzg1NC4uZGYzODc3NjNjMzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguc2hhZG93Qmx1ciA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxZTYs
ICJjdHguc2hhZG93Qmx1ciIsICIxZTYiKTsKIGN0eC5zaGFkb3dCbHVyID0gMDsKIF9hc3NlcnRT
YW1lKGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dCbHVyLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0JsdXIudmFsaWQud29ya2VyLmpzCmluZGV4IGFhZGE2MDgyNGRlLi42M2U5MDk5
ZGI3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Qmx1ci52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAxZTY7CiBfYXNzZXJ0U2Ft
ZShjdHguc2hhZG93Qmx1ciwgMWU2LCAiY3R4LnNoYWRvd0JsdXIiLCAiMWU2Iik7CiBjdHguc2hh
ZG93Qmx1ciA9IDA7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwgImN0eC5zaGFkb3dC
bHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC5odG1sCmluZGV4IDgz
Yzc2MjhkZjk5Li4xYmZjM2U1YzY3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Q29sb3IuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5p
bml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3Is
ICdyZ2JhKDAsIDAsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAwLCAwLCAw
KSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwppbmRl
eCA1ZTEzYjliMzU3NS4uYmZlYWFjMDExNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICdy
Z2JhKDAsIDAsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAwLCAwLCAwKSci
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC5odG1sCmluZGV4IGI0ZDY2MWRmODM3
Li5jNDI5ZWVlYmRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Q29sb3IuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3Iu
aW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAw
JyIpOwogY3R4LnNoYWRvd0NvbG9yID0gJyMwMGZmMDAnOwogY3R4LnNoYWRvd0NvbG9yID0gdW5k
ZWZpbmVkOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAnIzAwZmYwMCcsICJjdHguc2hh
ZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52
YWxpZC53b3JrZXIuanMKaW5kZXggYWFkMjNiZDc5YjYuLmQxMWUwZmI5MmUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xv
ci5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0
eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmZjAw
JzsKIGN0eC5zaGFkb3dDb2xvciA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dD
b2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dDb2xvci52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Q29sb3IudmFsaWQuaHRtbAppbmRleCAzMThhNGVjODhjZC4uZTg5MmY0YjBiYzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9y
LnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Q29sb3IudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ2xpbWUnOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMw
MGZmMDAnIik7CiBjdHguc2hhZG93Q29sb3IgPSAnUkdCQSgwLDI1NSwgMCwwKSc7CiBfYXNzZXJ0
U2FtZShjdHguc2hhZG93Q29sb3IsICdyZ2JhKDAsIDI1NSwgMCwgMCknLCAiY3R4LnNoYWRvd0Nv
bG9yIiwgIidyZ2JhKDAsIDI1NSwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlk
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9y
LnZhbGlkLndvcmtlci5qcwppbmRleCBiNWE3MTFmYTlhMC4uNGI2NjQ0Njc3NDUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xv
ci52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2
LDcgKzIwLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ2xpbWUnOwogX2Fzc2VydFNhbWUoY3R4LnNo
YWRvd0NvbG9yLCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7CiBj
dHguc2hhZG93Q29sb3IgPSAnUkdCQSgwLDI1NSwgMCwwKSc7CiBfYXNzZXJ0U2FtZShjdHguc2hh
ZG93Q29sb3IsICdyZ2JhKDAsIDI1NSwgMCwgMCknLCAiY3R4LnNoYWRvd0NvbG9yIiwgIidyZ2Jh
KDAsIDI1NSwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1s
CmluZGV4IDdlZmQ0NWUwOGYwLi40M2IyNjlhZDM1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQuaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgs
NyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAwLCAiY3R4LnNoYWRvd09mZnNldFgiLCAi
MCIpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFksIDAsICJjdHguc2hhZG93T2Zmc2V0
WSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5q
cwppbmRleCAwOGUyYmY0MDliNS4uZDMxY2JhNGZkYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0
U2FtZShjdHguc2hhZG93T2Zmc2V0WCwgMCwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjAiKTsKIF9h
c3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCAwLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbAppbmRleCA4ZGIwY2Q1NTZm
OS4uMTc2NmZlMGEwMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zm
c2V0LmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFs
aWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgY3R4LnNo
YWRvd09mZnNldFggPSBOYU47CiBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKIF9hc3NlcnRTYW1l
KGN0eC5zaGFkb3dPZmZzZXRYLCAxLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMSIpOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd09mZnNldFksIDIsICJjdHguc2hhZG93T2Zmc2V0WSIsICIyIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcwppbmRleCAyYjAy
ZTk0NmI5Zi4uNDJlNTFhMmM1YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnNoYWRv
d09mZnNldFggPSBOYU47CiBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0
eC5zaGFkb3dPZmZzZXRYLCAxLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMSIpOwogX2Fzc2VydFNh
bWUoY3R4LnNoYWRvd09mZnNldFksIDIsICJjdHguc2hhZG93T2Zmc2V0WSIsICIyIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd09mZnNldC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLmh0bWwKaW5kZXggMTlmZGU4NTY2NGYuLjI1OGYwNDg2
ZDdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dP
ZmZzZXQudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxpZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzYsNyArNDAsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDFlNjsK
IGN0eC5zaGFkb3dPZmZzZXRZID0gMWU2OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgs
IDFlNiwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjFlNiIpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d09mZnNldFksIDFlNiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjFlNiIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dPZmZzZXQudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLndvcmtlci5qcwppbmRleCBiNmRhY2I0ZTE2Yi4uY2ViMGMy
N2U2NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d09mZnNldC52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDFlNjsKIGN0
eC5zaGFkb3dPZmZzZXRZID0gMWU2OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgsIDFl
NiwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjFlNiIpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09m
ZnNldFksIDFlNiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjFlNiIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLmh0bWwKaW5kZXggOWY2ZGFmYjNk
ZjQuLjY4YTQ2ZjNjODViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
Y2FudmFzLmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jYW52YXMuYWxwaGE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFy
ZW50IGNhbnZhc2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJh
bnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CiBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZh
cy5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndv
cmtlci5qcwppbmRleCBhMGI5ZWVlZDcxMy4uOWQyZTIxZTUyZDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBj
YW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsK
IGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFz
MiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0bWwKaW5kZXggYzM3MmVm
NGMxMDguLmQ2MGJmZTlmOGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2Fu
dmFzLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFk
b3cuY2FudmFzLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jYW52YXMuYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBjYW52YXNlczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXdu
IGZvciBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0g
JyMwZjAnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVu
Q2FudmFzMiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFzaWMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIuanMKaW5kZXggM2Q5
NTQ5OWYzOTUuLjhlMzU3NzQyMGI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y2FudmFzLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gZm9yIGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3Ig
PSAnIzBmMCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbApp
bmRleCA0MzUwNTE2ZWVlZi4uZWRhYmY5OTBlYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGNhbnZhc2VzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5k
cmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52
YXMudHJhbnNwYXJlbnQuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IDdiYTY5N2I1ZjRjLi5mYTU4MTJmMTZjMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24g
Zm9yIHRyYW5zcGFyZW50IGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hh
ZG93Q29sb3IgPSAnI2YwMCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFu
c3BhcmVudC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50
LjIuaHRtbAppbmRleCBkZWQxOGY3Njk3Ny4uMjYxMmJkY2I3NGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZh
c2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAtNTAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCmluZGV4IGQ5MWZhMTY5NGJm
Li5jODEwZTQ3NTgxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50
cmFuc3BhcmVudC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZhc2VzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjgsNyArMzIsNiBAQCBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIC01MCwgLTUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNsaXAuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS5odG1sCmluZGV4IDlk
NWUzM2EwMDhmLi5jYmMyNjcwYTJiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNsaXAuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNsaXAu
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cuY2xpcC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIG9m
IGNsaXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlZ2lv
bjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xp
cHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwg
NTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNsaXAuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4xLndvcmtl
ci5qcwppbmRleCBkNmE0NDRkNTdmZC4uNzIyMTk0ZjZkY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jbGlwLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jbGlwLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIGNs
aXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlZ2lvbiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBjdHgu
cmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIuaHRtbAppbmRleCA1ODZmYTllNjVlNS4u
OWRhMmNlNDcyNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jbGlwLjI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LmNsaXAuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXdu
IG91dHNpZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBvdXRzaWRl
IHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlw
LjIud29ya2VyLmpzCmluZGV4IGVhYzZiYzMxYjIyLi43NjVkYzZjMWVlOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmNsaXAuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
d3MgYXJlIG5vdCBkcmF3biBvdXRzaWRlIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwKaW5kZXggNzdiYjQxY2NjMzIuLjA3YzFmYzA2ODAz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4zPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jbGlw
LjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0
aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBjbGlwcGVkIHNo
YXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMSw3ICszNSw2IEBAIGN0eC5maWxsUmVjdCgtNTAsIDAsIDUwLCA1MCk7CiBjdHgucmVzdG9y
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3JrZXIuanMKaW5kZXggODA5ZWUwYjFh
NDQuLjNkOTJkMmFhZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4z
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3Rp
bGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIGN0eC5maWxsUmVjdCgtNTAsIDAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLmh0bWwKaW5kZXggNTFjNDU4YzY1ZTQuLjNhMjliZThj
ZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNvbXBvc2l0ZS4xPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5jb21wb3NpdGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBh
cmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24g
dXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguc2hhZG93T2Zmc2V0WCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFJlY3QoLTEwMCwgMCwgMjAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9z
aXRlLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLndvcmtl
ci5qcwppbmRleCA1YzgxYTJjMzQ5OC4uYjQ2NDQ1MDZjY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMjAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY29tcG9zaXRlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3Np
dGUuMi5odG1sCmluZGV4IGEwMzU1YzYzZmE1Li42N2JiOWQwNTY2NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNvbXBvc2l0ZS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jb21wb3NpdGUuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuY29tcG9z
aXRlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAxOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAsIC0xMCwgMTIwLCA3MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLndvcmtlci5qcwppbmRleCAyYWI5MWI3YTdjNi4u
N2MxYTQwOGEyZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUu
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93
Qmx1ciA9IDE7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMCwgLTEw
LCAxMjAsIDcwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLmh0bWwKaW5kZXggNGNiZjE5MDJkNWYu
LmY5MzcyOTI2ZGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRl
LjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNvbXBv
c2l0ZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jb21wb3NpdGUuMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
QXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBkZXN0aW5hdGlv
bi1vdXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJBcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGRlc3Rp
bmF0aW9uLW91dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsUmVjdCgyMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy53b3JrZXIuanMKaW5kZXggODU3MzAyMjIyMjUu
LmE0YTZhYjk1MDU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRl
LjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkFyZWFzIG91dHNpZGUgc2hhZG93cyBhcmUg
ZHJhd24gY29ycmVjdGx5IHdpdGggZGVzdGluYXRpb24tb3V0Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDIwMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUsIDAsMjU1LDAsMjU1
LCAiNSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLmJsdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci5odG1sCmlu
ZGV4IGU2YWQyOTM3ODgwLi5jNTVjMTllZDdhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmVuYWJsZS5ibHVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJs
ZS5ibHVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnNoYWRvdy5lbmFibGUuYmx1cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuZW5hYmxlLmJsdXI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIgaXMgc2V0PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgZHJhd24gaWYgc2hhZG93Qmx1ciBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2
IEBAIGN0eC5zaGFkb3dCbHVyID0gMC4xOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIud29ya2VyLmpzCmluZGV4
IDYxMGEzOGI5OTRkLi5kMTUwMTgyMTI3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmVuYWJsZS5ibHVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLmJsdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBk
cmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNo
YWRvd0JsdXIgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS5odG1sCmluZGV4IGY4ZWNmODVmMWNjLi5mOWEy
ODRkZDliOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjEuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS5v
ZmYuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zaGFkb3cuZW5hYmxlLm9mZi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJs
ZS5vZmYuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4xLndv
cmtlci5qcwppbmRleCBkYWQ1YzBlNThiMy4uODYzZjFjNjgyZGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5lbmFibGUub2ZmLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5lbmFibGUub2ZmLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2Zm
LjIuaHRtbAppbmRleCAzYTIzYzhiY2ZjZi4uOTI0ZmNlZDlhMDIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJs
ZS5vZmYuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4g
b25seSBzaGFkb3dDb2xvciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNo
YWRvd0NvbG9yIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnNoYWRvd0NvbG9y
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKaW5kZXggMzcxZjU4MjJlOWMu
LmNiMTBmNTIyYzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9m
Zi4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIHdo
ZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5z
aGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnguaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC5odG1sCmluZGV4IGIyZjE0N2I0YzZmLi5kMzRhMmNi
ZGM0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5lbmFibGUueDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
aGFkb3cuZW5hYmxlLng8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGlm
IHNoYWRvd09mZnNldFggaXMgc2V0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WCBp
cyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMC4xOwog
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5lbmFibGUueC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
ZW5hYmxlLngud29ya2VyLmpzCmluZGV4IDFmNzA2MzVlMjAyLi5jNDE5Y2FiYmMwMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRYIGlzIHNldCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE4LDcgKzIyLDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAwLjE7CiBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbAppbmRleCBh
MDFkNjFmMjJmMi4uOGQ3YjI2NzE4NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5lbmFibGUueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
ZW5hYmxlLnk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS55PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlzIHNldDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXdu
IGlmIHNoYWRvd09mZnNldFkgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hh
ZG93T2Zmc2V0WSA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5qcwppbmRleCBmMWQwZjI3YmRkZi4u
NjExN2Q5OTZkYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0
WSBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gMC4x
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmdyYWRpZW50LmFscGhhLmh0bWwKaW5kZXggNTBlNzgxNjc1YWEuLjBiZTM3ODFlY2FiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmdyYWRpZW50LmFscGhh
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hh
ZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZ3JhZGll
bnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3Bh
cmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LnNoYWRvd0Nv
bG9yID0gJyMwMGYnOwogY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFs
cGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS53b3Jr
ZXIuanMKaW5kZXggMDdjMDJjZDI5Y2QuLjYzN2NjOTIwNjlmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50
IGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3Ig
PSAnIzAwZic7CiBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy5odG1sCmluZGV4IDVm
ZjdlNjZmMzZjLi5mNTZjZTZjMjNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmdyYWRpZW50LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50
LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBncmFkaWVudCBmaWxs
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNoYWRvd3MgYXJlIGRyYXduIGZvciBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMw
LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsK
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50
LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53
b3JrZXIuanMKaW5kZXggOTBmMjRiZGExZjguLjgwMGZjMzE1MzU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFk
aWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lmdy
YWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVu
dC50cmFuc3BhcmVudC4xLmh0bWwKaW5kZXggODBiNTliYWNlM2IuLjZlNzlhNjQxNjQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVu
dC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVu
dCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LnNoYWRvd09mZnNl
dFkgPSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEud29ya2Vy
LmpzCmluZGV4IDllMTJjZTgzNTEwLi4wZjBmYWI4NWU1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBn
cmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkg
PSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0bWwKaW5kZXggN2Mx
ZjU2Nzg2MGEuLjVlN2Q0MGRiMTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQudHJhbnNwYXJlbnQuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBncmFkaWVudCBm
aWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5ncmFkaWVudC50cmFuc3BhcmVudC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5ncmFkaWVudC50cmFuc3BhcmVudC4yLndvcmtlci5qcwppbmRleCAwOGY0NmZkYjQ5Yy4uNjA2
ZTg1MmExZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFu
c3BhcmVudC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQu
dHJhbnNwYXJlbnQuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
YWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sCmluZGV4
IDg2NDgzZTM5MDAyLi4yNWNlMWMxYjEwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmltYWdlLmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFs
cGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnNoYWRvdy5pbWFnZS5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuaW1hZ2UuYWxwaGE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRy
YW5zcGFyZW50IGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5
LXRyYW5zcGFyZW50IGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC01MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAi
NTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5pbWFnZS5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UuYWxwaGEud29ya2VyLmpzCmluZGV4IGE2MjRiZTgwZGRhLi4xN2ZjNWE3ZGFkMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10
cmFuc3BhcmVudCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtNTApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUw
LDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFz
aWMuaHRtbAppbmRleCA1ZmZkOGM2YTMwMS4uZTExOThhY2QxMGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2UuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLmJh
c2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1hZ2VzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgZHJhd24gZm9yIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFz
aWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLndvcmtlci5q
cwppbmRleCAwNjg1MDQzYWQzZi4uNDUxMjZhMjE4ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmltYWdlLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgZHJhd24gZm9yIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUuaHRtbAppbmRleCBkNDM4ZjNm
MzQ4Ni4uN2YzMDU3YjYwMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFn
ZS5zY2FsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
aW1hZ2Uuc2NhbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLnNjYWxlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMyAr
MzQsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAtMTAsIC01MCwgMjQwLCA1
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLndvcmtlci5qcwppbmRleCA2
ZjA4NGU5YjQyYS4uOWNhMWQ3OTQ4YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5pbWFnZS5zY2FsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdl
LnNjYWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gY29ycmVjdGx5IGZvciBzY2FsZWQgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMwLDEzIEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgLTEwLCAtNTAsIDI0MCwgNTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAtMTAsIC01MCwgMjQwLCA1MCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSww
LDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sCmluZGV4IDFmMjk3NjAxZmEzLi4xYWJj
NzU1OGUxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2Uu
c2VjdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJjZSBy
ZWN0YW5nbGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNv
dXJjZSByZWN0YW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTMgKzM0LDEzIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgNTAsIDAsIDUwLCA1MCwgMCwgLTUwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCA1MCwgMCwgNTAsIDUwLCAwLCAtNTAsIDUwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzCmluZGV4IGFkOTIzZTBmMDU4Li4zYjRkZWFhNjU3ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRz
aWRlIGltYWdlIHNvdXJjZSByZWN0YW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMwLDEzIEBAIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAg
fTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgNTAsIDAsIDUwLCA1MCwgMCwgLTUwLCA1MCwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCA1MCwgMCwgNTAsIDUwLCAwLCAtNTAsIDUwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS5odG1sCmluZGV4IGYyYjI4OTllYTQyLi4x
ZDU0YWU1OTliNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5z
cGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJl
bnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuaW1hZ2UudHJhbnNw
YXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0
cmFuc3BhcmVudCBpbWFnZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGlt
YWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMKaW5k
ZXggYWYyZDg2OWY0NmQuLjc2ZGM4ZmY1OGY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGltYWdlcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
LTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwKaW5kZXggNWIyM2RkZmU4OGUuLjJlMjIzMGIw
MmJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQu
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5pbWFnZS50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFy
ZW50IHBhcnRzIG9mIGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQg
cGFydHMgb2YgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsMTUgKzM2LDE1IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgNTAsIC01MCk7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIC01MCwgLTUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNTAsIC01MCk7CisgICAgICAgIGN0eC5zaGFkb3dDb2xv
ciA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC01MCwgLTUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuaW1hZ2UudHJhbnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKaW5kZXggMGI5OWYzNjI3ZTguLjVmNTQ3NjNk
MTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQu
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50
LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJh
d24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE1ICszMiwx
NSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDUwLCAtNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcj
ZjAwJzsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtNTAsIC01MCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDUwLCAtNTApOworICAg
ICAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAtNTAsIC01MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sCmluZGV4IDhmOGZhZDdiZTQ0Li43ODcyOGUw
YTQ3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cub2Zm
c2V0Lm5lZ2F0aXZlWDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
Y2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0
eC5zaGFkb3dPZmZzZXRYID0gLTUwOwogY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLndvcmtlci5qcwppbmRl
eCA5OTA4MTIzOWUzMi4uYjA2NzlhNjAxNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vZmZzZXQubmVnYXRpdmVYLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cub2Zmc2V0Lm5lZ2F0aXZlWC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNo
YWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gLTUwOwogY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5odG1sCmluZGV4IDQ3
YzM5MTA4N2EzLi41MTIzYWY4NzJmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
Lm9mZnNldC5uZWdhdGl2ZVkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
Lm5lZ2F0aXZlWS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub2Zmc2V0Lm5l
Z2F0aXZlWTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGgg
bmVnYXRpdmUgeTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gLTI1OwogY3R4LmZpbGxSZWN0KDAs
IDI1LCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1
NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
Lm5lZ2F0aXZlWS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0
aXZlWS53b3JrZXIuanMKaW5kZXggOTk4ZTRhZDE2YzQuLmQ1ZGQ1YjZmMWYyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IC0yNTsKIGN0eC5maWxs
UmVjdCgwLCAyNSwgMTAwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwx
MiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
Lm9mZnNldC5wb3NpdGl2ZVguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9z
aXRpdmVYLmh0bWwKaW5kZXggZDY2NDE0YjY3MmYuLjI3NmMxMGQ4ZGU5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGgg
cG9zaXRpdmUgeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSA1
MDsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vZmZzZXQucG9zaXRpdmVYLndvcmtlci5qcwppbmRleCBlMDAzNzlmYmUwYS4uZDRjNDEz
MGE5MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVY
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3
aXRoIHBvc2l0aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRY
ID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbAppbmRleCA2OTE0NDE0ZTkyNi4uNTNhZTJlYTU1M2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lm9mZnNldC5w
b3NpdGl2ZVk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVk8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBi
ZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hh
ZG93T2Zmc2V0WSA9IDI1OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAsMjU1LCAiNTAsMTIiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCAwLDI1NSwwLDI1
NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLndvcmtlci5qcwppbmRleCBlN2Rm
Njg5NzVmZC4uMDg2ZDdjZWI3ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5v
ZmZzZXQucG9zaXRpdmVZLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zm
c2V0LnBvc2l0aXZlWS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
Y2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0
eC5zaGFkb3dPZmZzZXRZID0gMjU7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1
LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5vdXRzaWRlLmh0bWwKaW5kZXggNjY0ZTUwOTM4YjIuLmY5Y2E2YjQ5ZWY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5vdXRz
aWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIG9mIHNoYXBlcyBvdXRzaWRlIHRoZSB2
aXNpYmxlIGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2aXNpYmxlIGFyZWE8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9m
IHNoYXBlcyBvdXRzaWRlIHRoZSB2aXNpYmxlIGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2
aXNpYmxlIGFyZWEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEyLDI1LCAwLDI1NSwwLDI1NSwgIjEyLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NywyNSwgMCwyNTUsMCwyNTUsICI4NywyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAs
MjU1LDAsMjU1LCAiNTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRz
aWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLndvcmtlci5qcwpp
bmRleCA2ZDIzYzcyYzhiYi4uZjRjN2M1YmFkOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0
c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgb2Ygc2hhcGVz
IG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSBjYW4gYmUgb2Zmc2V0IG9udG8gdGhlIHZpc2libGUg
YXJlYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMTIsMjUsIDAsMjU1LDAsMjU1LCAiMTIsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDg3LDI1LCAwLDI1NSwwLDI1NSwgIjg3LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwy
NTUsICI1MCwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMzcsIDAsMjU1LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxw
aGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLmh0bWwKaW5kZXgg
MzcxZjMyYTRmZTkuLjNmMTE3ODljODhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cucGF0dGVybi5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRp
YWxseS10cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5
IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2
ICszMCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5zaGFkb3dDb2xvciA9
ICcjMDBmJzsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFs
cGhhLndvcmtlci5qcwppbmRleCA2MzYyNTNhN2FiNS4uNjE2MTY5ZjgyM2MgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5z
cGFyZW50IGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7Ci0gICAgY3R4LmZp
bGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAs
ICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUw
OworICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwKaW5kZXggY2FiNzY0ODU3ZDQu
LjhjNGZmOTM0YjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5w
YXR0ZXJuLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJuczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRy
YXduIGZvciBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFk
b3dDb2xvciA9ICcjMGYwJzsKLSAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMw
ZjAnOworICAgICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzCmluZGV4
IGU4YjYwMzNkMzkwLi45MWU5ZmU5ZjE4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgZHJhd24gZm9yIGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVy
biA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwZjAnOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93Q29sb3Ig
PSAnIzBmMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJl
bnQuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS5o
dG1sCmluZGV4IDMxNTcyNGEyYjBkLi4yNmI1MDU3OGMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQu
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAn
cmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5z
aGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRl
cm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IDM0MDAyNzkzMTUz
Li43MGNhOWE4MTI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4u
dHJhbnNwYXJlbnQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRl
cm4udHJhbnNwYXJlbnQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
d3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDE2ICsyNiwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBl
YXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7Ci0gICAgY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkg
PSA1MDsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cucGF0dGVybi50cmFuc3BhcmVudC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0
dGVybi50cmFuc3BhcmVudC4yLmh0bWwKaW5kZXggNjY4ZTA3ZjgzM2IuLjk4M2I5ZmYxZmFjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
cGF0dGVybi50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50
LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNw
YXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJuczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJh
bnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDIxICszMCwyMSBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwotICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTAp
OwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyMw
ZjAnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAt
NTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoNTAsIDAs
IDUwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5z
aGFkb3dDb2xvciA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5z
cGFyZW50LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNw
YXJlbnQuMi53b3JrZXIuanMKaW5kZXggMTU3ZmJlMmE4ZGIuLmRiODgxODBmYzMwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0
cmFuc3BhcmVudCBwYXJ0cyBvZiBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMjEgKzI2LDIx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1
MCk7Ci0gICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAn
IzBmMCc7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRl
cm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCg1MCwg
MCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMuaHRtbAppbmRleCBiZTY2
ZjNhOWE5Mi4uNTE2MzY4MmFmMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmJhc2lj
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5zdHJva2UuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnN0cm9rZS5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZXM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biBmb3Igc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5i
YXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljLndvcmtl
ci5qcwppbmRleCBlMTY1MzZkZWQzMS4uZDFlNTlmOWIwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwy
NTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5jYXAuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5j
YXAuMS5odG1sCmluZGV4IDJjNDYwZmQ3MGY1Li5jN2IwOGFlZmQ4NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5zdHJva2UuY2FwLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5jYXAuMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuc3Ry
b2tlLmNhcC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9y
IGFyZWFzIG91dHNpZGUgc3Ryb2tlIGNhcHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFz
IG91dHNpZGUgc3Ryb2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2UuY2FwLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAu
MS53b3JrZXIuanMKaW5kZXggNGM2YTFhYTRkNGQuLmUyYjY3YzM4NGU4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwg
MCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLmh0bWwKaW5kZXggMGU3OGMxYWQzMmEu
LjdkOTRkM2ViYzc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNh
cC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuc3Ry
b2tlLmNhcC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2UuY2FwLjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2UgY2FwczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZv
ciBzdHJva2UgY2FwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5j
YXAuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLndvcmtl
ci5qcwppbmRleCAwYzNjYWUxMDViYS4uNjhkZmQwYWVmODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5zdHJva2UuY2FwLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1
LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmpvaW4uMS5odG1sCmluZGV4IDA0YTYyNDU2ODZjLi42MDQzZDA0ZTVjNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
aGFkb3cuc3Ryb2tlLmpvaW4uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2luczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJva2Ugam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1
NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5qb2luLjEud29ya2VyLmpzCmluZGV4IDk1ODM3MjA3ODk0Li4zYWViMTIzOWRh
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBv
dXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmpvaW4uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjIu
aHRtbAppbmRleCA2NjI5MzEzYmFmNy4uMDM3YzJjNzkzZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5qb2luLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5qb2luLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnN0cm9r
ZS5qb2luLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJv
a2Ugam9pbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQs
NyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0
OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLndvcmtlci5qcwppbmRleCA4Yjg5ZDc0MDVjZC4u
MzJlMWQzYzJjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9p
bi4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBz
dHJva2Ugam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5q
b2luLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLmh0bWwKaW5k
ZXggMmZlNjIzYmU1ZGMuLjdjMjBhNWY4N2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuc3Ryb2tlLmpvaW4uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJv
a2Uuam9pbi4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2Uuam9pbi4z
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5z
IHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5z
IHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwg
IjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9r
ZS5qb2luLjMud29ya2VyLmpzCmluZGV4IGE2N2Q3NzA2Y2M3Li4wYTkwMmZhMmFmOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBqb2lucyByZXNwZWN0
aW5nIG1pdGVyIGxpbWl0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFu
c2Zvcm0uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLmh0bWwKaW5k
ZXggYTg3OWEzYjk5MjAuLjFkNjc3YWNmM2QxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cudHJhbnNmb3JtLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNm
b3JtLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LnRyYW5zZm9ybS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy50cmFuc2Zvcm0uMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+U2hhZG93cyB0YWtlIGFjY291bnQgb2YgdHJhbnNmb3JtYXRpb25zPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyB0YWtlIGFjY291bnQgb2YgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzBmMCc7CiBjdHgudHJhbnNsYXRlKDEwMCwgMTAwKTsK
IGN0eC5maWxsUmVjdCgtMTAwLCAtMTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFu
c2Zvcm0uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29y
a2VyLmpzCmluZGV4IDE1Mzg5MzUyOTc5Li44ZjhkMjNkZTNkMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC50cmFuc2xhdGUoMTAwLCAxMDAp
OwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRy
YW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbApp
bmRleCBkMjQ1MmI0OGVhOC4uYTY5MzUyMWVhOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFu
c2Zvcm0uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5zaGFkb3cudHJhbnNmb3JtLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnRyYW5zZm9ybS4yPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TaGFkb3cgb2Zmc2V0cyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRyYW5z
Zm9ybWF0aW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtYXRp
b25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzBmMCc7CiBj
dHgucm90YXRlKE1hdGguUEkpCiBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LnRyYW5zZm9ybS4yLndvcmtlci5qcwppbmRleCBiYzljN2M4ZDNiMy4uMmYxYzg4NjRhMGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93IG9mZnNldHMgYXJlIG5vdCBhZmZlY3RlZCBieSB0cmFuc2Zv
cm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYw
JzsKIGN0eC5yb3RhdGUoTWF0aC5QSSkKIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5k
ZWZhdWx0Lmh0bWwKaW5kZXggOTFmNmVkM2Y2YWYuLjVlYjljN2VhYjE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmFsaWduLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQudGV4dC5hbGlnbi5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuYWxpZ24uZGVmYXVs
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0
JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lndvcmtlci5qcwppbmRleCA3ZjU5YWU5YjUxMC4uOTMz
OGE2MDYzODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lndvcmtlci5qcwpAQCAt
NCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0Jywg
ImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuYWxpZ24uaW52YWxpZC5odG1sCmluZGV4IGJlZDQ1ZGU0ZGJlLi5hM2Q3OGQ4ZGUyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuYWxpZ24uaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmFs
aWduLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYg
QEAgX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAi
J3N0YXJ0JyIpOwogY3R4LnRleHRBbGlnbiA9ICdzdGFydCc7CiBjdHgudGV4dEFsaWduID0gJ2Vu
ZFwwJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdzdGFydCcsICJjdHgudGV4dEFsaWdu
IiwgIidzdGFydCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5hbGlnbi5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24u
aW52YWxpZC53b3JrZXIuanMKaW5kZXggYTI2OTc4NTZjYjMuLjY2Y2U3YWVhMTVmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwg
J3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwogY3R4LnRleHRBbGlnbiA9ICdz
dGFydCc7CiBjdHgudGV4dEFsaWduID0gJ2VuZFwwJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxp
Z24sICdzdGFydCcsICJjdHgudGV4dEFsaWduIiwgIidzdGFydCciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1sCmluZGV4IGQ5NmJkYmYwMjNkLi5jM2YyNGVj
YmM0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGlnbi52YWxpZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0
LmFsaWduLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2
IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdyaWdodCcsICJjdHgudGV4dEFsaWduIiwg
IidyaWdodCciKTsKIAogY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInOwogX2Fzc2VydFNhbWUoY3R4
LnRleHRBbGlnbiwgJ2NlbnRlcicsICJjdHgudGV4dEFsaWduIiwgIidjZW50ZXInIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC53b3JrZXIuanMKaW5kZXgg
NDc4ZDQ1NDNhZTEuLjU2OWNiOTFlOTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFs
aWduLnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAncmlnaHQnLCAiY3R4LnRleHRBbGlnbiIsICIn
cmlnaHQnIik7CiAKIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJzsKIF9hc3NlcnRTYW1lKGN0eC50
ZXh0QWxpZ24sICdjZW50ZXInLCAiY3R4LnRleHRBbGlnbiIsICInY2VudGVyJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1
bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC5odG1sCmluZGV4IGYy
ZmUxMTAxNDUxLi5lZjBhZTIwZDEwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNl
bGluZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuYmFzZWxpbmUuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICdhbHBoYWJldGlj
JywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2FscGhhYmV0aWMnIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGE0
NzVmYTM0MWY5Li42ZDc2YjM0ZjM2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNl
bGluZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRl
ZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHgu
dGV4dEJhc2VsaW5lLCAnYWxwaGFiZXRpYycsICJjdHgudGV4dEJhc2VsaW5lIiwgIidhbHBoYWJl
dGljJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmJhc2VsaW5lLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxp
ZC5odG1sCmluZGV4IDBmZjNiMThkZDUyLi45MDhhOWRmNDAzMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5i
YXNlbGluZS5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuYmFzZWxpbmUuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmJhc2VsaW5l
LmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAg
X2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2VsaW5lIiwg
Iid0b3AnIik7CiBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CiBjdHgudGV4dEJhc2VsaW5lID0g
J21pZGRsZVwwJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICd0b3AnLCAiY3R4LnRl
eHRCYXNlbGluZSIsICIndG9wJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5iYXNlbGluZS5pbnZhbGlkLndvcmtlci5qcwppbmRleCAzNzc3OTliNTBiZi4uODA1YWJj
YzA5MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0
U2FtZShjdHgudGV4dEJhc2VsaW5lLCAndG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCci
KTsKIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJzsKIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxl
XDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2Vs
aW5lIiwgIid0b3AnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUu
dmFsaWQuaHRtbAppbmRleCBjZDYzNWVjNDg2Ny4uYjY3MmQ0MWY0Y2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmJhc2VsaW5lLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuYmFzZWxpbmUudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5iYXNlbGluZS52
YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNz
ZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAnaWRlb2dyYXBoaWMnLCAiY3R4LnRleHRCYXNlbGlu
ZSIsICInaWRlb2dyYXBoaWMnIgogCiBjdHgudGV4dEJhc2VsaW5lID0gJ2JvdHRvbSc7CiBfYXNz
ZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAnYm90dG9tJywgImN0eC50ZXh0QmFzZWxpbmUiLCAi
J2JvdHRvbSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5l
LnZhbGlkLndvcmtlci5qcwppbmRleCAxNDQwYzM4Y2ZmYy4uMzVkYTM1YjRlZTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxp
bmUsICdpZGVvZ3JhcGhpYycsICJjdHgudGV4dEJhc2VsaW5lIiwgIidpZGVvZ3JhcGhpYyciCiAK
IGN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9tJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxp
bmUsICdib3R0b20nLCAiY3R4LnRleHRCYXNlbGluZSIsICInYm90dG9tJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmh0bWwKaW5kZXggNDhl
MGNiMzZkOGIuLmMyOTljY2NiMTE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24uY2VudGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRl
ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50
ZXh0LmRyYXcuYWxpZ24uY2VudGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnRleHRBbGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUg
ZW0gc3F1YXJlcyAobm90IHRoZSBib3VuZGluZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBjZW50ZXIgaXMgdGhl
IGNlbnRlciBvZiB0aGUgZW0gc3F1YXJlcyAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5jZW50ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWdu
LmNlbnRlci53b3JrZXIuanMKaW5kZXggODhkNzdjMWUxODkuLjAyMTk0N2JkMjQ2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLndvcmtlci5qcwpAQCAtNCwxNyArNCwy
MSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1
YXJlcyAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIuaHRtbAppbmRleCA2MzU2YjNi
ZTg5Zi4uZjdmY2IzNjEyNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5lbmQubHRyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5kcmF3LmFsaWduLmVuZC5sdHI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnRleHRBbGlnbiBlbmQgd2l0aCBsdHIgaXMgdGhlIHJpZ2h0IGVk
Z2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgidGV4dEFsaWduIGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUs
MCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24uZW5kLmx0ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5k
Lmx0ci53b3JrZXIuanMKaW5kZXggNThlNmZmYWU5NTUuLjFlNTI5YmUyM2Q3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIud29ya2VyLmpzCkBAIC00LDE3ICs0LDIx
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgidGV4dEFsaWduIGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZv
bnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0
NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmFsaWduLmVuZC5ydGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5l
bmQucnRsLmh0bWwKaW5kZXggYjYwYTg1Y2JhYTMuLjAxNmUxZjg5MTNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRl
eHQuZHJhdy5hbGlnbi5lbmQucnRsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gZW5k
IHdpdGggcnRsIGlzIHRoZSBsZWZ0IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGVuZCB3aXRoIHJ0bCBpcyB0aGUg
bGVmdCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihm
dW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSAr
MzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwy
NTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOwor
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLndvcmtlci5qcwppbmRleCA2NmYwM2FjYWE3NS4u
ZjUwOTg3YzkyOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQu
cnRsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC53
b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdpdGggcnRs
IGlzIHRoZSBsZWZ0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3Qo
KTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAw
LDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5k
b25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC5odG1sCmluZGV4IDE2NGIwMmFmNDM0Li5kODNiZjBhNzM3
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24ubGVmdDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWdu
IGxlZnQgaXMgdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGlu
ZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInRleHRBbGlnbiBsZWZ0IGlzIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBlbSBzcXVhcmUg
KG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVy
VGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsg
fSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUs
NDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwot
Ci10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMKaW5kZXggNzI1NzYy
YThhZGMuLjAyZTY4OWE5ZDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24ubGVmdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQu
d29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGxlZnQgaXMgdGhl
IGxlZnQgb2YgdGhlIGZpcnN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1
LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24ucmlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdo
dC5odG1sCmluZGV4IDU2MjExNjFkNGFhLi45Zjc1MmU2MzE5MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLnJpZ2h0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5yaWdodDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxp
Z24ucmlnaHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRBbGlnbiByaWdodCBpcyB0aGUgcmln
aHQgb2YgdGhlIGxhc3QgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCk8L3A+CkBAIC0x
MSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWdu
IHJpZ2h0IGlzIHRoZSByaWdodCBvZiB0aGUgbGFzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRp
bmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1
LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcwppbmRleCA3MGEzOWEzMTg2YS4uMTcwNjYx
ZDg0YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcwpA
QCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiByaWdodCBpcyB0aGUgcmlnaHQgb2Yg
dGhlIGxhc3QgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAs
MjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5zdGFydC5sdHIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIu
aHRtbAppbmRleCAxMzA0NzRlNzM2OS4uMzNjMzE0MWI2MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24uc3RhcnQubHRyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4
dC5kcmF3LmFsaWduLnN0YXJ0Lmx0cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHN0
YXJ0IHdpdGggbHRyIGlzIHRoZSBsZWZ0IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggbHRyIGlz
IHRoZSBsZWZ0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsK
LXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50
aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0z
MCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1
NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25l
KCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyLndvcmtlci5qcwppbmRleCBlYmMw
NjU0MmUzMS4uNWEzNDIzY2U4Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5h
bGlnbi5zdGFydC5sdHIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5zdGFydC5sdHIud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWdu
IHN0YXJ0IHdpdGggbHRyIGlzIHRoZSBsZWZ0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVz
dCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5y
dGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwuaHRtbAppbmRl
eCAwNTM3MmVlMjVhZS4uYmE0OGY3MGU0YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5zdGFydC5ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uc3RhcnQucnRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFs
aWduLnN0YXJ0LnJ0bDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHN0YXJ0IHdpdGgg
cnRsIGlzIHRoZSByaWdodCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIHJ0bCBpcyB0aGUgcmln
aHQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1
LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29ya2VyLmpzCmluZGV4IGRjNTUxZTRhYmYy
Li40YzYzNWNmNDBlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0
YXJ0LnJ0bC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0
LnJ0bC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gc3RhcnQg
d2l0aCBydGwgaXMgdGhlIHJpZ2h0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGlj
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sCmlu
ZGV4IDI0MTNmZTU1ZWQyLi5mMDk1N2VlOGUzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy53b3JrZXIuanMKaW5kZXggMjY4MzI3MmFhNjcu
LjRjMThjOGZhNzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUu
YWxwaGFiZXRpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5l
LmFscGhhYmV0aWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYmFzZWxpbmUuYm90dG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUu
Ym90dG9tLmh0bWwKaW5kZXggNWZhOTQxODMzOGYuLjIwNDQ3ZWRhZmI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b208L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRC
YXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhlIGJv
dW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgidGV4dEJhc2VsaW5lIGJvdHRvbSBpcyB0aGUgYm90dG9tIG9mIHRoZSBlbSBz
cXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsK
LWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1
MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9t
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b20ud29ya2Vy
LmpzCmluZGV4IDNiYTYwYzk2NmJlLi44NTFlYzc0OWQ0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJ0ZXh0QmFzZWxpbmUgYm90dG9tIGlzIHRoZSBib3R0b20gb2YgdGhlIGVtIHNxdWFyZSAo
bm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJU
ZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0
NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcuaHRtbAppbmRleCBlM2Y5Y2Yz
NGRmMi4uZjNhNzc4NGFkYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5oYW5naW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhh
bmdpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5l
Lmhhbmdpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVz
dCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhh
bmdpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcu
d29ya2VyLmpzCmluZGV4IGI0NzczZThhYjhkLi45NGI5Njc4OTU4YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLndvcmtlci5qcwpAQCAtNCwxNyArNCwy
MSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwot
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2
LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1
LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUo
KTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMuaHRtbAppbmRleCA1OTg2NWMz
YmNiOC4uZDZjZTA4ZDdhMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5pZGVvZ3JhcGhpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS5pZGVvZ3JhcGhpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5k
cmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMud29ya2VyLmpzCmluZGV4IGFkYTdmZTljNWI2Li5lOGIx
ZjQ5YTUyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9n
cmFwaGljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRl
b2dyYXBoaWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1
NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YmFzZWxpbmUubWlkZGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlk
ZGxlLmh0bWwKaW5kZXggNzE3OTlkYTdiZjMuLjZkMTdiZjMzY2JiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRCYXNl
bGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5k
aW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgidGV4dEJhc2VsaW5lIG1pZGRsZSBpcyB0aGUgbWlkZGxlIG9mIHRoZSBlbSBzcXVh
cmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGUud29ya2VyLmpz
CmluZGV4IDEyYzc2OGE3MGRkLi5lYmYwMTJlZGVmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJ0ZXh0QmFzZWxpbmUgbWlkZGxlIGlzIHRoZSBtaWRkbGUgb2YgdGhlIGVtIHNxdWFyZSAobm90
IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0
KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpA
QCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwg
MCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQu
ZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0bWwKaW5kZXggMmZjY2U0YWMzMmYuLjlkZjky
MDZlMjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxp
bmUudG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5iYXNlbGluZS50b3A8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnRleHRCYXNlbGluZSB0b3AgaXMgdGhlIHRvcCBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhl
IGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgidGV4dEJhc2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVh
cmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3Aud29ya2VyLmpzCmluZGV4
IDA3ODI1NWFjZjZjLi45ZmExNGU2ZjI5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLnRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJh
c2VsaW5lLnRvcC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxp
bmUgdG9wIGlzIHRoZSB0b3Agb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gp
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBj
dHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigp
IHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBz
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZmlsbC5iYXNpYy1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwuYmFzaWMtbWFudWFsLndvcmtlci5qcwppbmRleCBiZDdmN2UyNjM4Yi4uMjMx
OWI1YzM5MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLmJhc2ljLW1h
bnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMtbWFu
dWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgZHJhd3MgZmls
bGVkIHRleHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5z
LXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnUEFTUycsIDUsIDM1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4uaHRtbAppbmRleCBm
NjZiNzM1NzYxOS4uMWVmMDk1ZGNmMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLk5hTi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLk5hTi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU48L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguTmFOPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVz
IG1heFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQg
PSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWls
IGZhaWwgZmFpbCcsIDUsIDM1LCBOYU4pOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLk5hTi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5OYU4ud29ya2VyLmpzCmluZGV4IDQ5YTRmNmJkNWQxLi43MTkxZmE5NjNjMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3Rs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
b250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwg
ZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgTmFOKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTAp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguYm91bmQuaHRtbAppbmRleCBjNzQ4OTU1NjNkZi4uYmQ5NDFjYmJiZjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguYm91bmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggYmFzZWQgb24gbGluZSBz
aXplLCBub3QgYm91bmRpbmcgYm94IHNpemU8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBiYXNl
ZCBvbiBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5ib3VuZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5ib3VuZC53b3JrZXIuanMKaW5kZXggZmRiYWI1Yjk4NmIuLjg0ODJiMjYyM2RiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQud29ya2Vy
LmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBi
YXNlZCBvbiBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZm9udGZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmZvbnRmYWNlLmh0bWwKaW5kZXggOTM2ZGU0NmNjNTkuLmJjODVjNDVmYzk0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmZvbnRmYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmZv
bnRmYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCB3b3JrcyBvbiBAZm9udC1mYWNl
IGZvbnRzPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGxUZXh0IHdvcmtzIG9uIEBmb250LWZhY2UgZm9udHMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CkBAIC0yNyw5ICszMSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzCmluZGV4IDNhNWI0Yjc0MmQ0Li4yZDIwNWE5
MmZjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguZm9u
dGZhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LmZvbnRmYWNlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IHdv
cmtzIG9uIEBmb250LWZhY2UgZm9udHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CkBAIC0yMyw5ICsyNyw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAw
LDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmxhcmdlLW1h
bnVhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5sYXJn
ZS1tYW51YWwud29ya2VyLmpzCmluZGV4IGU5OWU1NmViNTY2Li4zNDUwNDQ2YTExNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubGFyZ2UtbWFudWFsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5sYXJnZS1t
YW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVz
IG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5mb250ID0gJzM1
cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUsIDIwMCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5uZWdhdGl2ZS5odG1sCmluZGV4IGM1OTQ3ZDg4ODJmLi4yOTM5YTk1YmVmMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRpdmUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0
aCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHgg
QXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZh
aWwnLCA1LCAzNSwgLTEpOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA1MzAyZmRlODM0Mi4uYTdhODlmZTg2NjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lk
dGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQo
J2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIDUsIDM1LCAtMSk7CiBfYXNzZXJ0R3JlZW4oY3R4
LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLnNtYWxsLmh0bWwKaW5kZXggMDRjYjNlZGY2OWUuLjMxOWEwY2M4NGU3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLnNtYWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNt
YWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJl
Y3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwg
c2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIC0x
MDAsIDM1LCA5MCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21h
bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwu
d29ya2VyLmpzCmluZGV4IDczYzQ5MjQwNTIxLi42ZjEwNzg4NTM1ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9
ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwg
ZmFpbCBmYWlsJywgLTEwMCwgMzUsIDkwKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC56ZXJvLmh0bWwKaW5kZXggNzdjOWQwNWQ4NGEuLmJmOWIwZjI0OTUxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56
ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm88L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxl
cyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5m
aWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIDApOwogX2Fzc2VydEdy
ZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby53b3JrZXIuanMKaW5kZXggZDMyMjkxNzc1
MTIuLmU1Mjk0NGU5NTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQg
aGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsK
IGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIDApOwogX2Fz
c2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnJ0bC1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMKaW5kZXggZjViZDI0NzE4
ZmIuLjM0MjJlODM1YTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5y
dGwtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5ydGwt
bWFudWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgcmVzcGVj
dHMgUmlnaHQtVG8tTGVmdCBPdmVycmlkZSBjaGFyYWN0ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwog
Y3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ1x1MjAy
ZUZBSUwgXHhhMCBceGEwIFNTQVAnLCA1LCAzNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0ZWQuaHRtbAppbmRleCA1ZDJlZTc1NmRlMC4u
ZTdlNzE3MjdmN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZm
ZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
ZHJhdy5maWxsLnVuYWZmZWN0ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBv
ciBzdWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbFRleHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzIsNyArMzYsNiBAQCBjdHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwudW5hZmZlY3RlZC53b3JrZXIuanMKaW5kZXggOGJlOWMwYmRlMzMuLmU5MGFh
M2I5Zjc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVk
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgZG9lcyBub3Qgc3RhcnQg
YSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguZmlsbCgp
OwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNSw0
NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLmh0bWwKaW5kZXggZjY2YmU2Y2NmN2MuLjA5OTA3
NGZhNzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZvbnRmYWNlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRleHQuZHJhdy5mb250ZmFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
MTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAn
NjdweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVw
X3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZm9udGZhY2Uubm90aW5wYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZh
Y2Uubm90aW5wYWdlLmh0bWwKaW5kZXggNWUwODhjNjRkZTguLmRmMzE5Njk2ZTJhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZm9udGZhY2Uu
bm90aW5wYWdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2U8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPkBmb250LWZhY2UgZm9udHMgc2hvdWxkIHdvcmsgZXZlbiBpZiB0aGV5IGFy
ZSBub3QgdXNlZCBpbiB0aGUgcGFnZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJAZm9udC1mYWNlIGZvbnRzIHNob3VsZCB3b3JrIGV2ZW4g
aWYgdGhleSBhcmUgbm90IHVzZWQgaW4gdGhlIHBhZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVz
dCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CkBAIC0yNyw5ICszMSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5v
dGlucGFnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5w
YWdlLndvcmtlci5qcwppbmRleCA2NmU2NTQwOGQ3YS4uZDhkNWFhMWMyYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2Uud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2Uud29ya2VyLmpzCkBAIC00
LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiQGZvbnQtZmFjZSBmb250cyBzaG91bGQgd29yayBldmVuIGlm
IHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3Qn
OwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSks
IDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lmh0bWwKaW5kZXgg
OTIyZjc0ZTA3NDEuLjliZjM3YjgwYWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZm9udGZhY2UucmVwZWF0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRm
YWNlLnJlcGVhdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5mb250
ZmFjZS5yZXBlYXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkRyYXcgd2l0aCB0aGUgZm9udCBpbW1l
ZGlhdGVseSwgdGhlbiB3YWl0IGEgYml0IHVudGlsIGFuZCBkcmF3IGFnYWluLiAoVGhpcyBjcmFz
aGVzIHNvbWUgdmVyc2lvbiBvZiBXZWJLaXQuKTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRyYXcgd2l0aCB0aGUgZm9udCBpbW1lZGlhdGVs
eSwgdGhlbiB3YWl0IGEgYml0IHVudGlsIGFuZCBkcmF3IGFnYWluLiAoVGhpcyBjcmFzaGVzIHNv
bWUgdmVyc2lvbiBvZiBXZWJLaXQuKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDE2ICsyNSwxNCBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwg
IjUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9u
dGZhY2UucmVwZWF0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5y
ZXBlYXQud29ya2VyLmpzCmluZGV4IGMxNWVlOWFkODU3Li41ZmRjNWFmNGI3MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkRyYXcgd2l0aCB0aGUgZm9udCBpbW1lZGlhdGVseSwgdGhlbiB3YWl0
IGEgYml0IHVudGlsIGFuZCBkcmF3IGFnYWluLiAoVGhpcyBjcmFzaGVzIHNvbWUgdmVyc2lvbiBv
ZiBXZWJLaXQuKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDE2ICsyMSwxNCBAQCBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7Ci1kZWZlclRlc3QoKTsKLXN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgIGN0eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1
LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1
MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS53b3JrZXIuanMKaW5kZXggMTM2Mzdj
N2NiMTIuLjExNWNiZjJkMTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9u
dGZhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS53b3Jr
ZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVz
dCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CkBAIC0yMyw5ICsyNyw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3Rl
bnQtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3Rl
bnQtbWFudWFsLndvcmtlci5qcwppbmRleCA0NjgwOGE4YjQ3Mi4uZjdmMDQ3NjVkMDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQtbWFudWFsLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcua2Vybi5jb25zaXN0ZW50LW1hbnVhbC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZWQgYW5kIGZpbGxlZCB0ZXh0
IHNob3VsZCBoYXZlIGV4YWN0bHkgdGhlIHNhbWUga2VybmluZyBzbyBpdCBvdmVybGFwcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxUZXh0KCdWQVZBVkFWQVZBVkFWQScsIC01MCwg
MjUpOwogY3R4LmZpbGxUZXh0KCdUb1RvVG9Ub1RvVG9UbycsIC01MCwgNDUpOwogY3R4LnN0cm9r
ZVRleHQoJ1ZBVkFWQVZBVkFWQVZBJywgLTUwLCAyNSk7CiBjdHguc3Ryb2tlVGV4dCgnVG9Ub1Rv
VG9Ub1RvVG8nLCAtNTAsIDQ1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuYmFzaWMuaHRtbAppbmRleCA2MGEzODhkZWUyYy4uMjRjYzQyZDYxMzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
dGV4dC5kcmF3LnNwYWNlLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5VKzAwMjAgaXMgcmVu
ZGVyZWQgdGhlIGNvcnJlY3Qgc2l6ZSAoMWVtIHdpZGUpPC9wPgpAQCAtMTEsMjMgKzExLDI1IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlUrMDAyMCBpcyByZW5kZXJlZCB0aGUg
Y29ycmVjdCBzaXplICgxZW0gd2lkZSkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFIEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzCmluZGV4
IDNkNTM5ZTllYTk2Li40OGIzN2U5M2E5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Bh
Y2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiVSswMDIwIGlzIHJl
bmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3aWRlKSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5lbmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5l
bmQuaHRtbAppbmRleCAwZDQ0YTBkZjk1Zi4uNDg4YzVlYmUyNTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U3BhY2UgY2hhcmFjdGVycyBhdCB0aGUgZW5kIG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChw
ZXIgQ1NTKTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YgYSBsaW5lIGFyZSBjb2xsYXBz
ZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1z
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhl
bihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYs
OSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAg
ICAgY3R4LmZpbGxUZXh0KCdFRSAnLCAxMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10
LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQud29ya2VyLmpz
CmluZGV4IDYwOWJmYWVjZmY2Li4xYmE0OGNmMzJjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YgYSBsaW5lIGFyZSBjb2xsYXBz
ZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1z
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhl
bihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjIs
OSArMjYsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAg
ICAgY3R4LmZpbGxUZXh0KCdFRSAnLCAxMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10
LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UuaHRtbApp
bmRleCBhNTk2YzUxYzJiNy4uNWFkYzZjZTdiYzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9u
c3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5Ob24tc3BhY2UgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBV
KzAwMjAgYW5kIGNvbGxhcHNlZDwvcD4KQEAgLTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJOb24tc3BhY2UgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRl
ZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0VceDBiIEVFJywgLTE1MCwgMzcuNSk7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5ub25zcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29s
bGFwc2Uubm9uc3BhY2Uud29ya2VyLmpzCmluZGV4IDg4MjJkYmZhYzE4Li41YzVkZGQ5ZDY5YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9u
c3BhY2Uud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTm9uLXNwYWNlIGNoYXJh
Y3RlcnMgYXJlIG5vdCBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFXHgwYiBFRScs
IC0xNTAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRtbAppbmRleCBkN2RiMjNjYjRlZS4uMzhiYWVlMTI5
YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlci5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLm90aGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252
ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKTwvcD4KQEAgLTExLDIzICsx
MSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJz
IGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgXHgwOVx4
MGFceDBjXHgwZCAgXHgwOVx4MGFceDBjXHgwZEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSks
IDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5vdGhlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uu
b3RoZXIud29ya2VyLmpzCmluZGV4IGM2NjAyMzUwZDgxLi4xYjY4N2M3YmY0OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2VyLmpz
CkBAIC00LDI2ICs0LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVk
IHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4
MDlceDBhXHgwY1x4MGRFRScsIC0xMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRv
bmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRtbAppbmRleCA0YzFh
NWE0Yzg1Mi4uN2Y3NzVhOTUwZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5z
cGFjZS5jb2xsYXBzZS5zcGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFj
ZS5jb2xsYXBzZS5zcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2U8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TcGFjZSBj
aGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NT
KTwvcD4KQEAgLTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2Vk
IChwZXIgQ1NTKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbFRleHQoJ0UgIEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9u
ZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpz
CmluZGV4IDk4ZDY5MjQ0ODFmLi5mNGRmMTZjMjg5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCwgYW5k
IGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxUZXh0KCdFICBFRScsIC0xMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQuaHRtbApp
bmRleCAxYTczYjk0MWQzNi4uZWYyMGQzNTdkNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAo
cGVyIENTUyk8L3A+CkBAIC0xMSwyMyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFyZSBjb2xs
YXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7
Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAu
dGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAg
IGN0eC5maWxsVGV4dCgnIEVFJywgMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9u
ZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQud29ya2VyLmpz
CmluZGV4IGVkZWQxYTg4MDcwLi41NDlmYWIwYjQ2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFyZSBj
b2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0
KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsVGV4dCgnIEVFJywgMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQu
ZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIuanMK
aW5kZXggYTA5YTFlYWVlYTUuLjRkYTBiNWRjYTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnN0cm9rZS5iYXNpYy1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzdHJva2VUZXh0IGRyYXdzIHN0cm9rZWQgdGV4dCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIz
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSAxOwogY3R4LmZv
bnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguc3Ryb2tlVGV4dCgnUEFTUycsIDUs
IDM1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tl
LnVuYWZmZWN0ZWQuaHRtbAppbmRleCAxY2FjNjVjZDQzNy4uYjBjNzU1NDY5ZjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZm
ZWN0ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5zdHJva2VUZXh0IGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0
cm9rZVRleHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzMsNyArMzcsNiBAQCBjdHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
c3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDc5MjFmOGE1OTAwLi44NzIzNjU1MmVi
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VUZXh0IGRvZXMgbm90IHN0YXJ0
IGEgbmV3IHBhdGggb3Igc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGwo
KTsKIAogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUs
NDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbAppbmRleCA3MzZjMWFiOWUyNy4uODAwYzdj
OThjNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5kZWZhdWx0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LmRlZmF1bHQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
dGV4dC5mb250LmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsx
MSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5m
b250LCAnMTBweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5k
ZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5kZWZhdWx0Lndvcmtlci5q
cwppbmRleCBjYWQ2NTZlMjVkMC4uMTM4NjcwZWU0NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZm9udC5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
ZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0
eC5mb250LCAnMTBweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxMHB4IHNhbnMtc2VyaWYn
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5wYXJzZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLmh0
bWwKaW5kZXggYjM2OWUwZTM5ZDEuLjY4Njg1ZTE4YjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cGFyc2UuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudGV4dC5mb250LnBhcnNlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5i
YXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBfYXNz
ZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYn
Iik7CiAKIGN0eC5mb250ID0gJzIwUFggICBTRVJJRic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwg
JzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMud29ya2VyLmpzCmluZGV4
IDJhM2Q5M2Q3YzkwLi5lMjU5MGRjZmE3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5m
b250LnBhcnNlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFy
c2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9u
dCIsICInMjBweCBzZXJpZiciKTsKIAogY3R4LmZvbnQgPSAnMjBQWCAgIFNFUklGJzsKIF9hc3Nl
cnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBweCBzZXJpZici
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LnBhcnNlLmNvbXBsZXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4
Lmh0bWwKaW5kZXggYTQ1ZjczNzI5ZGYuLmNiNjJkYTAwZWExIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmZvbnQucGFyc2UuY29tcGxleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5wYXJzZS5jb21wbGV4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9u
dC5wYXJzZS5jb21wbGV4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsy
Miw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnc21hbGwtY2FwcyBpdGFsaWMgNDAwIDEycHgvMiBVbmtub3duIEZvbnQsIHNhbnMt
c2VyaWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4ICJV
bmtub3duIEZvbnQiLCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIidpdGFsaWMgc21hbGwtY2Fw
cyAxMnB4IFwiVW5rbm93biBGb250XCIsIHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcwppbmRl
eCA2MmNjNmVkZTI3Mi4uYzA5NGRiYWNmMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cGFyc2UuY29tcGxleC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBjdHguZm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24g
Rm9udCwgc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJ2l0YWxpYyBzbWFsbC1j
YXBzIDEycHggIlVua25vd24gRm9udCIsIHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJ2l0YWxp
YyBzbWFsbC1jYXBzIDEycHggXCJVbmtub3duIEZvbnRcIiwgc2Fucy1zZXJpZiciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmlu
dmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0bWwKaW5k
ZXggYmQ2MTBmZjMzNDguLmI3MmRlYzU4MTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucGFyc2UuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJz
ZS5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5p
bnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw2ICsyMywxMCBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZm9udCA9ICcy
MHB4IHNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9u
dCIsICInMjBweCBzZXJpZiciKTsKIAorY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CitjdHguZm9u
dCA9ICcnOworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250Iiwg
IicyMHB4IHNlcmlmJyIpOworCiBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250ID0g
J2JvZ3VzJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIs
ICInMjBweCBzZXJpZiciKTsKQEAgLTQ2LDcgKzU0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZvbnQs
ICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogY3R4LmZvbnQgPSAn
MjBweCBzZXJpZic7CiBjdHguZm9udCA9ICcxZW0gc2VyaWY7IGJhY2tncm91bmQ6IGdyZWVuOyBt
YXJnaW46IDEwcHgnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5m
b250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC53b3JrZXIuanMKaW5kZXggNzI4MTU5ODhhZGUuLjNk
NTI4MzdmYjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxp
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw2ICsxOSwxMCBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZm9udCA9
ICcyMHB4IHNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHgu
Zm9udCIsICInMjBweCBzZXJpZiciKTsKIAorY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CitjdHgu
Zm9udCA9ICcnOworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250
IiwgIicyMHB4IHNlcmlmJyIpOworCiBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250
ID0gJ2JvZ3VzJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9u
dCIsICInMjBweCBzZXJpZiciKTsKQEAgLTQyLDcgKzUwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZv
bnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogY3R4LmZvbnQg
PSAnMjBweCBzZXJpZic7CiBjdHguZm9udCA9ICcxZW0gc2VyaWY7IGJhY2tncm91bmQ6IGdyZWVu
OyBtYXJnaW46IDEwcHgnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0
eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwKaW5kZXggYTNkZDQ0OGFhYjUuLmRmNzcwNWMxYzZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVt
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW08L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN5
c3RlbSBmb250cyBtdXN0IGJlIGNvbXB1dGVkIHRvIGV4cGxpY2l0IHZhbHVlczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN5c3RlbSBmb250
cyBtdXN0IGJlIGNvbXB1dGVkIHRvIGV4cGxpY2l0IHZhbHVlcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICdtZXNzYWdlLWJveCc7CiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5mb250LCAnbWVzc2Fn
ZS1ib3gnLCAiY3R4LmZvbnQiLCAiJ21lc3NhZ2UtYm94JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzCmluZGV4IDBi
NWJjZmMyNmMzLi5iZGVjYmIxM2VhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNl
LnN5c3RlbS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN5c3RlbSBmb250cyBt
dXN0IGJlIGNvbXB1dGVkIHRvIGV4cGxpY2l0IHZhbHVlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICdtZXNzYWdlLWJveCc7CiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5mb250LCAnbWVzc2FnZS1i
b3gnLCAiY3R4LmZvbnQiLCAiJ21lc3NhZ2UtYm94JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbAppbmRleCAzNTBhZDIzYzE1ZS4uYWJiMWIx
YTE1ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLnRpbnk8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudGV4dC5mb250LnBhcnNlLnRpbnk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHgu
Zm9udCwgJzFweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxcHggc2Fucy1zZXJpZiciKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBh
cnNlLnRpbnkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29y
a2VyLmpzCmluZGV4IDExYTk2ZGNkNzQ1Li5iZTE4NDFiOTg2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5wYXJzZS50aW55Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzFweCBzYW5zLXNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0
eC5mb250LCAnMXB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzFweCBzYW5zLXNlcmlmJyIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cmVsYXRpdmVfc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWJlM2QyZDQzZTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS5o
dG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBOT1QgRURJVCEg
VGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KKzx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemU8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CisKKzxoMT4yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZTwvaDE+Cis8cCBjbGFzcz0iZGVz
YyI+PC9wPgorCisKKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkgeworCit2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKK3ZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKworY3R4LmZvbnQgPSAnMWVt
IHNhbnMtc2VyaWYnOworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcxMHB4IHNhbnMtc2VyaWYnLCAi
Y3R4LmZvbnQiLCAiJzEwcHggc2Fucy1zZXJpZiciKTsKK3QuZG9uZSgpOworCit9KTsKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUud29y
a2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3JrZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3Jr
ZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2Vi
S2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucmVsYXRpdmVfc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRp
dmVfc2l6ZS53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LjQ3MGM1NGZhYWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJl
bGF0aXZlX3NpemUud29ya2VyLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZz
Y3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZQor
Ly8gRGVzY3JpcHRpb246CisvLyBOb3RlOgorCitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK2N0eC5mb250ID0gJzFlbSBzYW5z
LXNlcmlmJzsKK19hc3NlcnRTYW1lKGN0eC5mb250LCAnMTBweCBzYW5zLXNlcmlmJywgImN0eC5m
b250IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7Cit0LmRvbmUoKTsKKworfSk7Citkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NWIyMTE5ZDllMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBOT1QgRURJVCEgVGhp
cyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KKzx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94PC9oMT4KKzxw
IGNsYXNzPSJkZXNjIj5UZXN0aW5nIGFjdHVhbEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52
YXM8L3A+CisKKworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBhY3R1YWxC
b3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFz
VGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRz
ID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJl
YWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0g
J2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgY3R4LmJhc2VsaW5lID0gJ2FscGhh
YmV0aWMnCisgICAgLy8gU29tZSBwbGF0Zm9ybXMgbWF5IHJldHVybiAnLTAnLgorICAgIF9hc3Nl
cnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVm
dCksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExl
ZnQpIiwgIjAiKTsKKyAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBz
bGlnaHRseSBkaWZmZXJlbnQuCisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1
YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91
bmRpbmdCb3hSaWdodCA+PSA1MCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBJyku
YWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gMzUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1
YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSIpOworICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0
eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCksIDAsICJNYXRoLmFi
cyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQpIiwgIjAiKTsK
KworICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVh
bEJvdW5kaW5nQm94TGVmdCksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5h
Y3R1YWxCb3VuZGluZ0JveExlZnQpIiwgIjAiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4
dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gMjAwLCAiY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSAyMDAiKTsKKyAgICBfYXNzZXJ0KGN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDg1LCAiY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODUiKTsKKyAg
ICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2Vu
dCA+PSAzNywgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2Vu
dCA+PSAzNyIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29y
a2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29y
a2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJv
dW5kaW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yMmE1MzY5YTIwZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMK
QEAgLTAsMCArMSw0MyBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEg
d29ya2VyOjJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveAorLy8gRGVzY3JpcHRpb246
VGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgor
CitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBh
c3luY190ZXN0KCJUZXN0aW5nIGFjdHVhbEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5j
dGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3Zh
ciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIp
OworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMp
OworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcK
KyAgICBjdHguYmFzZWxpbmUgPSAnYWxwaGFiZXRpYycKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBt
YXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0
KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4
dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOworICAgIC8vIERpZmZlcmVudCBw
bGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNsaWdodGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTAsICJjdHgu
bWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwIik7CisgICAgX2Fz
c2VydChjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSwg
ImN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDM1Iik7Cisg
ICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRp
bmdCb3hEZXNjZW50KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJv
dW5kaW5nQm94RGVzY2VudCkiLCAiMCIpOworCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdo
dCA+PSAyMDAsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0
ID49IDIwMCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91
bmRpbmdCb3hBc2NlbnQgPj0gODUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3Vu
ZGluZ0JveEFzY2VudCA+PSA4NSIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3Iik7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYWR2YW5jZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42ZjRlMjFkZTk1YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy5odG1sCkBA
IC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0
ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KKzx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorCis8
aDE+MmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzPC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5UZXN0aW5n
IHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisKKworPHNjcmlwdD4KK3Zh
ciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2Fu
dmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAo
ZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwor
Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50
dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZv
bnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xl
ZnQnCisgICAgLy8gU29tZSBwbGF0Zm9ybXMgbWF5IHJldHVybiAnLTAnLgorICAgIF9hc3NlcnRT
YW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSksIDAsICJN
YXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsiXCJdKSIs
ICIwIik7CisgICAgLy8gRGlmZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0
bHkgZGlmZmVyZW50LgorICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFu
Y2VzWzFdID49IDM2LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMSkr
IlwiXSA+PSAzNiIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFu
Y2VzWzJdID49IDU4LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMikr
IlwiXSA+PSA1OCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFu
Y2VzWzNdID49IDcwLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMykr
IlwiXSA+PSA3MCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFu
Y2VzWzRdID49IDgwLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoNCkr
IlwiXSA+PSA4MCIpOworCisgICAgdmFyIHRtID0gY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpOwor
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSwgdG0u
YWR2YW5jZXNbMF0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsi
XCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMCkrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1sxXSwgdG0uYWR2YW5jZXNbMV0sICJjdHgubWVh
c3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygxKSsiXCJdIiwgInRtLmFkdmFuY2VzW1wi
IisoMSkrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5h
ZHZhbmNlc1syXSwgdG0uYWR2YW5jZXNbMl0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbXCIiKygyKSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMikrIlwiXSIpOworICAgIF9h
c3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSwgdG0uYWR2YW5j
ZXNbM10sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygzKSsiXCJdIiwg
InRtLmFkdmFuY2VzW1wiIisoMykrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJl
VGV4dCgnSGVsbG8nKS5hZHZhbmNlc1s0XSwgdG0uYWR2YW5jZXNbNF0sICJjdHgubWVhc3VyZVRl
eHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKyg0KSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoNCkr
IlwiXSIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xYTJjNjZmMDUxZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuanMK
QEAgLTAsMCArMSw0NSBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEg
d29ya2VyOjJkLnRleHQubWVhc3VyZS5hZHZhbmNlcworLy8gRGVzY3JpcHRpb246VGVzdGluZyB3
aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgorCitpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0KCJU
ZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRG
YWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0g
KHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYp
OworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihm
dW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5k
aXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICAvLyBTb21lIHBs
YXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1l
YXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJl
VGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJcIl0pIiwgIjAiKTsKKyAgICAvLyBEaWZm
ZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAg
X2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMV0gPj0gMzYsICJjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygxKSsiXCJdID49IDM2Iik7CisgICAg
X2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMl0gPj0gNTgsICJjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygyKSsiXCJdID49IDU4Iik7CisgICAg
X2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPj0gNzAsICJjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygzKSsiXCJdID49IDcwIik7CisgICAg
X2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbNF0gPj0gODAsICJjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKyg0KSsiXCJdID49IDgwIik7CisKKyAg
ICB2YXIgdG0gPSBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyk7CisgICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdLCB0bS5hZHZhbmNlc1swXSwgImN0eC5t
ZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJcIl0iLCAidG0uYWR2YW5jZXNb
XCIiKygwKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycp
LmFkdmFuY2VzWzFdLCB0bS5hZHZhbmNlc1sxXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5h
ZHZhbmNlc1tcIiIrKDEpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygxKSsiXCJdIik7CisgICAg
X2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdLCB0bS5hZHZh
bmNlc1syXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0i
LCAidG0uYWR2YW5jZXNbXCIiKygyKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdLCB0bS5hZHZhbmNlc1szXSwgImN0eC5tZWFzdXJl
VGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygz
KSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFu
Y2VzWzRdLCB0bS5hZHZhbmNlc1s0XSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNl
c1tcIiIrKDQpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKyg0KSsiXCJdIik7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFz
ZWxpbmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZkMjZj
NWNiM2QwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2Vs
aW5lcy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KKzx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5l
czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5iYXNlbGluZXM8L2gxPgorPHAgY2xhc3M9
ImRlc2MiPlRlc3RpbmcgYmFzZWxpbmVzIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisKKworPHNj
cmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVl
bkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5z
dGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rl
c3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVu
dC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKKyAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgIGN0eC5hbGlnbiA9ICds
ZWZ0JworICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFz
ZWxpbmVzKCkuYWxwaGFiZXRpYyksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5n
ZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVh
c3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1lYXN1
cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7CisgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nLCA2OCwg
ImN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmciLCAiNjgiKTsKKwor
ICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxp
bmVzKCkuYWxwaGFiZXRpYyksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5n
ZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1l
YXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7Cisg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5oYW5n
aW5nLCA2OCwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmci
LCAiNjgiKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2VyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxp
bmVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2Vy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kMWMyZGZmOGM4MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29y
a2VyLmpzCkBAIC0wLDAgKzEsMzggQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVz
dCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzCisvLyBEZXNjcmlwdGlvbjpU
ZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgorCitpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0
KCJUZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFj
ZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChz
ZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsK
K2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgY3R4LmRpcmVj
dGlvbiA9ICdsdHInOworICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICBfYXNzZXJ0U2FtZShNYXRo
LmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwg
Ik1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMp
IiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5l
cygpLmlkZW9ncmFwaGljLCAtMzksICJjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMo
KS5pZGVvZ3JhcGhpYyIsICItMzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgn
QScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0
QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2OCIpOworCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1h
dGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMp
IiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2Vs
aW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNl
bGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJl
VGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2OCIpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmVtSGVpZ2h0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hMDhjMmFlN2Rh
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMu
aHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+Cis8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS5lbUhlaWdodHM8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzPC9oMT4KKzxwIGNsYXNzPSJkZXNj
Ij5UZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisKKzxzY3JpcHQ+
Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgZW1IZWlnaHRzIGZvciBPZmZzY3JlZW5DYW52
YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChm
dW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisK
K3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0
ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9u
dHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVm
dCcKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCwg
MzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50IiwgIjM3LjUiKTsKKyAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQsIDEyLjUs
ICJjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQiLCAiMTIuNSIpOworICAgIF9h
c3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFz
dXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50LCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVt
SGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50IiwgIjUw
Iik7CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFz
Y2VudCwgMzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNjZW50IiwgIjM3
LjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERl
c2NlbnQsIDEyLjUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQiLCAi
MTIuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNjZW50LCA1MCwgImN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmVtSGVpZ2h0QXNjZW50IiwgIjUwIik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
KworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5l
bUhlaWdodHMud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRz
Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yMzgy
OTEzNTI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhl
aWdodHMud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWly
ZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRl
c3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uYmY1NzZmMmM0Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcwpAQCAtMCwwICsxLDM4IEBACisvLyBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5Lgor
Ly8gT2Zmc2NyZWVuQ2FudmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLmVtSGVp
Z2h0cworLy8gRGVzY3JpcHRpb246VGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNjcmVlbkNhbnZh
cworLy8gTm90ZToKKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CisKK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNjcmVlbkNh
bnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVw
KGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
KwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3Qu
dHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5m
b250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9ICds
ZWZ0JworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50
LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAiMzcuNSIpOwor
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCwgMTIu
NSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCIsICIxMi41Iik7CisgICAg
X2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1l
YXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJyku
ZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAi
NTAiKTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAi
MzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
RGVzY2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVzY2VudCIs
ICIxMi41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWln
aHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAi
Y3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAiNTAiKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5m
b250Qm91bmRpbmdCb3guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRp
bmdCb3guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzkwMjc3
MjAzNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJv
dW5kaW5nQm94Lmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERP
IE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3Qu
cHkuIC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuZm9u
dEJvdW5kaW5nQm94PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0Jv
eDwvaDE+Cis8cCBjbGFzcz0iZGVzYyI+VGVzdGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNj
cmVlbkNhbnZhczwvcD4KKworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5n
IGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgi
Q2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxm
LmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2Zv
bnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0
aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50LCA4NSwgImN0eC5tZWFzdXJl
VGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCIsICI4NSIpOworICAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQsIDM5LCAiY3R4Lm1l
YXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCIsICIzOSIpOworCisgICAgX2Fz
c2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94QXNjZW50LCA4
NSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0JveEFzY2VudCIsICI4NSIp
OworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0Jv
eERlc2NlbnQsIDM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94RGVz
Y2VudCIsICIzOSIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndv
cmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3Jr
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjM4MjkxMzUy
OGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5k
aW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAxOGZmMzNjNzg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMKQEAgLTAsMCAr
MSwzNiBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
dG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJk
LnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gKKy8vIERlc2NyaXB0aW9uOlRlc3RpbmcgZm9u
dEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMKKy8vIE5vdGU6CisKK2ltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRl
c3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRG
YWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0g
KHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYp
OworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihm
dW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5k
aXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBfYXNzZXJ0U2Ft
ZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQsIDg1LCAiY3R4Lm1l
YXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50IiwgIjg1Iik7CisgICAgX2Fzc2Vy
dFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCwgMzksICJj
dHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7CisKKyAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hBc2Nl
bnQsIDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94QXNjZW50Iiwg
Ijg1Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5k
aW5nQm94RGVzY2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdC
b3hEZXNjZW50IiwgIjM5Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Citkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1sCmluZGV4IGEwMWMx
MDk5ZWJjLi42YWNlOTQ0OTYyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJh
c2ljLmh0bWwKQEAgLTMsMjEgKzMsMjkgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQubWVhc3VyZS53aWR0aC5i
YXNpYzwvaDE+Ci08cCBjbGFzcz0iZGVzYyI+PC9wPgorPHAgY2xhc3M9ImRlc2MiPlRoZSB3aWR0
aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZhczwv
cD4KIAogCiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0ID0gYXN5bmNf
dGVzdCgiVGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zm
c2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9D
YW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDog
ZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7
CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScp
LndpZHRoLCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoIiwgIjUwIik7CiAgICAgX2Fz
c2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRl
eHQoJ0FBJykud2lkdGgiLCAiMTAwIik7CkBAIC0yNSw5ICszMyw3IEBAIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKIAogICAgIGN0eC5mb250ID0gJzEwMHB4IENh
bnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoLCAx
MDAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCIsICIxMDAiKTsKLX0pLCA1MDApOwotCi10
LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMKaW5kZXggYjRj
YTIzYjJhNDAuLmRhMmVhNzA1YjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUud2lkdGguYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53
aWR0aC5iYXNpYy53b3JrZXIuanMKQEAgLTEsMTkgKzEsMjcgQEAKIC8vIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAvLyBPZmZz
Y3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMK
LS8vIERlc2NyaXB0aW9uOgorLy8gRGVzY3JpcHRpb246VGhlIHdpZHRoIG9mIGNoYXJhY3RlciBp
cyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKLXZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dCA9IGFzeW5jX3Rlc3QoIlRoZSB3aWR0aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250IHVz
ZWQgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIs
ICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2Vs
Zi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRo
ZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3Vy
ZVRleHQoJ0EnKS53aWR0aCwgNTAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCIsICI1MCIp
OwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUEnKS53aWR0aCwgMTAwLCAiY3R4
Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoIiwgIjEwMCIpOwpAQCAtMjEsOSArMjksNyBAQCBzdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAKICAgICBjdHguZm9udCA9
ICcxMDBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0En
KS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgiLCAiMTAwIik7Ci19KSwg
NTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCmluZGV4IDYxNzNk
MTgzY2EyLi5lOGMwYjU0NGFjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVt
cHR5Lmh0bWwKQEAgLTMsMjYgKzMsMzIgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQubWVhc3VyZS53aWR0aC5l
bXB0eTwvaDE+Ci08cCBjbGFzcz0iZGVzYyI+VGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0
aDwvcD4KKzxwIGNsYXNzPSJkZXNjIj5UaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZv
ciBPZmZzY3JlZW5DYW52YXM8L3A+CiAKIAogPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgi
VGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCIpOwordmFyIHQgPSBhc3luY190ZXN0KCJU
aGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKLWRlZmVyVGVz
dCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewordmFyIGYg
PSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7Cits
ZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citm
b250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7
Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCIiKS53aWR0aCwgMCwgImN0eC5tZWFz
dXJlVGV4dChcIlwiKS53aWR0aCIsICIwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpzCmluZGV4IGQ5YzcxYWZhZmE2Li4zMmY5
MWNkYTk2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29y
a2VyLmpzCkBAIC0xLDI0ICsxLDMwIEBACiAvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgogLy8gT2Zmc2NyZWVuQ2FudmFzIHRl
c3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Ci0vLyBEZXNjcmlwdGlv
bjpUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoCisvLyBEZXNjcmlwdGlvbjpUaGUgZW1w
dHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZvciBPZmZzY3JlZW5DYW52YXMKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAotdmFyIHQgPSBhc3luY190ZXN0KCJUaGUg
ZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSBl
bXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGggZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7
Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5l
dyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBm
b250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRz
LmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30p
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoIiIpLndpZHRoLCAwLCAiY3R4Lm1lYXN1cmVU
ZXh0KFwiXCIpLndpZHRoIiwgIjAiKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLnNwYWNlLmh0bWwKaW5kZXggYjRjZGM4YjBjNmIuLjMwYTczY2NhMWE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbApAQCAtMywyMSArMywyOSBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2U8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlPC9oMT4KLTxwIGNsYXNzPSJkZXNjIj5T
cGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBl
ciBDU1MpPC9wPgorPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRl
ZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9mZnNjcmVlbkNhbnZhczwv
cD4KIAogCiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFy
ZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5k
IGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250
RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9
IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChm
KTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoLCAxNTAsICJjdHgubWVhc3VyZVRl
eHQoJ0EgQicpLndpZHRoIiwgIjE1MCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4
dCgnQSAgQicpLndpZHRoLCAxNTAsICJjdHgubWVhc3VyZVRleHQoJ0EgIEInKS53aWR0aCIsICIx
NTAiKTsKQEAgLTI2LDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogCiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCcgQUInKS53aWR0
aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCcgQUInKS53aWR0aCIsICIxMDAiKTsKICAgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRl
eHQoJ0FCICcpLndpZHRoIiwgIjEwMCIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5tZWFzdXJlLndpZHRoLnNwYWNlLndvcmtlci5qcwppbmRleCA1ZmM5MWI4NDg4Mi4uNjBiZmZh
YWE3NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLndvcmtl
ci5qcwpAQCAtMSwxOSArMSwyNyBAQAogLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KIC8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0
IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZQotLy8gRGVzY3JpcHRpb246
U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChw
ZXIgQ1NTKQorLy8gRGVzY3JpcHRpb246U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRv
IFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKLXZhciB0ID0gYXN5bmNfdGVz
dCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2Vk
IChwZXIgQ1NTKSIpOwordmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBj
b252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIGZvciBPZmZzY3JlZW5D
YW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rl
c3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVu
dC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBIEInKS53aWR0
aCwgMTUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBIEInKS53aWR0aCIsICIxNTAiKTsKICAgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EgIEInKS53aWR0aCwgMTUwLCAiY3R4Lm1lYXN1cmVU
ZXh0KCdBICBCJykud2lkdGgiLCAiMTUwIik7CkBAIC0yMiw5ICszMCw3IEBAIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKIAogICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnIEFCJykud2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnIEFCJykud2lk
dGgiLCAiMTAwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQiAnKS53aWR0
aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQiAnKS53aWR0aCIsICIxMDAiKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvdzNjLWltcG9y
dC5sb2cKaW5kZXggOTc1NWIzNzVhNmMuLjkwNzQxOWQ5OGUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC93M2MtaW1wb3J0LmxvZwpAQCAtMTA3LDYg
KzEwNywxOCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5z
eXN0ZW0ud29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lndvcmtlci5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVs
YXRpdmVfc2l6ZS53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91
bmRpbmdCb3guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0Jv
eC53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFz
ZWxpbmVzLndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmpzCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUud2lkdGguYmFzaWMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5i
YXNpYy53b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
Yml0bWFwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5i
aXRtYXAuaHRtbAppbmRleCBhMzg0ZTU2ZjI0OC4uYjk1NTM4NzJlZGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZl
cmVzdG9yZS5iaXRtYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVu
dCBiaXRtYXA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBiaXRt
YXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53b3JrZXIuanMKaW5kZXggYmUyNDBhNGVi
ZmUuLjUyNzIyOTIzYjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IGJpdG1h
cCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwKaW5kZXggMGIzYTdlYWYzODcuLjM4NmMzYzJjODk4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5j
bGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
Y2xpcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBp
bmcgcGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0aCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI1LDcgKzI5LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5jbGlwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLmNsaXAud29ya2VyLmpzCmluZGV4IGNlZTdkZjA4YmRlLi5jZWQxMGFjYTI4
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
Y2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0
b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5
bGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxT
dHlsZS5odG1sCmluZGV4IDg2MTMxMmQwZjQ1Li4xZDdlODYyYzIzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRl
LnNhdmVyZXN0b3JlLmZpbGxTdHlsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5
bGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGZpbGxT
dHlsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGZpbGxTdHlsZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcg
KzM1LDYgQEAgb2xkID0gY3R4LmZpbGxTdHlsZTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShj
dHguZmlsbFN0eWxlLCBvbGQsICJjdHguZmlsbFN0eWxlIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUo
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53b3JrZXIuanMKaW5kZXggYTcy
MmRkMDQxZjYuLjQ3Mjc3OThlODZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGZpbGxTdHlsZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LmZpbGxTdHlsZTsKIGN0eC5zYXZlKCk7
CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCBvbGQsICJjdHguZmlsbFN0eWxlIiwgIm9sZCIp
OwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLmh0bWwK
aW5kZXggYTI0YzNkNTYwZmIuLmVjMzFjNjNkYWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxBbHBoYS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmdsb2JhbEFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhh
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxB
bHBoYTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBvbGQgPSBjdHguZ2xvYmFsQWxwaGE7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNh
bWUoY3R4Lmdsb2JhbEFscGhhLCBvbGQsICJjdHguZ2xvYmFsQWxwaGEiLCAib2xkIik7CiBjdHgu
cmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxBbHBoYS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxBbHBoYS53b3JrZXIu
anMKaW5kZXggNjQzMjc4M2M3ZGMuLjFlMDRkODQ1YTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxBbHBoYS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtz
IGZvciBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4Lmdsb2Jh
bEFscGhhOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgb2xkLCAi
Y3R4Lmdsb2JhbEFscGhhIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24uaHRtbAppbmRleCA1
YzUxMmZiZGRhMC4uMzYwOTA1ZDI2YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxDb21wb3NpdGVPcGVy
YXRpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b247CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biwgb2xkLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJvbGQiKTsKIGN0eC5yZXN0
b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24ud29ya2VyLmpzCmluZGV4IGUwNmM5OTQ2MmJjLi5iOGE5NzBkZjczOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb247CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgb2xkLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRt
bAppbmRleCBhMGUyNDU3NDM2YS4uNjBjMjQ4MmE0MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3Jl
LmxpbmVDYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgbGluZUNhcDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIGxpbmVDYXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5s
aW5lQ2FwOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCBvbGQsICJjdHgu
bGluZUNhcCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVD
YXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
bGluZUNhcC53b3JrZXIuanMKaW5kZXggZmE5Njc3NDNhMDIuLjkwODJiMDJkNjlhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5s
aW5lQ2FwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3IgbGluZUNhcCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4Lmxp
bmVDYXA7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsIG9sZCwgImN0eC5s
aW5lQ2FwIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpv
aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVK
b2luLmh0bWwKaW5kZXggNzVjOGE5NGM2MDcuLjM0NzQzNGFjYjhhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNh
dmVyZXN0b3JlLmxpbmVKb2luPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lSm9pbjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNh
dmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVKb2luIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBA
QCBvbGQgPSBjdHgubGluZUpvaW47CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVK
b2luLCBvbGQsICJjdHgubGluZUpvaW4iLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5saW5lSm9pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53b3JrZXIuanMKaW5kZXggMWE0YTM3N2Y1MDQuLjk5
N2NlODgxNmJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5saW5lSm9pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lSm9pbiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcg
KzMxLDYgQEAgb2xkID0gY3R4LmxpbmVKb2luOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0
eC5saW5lSm9pbiwgb2xkLCAiY3R4LmxpbmVKb2luIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGguaHRtbAppbmRleCA1NjVmYzYzZTM4YS4uZjU0
OTdlNmYzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmxpbmVXaWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLmxpbmVXaWR0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lV2lkdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBs
aW5lV2lkdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5saW5lV2lkdGg7CiBj
dHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgb2xkLCAiY3R4LmxpbmVXaWR0
aCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5l
V2lkdGgud29ya2VyLmpzCmluZGV4IGIwNGQ0YmIwMWIxLi4zYWE4Y2EyMGU3YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5s
aW5lV2lkdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9y
ZSgpIHdvcmtzIGZvciBsaW5lV2lkdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0
eC5saW5lV2lkdGg7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgb2xk
LCAiY3R4LmxpbmVXaWR0aCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLm1pdGVyTGltaXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLm1pdGVyTGltaXQuaHRtbAppbmRleCAyMTczMzI1ZTI0OC4uZWM4NmM4MjZhYWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVy
TGltaXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5taXRlckxpbWl0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2
ZXJlc3RvcmUubWl0ZXJMaW1pdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3IgbWl0ZXJMaW1pdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIG1pdGVyTGlt
aXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5taXRlckxpbWl0OwogY3R4LnNh
dmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCBvbGQsICJjdHgubWl0ZXJMaW1pdCIs
ICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJM
aW1pdC53b3JrZXIuanMKaW5kZXggMDU5MWE3YjU5N2UuLmExZWFmZDZkMjcyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5t
aXRlckxpbWl0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3Rv
cmUoKSB3b3JrcyBmb3IgbWl0ZXJMaW1pdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0g
Y3R4Lm1pdGVyTGltaXQ7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQs
IG9sZCwgImN0eC5taXRlckxpbWl0IiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUucGF0aC5odG1sCmluZGV4IDJjNDhiOTllZTk2Li4xZWU1ZTVhZGIzYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGguaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2
ZXJlc3RvcmUucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBw
YXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgic2F2ZSgpL3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0
aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5w
YXRoLndvcmtlci5qcwppbmRleCA4MzgzM2U1OTVkYy4uMGRjMmU4YThjY2EgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGgud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGgud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVz
dG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKaW5kZXggMGY0ZmNj
Yzk0ODQuLjE3MGQzMGVjOGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dC
bHVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0JsdXI8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9y
ZSgpIHdvcmtzIGZvciBzaGFkb3dCbHVyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBj
dHguc2hhZG93Qmx1cjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwg
b2xkLCAiY3R4LnNoYWRvd0JsdXIiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dCbHVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXIud29ya2VyLmpzCmluZGV4IGMyNGU2NDM4ZDc5Li43
YWY1Nzk5MjRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0JsdXIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dCbHVyOwogY3R4LnNhdmUoKTsKIF9hc3Nl
cnRTYW1lKGN0eC5zaGFkb3dCbHVyLCBvbGQsICJjdHguc2hhZG93Qmx1ciIsICJvbGQiKTsKIGN0
eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCmluZGV4
IDA4NmJhMzAwM2U2Li45MTA4ZDBkZGJjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5zaGFkb3dDb2xvcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Q29sb3I8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJz
YXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dDb2xvciIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1
LDYgQEAgb2xkID0gY3R4LnNoYWRvd0NvbG9yOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0
eC5zaGFkb3dDb2xvciwgb2xkLCAiY3R4LnNoYWRvd0NvbG9yIiwgIm9sZCIpOwogY3R4LnJlc3Rv
cmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzCmlu
ZGV4IDk0ZTI1YmI5MDhhLi5mZDM1ODNjMzM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Ig
c2hhZG93Q29sb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dDb2xv
cjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsIG9sZCwgImN0eC5z
aGFkb3dDb2xvciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNo
YWRvd09mZnNldFguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnNoYWRvd09mZnNldFguaHRtbAppbmRleCBmMjExYTAzNDhhNS4uMGQzYmY1NjczMDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRv
d09mZnNldFguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zaGFkb3dPZmZzZXRYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2
ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29y
a3MgZm9yIHNoYWRvd09mZnNldFgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5z
aGFkb3dPZmZzZXRYOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRY
LCBvbGQsICJjdHguc2hhZG93T2Zmc2V0WCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKaW5kZXggMzcz
YWZhMDlmNjEuLjhjNTgyMDBhOWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hh
ZG93T2Zmc2V0WCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNoYWRvd09mZnNl
dFg7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgsIG9sZCwgImN0
eC5zaGFkb3dPZmZzZXRYIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc2hhZG93T2Zmc2V0WS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS5odG1sCmluZGV4IDFjMTAxM2I4ODA2Li45ZDZmYjQ4MTlm
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c2hhZG93T2Zmc2V0WS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLnNoYWRvd09mZnNldFkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dPZmZzZXRZPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0g
Y3R4LnNoYWRvd09mZnNldFk7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09m
ZnNldFksIG9sZCwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZLndvcmtlci5qcwppbmRl
eCBmODgzYTkzNWY4Ny4uMjdiMTgwNGUwMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZv
ciBzaGFkb3dPZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguc2hhZG93
T2Zmc2V0WTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwgb2xk
LCAiY3R4LnNoYWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zdGFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc3RhY2suaHRtbAppbmRleCA2ZTc0ODI1ZjY2OS4uYTQxZGI5ZTQ5OTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2suaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc3RhY2s8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2s8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNr
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
c2F2ZSgpL3Jlc3RvcmUoKSBjYW4gYmUgbmVzdGVkIGFzIGEgc3RhY2siKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3
ICszMCw2IEBAIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAyLCAi
Y3R4LmxpbmVXaWR0aCIsICIyIik7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmxp
bmVXaWR0aCwgMSwgImN0eC5saW5lV2lkdGgiLCAiMSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFj
ay53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dGFjay53b3JrZXIuanMKaW5kZXggNWEwZjc0YjhhYjkuLmM0YWIzODhlNjJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2su
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGNhbiBi
ZSBuZXN0ZWQgYXMgYSBzdGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnJlc3RvcmUo
KTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDIsICJjdHgubGluZVdpZHRoIiwgIjIiKTsK
IGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLCAiY3R4LmxpbmVX
aWR0aCIsICIxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbAppbmRleCA0
MDk3YWU5ZWUwYy4uOTU1MzE3N2Q0YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0
YWNrZGVwdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25h
Ymx5IGxpbWl0ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFi
bHkgbGltaXRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgZm9yICh2YXIgaSA9IGxpbWl0LTE7
IGkgPiAwOyAtLWkpCiAgICAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgaSwgImN0eC5saW5l
V2lkdGgiLCAiaSIpOwogICAgIGN0eC5yZXN0b3JlKCk7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0
YWNrZGVwdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc3RhY2tkZXB0aC53b3JrZXIuanMKaW5kZXggNThhMjhlMGVjODguLjY3YWU2MmRhYzgx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dGFja2RlcHRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zdGFja2RlcHRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
c2F2ZSgpL3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5IGxpbWl0ZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGZvciAodmFyIGkgPSBsaW1pdC0xOyBpID4gMDsgLS1p
KQogICAgIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIGksICJjdHgubGluZVdpZHRoIiwgImki
KTsKICAgICBjdHgucmVzdG9yZSgpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5
bGUuaHRtbAppbmRleCAxM2MwYzlmODY1Yy4uMDliOTJiYjc4ZDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ry
b2tlU3R5bGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IHN0cm9rZVN0eWxlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc3Ryb2tlU3R5bGUiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zdHJva2VTdHlsZTsKIGN0eC5zYXZlKCk7CiBf
YXNzZXJ0U2FtZShjdHguc3Ryb2tlU3R5bGUsIG9sZCwgImN0eC5zdHJva2VTdHlsZSIsICJvbGQi
KTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxl
Lndvcmtlci5qcwppbmRleCAxZjE0OWVkOTlkYy4uMjRjNDdmN2IwYzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJv
a2VTdHlsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIHN0cm9rZVN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBj
dHguc3Ryb2tlU3R5bGU7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxl
LCBvbGQsICJjdHguc3Ryb2tlU3R5bGUiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbAppbmRleCA3ODVjMTI4YzI0OS4u
YmExYWFiZDk0MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNm
b3JtYXRpb248L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb248L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY3VycmVudCB0cmFu
c2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhlIGN1cnJlbnQgdHJh
bnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgucmVzdG9yZSgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgtMjAwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5z
Zm9ybWF0aW9uLndvcmtlci5qcwppbmRleCBlNWNlNDVlM2NkZi4uMjI0MDM5ZTY5OGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9y
bWF0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS50cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRy
aXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5yZXN0b3JlKCk7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KC0yMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cuaHRtbAppbmRleCA0NmFhMjllNzI2
OS4uMmRhYjZlOGM3MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3c8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5y
ZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicmVzdG9yZSgpIHdpdGgg
YW4gZW1wdHkgc3RhY2sgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKQogY3R4LmxpbmVXaWR0aCA9IDAuNTsKIGN0eC5yZXN0
b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAwLjUsICJjdHgubGluZVdpZHRoIiwg
IjAuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcwppbmRl
eCAxNTBhMzFjZjA1Mi4uZjM4YTk1YzRmMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicmVzdG9yZSgpIHdpdGggYW4gZW1wdHkgc3RhY2sgaGFz
IG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCAx
NjsgKytpKQogY3R4LmxpbmVXaWR0aCA9IDAuNTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZVdpZHRoLCAwLjUsICJjdHgubGluZVdpZHRoIiwgIjAuNSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFz
LnJlYWRvbmx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRv
bmx5Lmh0bWwKaW5kZXggMTdhOTg2YzIzMzMuLmFhZWQ0MDEzNmIxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWFkb25seS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jYW52YXMucmVhZG9ubHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY2FudmFzLnJlYWRvbmx5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jYW52YXMgaXMgcmVhZG9u
bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJjYW52YXMgaXMgcmVhZG9ubHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIHZhciBkID0gY3R4
LmNhbnZhczsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMiwgZCwgIm9mZnNjcmVl
bkNhbnZhczIiLCAiZCIpOwogY3R4LmNhbnZhcyA9IG9mZnNjcmVlbkNhbnZhczI7CiBfYXNzZXJ0
U2FtZShjdHguY2FudmFzLCBkLCAiY3R4LmNhbnZhcyIsICJkIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9u
bHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWFkb25s
eS53b3JrZXIuanMKaW5kZXggZmRkOTlmODZlYjcuLmQ5OTFiMTkyOGExIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIGlzIHJlYWRvbmx5Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCB2YXIgZCA9IGN0eC5jYW52YXM7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVl
bkNhbnZhczIsIGQsICJvZmZzY3JlZW5DYW52YXMyIiwgImQiKTsKIGN0eC5jYW52YXMgPSBvZmZz
Y3JlZW5DYW52YXMyOwogX2Fzc2VydFNhbWUoY3R4LmNhbnZhcywgZCwgImN0eC5jYW52YXMiLCAi
ZCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
LzJkLmNhbnZhcy5yZWZlcmVuY2UuaHRtbAppbmRleCAxZGI2NDA5NDliMC4uNDU4ZDM0OWQ0Nzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2Fu
dmFzLnJlZmVyZW5jZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jYW52YXMucmVmZXJlbmNlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5jYW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhczwvcD4KQEAgLTExLDEzICsxMSwx
NiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjYW52YXMgcmVmZXJzIGJhY2sg
dG8gaXRzIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmNhbnZhcywgb2Zmc2NyZWVuQ2FudmFzLCAiY3R4
LmNhbnZhcyIsICJvZmZzY3JlZW5DYW52YXMiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2Vy
LmpzCmluZGV4IGZmMjY2NmJkM2RhLi4zZjVmYmUyNjliZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLndvcmtlci5qcwpAQCAtNCwx
NiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNhbnZhcyByZWZlcnMgYmFjayB0byBpdHMgY2FudmFzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0
U2FtZShjdHguY2FudmFzLCBvZmZzY3JlZW5DYW52YXMsICJjdHguY2FudmFzIiwgIm9mZnNjcmVl
bkNhbnZhcyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy5odG1sCmluZGV4IDYwMTFmMjA1ZWQxLi43ODc2
NWZhYjgzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuZXhpc3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuZXhpc3RzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdldGNvbnRleHQuZXhpc3RzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXhpc3RzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpcyBpbXBsZW1lbnRlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSAyRCBjb250
ZXh0IGlzIGltcGxlbWVudGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVu
Q2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250
ZXh0KCcyZCcpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIuanMKaW5k
ZXggYmFlODA4MGRkNzkuLmY2MWNhYjgzMmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlRoZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQs
NyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIF9h
c3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBudWxsLCAi
b2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuZXh0cmFhcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4
dC5leHRyYWFyZ3MuaHRtbAppbmRleCAyNGE2OGU0OTE0ZC4uZWEyMDlkY2QxMTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4dHJhYXJncy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4dHJhYXJncy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5nZXRj
b250ZXh0LmV4dHJhYXJnczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5nZXRjb250ZXh0LmV4dHJhYXJnczwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+VGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3Vt
ZW50czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlRoZSAyRCBjb250ZXh0IGlnbm9yZXMgZXh0cmEgZ2V0Q29udGV4dCBhcmd1bWVudHMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogX2Fzc2VydERpZmZlcmVudChvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJk
JywgZmFsc2UsIHt9LCBbXSwgMSwgIjIiKSwgbnVsbCwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgnMmQnLCBmYWxzZSwge30sIFtdLCAxLCBcIjJcIikiLCAibnVsbCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29u
dGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuZXh0cmFhcmdzLndvcmtlci5qcwppbmRleCA5MzNhYTI0OWQ2My4uYzc1MTc2MGFm
ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4
dHJhYXJncy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNv
bnRleHQuZXh0cmFhcmdzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiVGhlIDJE
IGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3VtZW50cyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0
LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBf
YXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnLCBmYWxzZSwg
e30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcs
IGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLmh0
bWwKaW5kZXggOGE5NDg0NzI0NTUuLjZiNjE4OGJmYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ2V0Y29udGV4dC5zaGFyZWQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZ2V0Y29udGV4dC5zaGFyZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldENvbnRleHQoJzJk
JykgcmV0dXJucyBvYmplY3RzIHdoaWNoIHNoYXJlIGNhbnZhcyBzdGF0ZTwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQoJzJk
JykgcmV0dXJucyBvYmplY3RzIHdoaWNoIHNoYXJlIGNhbnZhcyBzdGF0ZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eDIuZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5nZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMKaW5kZXggYzNlYzY2NDdkYTYuLjUzY2FiNjI5
OTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5z
aGFyZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250
ZXh0LnNoYXJlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQo
JzJkJykgcmV0dXJucyBvYmplY3RzIHdoaWNoIHNoYXJlIGNhbnZhcyBzdGF0ZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eDIuZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
LzJkLmdldGNvbnRleHQudW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQu
Z2V0Y29udGV4dC51bmlxdWUuaHRtbAppbmRleCA4MTI4YzZlYTlkNi4uOTEzNzk1ODMyZGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5nZXRj
b250ZXh0LnVuaXF1ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5nZXRjb250ZXh0LnVuaXF1ZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+Z2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIHRoZSBzYW1lIG9iamVjdDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQo
JzJkJykgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRl
eHQoJzJkJyksICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykiLCAib2Zmc2NyZWVu
Q2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUud29ya2Vy
LmpzCmluZGV4IDNlNGQ2YzQ3MzIxLi4zYjMxMTUyNmYwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJnZXRDb250ZXh0KCcyZCcpIHJldHVybnMgdGhlIHNhbWUgb2Jq
ZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgn
MmQnKSwgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCAib2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCcyZCcpIiwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbAppbmRleCBkZmI3YjMwMzA3Ni4uYWU4
ZGQ2OTIxNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFy
Z3VtZW50cy5taXNzaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRl
eHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogY29udGV4dC5hcmd1bWVudHMubWlzc2luZzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LmFy
Z3VtZW50cy5taXNzaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsy
Miw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdl
dENvbnRleHQoKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLndvcmtlci5q
cwppbmRleCA0NjdiNzhiMGE5My4uOWRiZDk3Yzg2MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sCmluZGV4IGU1NzliM2E3MWY4Li41NjQzMWUy
ZTRmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNl
bnNpdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2Vz
ZW5zaXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogY29udGV4dC5jYXNlc2Vuc2l0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQuY2FzZXNlbnNpdGl2ZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4dCBuYW1lICIyRCIgaXMgdW5yZWNvZ25pc2VkOyBtYXRj
aGluZyBpcyBjYXNlIHNlbnNpdGl2ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJEXCIgaXMgdW5yZWNvZ25pc2Vk
OyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgn
MkQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMKaW5kZXggMDJhYTMy
ZmE5NjkuLmI0MWMxZjc2N2Y1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiQ29udGV4dCBuYW1lIFwiMkRcIiBpcyB1bnJlY29nbmlzZWQ7IG1hdGNoaW5nIGlzIGNh
c2Ugc2Vuc2l0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyRCcpOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRl
eHQuZW1wdHlzdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVt
cHR5c3RyaW5nLmh0bWwKaW5kZXggZGMwNTc1MDhjMmMuLjkyZjM3NTA2ZWFhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQuZW1wdHlzdHJp
bmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+Y29udGV4dC5lbXB0eXN0cmluZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0Q29u
dGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGw8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRDb250ZXh0IHdpdGggZW1wdHkg
c3RyaW5nIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiIik7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMKaW5kZXggZWEzMDhjNTUxOTkuLjU0NDA2YmI1
YmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0
cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuZW1w
dHlzdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRDb250ZXh0IHdp
dGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgi
Iik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRtbAppbmRleCA4OWM5
ZmEzZWIzOC4uOGU4NDY3MTRmYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogY29udGV4dC51bnJlY29nbmlzZWQuYmFk
bmFtZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT5jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5nZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQgbmFtZSByZXR1cm5zIG51
bGw8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJnZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQgbmFtZSByZXR1cm5zIG51bGwi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJ1RoaXMgaXMgbm90IGFuIGltcGxlbWVudGVkIGNv
bnRleHQgaW4gYW55IHJlYWwgYnJvd3NlcicpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJh
ZG5hbWUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNv
Z25pc2VkLmJhZG5hbWUud29ya2VyLmpzCmluZGV4IDg3ZmZkY2QyNzNiLi44NTVmOTk3MTE4YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2Vk
LmJhZG5hbWUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LnVucmVjb2duaXNlZC5iYWRuYW1lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Z2V0Q29udGV4dCB3aXRoIHVucmVjb2duaXNlZCBjb250ZXh0IG5hbWUgcmV0dXJucyBudWxsIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlzIG5vdCBhbiBpbXBsZW1lbnRlZCBjb250
ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRz
dWZmaXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNl
ZC5iYWRzdWZmaXguaHRtbAppbmRleCA0ODA2MTU2MWJmZC4uNTUxMWM0ZjIxZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZm
aXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQuYmFkc3VmZml4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IGNvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LnVucmVj
b2duaXNlZC5iYWRzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRleHQgbmFtZSAiMmQi
IHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1lIFwiMmRcIiBwbHVzIGEg
c3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmQjIik7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXgud29ya2VyLmpz
CmluZGV4IDEzODMzZjkxMDJkLi5jNTZlYTdlYjYxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZp
eC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJkXCIg
cGx1cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQo
IjJkIyIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXguaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lmh0bWwK
aW5kZXggOGJmOThkNDEwNDcuLmI4NjYwYWU3ZmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQu
dW5yZWNvZ25pc2VkLm51bGxzdWZmaXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1
ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4dCBuYW1lICIyZCIgcGx1cyBhICJcMCIg
c3VmZml4IGlzIHVucmVjb2duaXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJkXCIgcGx1cyBhIFwiXFwwXCIg
c3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmRcMCIp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXgud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXgud29ya2Vy
LmpzCmluZGV4IGZjNjc3ZjgzZDgyLi5lZmU0NWI5MTk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXgud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5udWxs
c3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1lIFwi
MmRcIiBwbHVzIGEgXCJcXDBcIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQs
NyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCIyZFwwIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNv
ZGUuaHRtbAppbmRleCBjNjU3Yzg5NmVlNC4uODlmMjY1NWQ1NjMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogY29udGV4
dC51bnJlY29nbmlzZWQudW5pY29kZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LnVucmVjb2duaXNlZC51bmljb2Rl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Db250ZXh0IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBs
aWtlICIyZCIgaXMgdW5yZWNvZ25pc2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1lIHdoaWNoIGtpbmQgb2YgbG9va3Mg
bGlrZSBcIjJkXCIgaXMgdW5yZWNvZ25pc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIy
XHVGRjQ0Iik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS53b3Jr
ZXIuanMKaW5kZXggMzZiZWZkOTRhNDEuLmE1MzMxMTc1NjJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNv
ZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgd2hpY2gg
a2luZCBvZiBsb29rcyBsaWtlIFwiMmRcIiBpcyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3
ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMy
LmdldENvbnRleHQoIjJcdUZGNDQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwKaW5kZXggZjAzM2U0ZDI2MDMu
LjZkZmNkN2EyZjBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5jb2xvdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xv
dXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5p
dGlhbC5jb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5jb2xvdXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPklu
aXRpYWwgc3RhdGUgaXMgdHJhbnNwYXJlbnQgYmxhY2s8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW5pdGlhbCBzdGF0ZSBpcyB0cmFuc3Bh
cmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIy
MCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIud29ya2VyLmpzCmluZGV4IGY4Nzg2MWY3ZjA5
Li4yNDE0NDY1N2Y4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwuY29sb3VyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5jb2xvdXIud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSW5pdGlhbCBzdGF0
ZSBpcyB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAs
IDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUuaHRtbApp
bmRleCAxM2VmMGMxNDBmMS4uZDU0ZDAxYjM4NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuMmRzdGF0ZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5p
bml0aWFsLnJlc2V0LjJkc3RhdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUg
Y2FudmFzIHN0YXRlIHJlc2V0cyAyRCBzdGF0ZSB2YXJpYWJsZXM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZh
cyBzdGF0ZSByZXNldHMgMkQgc3RhdGUgdmFyaWFibGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtODAsNiArODQsNSBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uLCBkZWZhdWx0X3ZhbCwgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24iLCAiZGVmYXVsdF92YWwiKTsKIAogdC5kb25lKCk7Ci0KIH0pOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUu
d29ya2VyLmpzCmluZGV4IDdlYWI3ZmJiYTFlLi43ZmYwYTBjYTlkYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJl
c2V0cyAyRCBzdGF0ZSB2YXJpYWJsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC03Niw2ICs4MCw1IEBAIG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9IDEwMDsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24sIGRlZmF1bHRfdmFsLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJkZWZh
dWx0X3ZhbCIpOwogCiB0LmRvbmUoKTsKLQogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLmh0bWwKaW5kZXggMDc2YjNlODlkMTUu
LmI1MzZlOGNlZDhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5jbGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuY2xpcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiBpbml0aWFsLnJlc2V0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC5jbGlwPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5SZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJl
bnQgY2xpcCByZWdpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJl
bnQgY2xpcCByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwyNTUsMCwy
NTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAud29ya2VyLmpz
CmluZGV4IDgzYTFhNjhmYjFiLi5jNmUwNmNhMGQwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVu
dCBjbGlwIHJlZ2lvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndp
ZHRoID0gMTAwOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1
NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lmh0bWwK
aW5kZXggM2I2ZWQwMTNmZmMuLjQ1ZmZiNjk3NGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+aW5pdGlhbC5yZXNldC5kaWZmZXJlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNoYW5n
aW5nIHNpemUgcmVzZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVudCBibGFjazwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNoYW5naW5nIHNpemUg
cmVzZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyMCwyMCwgMjU1LDAsMCwyNTUsICIyMCwyMCIsICIyNTUsMCwwLDI1NSIpOwogb2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoID0gNTA7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwy
MCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZl
cmVudC53b3JrZXIuanMKaW5kZXggOGJmNTc4NDlkNzguLjIwNmJhNjcyZmVkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVu
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNoYW5naW5nIHNpemUgcmVzZXRz
IGNhbnZhcyB0byB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
MCwyMCwgMjU1LDAsMCwyNTUsICIyMCwyMCIsICIyNTUsMCwwLDI1NSIpOwogb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID0gNTA7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCww
LDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lmh0bWwKaW5k
ZXggYjAzMTg5MDFjODguLjFkY2U4ZGFiZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuZ3JhZGllbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
aW5pdGlhbC5yZXNldC5ncmFkaWVudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRo
ZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3Rp
bmcgZ3JhZGllbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5q
cwppbmRleCA3MGEzYzk5NzU4NS4uOTdiMGIxYTVjY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVudC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90
IGludmFsaWRhdGUgYW55IGV4aXN0aW5nIGdyYWRpZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYg
QEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRo
Lmh0bWwKaW5kZXggZTRkZTEzMzg4NGIuLmI5YzRhYjU3MTc3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LnBhdGg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5p
dGlhbC5yZXNldC5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNldHRpbmcgdGhlIGNhbnZh
cyBzdGF0ZSByZXNldHMgdGhlIGN1cnJlbnQgcGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRl
IHJlc2V0cyB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAi
LCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdGgud29ya2VyLmpzCmluZGV4IGEwNTEwZjZm
ZTAxLi4yNGU3ZDNkMDFkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJl
c2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTgsNyArMjIsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0
ZXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJu
Lmh0bWwKaW5kZXggNjQ2YjM5OWE4MjUuLmE4YTRiNzY5ZTI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0dGVybi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LnBhdHRlcm48
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+aW5pdGlhbC5yZXNldC5wYXR0ZXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNldHRp
bmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0
ZXJuczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4
aXN0aW5nIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gcDsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0dGVybi53b3JrZXIu
anMKaW5kZXggNTFiMWRlYTk3ZDAuLjA5YzNkNzU0MGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3Qg
aW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBwOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQu
c2FtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuc2FtZS5o
dG1sCmluZGV4IDBhMmVkZjRiNmQ3Li4zNmMzZmVhMGYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuc2FtZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5zYW1lPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRp
YWwucmVzZXQuc2FtZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBzaXplIChub3QgY2hh
bmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGlu
ZyBzaXplIChub3QgY2hhbmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFy
ZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwg
IjIwLDIwIiwgIjI1NSwwLDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2luaXRpYWwucmVzZXQuc2FtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLndvcmtlci5qcwppbmRleCBkZWRiYzU1MTUwOC4u
Y2MyMDJiNDg1YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFs
LnJlc2V0LnNhbWUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLnJlc2V0LnNhbWUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5n
IHNpemUgKG5vdCBjaGFuZ2luZyB0aGUgdmFsdWUpIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJl
bnQgYmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAsMjU1LCAi
MjAsMjAiLCAiMjU1LDAsMCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCww
LDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS5odG1sCmluZGV4IDM0NjI4M2ZkMTM5Li5h
MWI1MmU3ZGIwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQudHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQudHJhbnNmb3JtLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQudHJhbnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQu
dHJhbnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0
ZSByZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBj
YW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4IGYy
NDg3ZmJmN2I5Li40YmM0NWQwMDM2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJl
bnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAs
IDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5j
b21taXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29t
bWl0Lmh0bWwKaW5kZXggZmQ4ZWE1MDkzNGMuLmNjZTA5NzYwZDBjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0Lmh0bWwKQEAgLTEs
NyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy8jb2Zmc2NyZWVuY29udGV4dDJkLWNvbW1pdCI+CiA8c2NyaXB0PgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1p
dC53Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1p
dC53Lmh0bWwKaW5kZXggNzAxMjA5Nzg3MjMuLjkwZGUwNzg2ZTVjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1sCkBA
IC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvI29mZnNjcmVlbmNvbnRleHQyZC1jb21taXQiPgogCiA8c2NyaXB0
IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCmluZGV4
IGMxMzAxMDcxNWU2Li5hMTc2MDc2NGRlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3IuaHRtbApAQCAtMSw3ICsx
LDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzIj4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3Iud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1
Y3Rvci53b3JrZXIuanMKaW5kZXggN2M3NzNlMDk0ZGUuLjI4NWU0ZTFkOTQ4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNv
bnN0cnVjdG9yLndvcmtlci5qcwpAQCAtMSw3ICsxLDcgQEAKIC8vIHNwZWMgbGluazogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcwogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0MSA9IGFzeW5jX3Rlc3QoIlRlc3QgdGhhdCBjYWxs
aW5nIE9mZnNjcmVlbkNhbnZhcydzIGNvbnN0cnVjdG9yIGdlbmVyYXRlcyBjb3JyZWN0IHdpZHRo
IGFuZCBoZWlnaHQuIik7CiB0MS5zdGVwKGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNvbnRleHQuaHRtbAppbmRl
eCA2NWY2MzkxZDM1Ny4uN2FhYTBlNmMzNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC5odG1sCkBAIC0xLDcgKzEs
NyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMtZ2V0Y29udGV4dCI+CiA8c2NyaXB0PgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNv
bnRleHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZh
cy5nZXRjb250ZXh0Lndvcmtlci5qcwppbmRleCAwMDhlMDRlNzUwZS4uY2VkNDEyZmI4OTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29u
dGV4dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNh
bnZhcy5nZXRjb250ZXh0Lndvcmtlci5qcwpAQCAtMSw3ICsxLDcgQEAKIC8vIHNwZWMgbGluazog
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250
ZXh0CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdGVzdChmdW5jdGlvbigpIHsK
ICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxLCAxKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXpl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5o
dG1sCmluZGV4IDU3NzAzMDk5MjVjLi4wOTIyNzI3YzYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5yZXNpemUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5odG1sCkBAIC0yLDcgKzIs
NyBAQAogPHRpdGxlPlRlc3QgcmVzaXppbmcgYW4gT2Zmc2NyZWVuQ2FudmFzIHdpdGggYSAyZCBj
b250ZXh0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIDxib2R5PjwvYm9keT4KIDxzY3JpcHQ+CiB0ZXN0KGZ1bmN0aW9uKCkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50
by5pbWFnZWJpdG1hcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNh
bnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC5odG1sCmluZGV4IDM2ZmVmNmY0OThmLi4zMTE4
N2M2NGUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNh
bnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAuaHRtbApAQCAt
MSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzLXRyYW5zZmVydG9pbWFnZWJpdG1h
cCI+CiAKIDxzY3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyLnRv
LmltYWdlYml0bWFwLncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5j
YW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAudy5odG1sCmluZGV4IGMxZmFlY2I4NTNmLi41
YWNhZDdkMGMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVl
bmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0
bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy10cmFuc2ZlcnRvaW1h
Z2ViaXRtYXAiPgogCiA8c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
b2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbAppbmRleCAy
ZWFjZjNmMjIwMy4uYTEzZTk4OWNmY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250
cm9sLnRvLm9mZnNjcmVlbi5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1jYW52YXMtdHJh
bnNmZXJjb250cm9sdG9vZmZzY3JlZW4iPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zm
c2NyZWVuLncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMu
dHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0bWwKaW5kZXggZWM4ZDA1YTRiYTMuLjg2
MzdjM2Y3MTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVu
Y2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4udy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNj
cmVlbi53Lmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLWNhbnZhcy10cmFuc2ZlcmNvbnRy
b2x0b29mZnNjcmVlbiI+CiAKIDxzY3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtl
ciI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFz
LnRyYW5zZmVycmFibGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5j
YW52YXMudHJhbnNmZXJyYWJsZS5odG1sCmluZGV4IGYzMjMwOWZjMWJiLi5iYzJhYzNhYWUwNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2ZlcnJhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNh
bnZhcy50cmFuc2ZlcnJhYmxlLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jb2Zmc2NyZWVuY2Fu
dmFzIj4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJy
YWJsZS53Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRy
YW5zZmVycmFibGUudy5odG1sCmluZGV4IDgxMzI5MGFkYWQxLi5jM2YxYjExZjA2OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJh
YmxlLncuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFz
LnRyYW5zZmVycmFibGUudy5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI29mZnNjcmVlbmNhbnZh
cyI+CiAKIDxzY3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC5odG1s
CmluZGV4IGI1ZmEzYzBmMTE1Li5kYTE5OTdjZmNjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5kZWZhdWx0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPnNpemUuYXR0cmlidXRlcy5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5EZWZh
dWx0IHdpZHRoL2hlaWdodCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG1pc3Npbmc8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJEZWZhdWx0IHdpZHRo
L2hlaWdodCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG1pc3NpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgi
LCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1MCwgIm9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53
b3JrZXIuanMKaW5kZXggNzBiYjNhMmM0Y2UuLjAyMDg4NWM5NzExIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgd2lkdGgvaGVpZ2h0IHdoZW4g
YXR0cmlidXRlcyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuaHRtbAppbmRleCBjNjcyOGNkMDY5Zi4uZTRh
Zjk2Mjg5NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMuaWRsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5pZGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogc2l6ZS5hdHRyaWJ1dGVzLmlkbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMuaWRsPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5HZXR0aW5nL3NldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
R2V0dGluZy9zZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMy
LDcgKzM2LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gIjQwMHgiOwogb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9ICJmb28iOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAw
LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5pZGwuc2V0Lnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLmh0bWwKaW5kZXggMzRiY2VmM2QyOTQuLmIwM2FjNjNh
N2Y3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LmlkbC5zZXQuemVyby5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMuaWRsLnNldC56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm88L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5h
dHRyaWJ1dGVzLmlkbC5zZXQuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyB3aWR0
aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMgdG8gMDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRy
aWJ1dGVzIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0
aCA9IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIs
ICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcwpp
bmRleCBkMzIxMDk1YjQ5Ni4uZjcwYjQ5N2RmYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBh
dHRyaWJ1dGVzIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcwppbmRleCBkYzc5ZjAxNzU0
MC4uNzllOTUzMGY4OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLmlkbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkdl
dHRpbmcvc2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3
ICszMiw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICI0MDB4IjsKIG9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQgPSAiZm9vIjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwg
Im9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLmh0bWwKaW5kZXggYjZjYTUzNDI2YTUuLjc4ZjIxYWEz
MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmRlY2ltYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAuOTk5
JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwLjk5OSc7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2lt
YWwud29ya2VyLmpzCmluZGV4IDEzNGVlMzk1ZTRjLi5lOWUxYzUyODYzOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmRlY2ltYWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9m
IG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gJzEwMC45OTknOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAu
OTk5JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVu
Q2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbS5odG1sCmluZGV4IGRkMjQ4ZjNhMWFkLi4wYmJjNTg4ODE3NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5lbS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0u
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmVtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5lbTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9m
IG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gJzEwMGVtJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwZW0n
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAx
MDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UuZW0ud29ya2VyLmpzCmluZGV4IDc1M2RiOWExNWUxLi5lZmE4OGYwZjQzNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5l
bS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Yg
bm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSAnMTAwZW0nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDBlbSc7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEw
MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZW1wdHkuaHRtbAppbmRleCA5MTM0ZWMwYTkxOS4uNmI0MDNlNmU1NGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW1wdHku
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IHNpemUuYXR0cmlidXRlcy5wYXJzZS5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
ZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVn
ZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICcnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5D
YW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcwppbmRleCA5NDBhODlhMDI1NS4uNzMzN2VlNDE5
MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
Jyc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmV4cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5leHAuaHRtbAppbmRleCAwNjExMDgwNTc4Zi4uNDQ1ZDViYTYxZDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmV4cDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnMTAwZTEnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDBl
MSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMDAuMCwgIm9mZnNjcmVl
bkNhbnZhcy53aWR0aCIsICIxMDAwLjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwMC4wIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcwppbmRleCAxNzMwMGY1NTZiNi4u
Y2Y1NmVhYzZiM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyAr
MjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwZTEnOwogb2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCA9ICcxMDBlMSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEw
MDAuMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAwLjAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAi
MTAwMC4wIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCmluZGV4IGZlZDg2ZDk2
YzViLi5kYjdmMzIxN2RlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNp
emUuYXR0cmlidXRlcy5wYXJzZS5oZXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Yg
bm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcweDEwMCc7CiBv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzB4MTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy53aWR0aCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjI1NiIpOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCIsICIyNTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpzCmlu
ZGV4IDc2Yjk3NjNlNzE0Li4wYzNkOWI5MjQ0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcweDEwMCc7
CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzB4MTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjI1NiIpOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICIyNTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsuaHRtbAppbmRleCA2
YTI5ODg3MThjOC4uMGE5NTM0MjhiNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuanVu
azwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuazwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
JyMhPyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyMhPyc7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLndvcmtl
ci5qcwppbmRleCA5NjMwMWUyZThhNi4uYzU2ZTc2ZDExMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUg
aW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9
ICcjIT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcjIT8nOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1MCwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1sCmlu
ZGV4IGM0OTgxYWEwY2ExLi5kNWFiODAwZjg5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLm1pbnVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5taW51czwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1u
ZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFz
LndpZHRoID0gJy0xMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICctMTAwJzsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRo
IiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5taW51cy53b3JrZXIuanMKaW5kZXggODJhNGRlNDdkMTguLmY1YzhlZTI3MzdiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVz
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm1pbnVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBv
ZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9ICctMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnLTEwMCc7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
Lm9jdGFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLm9jdGFsLmh0bWwKaW5kZXggZmQ2ZWRkNTdlNDguLmZmZTdkZjM5MDcxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5v
Y3RhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBz
aXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9j
dGFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vy
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID0gJzAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZz
Y3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwud29ya2VyLmpzCmluZGV4IDBjM2JiYzE3NWYwLi42
ZTBhN2IwZjgwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYs
NyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMDEwMCc7CiBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gJzAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAx
MDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRtbAppbmRleCBjY2ZhNDFk
ZjYzNS4uNDI0Yzc3ZWNkMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
Lm9ubHlzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Yg
bm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSAnICAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcgICc7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0
aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlz
cGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMKaW5kZXggZWM1MjYxOWNkZDUuLjE0ODYwYmRjNmM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLm9ubHlzcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcg
KzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyAgJzsKIG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPSAnICAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQuaHRtbAppbmRleCAxNDQ2MzU2MGM1MC4uNGU5OGQ3
ODcxY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UucGVyY2VudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5z
aXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2lu
ZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vy
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzEwMCUn
Owogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAlJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC53
b3JrZXIuanMKaW5kZXggODNmZGE3Yjk0YTMuLjZlMmI5OTU0MzNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
cGVyY2VudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9u
LW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52
YXMud2lkdGggPSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCUnOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lk
dGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBs
dXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
cGx1cy5odG1sCmluZGV4IGM0YmMwMjk5NTkwLi45OWIzMTU1ZTg1OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0
cmlidXRlcy5wYXJzZS5wbHVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnKzEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJysxMDAn
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAx
MDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnBsdXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcwppbmRleCBkZWUxMDQxMjgwOS4uZGE3MTY2NDFmZjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UucGx1cy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcrMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAn
KzEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVl
bkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2Uuc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2Uuc3BhY2UuaHRtbAppbmRleCAxYmJmZGVhM2NkZS4uMjAwZjAyOGRjYzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
c3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLnNwYWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMu
cGFyc2Uuc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZl
IGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgIDEwMCc7CiBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gJyAgMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndvcmtlci5qcwppbmRleCBhMGRh
OWNlOGQwMS4uODEyYjI1MDNhZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyAgMTAwJzsKIG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnICAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsu
aHRtbAppbmRleCBmNjhlMGZhOTRjNC4uMzc2OTQ0OGRlM2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFp
bGluZ2p1bmsuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuazwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0
ZXMucGFyc2UudHJhaWxpbmdqdW5rPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5v
bi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwIyE/JzsKIG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwIyE/JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGlu
Z2p1bmsud29ya2VyLmpzCmluZGV4IDhlM2ZkNTY5Zjc0Li4yYjNlMGRiNWEyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGlu
Z2p1bmsud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAjIT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCA9ICcxMDAjIT8nOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAs
ICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5odG1sCmluZGV4IDMwNDZmM2Qw
MTI3Li4wMGVmOWNmNDFkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJz
ZS53aGl0ZXNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnCQwxMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcJDDEw
MCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2Uud2hpdGVzcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzCmluZGV4IDVlNTI2MWQ2MDc2
Li5mNDZiZWIzZjVlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJwkMMTAwJzsK
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnCQwxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuemVyby5odG1sCmluZGV4IDRj
MzU4YzBiYmE3Li4wM2IyMGVlY2QwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJv
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Q
YXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGlu
dGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAn
MCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0Iiwg
IjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuemVyby53b3JrZXIuanMKaW5kZXgg
ZjNkZWI0ODVjYjQuLjI2ZWViOTgyNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuemVyby53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMCc7CiBvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0ID0gJzAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndp
ZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1sCmluZGV4IGIxZmM5YjliODM4
Li4wMDA0OTU4NDQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0
aWRsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2V0dGluZyBJREwgYXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRy
aWJ1dGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2V0dGluZyBJREwgYXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRy
aWJ1dGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAx
MjA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gNjA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMud2lkdGgsIDEyMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMjAiKTsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDYwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCIsICI2MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwud29y
a2VyLmpzCmluZGV4IGViMmE0Mjg4MTE4Li43NTgwMTVmNDNmYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0
LnNldGlkbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgSURMIGF0
dHJpYnV0ZXMgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2
LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTIwOwogb2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCA9IDYwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMjAsICJv
ZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCA2MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNjAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLmh0bWwKaW5kZXggOWZmZGI2Nzcy
NzAuLmU4OGEyNDFlNDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5y
ZWZsZWN0LnNldGlkbHplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVy
bzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0
ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRvIDAg
dXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAw
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNl
dGlkbHplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2VyLmpzCmluZGV4IDg3M2ZjOTQyMmI0Li44M2Zk
ZDYwZDY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMg
SURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNj
cmVlbkNhbnZhcy53aWR0aCA9IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIs
ICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5sYXJnZS5odG1sCmluZGV4IGEyMmMxN2RmYzE0Li40ZmNhZDRhYjUzZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmxhcmdlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUubGFy
Z2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPk5vdCBzdXJlIGhvdyByZWFzb25hYmxlIHRoaXMgaXMsIGJ1dCB0aGUgc3BlYyBk
b2Vzbid0IHNheSB0aGVyZSdzIGFuIHVwcGVyIGxpbWl0IG9uIHRoZSBzaXplLgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSBuOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IG47CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIG4sICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAibiIp
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgbiwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAibiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5sYXJnZS53b3JrZXIuanMKaW5kZXggNzk3ZjRhYjdhMWQuLmMyYTA1ODE2
MDdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2Uud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5Ob3Qgc3VyZSBob3cg
cmVhc29uYWJsZSB0aGlzIGlzLCBidXQgdGhlIHNwZWMgZG9lc24ndCBzYXkgdGhlcmUncyBhbiB1
cHBlciBsaW1pdCBvbiB0aGUgc2l6ZS4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gbjsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSBuOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCBuLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIm4i
KTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIG4sICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIm4iKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rv
b2xzL3RlbXBsYXRlcy55YW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBsYXRlcy55YW1sCmluZGV4IGU2NmYx
N2RlZGQ3Li4xNWQzNzIzOWNkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBsYXRlcy55YW1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90b29scy90ZW1wbGF0ZXMueWFtbApAQCAtMSwxMCArMSwxMCBAQAogdzNjOiB8
CiAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhh
cyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KLSAgICA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6ICUobmFtZSlzPC90aXRsZT4KKyAgICA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6ICUobmFtZSlzPC90aXRsZT4lKHRpbWVvdXQpcwogICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogICAgIDxo
MT4lKG5hbWUpczwvaDE+CiAgICAgPHAgY2xhc3M9ImRlc2MiPiUoZGVzYylzPC9wPgpAQCAtMTIs
MTQgKzEyLDE2IEBAIHczYzogfAogICAgICUobm90ZXMpcwogICAgIDxzY3JpcHQ+CiAgICAgdmFy
IHQgPSBhc3luY190ZXN0KCIlKGVzY2FwZWRfZGVzYylzIik7CisgICAgdmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOworICAgIHZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICAgICAgdGhyb3cgcmVhc29uOworICAgIH0pOwogICAgIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogICAgIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogICAgICUoY29kZSlzCi0gICAgdC5kb25lKCk7Ci0KICAgICB9KTsKICAgICA8L3NjcmlwdD4K
IApAQCAtMzEsMTYgKzMzLDE4IEBAIHczY3dvcmtlcjogfAogICAgIC8vIE5vdGU6JShub3Rlcylz
CiAKICAgICBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci0gICAg
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKKyAgICBpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogICAgIHZhciB0
ID0gYXN5bmNfdGVzdCgiJShlc2NhcGVkX2Rlc2MpcyIpOworICAgIHZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKKyAgICB2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgICAgIHRocm93IHJlYXNvbjsKKyAgICB9KTsKICAgICB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKICAgICB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
ICAgICAlKGNvZGUpcwotICAgIHQuZG9uZSgpOwotCiAgICAgfSk7CiAgICAgZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3Rvb2xzL3Rlc3RzMmQueWFtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZXN0czJkLnlhbWwK
aW5kZXggYWE4MjA3MWZmOGEuLjY2NjI2NjhmMzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVz
dHMyZC55YW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZXN0czJkLnlhbWwKQEAgLTM0LDYgKzM0LDcgQEAK
ICAgICBjdHguc2F2ZSgpOwogICAgIEBhc3NlcnQgY3R4LiUoa2V5KXMgPT09IG9sZDsKICAgICBj
dHgucmVzdG9yZSgpOworICAgIHQuZG9uZSgpOwogICAgICIiIiAlIHsgJ2tleSc6a2V5LCAndmFs
dWUnOnZhbHVlIH0KICAgICAgICAgfSApCiAKQEAgLTUxLDcgKzUyLDcgQEAKICAgICBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAxMDA7CiAgICAgQGFzc2VydCBjdHguJShrZXkpcyA9PT0gZGVmYXVs
dF92YWw7CiAgICAgIiIiICUgeyAna2V5JzprZXksICd2YWx1ZSc6dmFsdWUgfQotICAgICAgICBm
b3Iga2V5LHZhbHVlIGluIHN0YXRlKSwKKyAgICAgICAgZm9yIGtleSx2YWx1ZSBpbiBzdGF0ZSkg
KyAiXG50LmRvbmUoKTsiLAogICAgIH0gKQogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnRyYW5zZm9ybWF0aW9uCkBAIC02Nyw2ICs2OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
dGF0ZS5zYXZlcmVzdG9yZS5jbGlwCiAgIGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0
aGUgY2xpcHBpbmcgcGF0aApAQCAtODIsNiArODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUucGF0aAogICBkZXNjOiBzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBwYXRoCkBAIC05Niw2ICs5OSw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuYml0bWFwCiAgIGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBj
dXJyZW50IGJpdG1hcApAQCAtMTA5LDYgKzExMyw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zdGFjawogICBkZXNjOiBzYXZlKCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBz
dGFjawpAQCAtMTI2LDYgKzEzMSw3IEBACiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAy
OwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAxOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGgK
ICAgZGVzYzogc2F2ZSgpL3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5
IGxpbWl0ZWQKQEAgLTE0NCw2ICsxNTAsNyBAQAogICAgICAgICBAYXNzZXJ0IGN0eC5saW5lV2lk
dGggPT09IGk7CiAgICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgfQorICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdwogICBkZXNjOiByZXN0b3Jl
KCkgd2l0aCBhbiBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0CkBAIC0xNTUsNiArMTYyLDcgQEAK
ICAgICBjdHgubGluZVdpZHRoID0gMC41OwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2Vy
dCBjdHgubGluZVdpZHRoID09PSAwLjU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJh
bnNmb3JtYXRpb24ub3JkZXIKICAgZGVzYzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGlu
IHRoZSByaWdodCBvcmRlcgpAQCAtMTY4LDYgKzE3Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCA1MCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMKICAgZGVzYzogc2NhbGUoKSB3b3JrcwpAQCAtMTgw
LDYgKzE4OSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDEyLjUpOwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDAgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVy
bwogICBkZXNjOiBzY2FsZSgpIHdpdGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3JrcwpAQCAt
MjAxLDYgKzIxMSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZQog
ICBkZXNjOiBzY2FsZSgpIHdpdGggbmVnYXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcwpAQCAtMjIx
LDYgKzIzMiw3IEBACiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UK
ICAgZGVzYzogc2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMgd29ya3MKQEAgLTIzNCw2
ICsyNDYsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEsIDEpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRl
CiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMjQ3LDYg
KzI2MCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
LTEwMCwgLTEwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11
bHRpcGxlCiAgIGRlc2M6IE11bHRpcGxlIHNjYWxlKClzIGNvbWJpbmUKQEAgLTI2MCw2ICsyNzQs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0MCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvCkBAIC0y
NzMsNiArMjg4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5y
YWRpYW5zCiAgIGRlc2M6IHJvdGF0ZSgpIHVzZXMgcmFkaWFucwpAQCAtMjg1LDYgKzMwMSw3IEBA
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTUw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24K
ICAgZGVzYzogcm90YXRlKCkgaXMgY2xvY2t3aXNlCkBAIC0yOTcsNiArMzE0LDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwCiAgIGRlc2M6IHJvdGF0
ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkKQEAgLTMxNCw2ICszMzIs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCwyID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDcgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLndyYXBuZWdhdGl2ZQogICBkZXNjOiByb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2
ZSB2YWx1ZXMgY29ycmVjdGx5CkBAIC0zMjgsNiArMzQ3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMiA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUKICAgZGVz
Yzogcm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzQxLDYgKzM2MSw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwg
LTEwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNp
YwogICBkZXNjOiB0cmFuc2xhdGUoKSB3b3JrcwpAQCAtMzUzLDYgKzM3NCw3IEBACiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUKICAgZGVz
YzogdHJhbnNsYXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzY2LDYgKzM4
OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEw
MCwgLTEwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3Jt
LmlkZW50aXR5CkBAIC0zNzksNiArNDAyLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQKICAgZGVzYzogdHJhbnNmb3JtKCkgd2l0aCBza2V3eSBt
YXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHkKQEAgLTQxMyw2ICs0MzcsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNjEsMTkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAzOSwzMSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDYxLDMxID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0
aXBseQogICBkZXNjOiB0cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0KQEAgLTQyNiw2ICs0
NTEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZp
bml0ZQogICBkZXNjOiB0cmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBA
IC00MzksNiArNDY1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5m
aWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlv
bi5zZXRUcmFuc2Zvcm0uc2tld2VkCkBAIC00NzMsNiArNTAwLDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDYxLDE5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMzksMzEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA2MSwzMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlw
bGUKICAgdGVzdGluZzoKQEAgLTQ4NSw2ICs1MTMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhl
bCA3NSwzNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlCiAgIGRlc2M6IHNldFRyYW5zZm9ybSgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTQ5OCw2ICs1MjcsNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2UKICAgdGVzdGluZzoK
QEAgLTUxMyw2ICs1NDMsNyBAQAogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbEFscGhhID09PSAwOwog
ICAgIGN0eC5nbG9iYWxBbHBoYSA9IDE7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09
IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlu
dmFsaWQKICAgdGVzdGluZzoKQEAgLTUyNiwxMiArNTU3LDE0IEBACiAgICAgQGFzc2VydCBjdHgu
Z2xvYmFsQWxwaGEgPT09IGE7CiAgICAgY3R4Lmdsb2JhbEFscGhhID0gTmFOOwogICAgIEBhc3Nl
cnQgY3R4Lmdsb2JhbEFscGhhID09PSBhOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFs
QWxwaGEgPT09IDEuMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuZmlsbAogICB0ZXN0aW5nOgpAQCAtNTQzLDYgKzU3Niw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMiwyNTMsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlCiAgIHRlc3Rpbmc6CkBAIC01NjMs
NyArNTk3LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAg
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT1+IDIsMjUzLDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMKICAgdGVzdGlu
ZzoKQEAgLTU3OCw2ICs2MTIsNyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2
b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCiAgICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAy
LDI1MywwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW1hZ2VwYXR0ZXJuCiAgIHRlc3Rpbmc6CkBAIC01OTksNyArNjM0LDcgQEAKICAgICAg
ICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0w
IG9wdGltaXNhdGlvbnMKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuY2FudmFzcGF0dGVybgogICB0ZXN0aW5nOgpAQCAtNjE1LDYgKzY1MCw3IEBACiAgICAgY3R4
Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGlt
aXNhdGlvbnMKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PX4gMiwyNTMsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHkKICAgdGVzdGluZzoKQEAgLTYzMCw2ICs2
NjYsNyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTE7CiAgICAgY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1
NSwwLDEzMDsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG1ldGE6IHwKQEAgLTcwMCw2ICs3MzcsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSVzJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5k
b25lKCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCBzcmMsIHRvX3Rlc3QoZXhwZWN0ZWQpKSwKICAg
ICAgICAgICAgIH0gKQogCkBAIC03MjYsNyArNzY0LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChl
eHBlY3RlZCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTc1Niw3ICs3OTQsNyBAQAogICAgICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJyVzJzsKICAgICAgICAgY3R4LmRyYXdJ
bWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAg
ICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkKSksCiAgICAgICAgICAgICB9ICkK
IApAQCAtNzY0LDcgKzgwMiw3IEBACiAgICAgICAgIGZvciBvcCwgRkFfY29kZSwgRkJfY29kZSBp
biBvcHM6CiAgICAgICAgICAgICBpZiBvcCBub3QgaW4gb3BzX3RyYW5zOiBjb250aW51ZQogICAg
ICAgICAgICAgZXhwZWN0ZWQwID0gY2FsY19vdXRwdXQoKDAsMCwwLDAuMCksIGRlc3QsIEZBX2Nv
ZGUsIEZCX2NvZGUpCi0gICAgICAgICAgICB0ZXN0cy5hcHBlbmQoIHsKKyAgICAgICAgICAgIG5l
d190ZXN0ID0gewogICAgICAgICAgICAgICAgICduYW1lJzogJzJkLmNvbXBvc2l0ZS4lcy4lcycg
JSAobmFtZSwgb3ApLAogICAgICAgICAgICAgICAgICdkZXNjJzogJ2ZpbGwoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuJywKICAgICAgICAgICAgICAgICAndGVz
dGluZyc6IFsgJzJkLmNvbXBvc2l0ZS4lcycgJSBvcCBdLApAQCAtNzc2LDggKzgxNCwxMiBAQAog
ICAgIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7
CiAgICAgIiIiICUgKGRlc3QsIG9wLCBzcmMsIHRvX3Rlc3QoZXhwZWN0ZWQwKSksCi0gICAgICAg
ICAgICB9ICkKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIG9wID09ICdkZXN0aW5hdGlv
bi1pbic6CisgICAgICAgICAgICAgIG5ld190ZXN0Wyd0aW1lb3V0J10gPSAnbG9uZycKKyAgICAg
ICAgICAgIHRlc3RzLmFwcGVuZChuZXdfdGVzdCkKIAogICAgIGZvciAobmFtZSwgc3JjLCBkZXN0
KSBpbiBbICgndW5jb3ZlcmVkLmltYWdlJywgKDI1NSwgMjU1LCAwLCAxLjApLCAoMCwgMjU1LCAy
NTUsIDAuNSkpIF06CiAgICAgICAgIGZvciBvcCwgRkFfY29kZSwgRkJfY29kZSBpbiBvcHM6CkBA
IC04MDUsNyArODQ3LDcgQEAKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQw
LCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxNSwxNSA9
PX4gJXMgKy8tIDU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1Owot
ICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBv
cCwgdG9fdGVzdChleHBlY3RlZDApLCB0b190ZXN0KGV4cGVjdGVkMCkpLAogICAgICAgICAgICAg
fSApCiAKQEAgLTgyNCw2ICs4NjYsNyBAQAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OworICAg
IHQuZG9uZSgpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDApKSwKICAg
ICAgICAgICAgIH0gKQogCkBAIC04NTMsNyArODk2LDcgQEAKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7CiAgICAgICAgIGN0
eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+ICVzICsvLSA1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICAg
ICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDApKSwKICAgICAgICAgICAgIH0gKQog
CkBAIC04NzIsNiArOTE1LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKG9wKSwKICAg
ICAgICAgfSApCiAKQEAgLTg4Nyw2ICs5MzEsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gbW9kZXNbaV07CiAgICAgICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9PT0gbW9kZXNbaV07CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkCiAgIHRlc3Rpbmc6CkBAIC04
OTUsNiArOTQwLDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7
CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdub25leGlzdGVudCc7CiAgICAg
QGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlcgogICB0ZXN0aW5n
OgpAQCAtOTAzLDYgKzk0OSw3IEBACiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICd4b3InOwogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGFya2VyJzsKICAg
ICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3ZlcgogICB0ZXN0aW5n
OgpAQCAtOTExLDYgKzk1OCw3IEBACiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICd4b3InOwogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnb3Zlcic7CiAgICAg
QGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyCiAgIHRlc3Rpbmc6
CkBAIC05MTksNiArOTY3LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjbGVhcic7CiAgICAg
QGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAnY2xlYXInOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0CiAgIHRl
c3Rpbmc6CkBAIC05MjcsNiArOTc2LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdoaWdobGln
aHQnOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3Vm
Zml4CiAgIHRlc3Rpbmc6CkBAIC05MzUsNiArOTg1LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdzb3VyY2Utb3ZlclwwJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24uY2FzZXNlbnNpdGl2ZQogICB0ZXN0aW5nOgpAQCAtOTQzLDEyICs5OTQsMTQgQEAKICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdTb3VyY2Utb3Zlcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID09PSAnc291cmNlLW92ZXInOworICAgIHQuZG9uZSgpOwogCiAt
IG1ldGE6IHwKICAgICAjIENvbG91ciBwYXJzaW5nIHRlc3RzCkBAIC0xMDQ5LDYgKzExMDIsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnJXMnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09ICVkLCVkLCVkLCVkOworICAgIHQuZG9u
ZSgpOwogICAgICIiIiAlIChzdHJpbmcsIHIsZyxiLGEpLAogICAgICAgICB9CiAgICAgICAgIHRl
c3RzLmFwcGVuZCh0ZXN0KQpAQCAtMTExMyw2ICsxMTY3LDcgQEAKICAgICB0cnkgeyBjdHguZmls
bFN0eWxlID0gJyVzJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSBzdHJpbmcsCiAgICAgICAgIH0KICAgICAgICAgdGVz
dHMuYXBwZW5kKHRlc3QpCkBAIC0xMTI5LDYgKzExODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICclcyc7CiAgICAgQGFzc2VydCBjdHguZmls
bFN0eWxlID1+IC9eIyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS87IC8vIHRlc3QgdGhhdCBpdCdz
IG5vdCByZWQKKyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSAoc3RyaW5nLCksCiAgICAgICAgIH0K
ICAgICAgICAgdGVzdHMuYXBwZW5kKHRlc3QpCkBAIC0xMTQzLDYgKzExOTksNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSAnaW52YWxpZCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlCiAgIHRlc3Rpbmc6CkBAIC0xMTU0
LDYgKzEyMTEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBudWxsOwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5nZXQuc29saWQKICAgdGVz
dGluZzoKQEAgLTExNjIsNiArMTIyMCw3IEBACiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmYTAnOwogICAgIEBhc3NlcnQgY3R4LmZpbGxTdHlsZSA9PT0gJyNmZmFhMDAnOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50CiAg
IHRlc3Rpbmc6CkBAIC0xMTcwLDYgKzEyMjksNyBAQAogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpJzsKICAgICBAYXNzZXJ0IGN0eC5maWxsU3R5
bGUgPX4gL15yZ2JhXCgyNTUsIDI1NSwgMjU1LCAwXC40XGQrXCkkLzsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50CiAgIHRlc3Rpbmc6CkBAIC0x
MTc4LDE4ICsxMjM4LDIxIEBACiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwwLDAsMCknOwogICAgIEBhc3NlcnQgY3R4LmZpbGxTdHlsZSA9PT0gJ3JnYmEoMCwgMCwgMCwg
MCknOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5kZWZhdWx0CiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5jb2xvdXJzLmRlZmF1bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQg
Y3R4LmZpbGxTdHlsZSA9PT0gJyMwMDAwMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnN0cm9rZVN0eWxlLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbG91cnMuZGVmYXVs
dAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguc3Ryb2tlU3R5bGUgPT09ICcjMDAwMDAwJzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZAog
ICB0ZXN0aW5nOgpAQCAtMTIwMSw2ICsxMjY0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5jb2xvdXIKICAgdGVzdGluZzoKQEAgLTEyMTQsNiArMTI3OCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMTkxLDE5MSw2MywyNTUgKy8tIDM7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMTI3LDEyNywxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4
ZWwgNzUsMjUgPT1+IDYzLDYzLDE5MSwyNTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGEKICAgdGVzdGluZzoKQEAgLTEyMjksNiAr
MTI5NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMTkxLDE5MSw2MywyNTUgKy8t
IDM7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDEyNywxMjcsMjU1ICsvLSAzOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDYzLDYzLDE5MSwyNTUgKy8tIDM7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEKICAg
dGVzdGluZzoKQEAgLTEyNDIsNiArMTMwOCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PX4gMTkwLDE5MCw2NSw2NSArLy0gMzsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjYs
MTI2LDEyOCwxMjggKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gNjIsNjIsMTky
LDE5MiArLy0gMzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5vdXRzaWRlCiAgIHRlc3Rpbmc6CkBAIC0xMjU4LDYgKzEzMjUsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgMjAsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsMjUgPT1+IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9z
aXplLmZpbGwKICAgdGVzdGluZzoKQEAgLTEyNzIsNiArMTM0MCw3IEBACiAgICAgY3R4LnJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDIw
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLnN0cm9rZQogICB0ZXN0aW5nOgpAQCAtMTI5NCw2ICsxMzYzLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDE5LDIxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgMjAsMjEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMSwyMSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS56ZXJvc2l6ZS5maWxsUmVjdAogICB0ZXN0aW5nOgpAQCAtMTMwNyw2ICsxMzc3LDcgQEAK
ICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgQGFzc2VydCBwaXhlbCA0MCwyMCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ry
b2tlUmVjdAogICB0ZXN0aW5nOgpAQCAtMTMyOCw2ICsxMzk5LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDE5LDIxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMSwyMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsCkBA
IC0xMzQyLDYgKzE0MTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTIgPT1+IDE5MSwxOTEs
NjMsMjU1ICsvLSAxMDsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3LDEyNywy
NTUgKy8tIDU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwzNyA9PX4gNjMsNjMsMTkxLDI1NSArLy0g
MTA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVs
dGlwbGUKICAgdGVzdGluZzoKQEAgLTEzNTcsNiArMTQzMCw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMTI3LDI1NSwxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTAw
LDI1ID09fiAwLDI1NSwyNTUsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTUwLDI1ID09
fiAxMjcsMTI3LDI1NSwyNTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcAogICB0ZXN0aW5nOgpAQCAtMTM4OCw2ICsxNDYyLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDEwMSwyNSA9PX4gMjU1LDI1NSwwLDI1NSArLy0gMTY7CiAg
ICAgQGFzc2VydCBwaXhlbCAxNDksMjUgPT1+IDAsMCwyNTUsMjU1ICsvLSAxNjsKICAgICBAYXNz
ZXJ0IHBpeGVsIDE1MSwyNSA9PX4gMjU1LDI1NSwwLDI1NSArLy0gMTY7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIKICAgdGVzdGluZzoK
QEAgLTE0MDksNiArMTQ4NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0MCwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDYwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgODAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuZ3JhZGllbnQuZW1wdHkKICAgdGVzdGluZzoKQEAgLTE0MjAsNiArMTQ5Niw3IEBACiAgICAg
Y3R4LmZpbGxTdHlsZSA9IGc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUKICAgdGVzdGluZzoKQEAgLTE0MzMsNiAr
MTUxMCw3IEBACiAgICAgZy5hZGRDb2xvclN0b3AoMC45LCAnIzBmMCcpOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY29tcGFy
ZQogICB0ZXN0aW5nOgpAQCAtMTQ0Myw2ICsxNTIxLDcgQEAKICAgICBAYXNzZXJ0IGcxICE9PSBn
MjsKICAgICBjdHguZmlsbFN0eWxlID0gZzE7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09
PSBnMTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY3Jvc3Nj
YW52YXMKICAgY29kZTogfApAQCAtMTQ1NSw2ICsxNTM0LDcgQEAKICAgICBjdHguZmlsbFN0eWxl
ID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3Jh
ZGllbnQub2JqZWN0LmludmFsaWRvZmZzZXQKICAgdGVzdGluZzoKQEAgLTE0NjYsNiArMTU0Niw3
IEBACiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKEluZmluaXR5
LCAnIzAwMCcpOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgt
SW5maW5pdHksICcjMDAwJyk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29s
b3JTdG9wKE5hTiwgJyMwMDAnKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVu
dC5vYmplY3QuaW52YWxpZGNvbG91cgogICB0ZXN0aW5nOgpAQCAtMTQ3Nyw2ICsxNTU4LDcgQEAK
ICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsICd1bmRlZmlu
ZWQnKTsKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsIG51
bGwpOwogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0b3AoMCwgdW5k
ZWZpbmVkKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIubm9u
ZmluaXRlCiAgIGRlc2M6IGNyZWF0ZUxpbmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBp
ZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTE0ODQsNiArMTU2Niw3IEBACiAgICAgLSAy
ZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlCiAgIGNvZGU6IHwKICAgICBAbm9uZmluaXRlIEBh
c3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoPDAgSW5maW5p
dHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMQogICBkZXNjOiBM
aW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRl
IHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmcKQEAgLTE1MDEsNiArMTU4NCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9y
bS4yCiAgIGRlc2M6IExpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8g
dGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTUxOSw2ICsx
NjAzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5s
aW5lYXIudHJhbnNmb3JtLjMKICAgZGVzYzogTGluZWFyIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8g
bm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZmZWN0cwpAQCAtMTUzNyw2ICsxNjIyLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwu
bmVnYXRpdmUKICAgZGVzYzogY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhfU0la
RV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBpcyBuZWdhdGl2ZQpAQCAtMTU0Niw2ICsxNjMyLDcgQEAK
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlUmFkaWFsR3JhZGll
bnQoMCwgMCwgLTAuMSwgMCwgMCwgMSk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9F
UlIgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEpOwogICAgIEBh
c3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAw
LCAtMC4xLCAwLCAwLCAtMC4xKTsKKyAgICB0LmRvbmUoKTsKIC0gbmFtZTogMmQuZ3JhZGllbnQu
cmFkaWFsLm5vbmZpbml0ZQogCiAgIGRlc2M6IGNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dz
IFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTE1NTMsNiArMTY0MCw3
IEBACiAgICAgLSAyZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlCiAgIGNvZGU6IHwKICAgICBA
bm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlUmFkaWFsR3JhZGll
bnQoPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+
LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4s
IDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEKICAg
dGVzdGluZzoKQEAgLTE1NzQsNiArMTY2Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMgogICB0ZXN0aW5nOgpAQCAtMTU5NSw2
ICsxNjg0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50
LnJhZGlhbC5pbnNpZGUzCiAgIHRlc3Rpbmc6CkBAIC0xNjE3LDYgKzE3MDcsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxCiAg
IHRlc3Rpbmc6CkBAIC0xNjM4LDYgKzE3MjksNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyCiAgIHRlc3Rpbmc6CkBAIC0xNjU5
LDYgKzE3NTEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGll
bnQucmFkaWFsLm91dHNpZGUzCiAgIHRlc3Rpbmc6CkBAIC0xNjgxLDYgKzE3NzQsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMQog
ICB0ZXN0aW5nOgpAQCAtMTcwMiw2ICsxNzk2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwy
NTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlh
bC50b3VjaDIKICAgdGVzdGluZzoKQEAgLTE3MjUsNiArMTgyMCw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzCiAgIHRlc3Rpbmc6
CkBAIC0xNzQ2LDYgKzE4NDIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsg
QG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10
b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsCiAg
IHRlc3Rpbmc6CkBAIC0xNzY3LDYgKzE4NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1
NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1
NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuYmVoaW5kCiAgIHRlc3Rpbmc6CkBAIC0xNzg4LDYgKzE4ODYsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhl
bCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQKICAgdGVzdGluZzoKQEAgLTE4MDksNiArMTkwOCw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5ib3R0b20KICAgdGVzdGluZzoKQEAgLTE4MzAsNiArMTkzMCw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AKICAgdGVz
dGluZzoKQEAgLTE4NTEsNiArMTk1Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUKICAgdGVzdGluZzoKQEAgLTE4NzIs
NiArMTk3NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96
LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8K
ICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlcgogICB0
ZXN0aW5nOgpAQCAtMTg5Myw2ICsxOTk2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMQogICB0ZXN0aW5nOgpAQCAtMTky
MSw2ICsyMDI1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLnNoYXBlMgogICB0ZXN0aW5nOgpAQCAtMTk0OSw2ICsyMDU0LDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5y
YWRpYWwudHJhbnNmb3JtLjEKICAgZGVzYzogUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFy
ZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5n
CkBAIC0xOTY3LDYgKzIwNzMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMgogICBkZXNjOiBSYWRpYWwgZ3JhZGllbnQg
Y29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0
aW1lIG9mIGZpbGxpbmcKQEAgLTE5ODYsNiArMjA5Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAy
NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zCiAgIGRlc2M6IFJh
ZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5n
IGVmZmVjdHMKQEAgLTIwMDUsNiArMjExMyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0dGVybi5iYXNpYy5pbWFnZQogICB0ZXN0aW5nOgpAQCAtMjAyOSw3ICsy
MTM4LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5iYXNpYy5jYW52YXMKICAgdGVzdGluZzoK
QEAgLTIwNTMsNiArMjE2Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMKICAgdGVzdGluZzoKQEAgLTIwNzMsNiArMjE4Myw3
IEBACiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2Vy
dCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOwogICAgIEBhc3NlcnQgdGhyb3dzIElOVkFM
SURfU1RBVEVfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcp
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0CiAg
IHRlc3Rpbmc6CkBAIC0yMDg5LDI0ICsyMjAwLDI4IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwx
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkCiAgIHRlc3Rpbmc6CiAgICAgLSAy
ZC5wYXR0ZXJuLklETAogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0
eC5jcmVhdGVQYXR0ZXJuKHVuZGVmaW5lZCwgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4uaW1hZ2UubnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVy
bi5JREwKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRl
UGF0dGVybihudWxsLCAncmVwZWF0Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
dGVybi5pbWFnZS5zdHJpbmcKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4uSURMCiAgIGNv
ZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZVBhdHRlcm4oJy4u
L2ltYWdlcy9yZWQucG5nJywgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdHRlcm4ucmVwZWF0LmVtcHR5CiAgIHRlc3Rpbmc6CkBAIC0yMTMxLDQzICsyMjQ2LDQ5IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0Lm51bGwKICAgdGVzdGluZzoKICAgICAtIDJk
LnBhdHRlcm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVQ
YXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgbnVsbCkgIT0gbnVsbDsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQKICAgdGVzdGluZzoKICAgICAtIDJk
LnBhdHRlcm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5U
QVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgdW5kZWZpbmVkKTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQKICAg
dGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBA
YXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZh
cywgImludmFsaWQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVh
dC51bnJlY29nbmlzZWRudWxsCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLnVucmVjb2du
aXNlZAogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRl
UGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJudWxsIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0dGVybi5yZXBlYXQuY2FzZQogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5l
eGFjdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRl
UGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJSZXBlYXQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5w
YXR0ZXJuLmV4YWN0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0
eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgInJlcGVhdFwwIik7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMQogICB0ZXN0aW5nOgpAQCAt
MjE4Niw2ICsyMzA3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
dGVybi5tb2RpZnkuY2FudmFzMgogICB0ZXN0aW5nOgpAQCAtMjIwOCw2ICsyMzMwLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAx
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5jcm9zc2NhbnZhcwogICBj
b2RlOiB8CkBAIC0yMjI4LDcgKzIzNTEsNyBAQAogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMK
ICAgdGVzdGluZzoKQEAgLTIyNTMsNyArMjM3Niw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAg
IH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4u
cGFpbnQubm9yZXBlYXQub3V0c2lkZQogICB0ZXN0aW5nOgpAQCAtMjI4Myw3ICsyNDA2LDcgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEKICAgdGVzdGluZzoK
QEAgLTIzMTEsNyArMjQzNCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQyCiAgIHRlc3Rpbmc6CkBAIC0yMzM5LDcgKzI0NjIsNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMwogICB0ZXN0aW5nOgpAQCAtMjM2Nyw3ICsy
NDkwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMKICAgdGVz
dGluZzoKQEAgLTIzOTIsNyArMjUxNSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0Lm91dHNpZGUKICAgdGVzdGluZzoKQEAgLTI0MTgsNyArMjU0MSw3IEBACiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAs
MjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5h
bWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMQogICB0ZXN0aW5nOgpAQCAtMjQ0NCw3
ICsyNTY3LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyCiAg
IHRlc3Rpbmc6CkBAIC0yNDY3LDcgKzI1OTAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdC5jb29yZDMKICAgdGVzdGluZzoKQEAgLTI0OTIsNyArMjYxNSw3IEBACiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjUx
OSw3ICsyNjQyLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNp
ZGUKICAgdGVzdGluZzoKQEAgLTI1NDYsNyArMjY2OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1Owot
ICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0eC5jb29yZDEKICAgdGVzdGluZzoKQEAgLTI1NzYsNyArMjY5OSw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMKICAgdGVzdGluZzoK
QEAgLTI2MDMsNyArMjcyNiw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eS5vdXRzaWRlCiAgIHRlc3Rpbmc6CkBAIC0yNjMwLDcgKzI3NTMsNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxCiAgIHRlc3Rpbmc6CkBAIC0yNjYyLDcgKzI3
ODUsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZQog
ICBkZXNjOiBJbWFnZSBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkCkBA
IC0yNjkzLDcgKzI4MTYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0
aW9uLmNhbnZhcwogICBkZXNjOiBDYW52YXMgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdo
ZW4gcGFpbnRlZApAQCAtMjcxNyw2ICsyODQwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsCiAgIHRlc3Rp
bmc6CkBAIC0yNzI0LDYgKzI4NDgsNyBAQAogICAgIC0gMmQuc2hhZG93LmJsdXIuaW5pdGlhbAog
ICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0gMDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkCiAgIHRl
c3Rpbmc6CkBAIC0yNzM4LDYgKzI4NjMsNyBAQAogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0JsdXIg
PT09IDFlNjsKICAgICBjdHguc2hhZG93Qmx1ciA9IDA7CiAgICAgQGFzc2VydCBjdHguc2hhZG93
Qmx1ciA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dCbHVyLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI3NTUsNiArMjg4MSw3IEBACiAg
ICAgY3R4LnNoYWRvd0JsdXIgPSAxOwogICAgIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogICAgIEBh
c3NlcnQgY3R4LnNoYWRvd0JsdXIgPT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwKICAgdGVzdGluZzoKQEAgLTI3
NjIsNiArMjg4OSw3IEBACiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRY
ID09PSAwOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFkgPT09IDA7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkCiAg
IHRlc3Rpbmc6CkBAIC0yNzg4LDYgKzI5MTYsNyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0g
MWU2OwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFggPT09IDFlNjsKICAgICBAYXNzZXJ0
IGN0eC5zaGFkb3dPZmZzZXRZID09PSAxZTY7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4
MTEsMTIgKzI5NDAsMTQgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKICAgICBAYXNz
ZXJ0IGN0eC5zaGFkb3dPZmZzZXRYID09PSAxOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNl
dFkgPT09IDI7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93Q29sb3IuaW5pdGlhbAogICB0ZXN0aW5nOgogICAgIC0gMmQuc2hhZG93LmNvbG9yLmlu
aXRpYWwKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0NvbG9yID09PSAncmdiYSgw
LCAwLCAwLCAwKSc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Q29sb3IudmFsaWQKICAgdGVzdGluZzoKQEAgLTI4MjcsNiArMjk1OCw3IEBACiAg
ICAgQGFzc2VydCBjdHguc2hhZG93Q29sb3IgPT09ICcjMDBmZjAwJzsKICAgICBjdHguc2hhZG93
Q29sb3IgPSAnUkdCQSgwLDI1NSwgMCwwKSc7CiAgICAgQGFzc2VydCBjdHguc2hhZG93Q29sb3Ig
PT09ICdyZ2JhKDAsIDI1NSwgMCwgMCknOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4NDQs
NiArMjk3Niw3IEBACiAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGZmMDAnOwogICAgIGN0eC5z
aGFkb3dDb2xvciA9IHVuZGVmaW5lZDsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xvciA9PT0g
JyMwMGZmMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5lbmFibGUub2Zm
LjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBp
cyBzZXQKQEAgLTI4NTUsNiArMjk4OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5h
YmxlLm9mZi4yCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93
Q29sb3IgaXMgc2V0CkBAIC0yODY3LDYgKzMwMDEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hh
ZG93LmVuYWJsZS5ibHVyCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIg
aXMgc2V0CkBAIC0yODgwLDYgKzMwMTUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVu
YWJsZS54CiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFggaXMgc2V0
CkBAIC0yODkzLDYgKzMwMjksNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS55
CiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0CkBAIC0y
OTA2LDYgKzMwNDMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2
ZVgKICAgZGVzYzogU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeApAQCAtMjky
MCw2ICszMDU4LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNl
dC5uZWdhdGl2ZVgKICAgZGVzYzogU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUg
eApAQCAtMjkzNCw2ICszMDczLDcgQEAKICAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7
CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5vZmZzZXQucG9zaXRpdmVZCiAgIGRlc2M6IFNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRo
IHBvc2l0aXZlIHkKQEAgLTI5NDgsNiArMzA4OCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgMjUpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwzNyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWQogICBkZXNjOiBTaGFkb3dzIGNhbiBiZSBv
ZmZzZXQgd2l0aCBuZWdhdGl2ZSB5CkBAIC0yOTYyLDYgKzMxMDMsNyBAQAogICAgIGN0eC5maWxs
UmVjdCgwLCAyNSwgMTAwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5vdXRzaWRlCiAgIGRlc2M6IFNoYWRvd3Mgb2Ygc2hh
cGVzIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSBjYW4gYmUgb2Zmc2V0IG9udG8gdGhlIHZpc2li
bGUgYXJlYQpAQCAtMjk4NCw2ICszMTI2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg3LDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwzNyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cuY2xpcC4xCiAgIGRlc2M6IFNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFw
ZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDA0LDYg
KzMxNDcsNyBAQAogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jbGlwLjIKICAgZGVzYzogU2hhZG93
cyBhcmUgbm90IGRyYXduIG91dHNpZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbgpAQCAtMzAyNCw2ICsz
MTY4LDcgQEAKICAgICBjdHgucmVzdG9yZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2xpcC4zCiAgIGRlc2M6IFNoYWRvd3Mg
b2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVn
aW9uCkBAIC0zMDQ1LDYgKzMxOTAsNyBAQAogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2Uu
YmFzaWMKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZXMKQEAgLTMwNjQsNiAr
MzIxMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ry
b2tlLmNhcC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lk
ZSBzdHJva2UgY2FwcwpAQCAtMzA4Niw2ICszMjMzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2UuY2FwLjIKICAgZGVzYzogU2hhZG93cyBhcmUg
ZHJhd24gZm9yIHN0cm9rZSBjYXBzCkBAIC0zMTA2LDYgKzMyNTQsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgMSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0cm9rZS5qb2luLjEKICAgZGVzYzogU2hh
ZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucwpAQCAtMzEy
OCw2ICszMjc3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFk
b3cuc3Ryb2tlLmpvaW4uMgogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpv
aW5zCkBAIC0zMTUyLDYgKzMzMDIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4zCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZv
ciBzdHJva2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdApAQCAtMzE3NSw2ICszMzI2LDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UuYmFz
aWMKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIGltYWdlcwpAQCAtMzE5OSw3ICszMzUx
LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGltYWdlcwpAQCAtMzIyNCw3ICszMzc2LDcg
QEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMgogICBkZXNjOiBTaGFkb3dzIGFy
ZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGltYWdlcwpAQCAtMzI1NSw3ICsz
NDA3LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UuYWxwaGEKICAgZGVzYzogU2hh
ZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2Vz
CkBAIC0zMjgwLDcgKzM0MzIsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uCiAg
IGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBpbWFnZSBzb3Vy
Y2UgcmVjdGFuZ2xlcwpAQCAtMzMwNyw3ICszNDU5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1
NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuaW1hZ2Uuc2NhbGUKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZv
ciBzY2FsZWQgaW1hZ2VzCkBAIC0zMzM0LDcgKzM0ODYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAs
MjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJk
LnNoYWRvdy5jYW52YXMuYmFzaWMKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIGNhbnZh
c2VzCkBAIC0zMzUxLDYgKzM1MDMsNyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiAg
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAtNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgdHJhbnNwYXJlbnQgY2FudmFzZXMKQEAgLTMzNjUsNiArMzUxOCw3IEBACiAgICAgY3R4
LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIC01MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIKICAgZGVz
YzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNl
cwpAQCAtMzM4Nyw2ICszNTQxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zaGFkb3cuY2FudmFzLmFscGhhCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGNvcnJl
Y3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGNhbnZhc2VzCkBAIC0zNDAzLDYgKzM1NTgs
NyBAQAogICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKICAgICBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3
LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0dGVybi5i
YXNpYwogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJucwpAQCAtMzQy
OCw3ICszNTg0LDcgQEAKICAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6
IDJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zCkBAIC0zNDU1LDcgKzM2MTEsNyBA
QAogICAgICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnBh
dHRlcm4udHJhbnNwYXJlbnQuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IHBhcnRzIG9mIGZpbGwgcGF0dGVybnMKQEAgLTM0ODYsNyArMzY0Miw3IEBACiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUg
ZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucwpA
QCAtMzUxMiw3ICszNjY4LDcgQEAKICAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwog
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRy
YXduIGZvciBncmFkaWVudCBmaWxscwpAQCAtMzUzMCw2ICszNjg2LDcgQEAKICAgICBjdHguZmls
bFN0eWxlID0gZ3JhZGllbnQ7CiAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzCkBAIC0zNTQ3LDYg
KzM3MDQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJl
Y3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3Bh
cmVudC4yCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFy
dHMgb2YgZ3JhZGllbnQgZmlsbHMKQEAgLTM1NjksNiArMzcyNyw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmdyYWRpZW50LmFscGhhCiAgIGRlc2M6IFNo
YWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRp
ZW50IGZpbGxzCkBAIC0zNTg1LDYgKzM3NDQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBncmFk
aWVudDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnNoYWRvdy50cmFuc2Zvcm0uMQogICBkZXNjOiBTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFu
c2Zvcm1hdGlvbnMKQEAgLTM1OTgsNiArMzc1OCw3IEBACiAgICAgY3R4LnRyYW5zbGF0ZSgxMDAs
IDEwMCk7CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc2hhZG93LnRyYW5zZm9ybS4yCiAgIGRlc2M6IFNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZm
ZWN0ZWQgYnkgdHJhbnNmb3JtYXRpb25zCkBAIC0zNjExLDYgKzM3NzIsNyBAQAogICAgIGN0eC5y
b3RhdGUoTWF0aC5QSSkKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cuYWxwaGEuMQogICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBv
bmVudHMgYXJlIHVzZWQKQEAgLTM2MjMsNiArMzc4NSw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNl
dFkgPSA1MDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NSArLy0gNDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zaGFkb3cuYWxwaGEuMgogICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBv
bmVudHMgYXJlIHVzZWQKQEAgLTM2MzUsNiArMzc5OCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNl
dFkgPSA1MDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnNoYWRvdy5hbHBoYS4zCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGFmZmVjdGVkIGJ5IGdsb2Jh
bEFscGhhCkBAIC0zNjQ5LDYgKzM4MTMsNyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTsK
ICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRv
dy5hbHBoYS40CiAgIGRlc2M6IFNoYWRvd3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3Jy
ZWN0bHkgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEKQEAgLTM2NjMsNiArMzgyOCw3IEBACiAgICAg
Y3R4Lmdsb2JhbEFscGhhID0gMC43MDc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYWxwaGEuNQogICBkZXNjOiBTaGFkb3dzIG9mIHNo
YXBlcyB3aXRoIGFscGhhIGNvbXBvbmVudHMgYXJlIGRyYXduIGNvcnJlY3RseQpAQCAtMzY3Niw2
ICszODQyLDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEy
NywyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmNvbXBvc2l0ZS4xCiAg
IGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbgpA
QCAtMzY5MCw2ICszODU3LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsUmVjdCgtMTAwLCAwLCAyMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9z
aXRlLjIKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uCkBAIC0zNzA0LDYgKzM4NzIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KC0xMCwgLTEwLCAxMjAsIDcwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFk
b3cuY29tcG9zaXRlLjMKICAgZGVzYzogQXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBj
b3JyZWN0bHkgd2l0aCBkZXN0aW5hdGlvbi1vdXQKQEAgLTM3MTksNiArMzg4OCw3IEBACiAgICAg
Y3R4LmZpbGxSZWN0KDIwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1LDUgPT1+
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5iYXNpYwogICBkZXNjOiBjbGVh
clJlY3QgY2xlYXJzIHRvIHRyYW5zcGFyZW50IGJsYWNrCkBAIC0zNzI5LDYgKzM4OTksNyBAQAog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguY2xlYXJSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QucGF0aAogICBkZXNjOiBjbGVhclJlY3QgZG9l
cyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTM3NDEsNiArMzkxMiw3IEBACiAgICAg
Y3R4LmNsZWFyUmVjdCgwLCAwLCAxNiwgMTYpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5jbGVhclJlY3QuemVybwogICBkZXNjOiBjbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5v
IGVmZmVjdApAQCAtMzc1Myw2ICszOTI1LDcgQEAKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDAs
IDUwKTsKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJS
ZWN0Lm5lZ2F0aXZlCiAgIGRlc2M6IGNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcwpA
QCAtMzc2OSw2ICszOTQyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDEyID09IDAsMCwwLDA7
CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDAsMCwwOwogICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMzcgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Qu
dHJhbnNmb3JtCiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zCkBA
IC0zNzgxLDYgKzM5NTUsNyBAQAogICAgIGN0eC50cmFuc2xhdGUoMCwgNSk7CiAgICAgY3R4LmNs
ZWFyUmVjdCgwLCAtNSwgMTAsIDUpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAs
MDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEKICAg
ZGVzYzogY2xlYXJSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYQpAQCAtMzc5Miw2
ICszOTY3LDcgQEAKICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjE7CiAgICAgY3R4LmNsZWFyUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZQogICBk
ZXNjOiBjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
bgpAQCAtMzgwMyw2ICszOTc5LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmNsZWFyUmVjdC5jbGlwCiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBhZmZlY3RlZCBi
eSBjbGlwcGluZyByZWdpb25zCkBAIC0zODE4LDYgKzM5OTUsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5jbGVhclJlY3Quc2hhZG93CiAgIGRlc2M6IGNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRv
d3MKQEAgLTM4MzIsNiArNDAxMCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAg
ICBjdHguY2xlYXJSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Qu
bm9uZmluaXRlCiAgIGRlc2M6IGNsZWFyUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQKQEAgLTM4NDIsNiArNDAyMSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIEBub25maW5pdGUgY3R4LmNsZWFyUmVjdCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFO
PiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5h
Tj4sIDw1MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC5i
YXNpYwogICBkZXNjOiBmaWxsUmVjdCB3b3JrcwpAQCAtMzg1MSw2ICs0MDMxLDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmZpbGxSZWN0LnBhdGgKICAgZGVzYzogZmlsbFJlY3QgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTM4NjQsNiArNDA0NSw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QuemVy
bwogICBkZXNjOiBmaWxsUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0CkBAIC0zODc3
LDYgKzQwNTksNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QubmVnYXRpdmUKICAgZGVz
YzogZmlsbFJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MKQEAgLTM4OTQsNiArNDA3Nyw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QudHJhbnNmb3Jt
CiAgIGRlc2M6IGZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTM5MDUsNiAr
NDA4OSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgLTUsIDEwLCA1KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAjIGRvbid0IGJvdGhlciB0ZXN0aW5nIGdsb2JhbGFscGhhLCBnbG9i
YWxjb21wb3NpdGUgYmVjYXVzZSB0aGV5J3JlIGFscmVhZHkgaGVhdmlseSB1c2VkIGJ5IG90aGVy
IHRlc3QgY2FzZXMKIApAQCAtMzkyMyw2ICs0MTA4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmls
bFJlY3Quc2hhZG93CiAgIGRlc2M6IGZpbGxSZWN0IGRyYXdzIHNoYWRvd3MKQEAgLTM5MzcsNiAr
NDEyMyw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxSZWN0Lm5vbmZpbml0ZQogICBkZXNj
OiBmaWxsUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTM5NDgsNiArNDEz
NSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBAbm9uZmluaXRlIGN0eC5m
aWxsUmVjdCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5
IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5p
dHkgTmFOPik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0LmJhc2ljCiAgIGRlc2M6IHN0cm9rZVJl
Y3Qgd29ya3MKQEAgLTM5NTgsNiArNDE0Niw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwog
ICAgIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVj
dC5wYXRoCiAgIGRlc2M6IHN0cm9rZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBh
dGgKQEAgLTM5NzIsNiArNDE2MSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAg
ICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjEKICAgZGVzYzogc3Ry
b2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5vdGhpbmcKQEAgLTM5ODIsNiArNDE3Miw3IEBA
CiAgICAgY3R4LmxpbmVXaWR0aCA9IDI1MDsKICAgICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAs
IDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lnplcm8uMgogICBkZXNjOiBzdHJva2VSZWN0IG9mIDB4
MCBwaXhlbHMgZHJhd3Mgbm90aGluZywgaW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zCkBAIC0zOTk0
LDYgKzQxODUsNyBAQAogICAgIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiAgICAgY3R4LnN0cm9r
ZVJlY3QoNTAsIDI1LCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjMKICAgZGVzYzog
c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgc3RyYWlnaHQgbGluZQpAQCAtNDAwNCw2
ICs0MTk2LDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gNTA7CiAgICAgY3R4LnN0cm9rZVJlY3Qo
MCwgMjUsIDEwMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lnplcm8uNAogICBkZXNjOiBz
dHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIG5vIGNhcHMK
QEAgLTQwMTUsNiArNDIwOCw3IEBACiAgICAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogICAgIGN0
eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuemVyby41
CiAgIGRlc2M6IHN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdp
dGggam9pbnMKQEAgLTQwMjYsNiArNDIyMCw3IEBACiAgICAgY3R4LmxpbmVKb2luID0gJ3JvdW5k
JzsKICAgICBjdHguc3Ryb2tlUmVjdCgxMDAsIDI1LCAxMDAsIDApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ry
b2tlUmVjdC5uZWdhdGl2ZQogICBkZXNjOiBzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdv
cmtzCkBAIC00MDQ0LDYgKzQyMzksNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnN0cm9rZVJlY3QudHJhbnNmb3JtCiAgIGRlc2M6IGZpbGxSZWN0IGlzIGFmZmVjdGVk
IGJ5IHRyYW5zZm9ybXMKQEAgLTQwNTYsNiArNDI1Miw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9
IDU7CiAgICAgY3R4LnN0cm9rZVJlY3QoMi41LCAtMi42LCA1LCAwLjIpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c3Ryb2tlUmVjdC5nbG9iYWxhbHBoYQogICBkZXNjOiBzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5
IGdsb2JhbEFscGhhCkBAIC00MDY3LDYgKzQyNjQsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1
MDsKICAgICBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVj
dC5nbG9iYWxjb21wb3NpdGUKICAgZGVzYzogc3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkg
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uCkBAIC00MDc4LDYgKzQyNzYsNyBAQAogICAgIGN0eC5s
aW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc3Ryb2tlUmVjdC5jbGlwCiAgIGRlc2M6IHN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xp
cHBpbmcgcmVnaW9ucwpAQCAtNDA5NSw2ICs0Mjk0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ry
b2tlUmVjdC5zaGFkb3cKICAgZGVzYzogc3Ryb2tlUmVjdCBkcmF3cyBzaGFkb3dzCkBAIC00MTEy
LDYgKzQzMTIsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVj
dCgwLCAtNzUsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUKICAg
ZGVzYzogc3Ryb2tlUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTQxMjQs
MTIgKzQzMjUsMTQgQEAKICAgICBjdHgubGluZVdpZHRoID0gMTUwOwogICAgIEBub25maW5pdGUg
Y3R4LnN0cm9rZVJlY3QoPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1J
bmZpbml0eSBOYU4+LCA8MTAwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5maW5pdHkg
LUluZmluaXR5IE5hTj4pOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuM2FyZwogICB0ZXN0aW5n
OgogICAgIC0gMmQuZHJhd0ltYWdlLmRlZmF1bHRzb3VyY2UKICAgICAtIDJkLmRyYXdJbWFnZS5k
ZWZhdWx0ZGVzdAorICB0aW1lb3V0OiBsb25nCiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAg
ICAtIGdyZWVuLnBuZwpAQCAtNDE2Miw3ICs0MzY1LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJh
d0ltYWdlLjVhcmcKICAgdGVzdGluZzoKQEAgLTQxNzAsNiArNDM3Myw3IEBACiAgIGltYWdlczoK
ICAgICAtIHJlZC5wbmcKICAgICAtIGdyZWVuLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6
IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKQEAgLTQyMDAsMTMgKzQ0MDQsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0lt
YWdlLjlhcmcuYmFzaWMKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBp
bWFnZXM6CiAgICAgLSBncmVlbi5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CkBAIC00MjI1LDEzICs0NDMwLDE0IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJn
LnNvdXJjZXBvcwogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CiAgIGltYWdl
czoKICAgICAtIHJncmctMjU2eDI1Ni5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CkBAIC00MjUwLDEzICs0NDU2LDE0IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9
PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45
YXJnLnNvdXJjZXNpemUKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBp
bWFnZXM6CiAgICAgLSByZ3JnLTI1NngyNTYucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTog
fAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwpAQCAtNDI4Miw3ICs0NDg5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA4MCwy
MCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjAsMzAgPT1+IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDgwLDMwID09fiAwLDI1NSwwLDI1NTsKLSAg
ICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1h
Z2UuOWFyZy5kZXN0cG9zCiAgIHRlc3Rpbmc6CkBAIC00MjkwLDYgKzQ0OTcsNyBAQAogICBpbWFn
ZXM6CiAgICAgLSByZWQucG5nCiAgICAgLSBncmVlbi5wbmcKKyAgdGltZW91dDogbG9uZwogICBj
b2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CkBAIC00MzIxLDcgKzQ1MjksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsK
LSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3
SW1hZ2UuOWFyZy5kZXN0c2l6ZQogICB0ZXN0aW5nOgpAQCAtNDMyOSw2ICs0NTM3LDcgQEAKICAg
aW1hZ2VzOgogICAgIC0gcmVkLnBuZwogICAgIC0gZ3JlZW4ucG5nCisgIHRpbWVvdXQ6IGxvbmcK
ICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwpAQCAtNDM2MCwxMSArNDU2OSwxMiBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UuY2FudmFzCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UucGFpbnQK
KyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIHZhciBjdHgyID0gb2Zmc2NyZWVuQ2Fu
dmFzMi5nZXRDb250ZXh0KCcyZCcpOwpAQCAtNDM3NiwxMCArNDU4NiwxMiBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09
fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uuc2VsZi4xCiAgIHRlc3Rpbmc6
CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc2VsZgorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OwpAQCAtNDM5MCwxMCArNDYwMiwxMiBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5kcmF3SW1hZ2Uuc2VsZi4yCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uu
c2VsZgorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAxLCAxMDAsIDQ5KTsKQEAgLTQ0MDYsMTYgKzQ2MjAs
MjAgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9
PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm51
bGwKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5JREwKKyAgdGltZW91dDogbG9uZwog
ICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UobnVs
bCwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9jYW52
YXMKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS56ZXJvY2FudmFzCisgIHRpbWVvdXQ6
IGxvbmcKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygwLCAxMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4
LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKQEAgLTQ0MjcsMTkgKzQ2NDUsMjMg
QEAKICAgICBvZmZzY3JlZW5DYW52YXMyLndpZHRoID0gMDsKICAgICBvZmZzY3JlZW5DYW52YXMy
LmhlaWdodCA9IDA7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmRy
YXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5kcmF3SW1hZ2Uud3Jvbmd0eXBlCiAgIGRlc2M6IEluY29ycmVjdCBpbWFnZSB0eXBlcyBp
biBkcmF3SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fkcywgc28gV2ViSURM
IHRocm93cyBhIFR5cGVFcnJvcgogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLklETAor
ICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Ig
Y3R4LmRyYXdJbWFnZSh1bmRlZmluZWQsIDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVF
cnJvciBjdHguZHJhd0ltYWdlKDAsIDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJv
ciBjdHguZHJhd0ltYWdlKCIiLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5k
cmF3SW1hZ2UuZmxvYXRzb3VyY2UKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWlu
dAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CkBAIC00NDUzLDEyICs0Njc1LDEzIEBACiAgICAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEw
LjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UKICAgZGVzYzogZHJhd0lt
YWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpFX0VS
UgogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UKKyAgdGltZW91dDog
bG9uZwogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCiAgIGNvZGU6IHwKQEAgLTQ0NzgsNyArNDcw
MSw3IEBACiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDEwLCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3Nl
cnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwg
MCwgMCwgMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAs
MjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5h
bWU6IDJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlCiAgIGRlc2M6IGRyYXdJbWFnZSB3aXRo
IHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSBmcm9tIGltYWdlIHRocm93cyBJTkRFWF9TSVpF
X0VSUgpAQCAtNDQ4OCw2ICs0NzExLDcgQEAKICAgICAtIHJlZC16ZXJvd2lkdGguc3ZnCiAgICAg
LSByZWQtemVyb2hlaWdodC5zdmcKICAgICAtIHJlZC16ZXJvc2l6ZS5zdmcKKyAgdGltZW91dDog
bG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00NTA1LDcgKzQ3MjksNyBAQAogICAgICAgICBAYXNz
ZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwKTsKICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlCiAgIGRlc2M6IE5lZ2F0aXZl
IHNvdXJjZSB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGUKQEAg
LTQ1MTQsNiArNDczOCw3IEBACiAgIG1vemlsbGE6IHsgdGhyb3dzIH0KICAgaW1hZ2VzOgogICAg
IC0gZ2dyci0yNTZ4MjU2LnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAg
LTQ1MzksMTMgKzQ3NjQsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MSw0OCA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAg
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubmVnYXRp
dmVkZXN0CiAgIGRlc2M6IE5lZ2F0aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNl
bnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdl
LmRpcmVjdGlvbgogICBtb3ppbGxhOiB7IHRocm93cyB9CisgIHRpbWVvdXQ6IGxvbmcKICAgaW1h
Z2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2LnBuZwogICBjb2RlOiB8CkBAIC00NTczLDEzICs0Nzk5
LDE0IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTEsNDggPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyCiAgIGRlc2M6
IE5lZ2F0aXZlIGRpbWVuc2lvbnMgZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBp
bWFnZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLmRpcmVjdGlvbgogICBtb3ppbGxh
OiB7IHRocm93cyB9CisgIHRpbWVvdXQ6IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4
MjU2LnBuZwogICBjb2RlOiB8CkBAIC00NjA3LDcgKzQ4MzQsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDUxLDQ4ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwy
NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1
LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6
IDJkLmRyYXdJbWFnZS5vdXRzaWRlc291cmNlCiAgIERJU0FCTEVEOiBmaXggdGhpcyB0byBtYXRj
aCB0aGUgY3VycmVudCBzcGVjICh0cmFuc3BhcmVudCBibGFjayBvdXRzaWRlIHNvdXJjZSkKQEAg
LTQ2NDUsMTEgKzQ4NzIsMTIgQEAKICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9F
UlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDUsIC01LCAwLCAwLCAxMDAsIDUwKTsK
ICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNw
b25zZTEsIDExMCwgNjAsIC0yMCwgLTIwLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5icm9rZW4KICAg
dGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5pbmNvbXBsZXRlLmltYWdlCisgIHRpbWVvdXQ6
IGxvbmcKICAgY29kZTogfAogICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKQEAgLTQ2NjUsMTIgKzQ4OTMsMTMgQEAKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zdmcK
ICAgZGVzYzogZHJhd0ltYWdlKCkgb2YgYW4gU1ZHIGltYWdlCiAgIHRlc3Rpbmc6CiAgICAgLSAy
ZC5kcmF3SW1hZ2Uuc3ZnCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKQEAgLTQ2ODQsNyArNDkxMyw3IEBACiAgICAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyCiAgIGRlc2M6IGRyYXdJbWFnZSgpIG9mIGFuIEFQ
TkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZQpAQCAtNDY5Miw2ICs0OTIxLDcgQEAKICAgICAtIDJk
LmRyYXdJbWFnZS5hbmltYXRlZC5pbWFnZQogICBpbWFnZXM6CiAgICAgLSBhbmltLXBvc3Rlci1n
ci5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgdmFyIHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwpAQCAtNDcwNSwxMSArNDkzNSwxMiBAQAogICAgIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7IEBt
b3otdG9kbwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6
IDJkLmRyYXdJbWFnZS5wYXRoCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UudW5hZmZl
Y3QKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKICAgICBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ3MjYsMTMgKzQ5NTcsMTQgQEAK
ICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIGN0eC5maWxs
KCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS50
cmFuc2Zvcm0KICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0CiAgIGltYWdl
czoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00
NzQ5LDEzICs0OTgxLDE0IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuYWxwaGEKICAgdGVzdGluZzoKICAg
ICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGlt
ZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00NzcyLDEzICs1MDA1LDE0IEBACiAgICAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UuY2xpcAogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QK
ICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKQEAgLTQ3OTYsMTMgKzUwMzAsMTQgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5jb21wb3NpdGUKICAg
dGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJl
ZC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00ODE5LDEyICs1MDU0
LDEzIEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uubm93cmFwCiAgIGRlc2M6IFN0cmV0Y2hlZCBpbWFnZXMg
ZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRoZSBlZGdlcwogICBpbWFnZXM6CiAg
ICAgLSByZWR0cmFuc3BhcmVudC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CkBAIC00ODQyLDcgKzUwNzgsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDQ1LDI1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5ub25m
aW5pdGUKICAgZGVzYzogZHJhd0ltYWdlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApA
QCAtNDg1MCw2ICs1MDg2LDcgQEAKICAgICAtIDJkLm5vbmZpbml0ZQogICBpbWFnZXM6CiAgICAg
LSByZWQucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDg2Nyw3ICs1
MTA0LDcgQEAKICAgICAgICAgQG5vbmZpbml0ZSBjdHguZHJhd0ltYWdlKDxyZXNwb25zZT4sIDww
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEw
MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsK
ICAgICAgICAgQG5vbmZpbml0ZSBjdHguZHJhd0ltYWdlKDxyZXNwb25zZT4sIDwwIEluZmluaXR5
IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5p
dHkgLUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMK
ICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0
aGluZwpAQCAtNDg3NSw2ICs1MTEyLDcgQEAKICAgICAtIDJkLmltYWdlRGF0YS5jcmVhdGUyLm9i
amVjdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpICE9
PSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmJh
c2ljCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSBleGlzdHMgYW5kIHJldHVybnMg
c29tZXRoaW5nCkBAIC00ODgyLDYgKzUxMjAsNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0
ZTEub2JqZWN0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVJbWFnZURhdGEoY3R4
LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSkgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEo
c3csIHNoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUK
QEAgLTQ4OTksNiArNTEzOCw3IEBACiAgICAgICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDAp
CiAgICAgICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKICAgICBAYXNzZXJ0IGlz
VHJhbnNwYXJlbnRCbGFjazsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEu
Y3JlYXRlMS5pbml0aWFsCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5z
IHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUKQEAgLTQ5MTksNiArNTE1
OSw3IEBACiAgICAgICAgIGlmIChpbWdkYXRhMi5kYXRhW2ldICE9PSAwKQogICAgICAgICAgICAg
aXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiAgICAgQGFzc2VydCBpc1RyYW5zcGFyZW50Qmxh
Y2s7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UK
ICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFy
Z2VyIHRoYW4gdGhlIGNhbnZhcwpAQCAtNDkzNCw2ICs1MTc1LDcgQEAKICAgICAgICAgaWYgKGlt
Z2RhdGEuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZh
bHNlOwogICAgIEBhc3NlcnQgaXNUcmFuc3BhcmVudEJsYWNrOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlCiAgIGRlc2M6IGNyZWF0ZUltYWdl
RGF0YShzdywgc2gpIHRha2VzIHRoZSBhYnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUgYXJn
dW1lbnRzCkBAIC00OTQ3LDYgKzUxODksNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YS5s
ZW5ndGggPT09IGltZ2RhdGEyLmRhdGEubGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0
YS5sZW5ndGggPT09IGltZ2RhdGEzLmRhdGEubGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTMu
ZGF0YS5sZW5ndGggPT09IGltZ2RhdGE0LmRhdGEubGVuZ3RoOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnplcm8KICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybwpAQCAtNDk1Niw2
ICs1MTk5LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRl
SW1hZ2VEYXRhKDEwLCAwKTsKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHgu
Y3JlYXRlSW1hZ2VEYXRhKDAsIDEwKTsKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VS
UiBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZQogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoKSB0
aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtNDk2Nyw2ICs1
MjExLDcgQEAKICAgICAgICAgbmVnaW5mb2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0
dXJuIC1JbmZpbml0eTsgfSB9LAogICAgICAgICBuYW5vYmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgeyByZXR1cm4gLUluZmluaXR5OyB9IH07CiAgICAgQG5vbmZpbml0ZSBAYXNzZXJ0IHRocm93
cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZUltYWdlRGF0YSg8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBu
YW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+KTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvCiAgIGRlc2M6IGNyZWF0ZUltYWdl
RGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9yCkBAIC00OTc0LDYgKzUyMTksNyBAQAogICAgIC0g
MmQuaW1hZ2VEYXRhLmNyZWF0ZS5udWxsCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3IgY3R4LmNyZWF0ZUltYWdlRGF0YShudWxsKTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEo
dywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCkKQEAg
LTQ5ODQsNiArNTIzMCw3IEBACiAgICAgdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgw
LCAwLCAxMC4wMSwgMTAuOTkpOwogICAgIEBhc3NlcnQgaW1nZGF0YTEud2lkdGggPT09IGltZ2Rh
dGEyLndpZHRoOwogICAgIEBhc3NlcnQgaW1nZGF0YTEuaGVpZ2h0ID09PSBpbWdkYXRhMi5oZWln
aHQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5iYXNpYwogICBk
ZXNjOiBnZXRJbWFnZURhdGEoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00OTkx
LDYgKzUyMzgsNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmdldC5iYXNpYwogICBjb2RlOiB8CiAg
ICAgQGFzc2VydCBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApICE9PSBudWxsOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQuemVybwogICBkZXNjOiBnZXRJ
bWFnZURhdGEoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCkBAIC01MDAw
LDYgKzUyNDgsNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJ
bWFnZURhdGEoMSwgMSwgMTAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJS
IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMTApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVY
X1NJWkVfRVJSIGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUKICAgZGVzYzogZ2V0SW1hZ2VEYXRh
KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTUwMTEs
NiArNTI2MCw3IEBACiAgICAgICAgIG5lZ2luZm9iaiA9IHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7
IHJldHVybiAtSW5maW5pdHk7IH0gfSwKICAgICAgICAgbmFub2JqID0geyB2YWx1ZU9mOiBmdW5j
dGlvbigpIHsgcmV0dXJuIC1JbmZpbml0eTsgfSB9OwogICAgIEBub25maW5pdGUgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGN0eC5nZXRJbWFnZURhdGEoPDEwIHBvc2luZm9iaiBuZWdpbmZvYmog
bmFub2JqPiwgPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9iaiBu
ZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPik7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZQogICBk
ZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUgdGhl
IGNhbnZhcwpAQCAtNTA3MSw2ICs1MzIxLDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRhdGFb
MjAqNCsxXSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCsyXSA9PT0gMDsK
ICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCszXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZQogICBkZXNjOiBnZXRJ
bWFnZURhdGEoKSB3b3JrcyB3aXRoIG5lZ2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQsIGFuZCByZXR1
cm5zIHRvcC10by1ib3R0b20gbGVmdC10by1yaWdodApAQCAtNTA5Niw2ICs1MzQ3LDcgQEAKICAg
ICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMV0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5k
YXRhWzJdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0YVszXSA9PT0gMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplCiAgIGRlc2M6
IGdldEltYWdlRGF0YSgpIHJldHVybnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJj
ZSByZWN0YW5nbGUKQEAgLTUxMDYsNiArNTM1OCw3IEBACiAgICAgdmFyIGltZ2RhdGEyID0gY3R4
LmdldEltYWdlRGF0YSgwLCAwLCAyMCwgMjApOwogICAgIEBhc3NlcnQgaW1nZGF0YTIud2lkdGgg
PiBpbWdkYXRhMS53aWR0aDsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmhlaWdodCA+IGltZ2RhdGEx
LmhlaWdodDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnRpbnkK
ICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgd29ya3MgZm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUg
cGl4ZWwKQEAgLTUxMTYsNiArNTM2OSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGEubGVu
Z3RoID09PSBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7CiAgICAgQGFzc2VydCBpbWdk
YXRhLndpZHRoID09PSAxOwogICAgIEBhc3NlcnQgaW1nZGF0YS5oZWlnaHQgPT09IDE7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwKICAgZGVzYzog
Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBub24tcHJlbXVsdGlwbGllZCBjb2xvdXJzCkBAIC01MTMw
LDYgKzUzODQsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzJdID4gMjAwOwogICAgIEBh
c3NlcnQgaW1nZGF0YS5kYXRhWzNdID4gMTAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNd
IDwgMjAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQucmFuZ2UK
ICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAy
NTVdCkBAIC01MTQ1LDYgKzU0MDAsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YVswXSA9
PT0gMDsKICAgICB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDMwLCAxNSwgMSwgMSk7
CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzBdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5jbGFtcAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBj
bGFtcHMgY29sb3VycyB0byB0aGUgcmFuZ2UgWzAsIDI1NV0KQEAgLTUxNjMsNiArNTQxOSw3IEBA
CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzBdID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdk
YXRhMi5kYXRhWzFdID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzJdID09PSAy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGgKICAg
ZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1w
ZWRBcnJheQpAQCAtNTE3MSw2ICs1NDI4LDcgQEAKICAgY29kZTogfAogICAgIHZhciBpbWdkYXRh
ID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogICAgIEBhc3NlcnQgaW1nZGF0YS5k
YXRhLmxlbmd0aCA9PT0gaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scwogICBkZXNjOiBnZXRJ
bWFnZURhdGEoKSByZXR1cm5zIGxlZnRtb3N0IGNvbHVtbnMgZmlyc3QKQEAgLTUxODUsNiArNTQ0
Myw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CiAgICAgQGFzc2VydCBp
bWdkYXRhLmRhdGFbTWF0aC5yb3VuZChpbWdkYXRhLndpZHRoLzIqNCldID09PSAyNTU7CiAgICAg
QGFzc2VydCBpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0
YS53aWR0aCo0KV0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5yb3dzCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCBy
b3dzIGZpcnN0CkBAIC01MTk5LDYgKzU0NTgsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRh
WzBdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53
aWR0aC8yKjQpXSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWln
aHQvMikqaW1nZGF0YS53aWR0aCo0XSA9PT0gMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVy
bnMgUiB0aGVuIEcgdGhlbiBCCkBAIC01MjE3LDYgKzU0NzcsNyBAQAogICAgIEBhc3NlcnQgaW1n
ZGF0YS5kYXRhWzVdID09PSAweDg4OwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzZdID09PSAw
eENDOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzddID09PSAyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYQogICBkZXNjOiBnZXRJbWFn
ZURhdGEoKSByZXR1cm5zIEEgaW4gdGhlIGZvdXJ0aCBjb21wb25lbnQKQEAgLTUyMjgsNiArNTQ4
OSw3IEBACiAgICAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7
CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPCAyMDA7CiAgICAgQGFzc2VydCBpbWdkYXRh
LmRhdGFbM10gPiAxMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdl
dC51bmFmZmVjdGVkCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBj
b250ZXh0IHN0YXRlCkBAIC01MjUwLDYgKzU1MTIsNyBAQAogICAgIGN0eC5wdXRJbWFnZURhdGEo
aW1nZGF0YSwgNTAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzCkBAIC01MjYxLDYg
KzU1MjQsNyBAQAogICAgIEBhc3NlcnQgdHlwZW9mKGltZ2RhdGEud2lkdGgpID09PSAnbnVtYmVy
JzsKICAgICBAYXNzZXJ0IHR5cGVvZihpbWdkYXRhLmhlaWdodCkgPT09ICdudW1iZXInOwogICAg
IEBhc3NlcnQgdHlwZW9mKGltZ2RhdGEuZGF0YSkgPT09ICdvYmplY3QnOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkKICAgZGVzYzogSW1hZ2VE
YXRhIG9iamVjdHMgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5CkBAIC01MjgxLDYgKzU1NDUsNyBA
QAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzFdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0
YS5kYXRhWzJdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNdID09PSAwOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3Quc2V0CiAgIGRlc2M6IElt
YWdlRGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZApAQCAtNTI5Miw2ICs1NTU3LDcgQEAKICAgICBA
YXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9IDIw
MDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMjAwOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkCiAgIGRlc2M6IEltYWdlRGF0
YS5kYXRhIGNvbnZlcnRzIHVuZGVmaW5lZCB0byAwCkBAIC01MzAyLDYgKzU1NjgsNyBAQAogICAg
IGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7
CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW4KICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY29u
dmVydHMgTmFOIHRvIDAKQEAgLTUzMTUsNiArNTU4Miw3IEBACiAgICAgaW1nZGF0YS5kYXRhWzBd
ID0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9ICJjaGVlc2UiOwogICAgIEBhc3NlcnQgaW1n
ZGF0YS5kYXRhWzBdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0
YS5vYmplY3Quc3RyaW5nCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3Mg
dG8gbnVtYmVycyB3aXRoIFRvTnVtYmVyCkBAIC01MzMxLDYgKzU1OTksNyBAQAogICAgIGltZ2Rh
dGEuZGF0YVswXSA9IDEwMDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogICAg
IEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAxMzA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcAogICBkZXNjOiBJbWFnZURhdGEuZGF0YSBjbGFt
cHMgbnVtYmVycyB0byBbMCwgMjU1XQpAQCAtNTM2Miw2ICs1NjMxLDcgQEAKICAgICBpbWdkYXRh
LmRhdGFbMF0gPSAxMDA7CiAgICAgaW1nZGF0YS5kYXRhWzBdID0gSW5maW5pdHk7CiAgICAgQGFz
c2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIHJvdW5kcyBu
dW1iZXJzIHdpdGggcm91bmQtdG8temVybwpAQCAtNTM5Nyw2ICs1NjY3LDcgQEAKICAgICBAYXNz
ZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0gMDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAtMS41Owog
ICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmltYWdlRGF0YS5wdXQubnVsbAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSB3aXRoIG51
bGwgaW1hZ2VkYXRhIHRocm93cyBUeXBlRXJyb3IKQEAgLTU0MDQsNiArNTY3NSw3IEBACiAgICAg
LSAyZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZQogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJv
d3MgVHlwZUVycm9yIGN0eC5wdXRJbWFnZURhdGEobnVsbCwgMCwgMCk7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUKICAgZGVzYzogcHV0SW1hZ2VE
YXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTU0
MTMsNiArNTY4NSw3IEBACiAgICAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAs
IDEwLCAxMCk7CiAgICAgQG5vbmZpbml0ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1
dEltYWdlRGF0YSg8aW1nZGF0YT4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIElu
ZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5
cGVFcnJvciBjdHgucHV0SW1hZ2VEYXRhKDxpbWdkYXRhPiwgPDEwIEluZmluaXR5IC1JbmZpbml0
eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5p
dHkgTmFOPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmlu
aXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYwogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBw
dXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMKQEAgLTU0
MjcsNiArNTcwMCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4
LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0
LmNyZWF0ZWQKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRhIGZyb20gY3Jl
YXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzCkBAIC01NDQ0LDYgKzU3MTgsNyBAQAogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0
YSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUKICAgZGVzYzog
cHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWNjZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cwpAQCAt
NTQ1NCw2ICs1NzI5LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dElt
YWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4
LnB1dEltYWdlRGF0YSgiY2hlZXNlIiwgMCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVy
cm9yIGN0eC5wdXRJbWFnZURhdGEoNDIsIDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmltYWdlRGF0YS5wdXQuY3Jvc3MKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgYWNjZXB0cyBp
bWFnZSBkYXRhIGdvdCBmcm9tIGEgZGlmZmVyZW50IGNhbnZhcwpAQCAtNTQ2OSw2ICs1NzQ1LDcg
QEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRh
KGltZ2RhdGEsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuYWxwaGEKICAgZGVz
YzogcHV0SW1hZ2VEYXRhKCkgcHV0cyBub24tc29saWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHkKQEAg
LTU0ODIsNiArNTc1OSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAg
Y3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09fiAwLDI1NSwwLDY0OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5w
dXQubW9kaWZpZWQKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBk
YXRhIGNvcnJlY3RseQpAQCAtNTUwMCw2ICs1Nzc4LDcgQEAKICAgICB9CiAgICAgY3R4LnB1dElt
YWdlRGF0YShpbWdkYXRhLCA0NSwgMjApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGly
dHkuemVybwogICBkZXNjOiBwdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVj
dGFuZ2xlIHB1dHMgbm90aGluZwpAQCAtNTUxMyw2ICs1NzkyLDcgQEAKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDAsIDAs
IDAsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEKICAgZGVz
YzogcHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJl
Y3RhbmdsZSwgdXNpbmcgd2lkdGggYW5kIGhlaWdodApAQCAtNTUzNCw2ICs1ODE0LDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDY1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDE1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1ID09fiAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QyCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRl
IHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5nIHggYW5kIHkKQEAgLTU1NTUsNiArNTgzNiw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA2NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwxNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9PX4g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5uZWdhdGl2ZQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZlLXNp
emVkIGRpcnR5IHJlY3RhbmdsZXMgY29ycmVjdGx5CkBAIC01NTc2LDYgKzU4NTgsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMTUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDUgPT1+IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHku
b3V0c2lkZQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMg
b3V0c2lkZSB0aGUgY2FudmFzIGNvcnJlY3RseQpAQCAtNTU5OCw2ICs1ODgxLDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDEsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDUgPT1+IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkCiAg
IGRlc2M6IHB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZmZWN0
CkBAIC01NjIwLDYgKzU5MDQsNyBAQAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIu
ZGF0YS5sZW5ndGg7ICsraSkgewogICAgICAgICBAYXNzZXJ0IG9sZGRhdGFbaV0gPT09IGltZ2Rh
dGEyLmRhdGFbaV07CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0
YS5wdXQudW5hZmZlY3RlZAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQg
YnkgY29udGV4dCBzdGF0ZQpAQCAtNTYzOSw2ICs1OTI0LDcgQEAKICAgICBjdHguc2NhbGUoMC4x
LCAwLjEpOwogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuaW1hZ2VEYXRhLnB1dC5jbGlwCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZl
Y3RlZCBieSBjbGlwcGluZyByZWdpb25zCkBAIC01NjU2LDYgKzU5NDIsNyBAQAogICAgIGN0eC5w
dXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5wYXRoCiAgIGRlc2M6IHB1
dEltYWdlRGF0YSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoCkBAIC01NjcwLDYg
KzU5NTcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLmRlZmF1bHRzCiAgIHRlc3Rpbmc6CkBAIC01NjgyLDYgKzU5NzAs
NyBAQAogICAgIEBhc3NlcnQgY3R4LmxpbmVDYXAgPT09ICdidXR0JzsKICAgICBAYXNzZXJ0IGN0
eC5saW5lSm9pbiA9PT0gJ21pdGVyJzsKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAx
MDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndpZHRoLmJhc2ljCiAgIGRlc2M6
IGxpbmVXaWR0aCBkZXRlcm1pbmVzIHRoZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMKQEAgLTU3MjEs
NiArNjAxMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA4NCwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDg1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
ODYsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS53
aWR0aC50cmFuc2Zvcm1lZAogICBkZXNjOiBMaW5lIHN0cm9rZSB3aWR0aHMgYXJlIGFmZmVjdGVk
IGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9ucwpAQCAtNTc2Niw2ICs2MDU2LDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDg0LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODUsMjUg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4NiwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdAogICBk
ZXNjOiBEZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFu
c2Zvcm1hdGlvbnMKQEAgLTU3ODQsNiArNjA3NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwy
NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLndpZHRoLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRo
IHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpAQCAtNTc5OSw2ICs2MDkxLDcgQEAKICAgICBAYXNzZXJ0
IGN0eC5saW5lV2lkdGggPT09IDEvMTAyNDsKICAgICBjdHgubGluZVdpZHRoID0gMTAwMDsKICAg
ICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDEwMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQubGluZS53aWR0aC5pbnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRoIHRvIGlu
dmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQKQEAgLTU4MjIsNiArNjExNSw3IEBACiAgICAgY3R4Lmxp
bmVXaWR0aCA9IDEuNTsKICAgICBjdHgubGluZVdpZHRoID0gTmFOOwogICAgIEBhc3NlcnQgY3R4
LmxpbmVXaWR0aCA9PT0gMS41OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2Fw
LmJ1dHQKICAgZGVzYzogbGluZUNhcCAnYnV0dCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC01
ODU4LDYgKzYxNTIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzQgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDM2ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxp
bmUuY2FwLnJvdW5kCiAgIGRlc2M6IGxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0
bHkKQEAgLTU5MDMsNiArNjE5OCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA2Nyw0MyA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDQzID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgODIsNDMgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQubGluZS5jYXAuc3F1YXJlCiAgIGRlc2M6IGxpbmVDYXAgJ3NxdWFyZScgaXMgcmVuZGVy
ZWQgY29ycmVjdGx5CkBAIC01OTM5LDYgKzYyMzUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUs
NDQgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSw0NSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDQ2ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLm9wZW4KICAgZGVzYzogTGluZSBjYXBzIGFyZSBkcmF3
biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUKQEAgLTU5NjIsNiArNjI1
OSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmNsb3Nl
ZAogICBkZXNjOiBMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1
bmNsb3NlZCByZWN0YW5nbGUKQEAgLTU5ODUsNiArNjI4Myw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZUNh
cCB0byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAgLTU5OTgsNiArNjI5Nyw3IEBACiAgICAgQGFzc2Vy
dCBjdHgubGluZUNhcCA9PT0gJ3JvdW5kJzsKICAgICBjdHgubGluZUNhcCA9ICdzcXVhcmUnOwog
ICAgIEBhc3NlcnQgY3R4LmxpbmVDYXAgPT09ICdzcXVhcmUnOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmxpbmUuY2FwLmludmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lQ2FwIHRvIGlu
dmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQKQEAgLTYwMjQsNiArNjMyNCw3IEBACiAgICAgY3R4Lmxp
bmVDYXAgPSAnYnV0dCc7CiAgICAgY3R4LmxpbmVDYXAgPSAnYmV2ZWwnOwogICAgIEBhc3NlcnQg
Y3R4LmxpbmVDYXAgPT09ICdidXR0JzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5l
LmpvaW4uYmV2ZWwKICAgZGVzYzogbGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0
bHkKQEAgLTYwNzQsNiArNjM3NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA4NSwxNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg2LDE1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgODYsMTQgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQubGluZS5qb2luLnJvdW5kCiAgIGRlc2M6IGxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVy
ZWQgY29ycmVjdGx5CkBAIC02MTIxLDYgKzY0MjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODcs
MTMgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4OCwxMyA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg4LDEyID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmxpbmUuam9pbi5taXRlcgogICBkZXNjOiBsaW5lSm9pbiAnbWl0ZXIn
IGlzIHJlbmRlcmVkIGNvcnJlY3RseQpAQCAtNjE2MSw2ICs2NDY0LDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDkwLDEwID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTEsOSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkyLDggPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLm9wZW4KICAgZGVzYzogTGluZSBqb2lu
cyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlCkBA
IC02MTgzLDYgKzY0ODcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5s
aW5lLmpvaW4uY2xvc2VkCiAgIGRlc2M6IExpbmUgam9pbnMgYXJlIGRyYXduIGF0IHRoZSBjb3Ju
ZXIgb2YgYSBjbG9zZWQgcmVjdGFuZ2xlCkBAIC02MjA1LDYgKzY1MTAsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4ucGFyYWxsZWwKICAgZGVzYzogTGlu
ZSBqb2lucyBhcmUgZHJhd24gYXQgMTgwLWRlZ3JlZSBqb2lucwpAQCAtNjIyNSw2ICs2NTMxLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLnZhbGlkCiAg
IGRlc2M6IFNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQgdmFsdWVzIHdvcmtzCkBAIC02MjM4LDYg
KzY1NDUsNyBAQAogICAgIEBhc3NlcnQgY3R4LmxpbmVKb2luID09PSAncm91bmQnOwogICAgIGN0
eC5saW5lSm9pbiA9ICdtaXRlcic7CiAgICAgQGFzc2VydCBjdHgubGluZUpvaW4gPT09ICdtaXRl
cic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLmludmFsaWQKICAgZGVz
YzogU2V0dGluZyBsaW5lSm9pbiB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkCkBAIC02MjY0
LDYgKzY1NzIsNyBAQAogICAgIGN0eC5saW5lSm9pbiA9ICdiZXZlbCc7CiAgICAgY3R4LmxpbmVK
b2luID0gJ2J1dHQnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVKb2luID09PSAnYmV2ZWwnOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIuZXhjZWVkZWQKICAgZGVzYzogTWl0
ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZApA
QCAtNjI4Niw2ICs2NTk1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
bGluZS5taXRlci5hY3V0ZQogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5
IHdpdGggYWN1dGUgYW5nbGVzCkBAIC02MzE1LDYgKzY2MjUsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLm9idHVzZQogICBkZXNjOiBNaXRlciBqb2lu
cyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggb2J0dXNlIGFuZ2xlcwpAQCAtNjM0NCw2ICs2NjU1
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5yaWdo
dGFuZ2xlCiAgIGRlc2M6IE1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIg
bGltaXQgaXMgZXhjZWVkZWQsIG9uIGV4YWN0IHJpZ2h0IGFuZ2xlcwpAQCAtNjM2NSw2ICs2Njc3
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5saW5l
ZWRnZQogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxp
bWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBjb3JuZXJzIG9mIGEgemVyby1oZWlnaHQgcmVjdGFuZ2xl
CkBAIC02MzgzLDYgKzY2OTYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5saW5lLm1pdGVyLndpdGhpbgogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0
aGUgbWl0ZXIgbGltaXQgaXMgbm90IHF1aXRlIGV4Y2VlZGVkCkBAIC02NDA0LDYgKzY3MTgsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLnZhbGlkCiAg
IGRlc2M6IFNldHRpbmcgbWl0ZXJMaW1pdCB0byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAgLTY0MTks
NiArNjczNCw3IEBACiAgICAgQGFzc2VydCBjdHgubWl0ZXJMaW1pdCA9PT0gMS8xMDI0OwogICAg
IGN0eC5taXRlckxpbWl0ID0gMTAwMDsKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAx
MDAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIuaW52YWxpZAogICBk
ZXNjOiBTZXR0aW5nIG1pdGVyTGltaXQgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApAQCAt
NjQ0Miw2ICs2NzU4LDcgQEAKICAgICBjdHgubWl0ZXJMaW1pdCA9IDEuNTsKICAgICBjdHgubWl0
ZXJMaW1pdCA9IE5hTjsKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxLjU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jcm9zcwogICBjb2RlOiB8CkBAIC02NDU5LDYg
KzY3NzYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLnVuaW9u
CiAgIGNvZGU6IHwKQEAgLTY0NzksNiArNjc5Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguaW5pdGlhbAogICB0ZXN0aW5nOgpAQCAtNjQ5MCw2ICs2ODA5LDcg
QEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmJlZ2luUGF0aAogICB0ZXN0aW5nOgpAQCAtNjUwMiw2ICs2ODIyLDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLm1vdmVUby5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjUxNyw2ICs2ODM4LDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA5MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
Lm1vdmVUby5uZXdzdWJwYXRoCiAgIHRlc3Rpbmc6CkBAIC02NTMyLDYgKzY4NTQsNyBAQAogICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgubW92ZVRvLm11bHRpcGxlCiAgIHRlc3Rpbmc6CkBAIC02NTQ3LDYgKzY4NzAsNyBAQAogICAg
IGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
Lm1vdmVUby5ub25maW5pdGUKICAgZGVzYzogbW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMg
aWdub3JlZApAQCAtNjU2MSw2ICs2ODg1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5lbXB0eQogICB0
ZXN0aW5nOgpAQCAtNjU3Miw2ICs2ODk3LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lCiAg
IHRlc3Rpbmc6CkBAIC02NTg4LDYgKzY5MTQsNyBAQAogICAgIGN0eC5jbG9zZVBhdGgoKTsKICAg
ICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQKICAg
dGVzdGluZzoKQEAgLTY2MDMsNiArNjkzMCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAwLCAyNSk7
CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0
aC4xCiAgIGRlc2M6IElmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBh
bmQgbm90aGluZyBpcyBkcmF3bgpAQCAtNjYxOCw2ICs2OTQ2LDcgQEAKICAgICBjdHgubGluZVRv
KDEwMCwgNTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubGluZVRvLmVu
c3VyZXN1YnBhdGguMgogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQg
aXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1YnNlcXVlbnQgZHJhd2luZwpAQCAtNjYzNCw2ICs2OTYz
LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGgubGluZVRvLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC02NjQ4LDYgKzY5NzgsNyBA
QAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5saW5lVG8ubmV4dHBvaW50CiAgIHRlc3Rpbmc6CkBAIC02NjYzLDYgKzY5OTQsNyBA
QAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5saW5lVG8ubm9uZmluaXRlCiAgIGRlc2M6IGxpbmVUbygpIHdpdGggSW5maW5pdHkv
TmFOIGlzIGlnbm9yZWQKQEAgLTY2NzgsNiArNzAxMCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTAsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5s
aW5lVG8ubm9uZmluaXRlLmRldGFpbHMKICAgZGVzYzogbGluZVRvKCkgd2l0aCBJbmZpbml0eS9O
YU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFyZwpAQCAtNjY4OSw2
ICs3MDIyLDcgQEAKICAgICAgIGN0eC5saW5lVG8oYXJnMSwgeyB2YWx1ZU9mOiBmdW5jdGlvbigp
IHsgY29udmVydGVkID0gdHJ1ZTsgcmV0dXJuIDA7IH0gfSk7CiAgICAgICBAYXNzZXJ0IGNvbnZl
cnRlZDsKICAgICB9CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWND
dXJ2ZVRvLmVuc3VyZXN1YnBhdGguMQogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0
aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAg
dG8gaXQpCkBAIC02NzA1LDYgKzcwMzksNyBAQAogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIKICAgZGVzYzogSWYgdGhlcmUgaXMg
bm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQKQEAgLTY3MjEsNiAr
NzA1Niw3IEBACiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OyBAbW96
LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
YmFzaWMKICAgdGVzdGluZzoKQEAgLTY3MzUsNiArNzA3MSw3IEBACiAgICAgY3R4LnF1YWRyYXRp
Y0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlCiAgIHRlc3Rpbmc6CkBAIC02NzUzLDYgKzcw
OTAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uc2NhbGVkCiAgIHRlc3Rpbmc6CkBAIC02NzcyLDYgKzcxMTAsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmlu
aXRlCiAgIGRlc2M6IHF1YWRyYXRpY0N1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkCkBAIC02Nzg3LDYgKzcxMjYsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVU
by5lbnN1cmVzdWJwYXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZp
cnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0
KQpAQCAtNjgwMyw2ICs3MTQzLDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVU
by5lbnN1cmVzdWJwYXRoLjIKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZp
cnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQKQEAgLTY4MTksNiArNzE2MCw3IEBACiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjgzMyw2ICs3
MTc1LDcgQEAKICAgICBjdHguYmV6aWVyQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1LCAxMDAsIDI1
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2hh
cGUKICAgdGVzdGluZzoKQEAgLTY4NTEsNiArNzE5NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5
OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQKICAgdGVzdGluZzoKQEAg
LTY4NzAsNiArNzIxNCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYmV6aWVyQ3VydmVUby5ub25maW5pdGUKICAgZGVzYzogYmV6aWVyQ3VydmVUbygpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTY4ODUsNiArNzIzMCw3IEBACiAgICAgY3R4LmZp
bGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3Vi
cGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRy
YXduIHVwIHRvIGl0KQpAQCAtNjkwMCw2ICs3MjQ2LDcgQEAKICAgICBjdHguYXJjVG8oMTAwLCA1
MCwgMjAwLCA1MCwgMC4xKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFy
Y1RvLmVuc3VyZXN1YnBhdGguMgogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUg
Zmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZApAQCAtNjkxNiw2ICs3MjYzLDcgQEAKICAgICBj
dHgubGluZVRvKDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjVG8uY29pbmNpZGUuMQogICBkZXNjOiBhcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQ
MQpAQCAtNjkzOSw2ICs3Mjg3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguYXJjVG8uY29pbmNpZGUuMgogICBkZXNjOiBhcmNUbygpIGRyYXdzIGEgc3RyYWln
aHQgbGluZSB0byBQMSBpZiBQMSA9IFAyCkBAIC02OTU0LDYgKzczMDMsNyBAQAogICAgIGN0eC5h
cmNUbygxMDAsIDI1LCAxMDAsIDI1LCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBhbGwgcG9pbnRz
IG9uIGEgbGluZSwgYW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0
byBQMQpAQCAtNjk3NCw2ICs3MzI0LDcgQEAKICAgICBjdHguYXJjVG8oMCwgMjUsIDEwMCwgMjUs
IDEpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFy
LjIKICAgZGVzYzogYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDIgYmV0
d2VlbiBQMC9QMSwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxCkBAIC02OTk0LDYgKzczNDUs
NyBAQAogICAgIGN0eC5hcmNUbygyMDAsIDI1LCAxMTAsIDI1LCAxKTsKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zCiAgIGRlc2M6IGFyY1RvKCkg
d2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAwIGJldHdlZW4gUDEvUDIsIGRyYXdzIGEg
c3RyYWlnaHQgbGluZSB0byBQMQpAQCAtNzAxOCw2ICs3MzcwLDcgQEAKICAgICBjdHguYXJjVG8o
MCwgMjUsIC0yMDAsIDI1LCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmFyY1RvLnNoYXBlLmN1cnZlMQogICBkZXNjOiBhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQg
a2luZCBvZiBzaGFwZQpAQCAtNzA1NCw2ICs3NDA3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDgw
LDQ1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDYgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA2NSw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMgogICBkZXNjOiBhcmNUbygp
IGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZQpAQCAtNzA4OSw2ICs3NDQzLDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ0ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgODAsNDUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCw0NiA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLnN0
YXJ0CiAgIGRlc2M6IGFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEK
QEAgLTcxMDgsNiArNzQ2Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmFyY1RvLnNoYXBlLmVuZAogICBkZXNjOiBhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55
dGhpbmcgZnJvbSBQMSB0byBQMgpAQCAtNzEyNyw2ICs3NDgzLDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8ubmVnYXRpdmUKICAgZGVzYzogYXJjVG8o
KSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uCkBAIC03MTM0LDYgKzc0
OTEsNyBAQAogICAgIC0gMmQucGF0aC5hcmNUby5uZWdhdGl2ZQogICBjb2RlOiB8CiAgICAgQGFz
c2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnplcm8uMQogICBkZXNjOiBhcmNU
bygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEK
QEAgLTcxNTQsNiArNzUxMiw3IEBACiAgICAgY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwgMCk7
CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby56ZXJvLjIKICAgZGVz
YzogYXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAw
IHRvIFAxLCBldmVuIHdoZW4gYWxsIHBvaW50cyBhcmUgY29sbGluZWFyCkBAIC03MTc0LDYgKzc1
MzMsNyBAQAogICAgIGN0eC5hcmNUbygyMDAsIDI1LCA1MCwgMjUsIDApOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24KICAgZGVzYzogYXJj
VG8gam9pbnMgdXAgdG8gdGhlIGxhc3Qgc3VicGF0aCBwb2ludCBjb3JyZWN0bHkKQEAgLTcxOTYs
NiArNzU1Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5
OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFy
Y1RvLnNjYWxlCiAgIGRlc2M6IGFyY1RvIHNjYWxlcyB0aGUgY3VydmUsIG5vdCBqdXN0IHRoZSBj
b250cm9sIHBvaW50cwpAQCAtNzIxOSw2ICs3NTgwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDAs
NDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8ubm9uZmluaXRlCiAgIGRlc2M6IGFyY1RvKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNzIzNCw2ICs3NTk2LDcgQEAKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5h
bWU6IDJkLnBhdGguYXJjLmVtcHR5CkBAIC03MjQ5LDYgKzc2MTIsNyBAQAogICAgIGN0eC5hcmMo
MjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmFyYy5ub25lbXB0eQogICBkZXNjOiBhcmMoKSB3aXRoIGEgbm9uLWVtcHR5
IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQKQEAgLTcy
NjQsNiArNzYyOCw3IEBACiAgICAgY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRy
dWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmVuZAogICBkZXNj
OiBhcmMoKSBhZGRzIHRoZSBlbmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aApAQCAt
NzI4MCw2ICs3NjQ1LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMjUpOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmRlZmF1bHQKICAgZGVzYzogYXJjKCkgd2l0aCBt
aXNzaW5nIGxhc3QgYXJndW1lbnQgZGVmYXVsdHMgdG8gY2xvY2t3aXNlCkBAIC03Mjk0LDYgKzc2
NjAsNyBAQAogICAgIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwog
ICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS4xCiAgIGRlc2M6IGFy
YygpIGRyYXdzIHBpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5CkBAIC03MzA4LDYg
Kzc2NzUsNyBAQAogICAgIGN0eC5hcmMoMTAwLCAwLCAxNTAsIE1hdGguUEkvMiwgLU1hdGguUEks
IHRydWUpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS4yCiAg
IGRlc2M6IGFyYygpIGRyYXdzIC0zcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHkK
QEAgLTczMjIsNiArNzY5MCw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5Q
SS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjLmFuZ2xlLjMKICAgZGVzYzogYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRp
Y2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkKQEAgLTczMzYsNiArNzcwNSw3IEBACiAgICAg
Y3R4LmFyYygxMDAsIDAsIDE1MCwgKDUxMisxLzIpKk1hdGguUEksICgxMDI0LTEpKk1hdGguUEks
IHRydWUpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS40CiAg
IGRlc2M6IGFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+
IHN0YXJ0KzJwaQpAQCAtNzM1Myw2ICs3NzIzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmMuYW5nbGUuNQogICBkZXNjOiBhcmMoKSB3cmFwcyBhbmdsZXMg
bW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpCkBAIC03MzY3LDYgKzc3
MzgsNyBAQAogICAgIGN0eC5hcmMoMTAwLCAwLCAxNTAsICgxMDI0LTEpKk1hdGguUEksICg1MTIr
MS8yKSpNYXRoLlBJLCBmYWxzZSk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjLmFuZ2xlLjYKICAgZGVzYzogYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGFudGlj
bG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaQpAQCAtNzM4NCw2ICs3NzU2LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuemVyby4xCiAgIGRlc2M6IGFy
YygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUgYW5kIGFudGljbG9j
a3dpc2UKQEAgLTczOTgsNiArNzc3MSw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAw
LCB0cnVlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvLjIK
ICAgZGVzYzogYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0YXJ0QW5nbGUgPSBlbmRBbmdsZSBh
bmQgY2xvY2t3aXNlCkBAIC03NDEyLDYgKzc3ODYsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1
MCwgMCwgMCwgZmFsc2UpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
LnR3b3BpZS4xCiAgIGRlc2M6IGFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCAr
IDJwaS1lIGFuZCBhbnRpY2xvY2t3aXNlCkBAIC03NDI2LDYgKzc4MDEsNyBAQAogICAgIGN0eC5h
cmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMudHdvcGllLjIKICAgZGVzYzogYXJjKCkgZHJhd3Mg
YSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZQpAQCAt
NzQ0MCw2ICs3ODE2LDcgQEAKICAgICBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAt
IDFlLTQsIGZhbHNlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
MCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy50
d29waWUuMwogICBkZXNjOiBhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3Rh
cnQgKyAycGkrZSBhbmQgYW50aWNsb2Nrd2lzZQpAQCAtNzQ1NCw2ICs3ODMxLDcgQEAKICAgICBj
dHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFlLTQsIHRydWUpOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnR3b3BpZS40CiAgIGRlc2M6IGFyYygpIGRy
YXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UKQEAgLTc0
NjgsNiArNzg0Niw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAx
ZS00LCBmYWxzZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hh
cGUuMQogICBkZXNjOiBhcmMoKSBmcm9tIDAgdG8gcGkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBp
biB0aGUgd3JvbmcgaGFsZgpAQCAtNzQ4Nyw2ICs3ODY2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNoYXBlLjIKICAgZGVzYzogYXJjKCkgZnJvbSAw
IHRvIHBpIGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBoYWxmCkBAIC03NTA2LDYgKzc4ODYsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDIwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMwog
ICBkZXNjOiBhcmMoKSBmcm9tIDAgdG8gLXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0
aGUgd3JvbmcgcXVhZHJhbnQKQEAgLTc1MjQsNiArNzkwNSw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5zaGFwZS40CiAgIGRlc2M6IGFy
YygpIGZyb20gMCB0byAtcGkvMiBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQKQEAg
LTc1NDIsNiArNzkyNCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjLnNoYXBlLjUKICAgZGVzYzogYXJjKCkgZnJvbSAwIHRvIDVwaSBkb2VzIG5vdCBkcmF3
IGNyYXp5IHRoaW5ncwpAQCAtNzU2MCw2ICs3OTQzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xCiAgIGRlc2M6IGFyYygpIHdp
dGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2libHkKQEAgLTc1NzgsNiArNzk2
Miw3IEBACiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMSwxID09IDAsMjU1
LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMgog
ICBkZXNjOiBhcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5
CkBAIC03NjAwLDYgKzc5ODUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTcsMiA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk3LDMgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCAyLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjLm5lZ2F0aXZlCiAgIGRlc2M6IGFyYygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRo
cm93cyBJTkRFWF9TSVpFX0VSUgpAQCAtNzYwNyw2ICs3OTkzLDcgQEAKICAgICAtIDJkLnBhdGgu
YXJjLm5lZ2F0aXZlCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VS
UiBjdHguYXJjKDAsIDAsIC0xLCAwLCAwLCB0cnVlKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmFyYy56ZXJvcmFkaXVzCiAgIGRlc2M6IGFyYygpIHdpdGggemVybyByYWRpdXMg
ZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFydCBwb2ludApAQCAtNzYyMiw2ICs4MDA5LDcgQEAKICAg
ICBjdHguYXJjKDIwMCwgMjUsIDAsIDAsIE1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNjYWxlLjEKICAgZGVzYzogTm9uLXVuaWZvcm1seSBz
Y2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlCkBAIC03NjU1LDYgKzgwNDMsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2NhbGUuMgogICBkZXNj
OiBIaWdobHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZQpAQCAtNzY3OCw2ICs4MDY3
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5vbmZp
bml0ZQogICBkZXNjOiBhcmMoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC03Njk1
LDYgKzgwODUsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQucGF0aC5yZWN0LmJhc2ljCkBAIC03NzA3LDYg
KzgwOTgsNyBAQAogICAgIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLnJlY3QubmV3c3VicGF0aAogICB0ZXN0aW5nOgpAQCAtNzcyMiw2
ICs4MTE0LDcgQEAKICAgICBjdHgucmVjdCgyMDAsIDI1LCAxLCAxKTsKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuY2xvc2VkCiAgIHRlc3Rpbmc6CkBAIC03NzM1LDYg
KzgxMjgsNyBAQAogICAgIGN0eC5yZWN0KDEwMCwgNTAsIDEwMCwgMTAwKTsKICAgICBjdHguc3Ry
b2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuZW5kLjEKICAgdGVzdGluZzoKQEAgLTc3NDgs
NiArODE0Miw3IEBACiAgICAgY3R4LmxpbmVUbygtMjAwMCwgLTEwMDApOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5lbmQuMgogICB0ZXN0aW5nOgpAQCAtNzc2Niw2
ICs4MTYxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0
Lnplcm8uMQogICB0ZXN0aW5nOgpAQCAtNzc3OSw2ICs4MTc1LDcgQEAKICAgICBjdHgucmVjdCgw
LCA1MCwgMTAwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3Qu
emVyby4yCiAgIHRlc3Rpbmc6CkBAIC03NzkyLDYgKzgxODksNyBAQAogICAgIGN0eC5yZWN0KDUw
LCAtMTAwLCAwLCAyNTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVj
dC56ZXJvLjMKICAgdGVzdGluZzoKQEAgLTc4MDUsNiArODIwMyw3IEBACiAgICAgY3R4LnJlY3Qo
NTAsIDI1LCAwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3Qu
emVyby40CiAgIHRlc3Rpbmc6CkBAIC03ODE4LDYgKzgyMTcsNyBAQAogICAgIGN0eC5saW5lVG8o
MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjUK
ICAgdGVzdGluZzoKQEAgLTc4MzEsNiArODIzMSw3IEBACiAgICAgY3R4LnJlY3QoMTAwLCAyNSwg
MCwgMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uNgog
ICB0ZXN0aW5nOgpAQCAtNzg0Niw2ICs4MjQ3LDcgQEAKICAgICBjdHgucmVjdCgxMDAsIDI1LCAx
MDAwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5y
ZWN0Lm5lZ2F0aXZlCiAgIHRlc3Rpbmc6CkBAIC03ODY0LDYgKzgyNjYsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC53aW5kaW5nCiAgIHRlc3Rpbmc6
CkBAIC03ODgyLDYgKzgyODUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0CiAgIGNvZGU6IHwKQEAgLTc4OTMsNiArODI5Nyw3
IEBACiAgICAgY3R4LnJlY3QoNDUsIDIwLCAxMCwgMTApOwogICAgIGN0eC5zdHJva2UoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IHJlY3QoKSB3
aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC03OTA4LDYgKzgzMTMsNyBAQAogICAgIGN0
eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguZmlsbC5vdmVybGFwCiAgIHRlc3Rpbmc6CkBAIC03OTIxLDYgKzgzMjcsNyBA
QAogICAgIGN0eC5yZWN0KDEwLCAxMCwgODAsIDMwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMTI3LDAsMjU1ICsvLSAxOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguZmlsbC53aW5kaW5nLmFkZAogICB0ZXN0aW5nOgpAQCAtNzk0MCw2
ICs4MzQ3LDcgQEAKICAgICBjdHgubGluZVRvKDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMQogICB0ZXN0aW5nOgpAQCAtNzk1
OSw2ICs4MzY3LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMCk7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIKICAgdGVzdGluZzoKQEAg
LTc5NzcsNiArODM4Niw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDApOwogICAgIGN0eC5maWxs
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zCiAgIHRlc3Rpbmc6
CkBAIC04MDAxLDYgKzg0MTEsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAwKTsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYwogICB0ZXN0aW5nOgpA
QCAtODAxNSw2ICs4NDI2LDcgQEAKICAgICBjdHgubGluZVRvKDAsIDUwKTsKICAgICBjdHguZmls
bCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkCiAgIHRlc3Rpbmc6
CkBAIC04MDMyLDYgKzg0NDQsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA5MCwxMCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEwLDQwID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLm92ZXJsYXAK
ICAgZGVzYzogU3Ryb2tlZCBzdWJwYXRocyBhcmUgY29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXdu
CkBAIC04MDQ4LDYgKzg0NjEsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAzMCk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMTI3LDAsMjU1ICsvLSAx
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnVuaW9uCiAgIGRlc2M6
IFN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0
ZWQKQEAgLTgwNjQsNiArODQ3OCw3IEBACiAgICAgY3R4LmxpbmVUbygwLCA0MCk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZAogICBkZXNjOiBT
dHJva2luZyBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgKQEAgLTgwODMsNiAr
ODQ5OCw3IEBACiAgICAgY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnNjYWxlMQogICBkZXNjOiBTdHJva2UgbGluZSB3
aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAg
LTgxMTQsNiArODUzMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLnN0cm9rZS5zY2FsZTIKICAgZGVzYzogU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQg
YnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4CkBAIC04MTQ3LDYgKzg1NjQsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2Uuc2tldwog
ICBkZXNjOiBTdHJva2VzIGxpbmVzIGFyZSBza2V3ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3Jt
YXRpb24gbWF0cml4CkBAIC04MTkzLDYgKzg2MTEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0
OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UuZW1wdHkKICAgZGVzYzogRW1wdHkgc3VicGF0aHMg
YXJlIG5vdCBzdHJva2VkCkBAIC04MjEwLDYgKzg2MjksNyBAQAogICAgIGN0eC5tb3ZlVG8oNjAs
IDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5s
aW5lCiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJl
bW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MjI3LDYgKzg2NDcsNyBAQAogICAgIGN0eC5saW5l
VG8oNTAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5zdHJva2UucHJ1bmUuY2xvc2VkCiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMg
ZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MjQ1LDYg
Kzg2NjYsNyBAQAogICAgIGN0eC5jbG9zZVBhdGgoKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUKICAgZGVzYzogWmVyby1s
ZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZl
VG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MjY2LDYgKzg2ODgsNyBAQAogICAg
IGN0eC5iZXppZXJDdXJ2ZVRvKDUwLCAyNSwgNTAsIDI1LCA1MCwgMjUpOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8K
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMKICAgZGVz
YzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92
ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04Mjg3LDYgKzg3MTAsNyBAQAogICAgIGN0eC5hcmMoNTAs
IDI1LCAxMCwgMCwgMCwgZmFsc2UpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0CiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUg
c2VnbWVudHMgZnJvbSByZWN0IGFuZCBzdHJva2VSZWN0IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJv
a2luZwpAQCAtODMwNCw2ICs4NzI4LDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgY3R4LnN0
cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9r
ZS5wcnVuZS5jb3JuZXIKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBhcmUgcmVt
b3ZlZCBiZWZvcmUgc3Ryb2tpbmcgd2l0aCBtaXRlcnMKQEAgLTgzMjQsNiArODc0OSw3IEBACiAg
ICAgY3R4LmxpbmVUbygtMTAwLCAxMDAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC04MzM3LDYgKzg3NjMs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUKICAgZGVzYzogVHJhbnNmb3JtYXRp
b25zIGFyZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nCkBA
IC04MzYxLDYgKzg3ODgsNyBAQAogICAgIGN0eC50cmFuc2xhdGUoMCwgNTApOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcKICAgZGVz
YzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qg
d2hlbiBkcmF3aW5nCkBAIC04MzgyLDYgKzg4MTAsNyBAQAogICAgIGN0eC5zY2FsZSgwLjEsIDAu
MSk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC5lbXB0eQogICB0ZXN0
aW5nOgpAQCAtODM5NCw2ICs4ODIzLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC5i
YXNpYy4xCiAgIHRlc3Rpbmc6CkBAIC04NDA3LDYgKzg4MzcsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5jbGlwLmJhc2ljLjIKICAgdGVzdGluZzoKQEAgLTg0MjAsNiArODg1MSw3IEBACiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsaXAuaW50ZXJzZWN0CiAgIHRlc3Rpbmc6CkBAIC04NDM2
LDYgKzg4NjgsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLndpbmRpbmcuMQogICB0
ZXN0aW5nOgpAQCAtODQ1Nyw2ICs4ODkwLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xp
cC53aW5kaW5nLjIKICAgdGVzdGluZzoKQEAgLTg0ODEsNiArODkxNSw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmNsaXAudW5hZmZlY3RlZAogICB0ZXN0aW5nOgpAQCAtODQ5OCw2ICs4OTMz
LDcgQEAKICAgICBjdHgubGluZVRvKDAsIDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0
ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgKQEAgLTg1MDcsNiArODk0
Myw3IEBACiAgICAgY3R4LnJlY3QoMCwgMCwgMjAsIDIwKTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDEwLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCgzMCwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlz
UG9pbnRJblBhdGguYmFzaWMuMgogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0
aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgKQEAgLTg1MTYsNiArODk1Myw3IEBACiAg
ICAgY3R4LnJlY3QoMjAsIDAsIDIwLCAyMCk7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCgxMCwgMTApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAx
MCkgPT09IHRydWU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmVkZ2UKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBh
dGggYXMgYmVpbmcgaW5zaWRlCkBAIC04NTM1LDYgKzg5NzMsNyBAQAogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQ
b2ludEluUGF0aCgtMC4wMSwgMTApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50
SW5QYXRoKDIwLjAxLCAxMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguaXNQb2ludEluUGF0aC5lbXB0eQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mg
d2hlbiB0aGVyZSBpcyBubyBwYXRoCkBAIC04NTQyLDYgKzg5ODEsNyBAQAogICAgIC0gMmQucGF0
aC5pc1BvaW50SW5QYXRoCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRo
KDAsIDApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9p
bnRJblBhdGguc3VicGF0aAogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgY3VycmVu
dCBwYXRoLCBub3QganVzdCB0aGUgc3VicGF0aApAQCAtODU1Niw2ICs4OTk2LDcgQEAKICAgICBA
YXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDUwLCAxMCkgPT09IHRydWU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGUKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHdvcmtz
IG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcwpAQCAtODU3MCw2ICs5MDExLDcgQEAKICAgICBA
YXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0
IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDMwLCAyMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZAogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29y
a3Mgb24gdW5jbG9zZWQgc3VicGF0aHMKQEAgLTg1ODIsNiArOTAyNCw3IEBACiAgICAgY3R4Lmxp
bmVUbygwLCAyMCk7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMTApID09PSB0
cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSA9PT0gZmFsc2U7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYwogICBkZXNj
OiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gYXJjcwpAQCAtODU5Nyw2ICs5MDQwLDcgQEAKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3Nl
cnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHgu
aXNQb2ludEluUGF0aCg3MCwgMzApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3
b3JrcyBvbiB1bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFuIDJwaQpAQCAtODYxMyw2ICs5MDU3LDcg
QEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2Vy
dCBjdHguaXNQb2ludEluUGF0aCg3MCwgMzApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyCiAgIGRlc2M6IGlzUG9pbnRJblBh
dGgoKSB3b3JrcyBvbiBCZXppZXIgY3VydmVzCkBAIC04NjQxLDYgKzkwODYsNyBAQAogICAgIEBh
c3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0
eC5pc1BvaW50SW5QYXRoKDc1LCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9p
bnRJblBhdGgoNzUsIDMwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHVzZXMg
dGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVtYmVyIHJ1bGUKQEAgLTg2NjcsNiArOTExMyw3IEBACiAg
ICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg1LCA0NSkgPT09IHRydWU7CiAgICAgQGFzc2Vy
dCBjdHguaXNQb2ludEluUGF0aCgyNSwgNDUpID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4Lmlz
UG9pbnRJblBhdGgoNDUsIDQ1KSA9PT0gdHJ1ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEKICAgZGVzYzogaXNQb2ludEluUGF0aCgp
IGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseQpAQCAtODY4MSw2ICs5MTI4LDcgQEAK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkgPT09IHRydWU7CiAgICAgQGFz
c2VydCBjdHguaXNQb2ludEluUGF0aCg2OSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoNzEsIDEwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yCiAgIGRlc2M6IGlzUG9pbnRJblBh
dGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkKQEAgLTg2OTUsNiArOTE0Myw3
IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg1MSwgMTApID09PSB0cnVlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0
IGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMwogICBkZXNjOiBpc1BvaW50
SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5CkBAIC04NzA5LDYgKzkx
NTgsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSA9PT0gdHJ1ZTsK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkgPT09IHRydWU7CiAgICAgQGFz
c2VydCBjdHguaXNQb2ludEluUGF0aCg3MSwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQKICAgZGVzYzogaXNQ
b2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseQpAQCAtODcyMSw2
ICs5MTcxLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCkgPT09IGZh
bHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMTEwLCAxMCkgPT09IHRydWU7CiAg
ICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSA9PT0gZmFsc2U7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZQogICBkZXNj
OiBpc1BvaW50SW5QYXRoKCkgcmV0dXJucyBmYWxzZSBmb3Igbm9uLWZpbml0ZSBhcmd1bWVudHMK
QEAgLTg3MzUsNiArOTE4Niw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgwLCAt
SW5maW5pdHkpID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIE5h
TikgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoTmFOLCBOYU4pID09
PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb29yZGluYXRlc3BhY2UKICAg
ZGVzYzogQ29vcmRpbmF0ZSBzcGFjZSBnb2VzIGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0
CkBAIC04NzUwLDYgKzkyMDIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwwLDI1
NSwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDAsMjU1LDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDM3ID09IDAsMCwyNTUsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLm1pc3NpbmdhcmdzCiAgIGRlc2M6IE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJv
cgpAQCAtODc2OCw3ICs5MjIxLDYgQEAKICAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9y
IGN0eC50cmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCk7CiAgICAgfQogICAgIGlmIChjdHguc2V0VHJh
bnNmb3JtKSB7Ci0gICAgICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNm
b3JtKCk7CiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3Jt
KDEpOwogICAgICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnNldFRyYW5zZm9ybSgx
LCAwKTsKICAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRUcmFuc2Zvcm0o
MSwgMCwgMCk7CkBAIC04ODUxLDYgKzkzMDMsNyBAQAogICAgIHZhciBnID0gY3R4LmNyZWF0ZUxp
bmVhckdyYWRpZW50KDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBn
LmFkZENvbG9yU3RvcCgpOyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Ig
Zy5hZGRDb2xvclN0b3AoMCk7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnZvaWRyZXR1cm4KICAgZGVzYzogdm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQKQEAgLTg4
ODYsNiArOTMzOSw3IEBACiAgICAgfQogICAgIEBhc3NlcnQgY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQ7CiAgICAgQGFz
c2VydCBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCkuYWRkQ29sb3JTdG9wKDAs
ICd3aGl0ZScpID09PSB1bmRlZmluZWQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2Fu
dmFzLnJlZmVyZW5jZQogICBkZXNjOiBjYW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhcwpA
QCAtODg5Myw2ICs5MzQ3LDcgQEAKICAgICAtIDJkLmNhbnZhcwogICBjb2RlOiB8CiAgICAgQGFz
c2VydCBjdHguY2FudmFzID09PSBvZmZzY3JlZW5DYW52YXM7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuY2FudmFzLnJlYWRvbmx5CiAgIGRlc2M6IGNhbnZhcyBpcyByZWFkb25seQpAQCAt
ODkwNCw2ICs5MzU5LDcgQEAKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhczIgIT09IGQ7CiAg
ICAgY3R4LmNhbnZhcyA9IG9mZnNjcmVlbkNhbnZhczI7CiAgICAgQGFzc2VydCBjdHguY2FudmFz
ID09PSBkOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXhpc3RzCiAg
IGRlc2M6IFRoZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkCkBAIC04OTEyLDYgKzkzNjgsNyBA
QAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcy
ZCcpICE9PSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXh0
cmFhcmdzCiAgIGRlc2M6IFRoZSAyRCBjb250ZXh0IGlnbm9yZXMgZXh0cmEgZ2V0Q29udGV4dCBh
cmd1bWVudHMKQEAgLTg5MjAsNiArOTM3Nyw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCBv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgIjIiKSAh
PT0gbnVsbDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5nZXRjb250ZXh0LnVuaXF1ZQog
ICBkZXNjOiBnZXRDb250ZXh0KCcyZCcpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0CkBAIC04OTI4
LDYgKzkzODYsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzMi5n
ZXRDb250ZXh0KCcyZCcpID09PSBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyk7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ2V0Y29udGV4dC5zaGFyZWQKICAgZGVzYzogZ2V0
Q29udGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlCkBA
IC04OTM5LDYgKzkzOTgsNyBAQAogICAgIGN0eDIuZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNvbnRleHQuZW1wdHlzdHJpbmcK
ICAgZGVzYzogZ2V0Q29udGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGwKQEAgLTg5
NDcsNiArOTQwNyw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9y
IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZQogICBkZXNjOiBnZXRDb250ZXh0IHdpdGgg
dW5yZWNvZ25pc2VkIGNvbnRleHQgbmFtZSByZXR1cm5zIG51bGwKQEAgLTg5NTUsNiArOTQxNiw3
IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgnVGhpcyBpcyBub3QgYW4gaW1wbGVtZW50ZWQgY29udGV4dCBpbiBh
bnkgcmVhbCBicm93c2VyJyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJl
Y29nbmlzZWQuYmFkc3VmZml4CiAgIGRlc2M6IENvbnRleHQgbmFtZSAiMmQiIHBsdXMgYSBzdWZm
aXggaXMgdW5yZWNvZ25pc2VkCkBAIC04OTYzLDYgKzk0MjUsNyBAQAogICBjb2RlOiB8CiAgICAg
dmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAg
IEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJk
IyIpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNvbnRleHQudW5yZWNvZ25pc2VkLm51bGxz
dWZmaXgKICAgZGVzYzogQ29udGV4dCBuYW1lICIyZCIgcGx1cyBhICJcMCIgc3VmZml4IGlzIHVu
cmVjb2duaXNlZApAQCAtODk3MSw2ICs5NDM0LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZz
Y3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0
IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIyZFwwIik7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZQogICBk
ZXNjOiBDb250ZXh0IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBsaWtlICIyZCIgaXMgdW5yZWNv
Z25pc2VkCkBAIC04OTc5LDYgKzk0NDMsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhy
b3dzIFR5cGVFcnJvciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiBjb250ZXh0LmNhc2VzZW5zaXRpdmUKICAgZGVzYzogQ29u
dGV4dCBuYW1lICIyRCIgaXMgdW5yZWNvZ25pc2VkOyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2
ZQpAQCAtODk4Nyw2ICs5NDUyLDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyRCcpOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IGNvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcKICAgdGVzdGluZzoKQEAgLTg5
OTQsNiArOTQ2MCw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9y
IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgpOyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsK
IAogCiAtIG5hbWU6IGluaXRpYWwuY29sb3VyCkBAIC05MDAyLDYgKzk0NjksNyBAQAogICAgIC0g
aW5pdGlhbC5jb2xvdXIKICAgY29kZTogfAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCww
LDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmRpZmZlcmVudAog
ICBkZXNjOiBDaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2sK
QEAgLTkwMTMsNiArOTQ4MSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAyNTUsMCww
LDI1NTsKICAgICBvZmZzY3JlZW5DYW52YXMud2lkdGggPSA1MDsKICAgICBAYXNzZXJ0IHBpeGVs
IDIwLDIwID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNl
dC5zYW1lCiAgIGRlc2M6IFNldHRpbmcgc2l6ZSAobm90IGNoYW5naW5nIHRoZSB2YWx1ZSkgcmVz
ZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVudCBibGFjawpAQCAtOTAyNSw2ICs5NDk0LDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDI1NSwwLDAsMjU1OwogICAgIG9mZnNjcmVlbkNhbnZh
cy53aWR0aCA9IDEwMDsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC5wYXRoCiAgIGRlc2M6IFJlc2V0dGlu
ZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBwYXRoCkBAIC05MDM3LDYgKzk1
MDcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogaW5pdGlhbC5yZXNldC5jbGlwCiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRl
IHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbgpAQCAtOTA1MCw2ICs5NTIxLDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IGluaXRpYWwucmVzZXQudHJhbnNmb3JtCiAgIGRlc2M6IFJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgK
QEAgLTkwNjIsNiArOTUzNCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmdyYWRp
ZW50CiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRh
dGUgYW55IGV4aXN0aW5nIGdyYWRpZW50cwpAQCAtOTA3OCw2ICs5NTUxLDcgQEAKICAgICBjdHgu
ZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiBpbml0aWFsLnJlc2V0LnBhdHRlcm4KICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3Rh
dGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnMKQEAgLTkwOTQsNiAr
OTU2OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IHA7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybwogICBkZXNj
OiBTZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyB0byAwCkBAIC05MTA1LDYgKzk1
ODAsNyBAQAogICAgIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogICAgIEBhc3NlcnQgb2Zm
c2NyZWVuQ2FudmFzLndpZHRoID09PSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuaWRs
CiAgIGRlc2M6IEdldHRpbmcvc2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMKQEAg
LTkxMzAsNiArOTYwNiw3IEBACiAgICAgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICJmb28iOwog
ICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09PSAwOwogICAgIEBhc3NlcnQgb2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXpl
LmF0dHJpYnV0ZXMuZGVmYXVsdAogICBkZXNjOiBEZWZhdWx0IHdpZHRoL2hlaWdodCB3aGVuIGF0
dHJpYnV0ZXMgYXJlIG1pc3NpbmcKQEAgLTkxMzksNiArOTYxNiw3IEBACiAgIGNvZGU6IHwKICAg
ICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gMTAwOwogICAgIEBhc3NlcnQgb2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gNTA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogc2l6
ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsCiAgIGRlc2M6IFNldHRpbmcgSURMIGF0dHJpYnV0
ZXMgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcwpAQCAtOTE0OSw2ICs5NjI3LDcg
QEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gNjA7CiAgICAgQGFzc2VydCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPT09IDEyMDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQgPT09IDYwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IHNpemUuYXR0cmlidXRlcy5yZWZs
ZWN0LnNldGlkbHplcm8KICAgZGVzYzogU2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0
ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXMKQEAgLTkxNTksNiArOTYzOCw3IEBACiAgICAg
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMu
d2lkdGggPT09IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOwor
ICAgIHQuZG9uZSgpOwogCiAtIG1ldGE6IHwKICAgICBjYXNlcyA9IFsKQEAgLTkxOTAsNiArOTY3
MCw4IEBACiAgICAgICAgICAgICBjb2RlICs9ICJAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0
aCA9PT0gJXM7XG5AYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09ICVzO1xuIiAlIChl
eHAsIGV4cCkKICAgICAgICAgICAgIGV4cGVjdGVkID0gTm9uZQogCisgICAgICAgIGNvZGUgKz0g
InQuZG9uZSgpO1xuIgorCiAgICAgICAgIGlmIGV4cCA9PSAwOgogICAgICAgICAgICAgZXhwZWN0
ZWQgPSBOb25lICMgY2FuJ3QgZ2VuZXJhdGUgemVyby1zaXplZCBQTkdzIGZvciB0aGUgZXhwZWN0
ZWQgaW1hZ2UKIApAQCAtOTIxNiw2ICs5Njk4LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0ID0gbjsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gbjsKICAgICBA
YXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09IG47CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudGV4dC5mb250LnBhcnNlLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC05MjI3LDYgKzk3
MTAsNyBAQAogCiAgICAgY3R4LmZvbnQgPSAnMjBQWCAgIFNFUklGJzsKICAgICBAYXNzZXJ0IGN0
eC5mb250ID09PSAnMjBweCBzZXJpZic7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnRleHQuZm9udC5wYXJzZS50aW55CiAgIHRlc3Rpbmc6CkBAIC05MjM1LDYgKzk3MTks
NyBAQAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnMXB4IHNhbnMtc2VyaWYnOwogICAgIEBh
c3NlcnQgY3R4LmZvbnQgPT09ICcxcHggc2Fucy1zZXJpZic7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXgKICAgdGVzdGluZzoKQEAgLTkyNDQsNiAr
OTcyOSw3IEBACiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0
MDAgMTJweC8yIFVua25vd24gRm9udCwgc2Fucy1zZXJpZic7CiAgICAgQGFzc2VydCBjdHguZm9u
dCA9PT0gJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHggIlVua25vd24gRm9udCIsIHNhbnMtc2VyaWYn
OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogICAjIFRPRE86CiAgICMgICAyZC50ZXh0LmZv
bnQucGFyc2Uuc2l6ZS5hYnNvbHV0ZQpAQCAtOTI2NCw2ICs5NzUwLDcgQEAKICAgY29kZTogfAog
ICAgIGN0eC5mb250ID0gJ21lc3NhZ2UtYm94JzsKICAgICBAYXNzZXJ0IGN0eC5mb250ICE9PSAn
bWVzc2FnZS1ib3gnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuZm9udC5wYXJz
ZS5pbnZhbGlkCiAgIHRlc3Rpbmc6CkBAIC05MjcyLDYgKzk3NTksMTAgQEAKICAgICBjdHguZm9u
dCA9ICcyMHB4IHNlcmlmJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7
CiAKKyAgICBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKKyAgICBjdHguZm9udCA9ICcnOworICAg
IEBhc3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsKKwogICAgIGN0eC5mb250ID0gJzIw
cHggc2VyaWYnOwogICAgIGN0eC5mb250ID0gJ2JvZ3VzJzsKICAgICBAYXNzZXJ0IGN0eC5mb250
ID09PSAnMjBweCBzZXJpZic7CkBAIC05Mjk5LDE0ICs5NzkwLDIyIEBACiAgICAgY3R4LmZvbnQg
PSAnMjBweCBzZXJpZic7CiAgICAgY3R4LmZvbnQgPSAnMWVtIHNlcmlmOyBiYWNrZ3JvdW5kOiBn
cmVlbjsgbWFyZ2luOiAxMHB4JzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJp
Zic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LmRlZmF1bHQKICAgdGVz
dGluZzoKICAgICAtIDJkLnRleHQuZm9udC5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0
IGN0eC5mb250ID09PSAnMTBweCBzYW5zLXNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAotCistIG5h
bWU6IDJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0
LmZvbnQucmVsYXRpdmVfc2l6ZQorICBjb2RlOiB8CisgICAgY3R4LmZvbnQgPSAnMWVtIHNhbnMt
c2VyaWYnOworICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcxMHB4IHNhbnMtc2VyaWYnOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuYWxpZ24udmFsaWQKICAgdGVzdGluZzoKQEAg
LTkzMjcsNiArOTgyNiw3IEBACiAKICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAg
QGFzc2VydCBjdHgudGV4dEFsaWduID09PSAnY2VudGVyJzsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC50ZXh0LmFsaWduLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTkzNDcsMTIgKzk4NDcs
MTQgQEAKICAgICBjdHgudGV4dEFsaWduID0gJ3N0YXJ0JzsKICAgICBjdHgudGV4dEFsaWduID0g
J2VuZFwwJzsKICAgICBAYXNzZXJ0IGN0eC50ZXh0QWxpZ24gPT09ICdzdGFydCc7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5hbGlnbi5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAg
LSAyZC50ZXh0LmFsaWduLmRlZmF1bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LnRleHRB
bGlnbiA9PT0gJ3N0YXJ0JzsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnRleHQuYmFz
ZWxpbmUudmFsaWQKQEAgLTkzNzcsNiArOTg3OSw3IEBACiAKICAgICBjdHgudGV4dEJhc2VsaW5l
ID0gJ2JvdHRvbSc7CiAgICAgQGFzc2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAnYm90dG9tJzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmJhc2VsaW5lLmludmFsaWQKICAgdGVz
dGluZzoKQEAgLTkzOTcsMTIgKzk5MDAsMTQgQEAKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3Rv
cCc7CiAgICAgY3R4LnRleHRCYXNlbGluZSA9ICdtaWRkbGVcMCc7CiAgICAgQGFzc2VydCBjdHgu
dGV4dEJhc2VsaW5lID09PSAndG9wJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0
LmJhc2VsaW5lLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQuYmFzZWxpbmUuZGVm
YXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAnYWxwaGFi
ZXRpYyc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMK
ICAgZGVzYzogZmlsbFRleHQgZHJhd3MgZmlsbGVkIHRleHQKQEAgLTk0MTcsNiArOTkyMiw3IEBA
CiAgICAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJp
YWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnUEFTUycsIDUsIDM1KTsKKyAgICB0
LmRvbmUoKTsKICAgZXhwZWN0ZWQ6ICZwYXNzZmlsbCB8CiAgICAgc2l6ZSAxMDAgNTAKICAgICBj
ci5zZXRfc291cmNlX3JnYigwLCAwLCAwKQpAQCAtOTQ1MCw2ICs5OTU2LDcgQEAKIAogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBu
YW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5ydGwKQEAgLTk0NjQsNiArOTk3MSw3IEBACiAgICAgY3R4
LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMt
c2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnXHUyMDJlRkFJTCBceGEwIFx4YTAgU1NBUCcsIDUs
IDM1KTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6ICpwYXNzZmlsbAogCiAtIG5hbWU6IDJk
LnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmxhcmdlCkBAIC05NDc3LDYgKzk5ODUsNyBAQAogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fu
cy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUsIDIwMCk7CisgICAgdC5k
b25lKCk7CiAgIGV4cGVjdGVkOiAqcGFzc2ZpbGwKIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5zbWFsbApAQCAtOTQ5MCw2ICs5OTk5LDcgQEAKICAgICBjdHguZm9udCA9ICcz
NXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKICAgICBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWls
IGZhaWwgZmFpbCcsIC0xMDAsIDM1LCA5MCk7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1
MCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLnplcm8KQEAgLTk1MDMsNiArMTAwMTMsNyBAQAogICAgIGN0eC5m
b250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBm
YWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIDApOwogICAgIF9hc3NlcnRHcmVlbihjdHgsIDEw
MCwgNTApOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZQpAQCAtOTUxNiw2ICsxMDAyNyw3IEBACiAg
ICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0
KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgLTEpOwogICAgIF9hc3NlcnRHcmVl
bihjdHgsIDEwMCwgNTApOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBu
YW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4KQEAgLTk1MjksNiArMTAwNDEsNyBA
QAogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxs
VGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiAgICAgX2Fzc2Vy
dEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgog
CiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMKQEAgLTk1NDUsNiArMTAwNTgsNyBA
QAogICAgIGN0eC5saW5lV2lkdGggPSAxOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNh
bnMtc2VyaWYnOwogICAgIGN0eC5zdHJva2VUZXh0KCdQQVNTJywgNSwgMzUpOworICAgIHQuZG9u
ZSgpOwogICBleHBlY3RlZDogfAogICAgIHNpemUgMTAwIDUwCiAgICAgY3Iuc2V0X3NvdXJjZV9y
Z2IoMCwgMCwgMCkKQEAgLTk1ODAsNiArMTAwOTQsNyBAQAogCiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQu
ZHJhdy5rZXJuLmNvbnNpc3RlbnQKQEAgLTk1OTgsNiArMTAxMTMsNyBAQAogICAgIGN0eC5maWxs
VGV4dCgnVG9Ub1RvVG9Ub1RvVG8nLCAtNTAsIDQ1KTsKICAgICBjdHguc3Ryb2tlVGV4dCgnVkFW
QVZBVkFWQVZBVkEnLCAtNTAsIDI1KTsKICAgICBjdHguc3Ryb2tlVGV4dCgnVG9Ub1RvVG9Ub1Rv
VG8nLCAtNTAsIDQ1KTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKICMgQ2Fu
dmFzVGVzdCBpczoKQEAgLTk2MjMsOCArMTAxMzksOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBj
b2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3Qo
KTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAg
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CkBAIC05NjMzLDcgKzEwMTQ5LDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5NSw1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAy
NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAs
MjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LmJvdW5kCkBAIC05NjQ0LDggKzEwMTYwLDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTog
fAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0g
ICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwpAQCAtOTY1NCw3ICsxMDE3MCw3IEBACiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTUsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBl
eHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZm9udGZhY2UKQEAgLTk2NjQs
OCArMTAxODAsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQg
PSAnNjdweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC05Njc0LDcgKzEwMTkwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1
MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgog
CiAtIG5hbWU6IDJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQKQEAgLTk2OTAsMTQgKzEwMjA2
LDE0IEBACiAgICAgY3R4LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7Ci0gICAgZGVmZXJU
ZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
ICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxUZXh0
KCdBQScsIDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDUgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3
LmZvbnRmYWNlLm5vdGlucGFnZQpAQCAtOTcwOSw4ICsxMDIyNSw4IEBACiAgIGZvbnRoYWNrOiAw
CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVy
VGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
KyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3MTksNyArMTAyMzUsNyBAQAogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAg
QGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSksIDUw
MCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAK
IC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcApAQCAtOTczMCw4ICsxMDI0Niw4IEBA
CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3NDMsNyAr
MTAyNTksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQu
dGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbQpAQCAtOTc1NCw4ICsxMDI3MCw4IEBACiAgICAgLSBD
YW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3NjcsNyArMTAyODMsNyBA
QAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3
LmJhc2VsaW5lLm1pZGRsZQpAQCAtOTc3OCw4ICsxMDI5NCw4IEBACiAgICAgLSBDYW52YXNUZXN0
CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVy
VGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
KyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3OTEsNyArMTAzMDcsNyBAQAogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9
PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5l
LmFscGhhYmV0aWMKQEAgLTk4MDEsOCArMTAzMTcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBj
b2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3Qo
KTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAg
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05ODE0LDcgKzEwMzMwLDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAs
MjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVv
Z3JhcGhpYwpAQCAtOTgyNCw4ICsxMDM0MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6
IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwot
ICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4MzcsNyArMTAzNTMsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1
ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUg
PT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRy
YXcuYmFzZWxpbmUuaGFuZ2luZwpAQCAtOTg0Nyw4ICsxMDM2Myw4IEBACiAgICAgLSBDYW52YXNU
ZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRl
ZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4NjAsNyArMTAzNzYsNyBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0
NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWdu
LmxlZnQKQEAgLTk4NzEsOCArMTAzODcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8
CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAg
ICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkK
KyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CkBAIC05ODg0LDcgKzEwNDAwLDcgQEAKICAgICAgICAgQGFzc2VydCBw
aXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9
PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAs
MjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4
cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5hbGlnbi5yaWdodApAQCAtOTg5
NSw4ICsxMDQxMSw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTk5MDgsNyArMTA0MjQsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSks
IDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVu
CiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0cgpAQCAtOTkyMCw4ICsxMDQz
Niw4IEBACiAgIGNhbnZhczogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJsdHIiCiAgIGNv
ZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgp
OwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5MzMsNyArMTA0NDksNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwy
NTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
ICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0
bApAQCAtOTk0Niw4ICsxMDQ2Miw4IEBACiAgIGNhbnZhczogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1
MCIgZGlyPSJydGwiCiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5NTksNyArMTA0NzUs
NyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5k
cmF3LmFsaWduLmVuZC5sdHIKQEAgLTk5NzEsOCArMTA0ODcsOCBAQAogICBjYW52YXM6IHdpZHRo
PSIxMDAiIGhlaWdodD0iNTAiIGRpcj0ibHRyIgogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC05OTg0LDcgKzEwNTAwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDAp
OworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAt
IG5hbWU6IDJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsCkBAIC05OTk3LDggKzEwNTEzLDggQEAK
ICAgY2FudmFzOiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIiBkaXI9InJ0bCIKICAgY29kZTogfAog
ICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAg
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
ICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwpAQCAtMTAwMTAsNyArMTA1MjYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwy
NTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlcgpAQCAtMTAw
MjEsOCArMTA1MzcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZv
bnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVu
KGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CkBAIC0xMDAzNCw3ICsxMDU1MCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9
KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3Jl
ZW4KIAogCkBAIC0xMDA0NiwxNSArMTA1NjIsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29k
ZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7
Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAtMTAwLCAz
Ny41KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOwor
ICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5h
bWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZQpAQCAtMTAwNjUsMTUgKzEwNTgx
LDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAg
ICAgY3R4LmZpbGxUZXh0KCdFICBFRScsIC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJh
dy5zcGFjZS5jb2xsYXBzZS5vdGhlcgpAQCAtMTAwODQsMTUgKzEwNjAwLDE1IEBACiAgICAgLSBD
YW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0
KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4MDlceDBhXHgwY1x4MGRFRScsIC0xMDAsIDM3LjUpOwog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAg
ICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDog
Z3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UKQEAg
LTEwMTAzLDE1ICsxMDYxOSwxNSBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAg
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgICAgIGN0eC5maWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydApAQCAtMTAxMjIsMTUgKzEwNjM4LDE1IEBA
CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4
LmZpbGxUZXh0KCcgRUUnLCAwLCAzNy41KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09
fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuc3BhY2UuY29s
bGFwc2UuZW5kCkBAIC0xMDE0MSw4ICsxMDY1Nyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNv
ZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgp
OwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTEwMTUwLDE3ICsxMDY2NiwyMiBAQAogICAgICAgICBj
dHguZmlsbFRleHQoJ0VFICcsIDEwMCwgMzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUs
MjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1
NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5tZWFzdXJlLndp
ZHRoLmJhc2ljCisgIGRlc2M6IFRoZSB3aWR0aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250
IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZhcwogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5tZWFz
dXJlCiAgIGZvbnRzOgogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8Ci0gICAgZGVmZXJUZXN0
KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAg
IHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0
ZiIpOworICAgIGxldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50
LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7
CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAg
ICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFz
dXJlVGV4dCgnQScpLndpZHRoID09PSA1MDsKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRl
eHQoJ0FBJykud2lkdGggPT09IDEwMDsKQEAgLTEwMTY4LDMwICsxMDY4OSwzOCBAQAogCiAgICAg
ICAgIGN0eC5mb250ID0gJzEwMHB4IENhbnZhc1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5t
ZWFzdXJlVGV4dCgnQScpLndpZHRoID09PSAxMDA7Ci0gICAgfSksIDUwMCk7CisgICAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5
Ci0gIGRlc2M6IFRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgKKyAgZGVzYzogVGhlIGVt
cHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAgIHRlc3Rpbmc6
CiAgICAgLSAyZC50ZXh0Lm1lYXN1cmUKICAgZm9udHM6CiAgICAgLSBDYW52YXNUZXN0CiAgIGNv
ZGU6IHwKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAi
L2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBz
ZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250
cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCIiKS53aWR0aCA9PT0gMDsKLSAgICB9KSwgNTAw
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC50ZXh0Lm1lYXN1
cmUud2lkdGguc3BhY2UKLSAgZGVzYzogU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRv
IFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKQorICBkZXNjOiBTcGFjZSBjaGFyYWN0ZXJz
IGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIGZvciBPZmZz
Y3JlZW5DYW52YXMKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQubWVhc3VyZS5zcGFjZXMKICAg
Zm9udHM6CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3QoKTsKLSAg
ICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIGYg
PSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7Cisg
ICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMp
OworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5m
b250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0
KCdBIEInKS53aWR0aCA9PT0gMTUwOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgn
QSAgQicpLndpZHRoID09PSAxNTA7IEBtb3otdG9kbwpAQCAtMTAyMDAsNiArMTA3MjksMTQxIEBA
CiAKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoID09PSAxMDA7
IEBtb3otdG9kbwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGgg
PT09IDEwMDsgQG1vei10b2RvCi0gICAgfSksIDUwMCk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CisKKy0gbmFtZTogMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzCisgIGRlc2M6IFRlc3Rp
bmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0g
MmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzCisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBj
b2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0Nh
bnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRz
IDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50
aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5k
aXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIC8v
IFNvbWUgcGxhdGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICAgICAgQGFzc2VydCBNYXRoLmFi
cyhjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0pID09PSAwOworICAgICAgICAv
LyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQu
CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID49
IDM2OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1sy
XSA+PSA1ODsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5j
ZXNbM10gPj0gNzA7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFk
dmFuY2VzWzRdID49IDgwOworCisgICAgICAgIHZhciB0bSA9IGN0eC5tZWFzdXJlVGV4dCgnSGVs
bG8nKTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNb
MF0gPT09IHRtLmFkdmFuY2VzWzBdOworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgn
SGVsbG8nKS5hZHZhbmNlc1sxXSA9PT0gdG0uYWR2YW5jZXNbMV07CisgICAgICAgIEBhc3NlcnQg
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdID09PSB0bS5hZHZhbmNlc1syXTsK
KyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPT09
IHRtLmFkdmFuY2VzWzNdOworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1s0XSA9PT0gdG0uYWR2YW5jZXNbNF07CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CisKKy0gbmFtZTogMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGRl
c2M6IFRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0
aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGZvbnRzOgor
ICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNh
bnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNl
bGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChm
KTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOwor
ICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7CisgICAgICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWdu
ID0gJ2xlZnQnCisgICAgICAgIGN0eC5iYXNlbGluZSA9ICdhbHBoYWJldGljJworICAgICAgICAv
LyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgICAgIEBhc3NlcnQgTWF0aC5h
YnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSA9PT0gMDsKKyAg
ICAgICAgLy8gRGlmZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlm
ZmVyZW50LgorICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5k
aW5nQm94UmlnaHQgPj0gNTA7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJyku
YWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gMzU7CisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMo
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSA9PT0gMDsKKwor
ICAgICAgICBAYXNzZXJ0IE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJv
dW5kaW5nQm94TGVmdCkgPT09IDA7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdB
QkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSAyMDA7CisgICAgICAgIEBhc3NlcnQgY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODU7CisgICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNj
ZW50ID49IDM3OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJkLnRl
eHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gKKyAgZGVzYzogVGVzdGluZyBmb250Qm91bmRpbmdC
b3ggZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJl
LmZvbnRCb3VuZGluZ0JveAorICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAor
ICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0
LnR0ZiIpOworICAgIGxldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3Vt
ZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9
PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAg
ICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgICAgICBjdHguZGlyZWN0aW9u
ID0gJ2x0cic7CisgICAgICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNzZXJ0IGN0
eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCA9PT0gODU7CisgICAgICAg
IEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCA9PT0g
Mzk7CisKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRp
bmdCb3hBc2NlbnQgPT09IDg1OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQgPT09IDM5OworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMKKyAgZGVzYzogVGVz
dGluZyBlbUhlaWdodHMgZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQu
dGV4dC5tZWFzdXJlLmVtSGVpZ2h0cworICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29k
ZTogfAorICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6
IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhl
bigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkg
eworICAgICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgICAgICBjdHguZGly
ZWN0aW9uID0gJ2x0cic7CisgICAgICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNz
ZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50ID09PSAzNy41OworICAgICAg
ICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCA9PT0gMTIuNTsK
KyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQgKyBj
dHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCA9PT0gNTA7CisKKyAgICAgICAgQGFz
c2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2VudCA9PT0gMzcuNTsKKyAg
ICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgPT09
IDEyLjU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRE
ZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQgPT09IDUwOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5i
YXNlbGluZXMKKyAgZGVzYzogVGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcwor
ICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcworICBmb250czoKKyAg
ICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAorICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52
YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9IChzZWxm
LmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7
CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAg
ICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVz
dCc7CisgICAgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgICAgIGN0eC5hbGlnbiA9ICds
ZWZ0JworICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFz
ZWxpbmVzKCkuYWxwaGFiZXRpYykgPT09IDA7CisgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRl
eHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyA9PT0gLTM5OworICAgICAgIEBhc3Nl
cnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyA9PT0gNjg7CisK
KyAgICAgICBAYXNzZXJ0IE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2Vs
aW5lcygpLmFscGhhYmV0aWMpID09PSAwOworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMgPT09IC0zOTsKKyAgICAgICBAYXNz
ZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcgPT09IDY4
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAjIFRPRE86IHNoYWRvd3MsIGFscGhh
LCBjb21wb3NpdGUsIGNsaXAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLmdldFRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwLi5iM2I3MGFjMjA4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw0
MCBAQAorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGJvZHk+Cis8c2NyaXB0PgorLy8gRW5zdXJlIHRoYXQgY29udGV4dDJkLmdldFRyYW5zZm9ybSB3
b3JrcworY29uc3QgZXBzaWxvbiA9IDFlLTU7Citjb25zdCBjYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDMwMCwgMTUwKTsKK2NvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGN0eC5nZXRUcmFu
c2Zvcm0oKS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFsxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAw
LCAwLCAxLCAwLCAwLCAwLCAwLCAxXSwKKyAgICAiQXNzZXJ0IHRoYXQgYW4gdW50cmFuc2Zvcm1l
ZCBtYXRyaXggaXMgaWRlbnRpdHkiKTsKKworICBjdHguc2NhbGUoMiwgMyk7CisgIHRyYW5zZm9y
bSA9IGN0eC5nZXRUcmFuc2Zvcm0oKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJh
bnNmb3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMiwgMCwgMCwgMCwgMCwgMywgMCwgMCwg
MCwgMCwgMSwgMCwgMCwgMCwgMCwgMV0sCisgICAgIkFzc2VydCB0aGF0IGNvbnRleHQyZCBzY2Fs
aW5nIHdvcmtzIik7CisKKyAgY3R4LnJvdGF0ZShNYXRoLlBJLzIpOworICB0cmFuc2Zvcm0gPSBj
dHguZ2V0VHJhbnNmb3JtKCk7CisgIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxzKGN0eC5nZXRU
cmFuc2Zvcm0oKS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFswLCAzLCAwLCAwLCAtMiwgMCwgMCwg
MCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMV0sIGVwc2lsb24sCisgICAgIkFzc2VydCB0aGF0IGNv
bnRleHQyZCByb3RhdGUgd29ya3MiKTsKKworICBjdHgudHJhbnNsYXRlKDEsIC0xKTsKKyAgdHJh
bnNmb3JtID0gY3R4LmdldFRyYW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFs
cyhjdHguZ2V0VHJhbnNmb3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMCwgMywgMCwgMCwg
LTIsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDIsIDMsIDAsIDFdLCBlcHNpbG9uLAorICAgICJBc3Nl
cnQgY29udGV4dDJkIHRyYW5zbGF0ZSB3b3Jrcy4iKTsKKworICBjdHgucmVzZXRUcmFuc2Zvcm0o
KTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJhbnNmb3JtKCkudG9GbG9hdDMyQXJy
YXkoKSwKKyAgICBbMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwg
MV0sCisgICAgIkFzc2VydCB0aGF0IGEgcmVzZXQgbWF0cml4IGlzIGlkZW50aXR5Iik7Cit9LCAn
VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBnZXRUcmFuc2Zvcm0gd29ya3MgY29ycmVjdGx5LicpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLm9yZGVyLmh0bWwKaW5kZXggOGQwMWI1YWFjNmYuLmFlZDkyYmY1Y2JiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlv
bi5vcmRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5vcmRlcjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+VHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlcjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9y
bWF0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgcmlnaHQgb3JkZXIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsy
Nyw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLm9yZGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ub3JkZXIud29ya2VyLmpzCmluZGV4IGU2YWExNjllZDg1Li43OTA0ZmM0NGNlMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBw
bGllZCBpbiB0aGUgcmlnaHQgb3JkZXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5yb3Rh
dGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5k
aXJlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLmRpcmVjdGlvbi5odG1sCmluZGV4IDgxZGZkYWRmODc2Li41N2IyNzA5MzVhNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0
aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUuZGlyZWN0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb248L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cm90YXRlKCkg
aXMgY2xvY2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgicm90YXRlKCkgaXMgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHgucm90YXRlKE1hdGguUEkgLyAyKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgLTEwMCwgNTAsIDEwMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcwppbmRleCAzMjgyOTZmY2Ux
Ny4uNWZjODczNzIyZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgaXMgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCBjdHgucm90YXRlKE1hdGguUEkgLyAyKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbFJlY3QoMCwgLTEwMCwgNTAsIDEwMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS5odG1sCmluZGV4IGZiNmE3M2ZiZjYxLi5l
MTc5NmM2Njc1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5p
dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+cm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5y
b3RhdGUoTmFOKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwg
LTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5v
bmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGRiZmRmYzc2YzU3Li4wZjU4ODM0NDcw
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJyb3RhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHgucm90YXRlKE5hTik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwKaW5kZXggNTViYzI5MzA5ODEuLjMzYjM1OWUw
NTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJv
dGF0ZS5yYWRpYW5zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUucmFkaWFucy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFuczwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFuczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cm90YXRl
KCkgdXNlcyByYWRpYW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgdXNlcyByYWRpYW5zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYs
NiBAQCBjdHgucm90YXRlKE1hdGguUEkpOyAvLyBzaG91bGQgZmFpbCBvYnZpb3VzbHkgaWYgdGhp
cyBpcyAzLjEgZGVncmVlcwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgt
MTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUucmFkaWFucy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5yYWRpYW5zLndvcmtlci5qcwppbmRleCAyNDNlZDVlNDZjMS4uNTIwNmMyMDVi
YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLnJhZGlhbnMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5yb3Rh
dGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNseSBpZiB0aGlzIGlzIDMuMSBkZWdy
ZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0bWwK
aW5kZXggOWMxMzMzYTM2MTEuLmMwODI0MjZlMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUud3JhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+cm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUgdmFsdWVzIGNvcnJlY3RseTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJv
dGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Nyw3ICszMSw2IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1LDAsMjU1
LCAiOTgsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDcsIDAsMjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5yb3RhdGUud3JhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS53cmFwLndvcmtlci5qcwppbmRleCA1YTdhNDEzYTYyYy4uZmE1NTNmMDZh
NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLndyYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLndyYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyb3Rh
dGUoKSB3cmFwcyBsYXJnZSBwb3NpdGl2ZSB2YWx1ZXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMs
NyArMjcsNiBAQCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyLCAwLDI1NSwwLDI1NSwg
Ijk4LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ3LCAwLDI1NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLndyYXBuZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLmh0bWwKaW5kZXggMTA4ZjZkODMwNzguLjkzOWVh
YmNkZTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBu
ZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29y
cmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgicm90YXRlKCkgd3JhcHMgbGFyZ2UgbmVnYXRpdmUgdmFsdWVzIGNvcnJlY3RseSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMiwgMCwy
NTUsMCwyNTUsICI5OCwyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0NywgMCwyNTUsMCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLndvcmtlci5qcwppbmRl
eCA1ZDEzYjMyMjRmOC4uZDA0Yjc5ZjNiYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgd3JhcHMgbGFyZ2Ug
bmVnYXRpdmUgdmFsdWVzIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZp
bGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMiwgMCwyNTUsMCwyNTUsICI5OCwyIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0NywgMCwyNTUsMCwyNTUs
ICI5OCw0NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwK
aW5kZXggMWQwYTNlNGMwM2MuLjkzMDgwMjcyM2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVybzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+cm90YXRlKCkgYnkgMCBkb2VzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSBieSAwIGRvZXMgbm90
aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnJvdGF0ZSgwKTsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8ud29ya2VyLmpzCmluZGV4IDRiNjY0
YmU4MGJhLi41ZWRmOTY0ZjZjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5IDAgZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCBjdHgucm90YXRlKDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUuYmFzaWMuaHRtbAppbmRleCAxZjc2MGMxMDE1Ni4uN2Q4YzBmNmIyMWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5z
Zm9ybWF0aW9uLnNjYWxlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2lj
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3b3JrcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNjYWxlKDIsIDQpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMTIuNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5MCw0MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMud29ya2VyLmpzCmluZGV4IGQzNWEzNTBjYWFjLi5i
YzdiNTA0MmZmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInNjYWxlKCkgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zY2FsZSgyLCA0
KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDEyLjUp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1LDAsMjU1LCAiOTAs
NDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCmluZGV4
IDUzODNiNTRjZjgwLi5lYmVmOWVmODNjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFy
Z2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2U8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnNjYWxlKCkgd2l0aCBsYXJnZSBzY2FsZSBmYWN0b3JzIHdvcmtzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+Tm90IHJlYWxseSB0aGF0IGxhcmdlIGF0IGFsbCwg
YnV0IGl0IGhpdHMgdGhlIGxpbWl0cyBpbiBGaXJlZm94LgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgic2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMgd29ya3MiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgxZTUsIDFlNSk7CiBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5zY2FsZS5sYXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcwppbmRleCBhOTIyNTU0MjA3Ny4uNDEy
NjgwZTM4YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj5Ob3QgcmVhbGx5IHRoYXQgbGFyZ2UgYXQgYWxsLCBidXQgaXQg
aGl0cyB0aGUgbGltaXRzIGluIEZpcmVmb3guCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbGFyZ2Ugc2NhbGUgZmFjdG9y
cyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNjYWxlKDFlNSwgMWU1KTsKIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwKaW5kZXggY2Vh
NzAzMDZmNDIuLmMwNmZlNjE0MTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5t
dWx0aXBsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+TXVsdGlwbGUgc2NhbGUoKXMgY29tYmluZTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk11bHRpcGxlIHNjYWxlKClzIGNv
bWJpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zY2FsZShNYXRoLnNxcnQoMiksIE1h
dGguc3FydCgyKSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwy
NTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDEzNDExNjZhM2RhLi44ZjEzMDRjZDEwMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBs
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk11bHRpcGxl
IHNjYWxlKClzIGNvbWJpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5zY2FsZShNYXRo
LnNxcnQoMiksIE1hdGguc3FydCgyKSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0
MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNj
YWxlLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnNjYWxlLm5lZ2F0aXZlLmh0bWwKaW5kZXggNDg4MTM4M2ZkOGMuLjJhMTg3OTI3NDFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0
aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2Fs
ZS5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIG5l
Z2F0aXZlIHNjYWxlIGZhY3RvcnMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbmVnYXRpdmUgc2NhbGUgZmFj
dG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAtNTAs
IDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZS53b3JrZXIuanMKaW5k
ZXggMjdkNmRlMGM1MzAuLmQ2OTdhMjU4NTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIG5lZ2F0aXZlIHNjYWxlIGZh
Y3RvcnMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCg1MCwgLTUw
LCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUuaHRtbAppbmRleCA3ZmZh
MzAyMzIzMy4uMTQ0MzM1ZTNjZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUo
KSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBj
dHguc2NhbGUoSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcwppbmRleCBmODk5NTBm
ZTZlMS4uOWRjY2FkYmFjOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnNjYWxlKEluZmluaXR5LCBJbmZpbml0eSk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby5odG1sCmluZGV4IDA5
MmJhODZkM2Y5Li45NWFhNWI5N2E0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm88L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2Nh
bGUoKSB3aXRoIGEgc2NhbGUgZmFjdG9yIG9mIHplcm8gd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggYSBzY2Fs
ZSBmYWN0b3Igb2YgemVybyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3Jl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8ud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLndvcmtl
ci5qcwppbmRleCAyNTU5MzU3ZGIwMC4uNmJiZmIyNWMyMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIGEgc2NhbGUgZmFjdG9yIG9m
IHplcm8gd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxl
Lmh0bWwKaW5kZXggNjY2YjRjNTRhMzIuLjg3ZWVlNDM1ZWI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3Jt
Lm11bHRpcGxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNldFRyYW5zZm9ybSgyLDAsIDAsMiwgMCwwKTsK
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM1LCAwLDI1NSwwLDI1NSwgIjc1LDM1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3Jt
Lm11bHRpcGxlLndvcmtlci5qcwppbmRleCA4MzUzMDE2MjRhZS4uNTUyYjFmOTM0NWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3Jt
Lm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnNldFRyYW5zZm9ybSgyLDAsIDAs
MiwgMCwwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAs
IDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM1LCAwLDI1NSwwLDI1NSwg
Ijc1LDM1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZp
bml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFu
c2Zvcm0ubm9uZmluaXRlLmh0bWwKaW5kZXggZmNhNWQ1ZGY5MTkuLjQ2ZGQ1NjVhNjgyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9y
bS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZp
bml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5zZXRUcmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgic2V0VHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTk3LDcgKzEwMSw2IEBAIGN0eC5zZXRUcmFuc2Zvcm0oMCwgMCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3Jt
Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDEyY2RiY2E5MjNiLi5j
YzgyNjMzNTIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzZXRUcmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05h
TiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTMsNyArOTcsNiBAQCBjdHguc2V0VHJhbnNmb3JtKDAs
IDAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC5odG1sCmluZGV4IGQzNjUwMmQz
ZDU5Li42YzkxMWY4YTliYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnNl
dFRyYW5zZm9ybS5za2V3ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNr
ZXdlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDQsNyArNDgsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwxOSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1
LDAsMjU1LCAiNjEsMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDM5LDMxLCAwLDI1NSwwLDI1NSwgIjM5LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwzMSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tl
d2VkLndvcmtlci5qcwppbmRleCA2ZDcyOGJmZjM4OC4uZjczMWVjZGNhYjAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdl
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
ZXRUcmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtNDAsNyArNDQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwx
OSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1LDAsMjU1LCAiNjEsMTkiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDMxLCAwLDI1NSwwLDI1NSwgIjM5
LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwz
MSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zZm9ybS5pZGVudGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRtbAppbmRleCBiNTg5MGMxMGYyYS4uNTA2Mzk1OWM4
YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJh
bnNmb3JtLmlkZW50aXR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+dHJhbnNmb3JtKCkgd2l0aCB0aGUgaWRlbnRpdHkgbWF0cml4IGRvZXMgbm90aGlu
ZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InRyYW5zZm9ybSgpIHdpdGggdGhlIGlkZW50aXR5IG1hdHJpeCBkb2VzIG5vdGhpbmciKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC50cmFuc2Zvcm0oMSwwLCAwLDEsIDAsMCk7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29y
a2VyLmpzCmluZGV4IDE2NmZjNWI0Yjg0Li42YjVmYmRhZGY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3Jt
LmlkZW50aXR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkg
d2l0aCB0aGUgaWRlbnRpdHkgbWF0cml4IGRvZXMgbm90aGluZyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4LnRyYW5zZm9ybSgxLDAsIDAsMSwgMCwwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHkuaHRtbAppbmRleCAxYzZkMTY2MWRi
NS4uZDM2YTUzOTBlMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLm11bHRpcGx5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNm
b3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgudHJh
bnNmb3JtKC0yLDEsIDMvMiwtMS8yLCAxLC0yKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53b3JrZXIuanMKaW5kZXggZjAxZDNk
OTkyZmQuLmY2MTNmMzI4YTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHkud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC50cmFuc2Zvcm0oLTIsMSwgMy8yLC0xLzIsIDEs
LTIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9u
ZmluaXRlLmh0bWwKaW5kZXggMjA3MWM3M2Q4ZjEuLmM4ZjI3Yjg3NGFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9y
bS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFu
c2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50cmFu
c2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk3LDcgKzEwMSw2IEBAIGN0eC50cmFuc2Zv
cm0oMCwgMCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpz
CmluZGV4IDFlZTM2NTk2MjhjLi5iMDYyY2E5Y2I4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25m
aW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTMsNyArOTcsNiBAQCBjdHgudHJh
bnNmb3JtKDAsIDAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC5odG1sCmluZGV4IDgzNzY5
ZTAzNDQ2Li5jNjkxYWE1MDQxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
Zm9ybS5za2V3ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3Jt
cyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIHNrZXd5IG1hdHJpeCB0cmFuc2Zvcm1zIGNvcnJl
Y3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTQ0LDcgKzQ4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMzksMTksIDAsMjU1LDAsMjU1LCAiMzksMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDE5LCAwLDI1NSwwLDI1NSwgIjYxLDE5IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwzMSwgMCwyNTUsMCwy
NTUsICIzOSwzMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNjEsMzEsIDAsMjU1LDAsMjU1LCAiNjEsMzEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKaW5kZXggYjhhZTgzZmRh
N2QuLjcyNmZiYTc4NzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggc2tld3kgbWF0cml4IHRyYW5zZm9y
bXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsNyArNDQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAzOSwxOSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1LDAsMjU1LCAiNjEsMTki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDMxLCAw
LDI1NSwwLDI1NSwgIjM5LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA2MSwzMSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMuaHRtbAppbmRleCAyOTc4YmU4MTQ5NS4u
MGNkZjJhMWY5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNsYXRlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2lj
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+dHJhbnNsYXRlKCkgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2xhdGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LnRyYW5zbGF0ZSgxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDkwLDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLndvcmtlci5qcwppbmRleCBlMDE5
YWJiMjVhNS4uNWY2ZDAzOTNiMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zbGF0ZSgpIHdvcmtzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCBjdHgudHJhbnNsYXRlKDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTAsNDAsIDAsMjU1LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUuaHRtbAppbmRleCAwYTkwZjcy
NWIzNC4uZDJlODdjNWU1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2xhdGUubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25m
aW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5zbGF0ZSgpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJ0cmFuc2xhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjksNyArMzMsNiBAQCBjdHgudHJhbnNsYXRlKEluZmluaXR5LCBJbmZpbml0eSk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUu
bm9uZmluaXRlLndvcmtlci5qcwppbmRleCBlYTI2MTc4MTUxZi4uMzA1NWM1ODgwNjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5v
bmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2xhdGUubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgidHJhbnNsYXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1
LDcgKzI5LDYgQEAgY3R4LnRyYW5zbGF0ZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5s
b2cKaW5kZXggNDQ2NmVmMGU2YzQuLmE5NWViODcxYjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvdzNjLWlt
cG9ydC5sb2cKQEAgLTE0LDYgKzE0LDcgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0uaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIud29ya2VyLmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL2Nocm9taXVtL25mYy1tb2NrLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vbmZjLW1vY2suanMKaW5kZXggNjgyM2Y2
MzYyZmEuLjk1Njk0N2E0ZGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJvbWl1bS9uZmMtbW9jay5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9jaHJv
bWl1bS9uZmMtbW9jay5qcwpAQCAtMzUxLDYgKzM1MSw5IEBAIHZhciBXZWJORkNUZXN0ID0gKCgp
ID0+IHsKIAogICAgIHNldElzTkRFRlRlY2goaXNOZGVmKSB7CiAgICAgICB0aGlzLmlzX25kZWZf
dGVjaF8gPSBpc05kZWY7CisgICAgICBpZiAoIWlzTmRlZiAmJiB0aGlzLndhdGNoZXJzXy5sZW5n
dGggIT0gMCkgeworICAgICAgICB0aGlzLmNsaWVudF8ub25FcnJvcihkZXZpY2UubW9qb20uTkRF
RkVycm9yVHlwZS5OT1RfU1VQUE9SVEVEKTsKKyAgICAgIH0KICAgICB9CiAKICAgICBzZXRJc0Zv
cm1hdHRlZFRhZyhpc0Zvcm1hdHRlZCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L2Nocm9taXVtL3dlYnhyLXRlc3QuanMKaW5kZXggNzM5ZDc3MWQ0MGIuLjE1ZTE0ZGNlNWVmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9jaHJvbWl1bS93ZWJ4ci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2Nocm9taXVtL3dlYnhyLXRlc3QuanMK
QEAgLTYzMiw5ICs2MzIsMTEgQEAgY2xhc3MgTW9ja1J1bnRpbWUgewogICB9CiAKICAgcnVudGlt
ZVN1cHBvcnRzU2Vzc2lvbihvcHRpb25zKSB7CisKKyAgICBsZXQgaXNJbmxpbmVSZXF1ZXN0ID0g
KG9wdGlvbnMubW9kZSA9PT0gZGV2aWNlLm1vam9tLlhSU2Vzc2lvbk1vZGUua0lubGluZSk7CiAg
ICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7CiAgICAgICBzdXBwb3J0c1Nlc3Npb246Ci0gICAg
ICAgICAgIW9wdGlvbnMuaW1tZXJzaXZlIHx8IHRoaXMuZGlzcGxheUluZm9fLmNhcGFiaWxpdGll
cy5jYW5QcmVzZW50CisgICAgICAgICAgaXNJbmxpbmVSZXF1ZXN0IHx8IHRoaXMuZGlzcGxheUlu
Zm9fLmNhcGFiaWxpdGllcy5jYW5QcmVzZW50CiAgICAgfSk7CiAgIH07CiB9CkBAIC04MzAsNiAr
ODMyLDEwIEBAIGNsYXNzIE1vY2tYUklucHV0U291cmNlIHsKIAogICAgIGlucHV0X3N0YXRlLnBy
aW1hcnlJbnB1dFByZXNzZWQgPSB0aGlzLnByaW1hcnlfaW5wdXRfcHJlc3NlZF87CiAgICAgaW5w
dXRfc3RhdGUucHJpbWFyeUlucHV0Q2xpY2tlZCA9IHRoaXMucHJpbWFyeV9pbnB1dF9jbGlja2Vk
XzsKKyAgICAvLyBTZXR0aW5nIHRoZSBpbnB1dCBzb3VyY2UncyAiY2xpY2tlZCIgc3RhdGUgc2hv
dWxkIGdlbmVyYXRlIG9uZSAic2VsZWN0IgorICAgIC8vIGV2ZW50LiBSZXNldCB0aGUgaW5wdXQg
dmFsdWUgdG8gcHJldmVudCBpdCBmcm9tIGNvbnRpbnVvdXNseSBnZW5lcmF0aW5nCisgICAgLy8g
ZXZlbnRzLgorICAgIHRoaXMucHJpbWFyeV9pbnB1dF9jbGlja2VkXyA9IGZhbHNlOwogCiAgICAg
aW5wdXRfc3RhdGUubW9qb0Zyb21JbnB1dCA9IHRoaXMubW9qb19mcm9tX2lucHV0XzsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcwppbmRleCBjYTBm
Mjk1ZTkzZi4uZTY5ZGUyOWJiMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xLDI1NCArMCwwIEBACi0KLWNvbnN0IGlzRGVidWcgPSBm
YWxzZTsKLQotZnVuY3Rpb24gbG9nRGVidWcoY2FsbGJhY2spCi17Ci0gICAgaWYgKGlzRGVidWcp
Ci0gICAgICAgIGNvbnNvbGUubG9nKGNhbGxiYWNrKCkpOwotfQotCi1mdW5jdGlvbiBkaXNwYXRj
aE1vdXNlQWN0aW9ucyhhY3Rpb25zKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQot
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5k
ZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKLSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5k
cmFnTW9kZSA9IGZhbHNlOwotCi0gICAgICAgICAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9u
cykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgICAg
ICAgICBjYXNlICJwb2ludGVyTW92ZSI6Ci0gICAgICAgICAgICAgICAgICAgIGxldCBvcmlnaW4g
PSB7IHg6IDAsIHk6IDAgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmlnaW4g
aW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3Vu
ZHMgPSBhY3Rpb24ub3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYCR7YWN0aW9uLm9yaWdpbi5pZH0gWyR7Ym91bmRz
LmxlZnR9LCAke2JvdW5kcy50b3B9LCAke2JvdW5kcy53aWR0aH0sICR7Ym91bmRzLmhlaWdodH1d
YCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueCA9IGJvdW5kcy5sZWZ0ICsgMTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbi55ID0gYm91bmRzLnRvcCArIDE7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKCR7YWN0aW9uLnggKyBvcmlnaW4ueH0sICR7YWN0aW9uLnkg
KyBvcmlnaW4ueX0pYCk7Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKGFjdGlvbi54ICsgb3JpZ2luLngsIGFjdGlvbi55ICsgb3JpZ2luLnkpOwotICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVyRG93biI6Ci0g
ICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZURvd24o
KWApOwotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oYWN0aW9uLmJ1
dHRvbik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2Ug
InBvaW50ZXJVcCI6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNl
bmRlci5tb3VzZVVwKClgKTsKLSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cChhY3Rpb24uYnV0dG9uKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAicGF1c2UiOgotICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBz
aG91bGQgd2UgZG8gaGVyZT8KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0
KG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0g
ICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhh
Y3Rpb25zLCBvcHRpb25zID0geyBpbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwOiBmYWxzZSB9KQot
ewotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgdHlwZW9mIHdpbmRvdy50ZXN0UnVubmVy
LnJ1blVJU2NyaXB0ICE9PSAiZnVuY3Rpb24iKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QobmV3IEVycm9yKCJ3aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgpIGlzIHVuZGVmaW5l
ZC4iKSk7Ci0KLSAgICBsZXQgeCA9IDA7Ci0gICAgbGV0IHkgPSAwOwotICAgIGxldCB0aW1lT2Zm
c2V0ID0gMDsKLSAgICBsZXQgcG9pbnRlckRvd24gPSBmYWxzZTsKLSAgICBsZXQgaWQgPSAxOwot
Ci0gICAgY29uc3QgZXZlbnRzID0gW107Ci0gICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMp
IHsKLSAgICAgICAgY29uc3QgdG91Y2ggPSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiZmlu
Z2VyIiwKLSAgICAgICAgICAgIGlkLAotICAgICAgICAgICAgeCA6IGFjdGlvbi54LAotICAgICAg
ICAgICAgeSA6IGFjdGlvbi55LAotICAgICAgICAgICAgcHJlc3N1cmUgOiAwCi0gICAgICAgIH07
Ci0KLSAgICAgICAgY29uc3QgY29tbWFuZCA9IHsKLSAgICAgICAgICAgIGlucHV0VHlwZSA6ICJo
YW5kIiwKLSAgICAgICAgICAgIGNvb3JkaW5hdGVTcGFjZSA6ICJjb250ZW50IiwKLSAgICAgICAg
ICAgIHRvdWNoZXMgOiBbdG91Y2hdLAotICAgICAgICAgICAgdGltZU9mZnNldAotICAgICAgICB9
OwotCi0gICAgICAgIGxldCB0aW1lT2Zmc2V0SW5jcmVhc2UgPSAwLjA1OwotCi0gICAgICAgIHN3
aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgY2FzZSAicG9pbnRlck1vdmUiOgotICAgICAg
ICAgICAgdG91Y2gucGhhc2UgPSAibW92ZWQiOwotICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmln
aW4gaW5zdGFuY2VvZiBFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0g
YWN0aW9uLm9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB0
b3VjaC54ICs9IGJvdW5kcy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b3VjaC55ICs9IGJv
dW5kcy50b3AgKyAxOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgInBvaW50ZXJEb3duIjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0gdHJ1ZTsKLSAg
ICAgICAgICAgIHRvdWNoLnBoYXNlID0gImJlZ2FuIjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24u
eCA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIHRvdWNoLnggPSB4OwotICAgICAgICAg
ICAgaWYgKGFjdGlvbi55ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgdG91Y2gueSA9
IHk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAicG9pbnRlclVwIjoKLSAgICAg
ICAgICAgIHBvaW50ZXJEb3duID0gZmFsc2U7Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJl
bmRlZCI7Ci0gICAgICAgICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIHRvdWNoLnkgPSB5
OwotICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWRkIGEgcGF1
c2UgYWZ0ZXIgYSBwb2ludGVyIHVwIHRvIGVuc3VyZSB0aGF0IGEgc3Vic2VxdWVudCB0YXAgbWF5
IGJlIHJlY29nbml6ZWQgYXMgc3VjaC4KLSAgICAgICAgICAgIGlmIChvcHRpb25zLmluc2VydFBh
dXNlQWZ0ZXJQb2ludGVyVXApCi0gICAgICAgICAgICAgICAgdGltZU9mZnNldEluY3JlYXNlID0g
MC41OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBhdXNlIjoKLSAgICAgICAg
ICAgIHRpbWVPZmZzZXRJbmNyZWFzZSA9IGFjdGlvbi5kdXJhdGlvbiAvIDEwMDA7Ci0gICAgICAg
ICAgICB0b3VjaC5waGFzZSA9ICJzdGF0aW9uYXJ5IjsKLSAgICAgICAgICAgIGlmICghcG9pbnRl
ckRvd24pCi0gICAgICAgICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg
VW5rbm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIHggPSB0b3VjaC54OwotICAgICAgICB5ID0gdG91Y2gueTsKLQotICAgICAgICBpZiAo
IXBvaW50ZXJEb3duICYmIHRvdWNoLnBoYXNlID09ICJtb3ZlZCIpCi0gICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICB0aW1lT2Zmc2V0ICs9IHRpbWVPZmZzZXRJbmNyZWFzZTsKLQotICAg
ICAgICBldmVudHMucHVzaChjb21tYW5kKTsKLSAgICB9Ci0KLSAgICBjb25zdCBzdHJlYW0gPSBK
U09OLnN0cmluZ2lmeSh7IGV2ZW50cyB9KTsKLSAgICBsb2dEZWJ1ZygoKSA9PiBzdHJlYW0pOwot
Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5ydW5VSVNjcmlw
dChgKGZ1bmN0aW9uKCkgewotICAgICAgICAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zZW5k
RXZlbnRTdHJlYW0oJyR7c3RyZWFtfScpIH0pKCk7Ci0gICAgICAgIHVpQ29udHJvbGxlci51aVNj
cmlwdENvbXBsZXRlKCk7Ci0gICAgfSkoKTtgLCByZXNvbHZlKSk7Ci19Ci0KLWlmICh3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwgPT09IHVuZGVmaW5lZCkKLSAgICB3aW5kb3cudGVzdF9kcml2
ZXJfaW50ZXJuYWwgPSB7IH07Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5zZW5kX2tl
eXMgPSBmdW5jdGlvbihlbGVtZW50LCBrZXlzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZl
bnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIC8vIGh0dHBzOi8vc2VsZW5pdW1ocS5n
aXRodWIuaW8vc2VsZW5pdW0vZG9jcy9hcGkvcHkvd2ViZHJpdmVyL3NlbGVuaXVtLndlYmRyaXZl
ci5jb21tb24ua2V5cy5odG1sCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIGNhc2VzLgotICAgIC8v
IEZJWE1FOiBBZGQgdGhlIHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMuCi0gICAgY29uc3QgU2Vs
ZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXkgPSB7Ci0gICAgICAgIDB4RTAwMzogJ2RlbGV0
ZScsCi0gICAgICAgIDB4RTAwNDogJ1x0JywKLSAgICAgICAgMHhFMDBEOiAnICcsCi0gICAgICAg
IDB4RTAxMjogJ2xlZnRBcnJvdycsCi0gICAgICAgIDB4RTAxMzogJ3VwQXJyb3cnLAotICAgICAg
ICAweEUwMTQ6ICdyaWdodEFycm93JywKLSAgICAgICAgMHhFMDE1OiAnZG93bkFycm93JywKLSAg
ICB9OwotCi0gICAgZnVuY3Rpb24gY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkpCi0gICAgewot
ICAgICAgICBjb25zdCBjb2RlID0ga2V5LmNoYXJDb2RlQXQoMCk7Ci0gICAgICAgIHJldHVybiBT
ZWxlbml1bUNoYXJDb2RlVG9FdmVudFNlbmRlcktleVtjb2RlXSB8fCBrZXk7Ci0gICAgfQotCi0g
ICAgY29uc3Qga2V5TGlzdCA9IFtdOwotICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpCi0gICAg
ICAgIGtleUxpc3QucHVzaChjb252ZXJ0U2VsZW5pdW1LZXlDb2RlKGtleSkpOwotCi0gICAgaWYg
KHRlc3RSdW5uZXIuaXNJT1NGYW1pbHkgJiYgdGVzdFJ1bm5lci5pc1dlYktpdDIpIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnJ1blVJU2NyaXB0KGAKLSAgICAgICAgICAgICAgICBjb25zdCBrZXlMaXN0ID0gSlNPTi5w
YXJzZSgnJHtKU09OLnN0cmluZ2lmeShrZXlMaXN0KX0nKTsKLSAgICAgICAgICAgICAgICBmb3Ig
KGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIu
a2V5RG93bihrZXkpO2AsIHJlc29sdmUpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmb3Ig
KGNvbnN0IGtleSBvZiBrZXlMaXN0KQotICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7
Ci0gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVzdF9kcml2ZXJf
aW50ZXJuYWwuY2xpY2sgPSBmdW5jdGlvbiAoZWxlbWVudCwgY29vcmRzKQotewotICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLQot
ICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAg
IGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0g
ICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ydW5VSVNjcmlwdChgCi0gICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNpbmds
ZVRhcEF0UG9pbnQoJHtjb29yZHMueH0sICR7Y29vcmRzLnl9LCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKLSAgICAgICAg
ICAgICAgICB9KTtgLCByZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oY29vcmRzLngsIGNvb3Jkcy55KTsKLSAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0KLSAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCk7Ci19Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5hY3Rpb25f
c2VxdWVuY2UgPSBmdW5jdGlvbihzb3VyY2VzKQotewotICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWJkcml2ZXIvI3Byb2Nlc3NpbmctYWN0aW9ucyAgICAKLQotICAgIGxldCBub25lU291
cmNlOwotICAgIGxldCBwb2ludGVyU291cmNlOwotICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3Vy
Y2VzKSB7Ci0gICAgICAgIHN3aXRjaCAoc291cmNlLnR5cGUpIHsKLSAgICAgICAgY2FzZSAibm9u
ZSI6Ci0gICAgICAgICAgICBub25lU291cmNlID0gc291cmNlOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgInBvaW50ZXIiOgotICAgICAgICAgICAgcG9pbnRlclNvdXJjZSA9IHNv
dXJjZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzb3VyY2UgdHlwZSAiJHth
Y3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghcG9pbnRlclNv
dXJjZSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBw
b2ludGVyIHR5cGUgcG9pbnRlciB0eXBlICIke2FjdGlvbi5wYXJhbWV0ZXJzLnBvaW50ZXJUeXBl
fSIuYCkpOwotCi0gICAgY29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyU291cmNlLnBhcmFtZXRl
cnMucG9pbnRlclR5cGU7Ci0gICAgaWYgKHBvaW50ZXJUeXBlICE9PSAibW91c2UiICYmIHBvaW50
ZXJUeXBlICE9PSAidG91Y2giKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVy
cm9yKGBVbmtub3duIHBvaW50ZXIgdHlwZSAiJHtwb2ludGVyVHlwZX0iLmApKTsKLQotICAgIC8v
IElmIHdlIGhhdmUgYSAibm9uZSIgc291cmNlLCBsZXQncyBpbmplY3QgYW55IHBhdXNlIHdpdGgg
bm9uLXplcm8gZHVyYXRpb25zIGludG8gdGhlIHBvaW50ZXIgc291cmNlCi0gICAgLy8gYWZ0ZXIg
dGhlIG1hdGNoaW5nIGFjdGlvbiBpbiB0aGUgcG9pbnRlciBzb3VyY2UuCi0gICAgaWYgKG5vbmVT
b3VyY2UpIHsKLSAgICAgICAgbGV0IGluamVjdGVkQWN0aW9ucyA9IDA7Ci0gICAgICAgIG5vbmVT
b3VyY2UuYWN0aW9ucy5mb3JFYWNoKChhY3Rpb24sIGluZGV4KSA9PiB7Ci0gICAgICAgICAgICBp
ZiAoYWN0aW9uLmR1cmF0aW9uID4gMCkgewotICAgICAgICAgICAgICAgIHBvaW50ZXJTb3VyY2Uu
YWN0aW9ucy5zcGxpY2UoaW5kZXggKyBpbmplY3RlZEFjdGlvbnMgKyAxLCAwLCBhY3Rpb24pOwot
ICAgICAgICAgICAgICAgIGluamVjdGVkQWN0aW9ucysrOwotICAgICAgICAgICAgfQotICAgICAg
ICB9KTsKLSAgICB9Ci0KLSAgICBsb2dEZWJ1ZygoKSA9PiBKU09OLnN0cmluZ2lmeShwb2ludGVy
U291cmNlKSk7Ci0KLSAgICBpZiAocG9pbnRlclR5cGUgPT09ICJ0b3VjaCIpCi0gICAgICAgIHJl
dHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMpOwotICAgIGlm
ICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmICJjcmVhdGVUb3VjaCIgaW4gZG9jdW1lbnQpCi0g
ICAgICAgIHJldHVybiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMs
IHsgaW5zZXJ0UGF1c2VBZnRlclBvaW50ZXJVcDogdHJ1ZSB9KTsKLSAgICBpZiAocG9pbnRlclR5
cGUgPT09ICJtb3VzZSIpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaE1vdXNlQWN0aW9ucyhwb2lu
dGVyU291cmNlLmFjdGlvbnMpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKaW5kZXggMWNlZTc3NmZhZmQuLjk4ODdmOWY3MGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMzAsNSArMzAsNCBAQCBMaXN0IG9mIGZpbGVzOgog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanMuaGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMuaGVhZGVycwot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMuaGVhZGVycwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyM2MwNmRiOTZmNi4uOGU4MDk5
M2VjMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0y
Niw4ICsyNiw4IEBAIHN3aXBlIFsgUGFzcyBdCiAjIE9mZnNjcmVlbkNhbnZhcwogd2Via2l0Lm9y
Zy9iLzIwMzE0NiBmYXN0L2NhbnZhcy9vZmZzY3JlZW4tZW5hYmxlZC5odG1sIFsgUGFzcyBdCiB3
ZWJraXQub3JnL2IvMjAzMTQ2IGh0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KLSMg
U2VlIHdlYmtpdC5vcmcvYi8yMDU0NDUgYmVmb3JlIGVuYWJsaW5nIHRoaXMgYmFjawotIyB3ZWJr
aXQub3JnL2IvMjAzMTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcyBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzIwMzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8xODY3
NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQg
WyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxh
dGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDU3ODc5MjQ4ZjhmLi4zN2FjOTM2ZGVmOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUsOCArNSw4IEBACiAjIE9mZnNj
cmVlbkNhbnZhcwogd2Via2l0Lm9yZy9iLzIwMzE0NiBmYXN0L2NhbnZhcy9vZmZzY3JlZW4tZW5h
YmxlZC5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjAzMTQ2IGh0dHAvd3B0L29mZnNjcmVl
bi1jYW52YXMgWyBQYXNzIF0KLSMgU2VlIHdlYmtpdC5vcmcvYi8yMDU0NDUgYmVmb3JlIGVuYWJs
aW5nIHRoaXMgYmFjawotIyB3ZWJraXQub3JnL2IvMjAzMTQ2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcyBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzIwMzE0
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMgWyBQYXNz
IF0KK3dlYmtpdC5vcmcvYi8xODY3NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCi0tIAoyLjIz
LjAKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387322</attachid>
            <date>2020-01-10 03:07:57 -0800</date>
            <delta_ts>2020-01-10 09:00:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205445-20200110110753.patch</filename>
            <type>text/plain</type>
            <size>2595253</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzMwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjkyOGQ3MTZkNjg1NTRmZDlhZGE0
NTA4MDkxNWZlZTBjNjZhYjE0Yi4uMTBjY2VlOGQ2YzA2Njk3MmNkODU2ZmRmMWM3MjYzZjVjNmY1
NzllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEyLTIwICBDaHJpcyBMb3JkICA8Y2xv
cmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNTM2ODMpOiBbR1RLXVtXUEVd
IExvdHMgb2Ygb2Zmc2NyZWVuLWNhbnZhcyBXUFQgdGVzdHMgZmFpbGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwNTQ0NSAtIFVwZGF0ZSBh
bmQgcmUtZW5hYmxlIE9mZnNjcmVlbkNhbnZhcyB0ZXN0cworCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjAtMDEtMDkgIFBhYmxvIFNhYXZlZHJhICA8cHNhYXZlZHJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
dGltZW91dC1vcmRlci5hbnkuaHRtbCBoYXMgYmVlbiBmbGFreSBzaW5jZSBpdCB3YXMgaW1wb3J0
ZWQgaW4gcjI1NDE1NApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggODVjY2ZhNWNh
NDc2N2I0M2FmMzdhODE1N2M3MDhhNzAwNDlhYWY1Yi4uMGVkYzE0Y2M0M2QzYWM3YTg5ODEwOTFm
ZGNhYzZmMzJjZTQzODg4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTktMTItMjAgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04ocjI1MzY4Myk6IFtHVEtdW1dQRV0gTG90cyBvZiBvZmZzY3JlZW4t
Y2FudmFzIFdQVCB0ZXN0cyBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU0NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBCdWcgMjA1NDQ1IC0gVXBkYXRlIGFuZCByZS1lbmFibGUgT2Zmc2Ny
ZWVuQ2FudmFzIHRlc3RzCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvKjogVXBkYXRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzLyo6IFVwZGF0ZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvKjogVXBkYXRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzLyo6IFVwZGF0ZWQuCisKIDIwMjAt
MDEtMDkgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEltYWdlQml0
bWFwIGNhbid0IGJlIGNyZWF0ZWQgaW4gd29ya2VycyBpbiBzb21lIGNhc2VzIGR1ZSB0byBtYWlu
LXRocmVhZCBhc3NlcnQgaW4gSW1hZ2VTb3VyY2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXgg
MWY0ZTBlNmI0ZjcyNjg0YmNmZjRhZGNjZTAwM2E1Nzk5ZGY4MzE2Mi4uYjA2YjkxZjUwNjgxYTdi
MzQ3YWIzOTlmZTJhYWZlMmQ4NzExYTMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE2
LDYgKzE2LDcgQEAKICAgICAidG9vbHMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy8yZGNvbnRleHQiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy8yZGNv
bnRleHQvaW1hZ2ViaXRtYXAiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy8y
ZGNvbnRleHQvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
MmRjb250ZXh0L3RyYW5zZm9ybWF0aW9ucy9jYW52YXNfdHJhbnNmb3JtYXRpb25zX3Jlc2V0XzAw
MS1yZWYuaHRtbCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4
dC90cmFuc2Zvcm1hdGlvbnMvY2FudmFzX3RyYW5zZm9ybWF0aW9uc19yZXNldF8wMDEuaHRtbCI6
ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL0RPTS1wYXJzaW5nIjogInNraXAi
LCAKQEAgLTI3Niw2ICsyNzcsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaHR0cCI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZS1kZWNvZGVzIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQiOiAi
aW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMiOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbmZyYXN0cnVjdHVyZSI6ICJpbXBvcnQiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2lubmVyVGV4dCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2lucHV0LWV2ZW50cyI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9j
cmVhdGVJbWFnZUJpdG1hcC1zZXJpYWxpemFibGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdl
Qml0bWFwLXNlcmlhbGl6YWJsZS5odG1sCmluZGV4IGI0MGQ5Y2VjM2YzN2Y0YzVkODhmMDMwODI5
YWM5Y2FkYWEzMGQ1MWUuLmE0NDM0YWVjNmU0M2NlZmUwZjc4YTU2Zjc0OGY0YTM3NzA5YjFjZWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
MmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXNlcmlhbGl6YWJsZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250
ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXNlcmlhbGl6YWJsZS5odG1sCkBAIC02
LDYgKzYsNyBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vbmFtZXNwYWNlcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9tZWRpYS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Y29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8ZGl2IGlkPWxvZz48L2Rpdj4KIDxzY3JpcHQ+CiBsZXQg
d29ya2VyLCBjb250aW51YXRpb25zID0ge307CkBAIC00MCw0ICs0MSwxMiBAQCBmb3IgKGxldCB7
IG5hbWUsIGZhY3RvcnkgfSBvZiBpbWFnZVNvdXJjZVR5cGVzKSB7CiAgICAgICAgIH0pOwogICAg
IH0sIGBTZXJpYWxpemUgSW1hZ2VCaXRtYXAgY3JlYXRlZCBmcm9tICR7bmFtZX1gKTsKIH0KKwor
cHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgIGNvbnN0IHVybCA9IGdldF9ob3N0X2luZm8o
KS5SRU1PVEVfT1JJR0lOICsgJy9pbWFnZXMvcGF0dGVybi5wbmcnOworICBjb25zdCBpbWFnZSA9
IGF3YWl0IG1ha2VNYWtlSFRNTEltYWdlKHVybCkoKTsKKyAgY29uc3QgYml0bWFwID0gYXdhaXQg
Y3JlYXRlSW1hZ2VCaXRtYXAoaW1hZ2UpOworCisgIGFzc2VydF90aHJvd3MoJ0RhdGFDbG9uZUVy
cm9yJywgKCkgPT4gd29ya2VyLnBvc3RNZXNzYWdlKGJpdG1hcCkpOworfSwgJ1NlcmlhbGl6aW5n
IGEgbm9uLW9yaWdpbi1jbGVhbiBJbWFnZUJpdG1hcCB0aHJvd3MuJyk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRj
b250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXRyYW5zZmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJp
dG1hcC9jcmVhdGVJbWFnZUJpdG1hcC10cmFuc2Zlci5odG1sCmluZGV4IDU4MGVjOGE1ZWQwNGQ2
NzRkNWVhZTRhOGY1Yjc0YzQ2ZTFiYWUyYjIuLjcwOGY5NzA5N2MxNmU5MDc0Y2MzY2JmNTRkYWQw
ZWU3NWRmNzk2N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXRyYW5z
ZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtdHJhbnNmZXIuaHRtbApA
QCAtNSw2ICs1LDcgQEAKIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvY29tbW9uL21lZGlhLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJjb21tb24uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KIDxkaXYgaWQ9bG9nPjwvZGl2Pgog
PHNjcmlwdD4KIGxldCB3b3JrZXIsIGNvbnRpbnVhdGlvbnMgPSB7fTsKQEAgLTM5LDQgKzQwLDE0
IEBAIGZvciAobGV0IHsgbmFtZSwgZmFjdG9yeSB9IG9mIGltYWdlU291cmNlVHlwZXMpIHsKICAg
ICAgICAgfSk7CiAgICAgfSwgYFRyYW5zZmVyIEltYWdlQml0bWFwIGNyZWF0ZWQgZnJvbSAke25h
bWV9YCk7CiB9CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICBjb25zdCB1cmwgPSBn
ZXRfaG9zdF9pbmZvKCkuUkVNT1RFX09SSUdJTiArICcvaW1hZ2VzL3BhdHRlcm4ucG5nJzsKKyAg
Y29uc3QgaW1hZ2UgPSBhd2FpdCBtYWtlTWFrZUhUTUxJbWFnZSh1cmwpKCk7CisgIGNvbnN0IGJp
dG1hcCA9IGF3YWl0IGNyZWF0ZUltYWdlQml0bWFwKGltYWdlKTsKKworICBhc3NlcnRfdGhyb3dz
KCdEYXRhQ2xvbmVFcnJvcicsCisgICAgICAgICAgICAgICAgKCkgPT4gd29ya2VyLnBvc3RNZXNz
YWdlKGJpdG1hcCwgW2JpdG1hcF0pKTsKK30sICdUcmFuc2ZlcnJpbmcgYSBub24tb3JpZ2luLWNs
ZWFuIEltYWdlQml0bWFwIHRocm93cy4nKTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJp
dG1hcC9uby1jb29wLWNvZXAuaHR0cHMud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvbm8tY29vcC1jb2Vw
Lmh0dHBzLndpbmRvdy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI5NWYxZTEw
Y2ZkZDU3MjI3MjUxOWY5NmU0ZjE3ZDYzZjYwYWJlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9uby1jb29wLWNvZXAuaHR0cHMud2luZG93
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLy8gTUVUQTogc2NyaXB0PS9jb21t
b24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ci0KLWZ1bmN0aW9uIHRhaW50ZWRJbWFnZUJpdG1hcCh0KSB7Ci0gIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKLSAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTsKLSAgICBpbWcuc3Jj
ID0gYCR7Z2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU59L2ltYWdlcy9ibHVlLnBu
Z2A7Ci0gICAgaW1nLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIHJlc29sdmUo
Y3JlYXRlSW1hZ2VCaXRtYXAoaW1nKSk7Ci0gICAgfSk7Ci0gICAgaW1nLm9uZXJyb3IgPSB0LnVu
cmVhY2hlZF9mdW5jKCk7Ci0gIH0pOwotfQotCi1hc3luY190ZXN0KHQgPT4gewotICBjb25zdCBi
YyA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRva2VuKCkpOwotICBjb25zdCBwb3B1cCA9IHdpbmRv
dy5vcGVuKGByZXNvdXJjZXMvY29vcC1jb2VwLXBvcHVwLmh0bWw/Y2hhbm5lbD0ke2JjLm5hbWV9
YCk7Ci0gIGNvbnN0IHBvcHVwUmVhZHkgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICBi
Yy5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhyZXNvbHZlKTsKLSAgfSk7Ci0gIGNvbnN0IGltYWdl
UmVhZHkgPSB0YWludGVkSW1hZ2VCaXRtYXAodCk7Ci0gIFByb21pc2UuYWxsKFtwb3B1cFJlYWR5
LCBpbWFnZVJlYWR5XSkudGhlbih0LnN0ZXBfZnVuYygoWywgYml0bWFwXSkgPT4gewotICAgIGJj
Lm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KGUuZGF0YSwgIkdvdCBmYWlsdXJlIGFzIGV4cGVjdGVkLiIpOwotICAgIH0pOwotICAgIGJjLnBv
c3RNZXNzYWdlKGJpdG1hcCk7Ci0gIH0pKTsKLX0sICJCcm9hZGNhc3RDaGFubmVsJ2luZyBhIHRh
aW50ZWQgSW1hZ2VCaXRtYXAgdG8gYSBDT09QK0NPRVAgcG9wdXAiKTsKLQotWwotICB7Ci0gICAg
InR5cGUiOiAic2VyaWFsaXplL2Rlc2VyaWFsaXplIiwKLSAgICAibWVzc2FnZSI6IChwb3J0LCBi
aXRtYXApID0+IHBvcnQucG9zdE1lc3NhZ2UoYml0bWFwKQotICB9LAotICB7Ci0gICAgInR5cGUi
OiAidHJhbnNmZXIiLAotICAgICJtZXNzYWdlIjogKHBvcnQsIGJpdG1hcCkgPT4gcG9ydC5wb3N0
TWVzc2FnZShiaXRtYXAsIFtiaXRtYXBdKQotICB9Ci1dLmZvckVhY2goKHsgdHlwZSwgbWVzc2Fn
ZSB9KSA9PiB7Ci0gIGFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgY29uc3Qgc3cgPSBuZXcgU2hhcmVk
V29ya2VyKCJyZXNvdXJjZXMvY29vcC1jb2VwLXdvcmtlci5qcyIpOwotICAgIGNvbnN0IGltYWdl
UmVhZHkgPSB0YWludGVkSW1hZ2VCaXRtYXAodCk7Ci0gICAgaW1hZ2VSZWFkeS50aGVuKHQuc3Rl
cF9mdW5jKGJpdG1hcCA9PiB7Ci0gICAgICBzdy5wb3J0Lm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5j
X2RvbmUoZSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAiR290IGZhaWx1cmUg
YXMgZXhwZWN0ZWQuIik7Ci0gICAgICB9KTsKLSAgICAgIG1lc3NhZ2Uoc3cucG9ydCwgYml0bWFw
KTsKLSAgICB9KSk7Ci0gIH0sIGBNZXNzYWdpbmcgYSB0YWludGVkIEltYWdlQml0TWFwIHZpYSAk
e3R5cGV9IHRvIGEgQ09FUCBzaGFyZWQgd29ya2VyYCk7Ci19KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0
bWFwL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvdzNjLWltcG9ydC5sb2cKaW5kZXggMDgzZmUx
YWMzNjMwMDBjNzk3NWQzNDI1M2FjNzQwYjFjODc0M2UzYS4uODQ4YjM4YTYxZmJkMmVjYTYwNzUx
NTU1Mzc4MjIzMDA2YTk2MjM0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRl
eHQvaW1hZ2ViaXRtYXAvdzNjLWltcG9ydC5sb2cKQEAgLTI3LDUgKzI3LDQgQEAgTGlzdCBvZiBm
aWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29u
dGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC1zZXJpYWxpemFibGUuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdl
Yml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLXNpemVPdmVyZmxvdy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3Jl
YXRlSW1hZ2VCaXRtYXAtdHJhbnNmZXIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvMmRjb250ZXh0L2ltYWdlYml0bWFwL25vLWNvb3AtY29lcC5odHRw
cy53aW5kb3cuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcC90cmFuc2Zlci13b3JrZXIuanMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvTUVU
QS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjAzYmZjNThkN2RjOTBlODBhZjE2ZDFhN2U3ODYxN2FmYzFhYmU1
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sCkBAIC0wLDAgKzEsMyBAQAorc3VnZ2VzdGVkX3Jldmll
d2VyczoKKyAgLSB6cXpoYW5nCisgIC0gZ3NuZWRkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9PV05FUlMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9PV05FUlMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZjc4MjY2YzQ3ZDRjZDQ4YWMxNWFiYzU1MGU1YTU5
MDY0MjQxN2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvT1dORVJT
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1AenF6aGFuZwotQHRhZ2F3YQotQGdzbmVk
ZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvYmx1ZS1wbmctY2FjaGFibGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lODc5NzUzNDNmNjk3MjY3Y2E3MjRmODNmMjE1ZWU5Y2VhZTM1ZDNkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvYmx1ZS1wbmctY2FjaGFibGUucHkKQEAgLTAsMCArMSwxMyBAQAoraW1wb3J0IG9zCitpbXBv
cnQgdGltZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICIiIlNlcnZlcyB0aGUg
Y29udGVudHMgaW4gYmx1ZS5wbmcgYnV0IHdpdGggYSBDYWNoZS1Db250cm9sIGhlYWRlci4KKwor
ICBFbWl0cyBhIENhY2hlLUNvbnRyb2wgaGVhZGVyIHdpdGggbWF4LWFnZSBzZXQgdG8gMWggdG8g
YWxsb3cgdGhlIGJyb3dzZXIKKyAgY2FjaGUgdGhlIGltYWdlLiBVc2VkIGZvciB0ZXN0aW5nIGJl
aGF2aW9ycyBpbnZvbHZpbmcgY2FjaGluZyBsb2dpY3MuCisgICIiIgorICBpbWFnZV9wYXRoID0g
b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJibHVlLnBuZyIpCisgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm1heC1hZ2U9MzYwMCIpCisgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAiaW1hZ2UvcG5nIikKKyAgcmVzcG9u
c2UuY29udGVudCA9IG9wZW4oaW1hZ2VfcGF0aCwgbW9kZT0ncmInKS5yZWFkKCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Nh
bnZhcy1saW5lLnBuZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2VzL2NhbnZhcy1saW5lLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzBmOGY0NTQwNTYwOTM5ZTEyOTVjY2NiMGM2NjViOWNlZDkwOGFkNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKbGl0ZXJhbCA1MDIKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlWQUtKIXIqU1g9
JD04LWp0dzQmZ0lMT19KVmNqe0ltcH4zQGZrJEw5CnowfFUxKDJzMUx3bmotLWVXSDBnYmIhRVQ5
Q0NZMG9sayt6RDNRJFAwIzVKUENJWF5jeUhMcnhoeGhPVFVCc0UyJAp6SmhMUTIhUUluMEFpUi1K
OUI2UXxyO0I0cSNqVXMzNHt8bSoyKFVRJXBRJWl+a3p3OXEkU1F3R0dvO252TFZ1KHUKelUmOCMk
RURCQm5pblBOJl9OP0IkX0NyOVpXYUQ/YElnOzgzK19YREk1MiYqVUdBUnVWWnNQRHxwby1Oa19q
ZlVWClhiPzVva3FXaX1SNyQqIyN1NnsxLW9EIU08K0lVKW4KCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jbGVhci0xMDB4NTAu
cG5nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMv
Y2xlYXItMTAweDUwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWVkZDBmZjA1ODg5ZmZkNDQ2OGJmMTlhMmU4
ZTllMGEwOTQyMDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTcKemNtZUFTQE4/KG9sSHlg
dVZCcSFpYTB2cF5ETGB6KiEzSEUobmJ6JENRZnhgeT9rKWBmTDIkdnw8JiVMVFRBblZCCnVBcio3
cDklU1NOQCh3TmQ/d2B3Tno1dktYMlJ9XndmKjJVMytJTCtDJCN9WkB4dlg8YVhhV0VkJktxX0IK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NvbG9ycy5zdmcgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMuc3ZnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAyNGRlODRhNWJiYWMwNWYwZDg3OGM5OTRiYjQ1ZDEyZmE0MTY0NmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy9jb2xvcnMuc3ZnCkBAIC0wLDAgKzEsMTEgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
bGluayIKKyAgICAgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+CisgIDxzdHlsZT51c2U6bm90KDp0
YXJnZXQpIHsgZGlzcGxheTogbm9uZTsgfTwvc3R5bGU+CisgIDxkZWZzPgorICAgIDxyZWN0IGlk
PSJncmVlbi1ib3giIGZpbGw9IiMwMGZmMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiLz4KKyAg
ICA8cmVjdCBpZD0icmVkLWJveCIgZmlsbD0iI2ZmMDAwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1
MCIvPgorICA8L2RlZnM+CisgIDx1c2UgaWQ9ImdyZWVuIiB4bGluazpocmVmPSIjZ3JlZW4tYm94
Ii8+CisgIDx1c2UgaWQ9InJlZCIgeGxpbms6aHJlZj0iI3JlZC1ib3giLz4KKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvZnlpLWxvZ28vZnlpX2NvbG9yLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xvci5zdmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzYwMzg3ODkyYWYwOTE5NDhhNTBhMmRkZTg1MDE3NTRjZjZhZmM5MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5
aS1sb2dvL2Z5aV9jb2xvci5zdmcKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAy
Mi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAt
LT4KKzxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIg
eD0iMHB4IiB5PSIwcHgiCisgICAgIHZpZXdCb3g9IjAgMCA0NDAgNDQwIiBzdHlsZT0iZW5hYmxl
LWJhY2tncm91bmQ6bmV3IDAgMCA0NDAgNDQwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorICAuc3Qwe2ZpbGw6IzdFRDJFRTt9CisgIC5zdDF7ZmlsbDoj
MDAzQzU3O30KKzwvc3R5bGU+Cis8Zz4KKyAgPHJlY3QgeD0iNjEuMiIgeT0iMjU1LjMiIGNsYXNz
PSJzdDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgPHBhdGggY2xhc3M9InN0MSIg
ZD0iTTE1OS4zLDEwMy44Yy0yOC41LDAtNTEuNywyMy4yLTUxLjcsNTEuN1YyODRIMTM4di02MC41
aDI4LjZ2LTMwLjRIMTM4di0zNy41YzAtMTEuOCw5LjYtMjEuNCwyMS40LTIxLjQKKyAgICBjMTEu
NSwwLDIwLjgsOS4xLDIxLjMsMjAuNGgzMC40QzIxMC42LDEyNi41LDE4Ny42LDEwMy44LDE1OS4z
LDEwMy44eiIvPgorICA8cmVjdCB4PSIzMDIiIHk9IjEyNi4zIiBjbGFzcz0ic3QxIiB3aWR0aD0i
MzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgIDxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMzAy
LjEsMTc2LjEgMzAxLjksMjg0IDMzMi4zLDI4NCAzMzIuNCwxNzYuMSIvPgorICA8cGF0aCBjbGFz
cz0ic3QxIiBkPSJNMjg0LjEsMjA4LjRsMC0xNS41bDAtMWwwLTE1LjhoLTMwLjRsLTAuMSwzMy44
Yy0wLjgsMTEuMS0xMC4xLDE5LjktMjEuMywxOS45Yy0xMS44LDAtMjEuNC05LjYtMjEuNC0yMS40
CisgICAgdi0zMi4zaC0zMC40djMyLjNjMCwyOC41LDIzLjIsNTEuNyw1MS43LDUxLjdjNi45LDAs
MTMuNi0xLjMsMTkuOS00bDEuMy0wLjZsMCwyMy4xaDAuMnY1LjhjMCwxMS44LTkuNiwyMS40LTIx
LjQsMjEuNAorICAgIGMtMTEuNSwwLTIwLjgtOS4xLTIxLjMtMjAuNGgtMzAuNGMwLjUsMjguMSwy
My41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43LTIzLjIsNTEuNy01MS43di0zLjhIMjg0bDAu
MS02OS45CisgICAgQzI4NC4xLDIwOS45LDI4NC4xLDIwOS4xLDI4NC4xLDIwOC40eiIvPgorPC9n
PgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfY29sb3JfYmcuc3ZnIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9y
X2JnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NDg2NGI1YzJjMjU5ZDJkNDk0ZjdjY2E2YjdlNGJmNjJjZTQ2
YTViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yX2JnLnN2ZwpAQCAtMCwwICsxLDI2
IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBHZW5lcmF0
b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZl
cnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8x
IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKKyAgIHZpZXdCb3g9IjAgMCA0
NDAuNyA0NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MC43IDQ0MDsiIHht
bDpzcGFjZT0icHJlc2VydmUiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgLnN0MHtmaWxs
OiMwMDNDNTc7fQorICAuc3Qxe2ZpbGw6IzdFRDJFRTt9CisgIC5zdDJ7ZmlsbDojRkZGRkZGO30K
Kzwvc3R5bGU+Cis8Zz4KKyAgPGc+CisgICAgPHJlY3QgeD0iMCIgY2xhc3M9InN0MCIgd2lkdGg9
IjQ0MCIgaGVpZ2h0PSI0NDAiLz4KKyAgPC9nPgorICA8Zz4KKyAgICA8cmVjdCB4PSI2MS4yIiB5
PSIyNTUuMyIgY2xhc3M9InN0MSIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxw
YXRoIGNsYXNzPSJzdDIiIGQ9Ik0xNTkuMywxMDMuOGMtMjguNSwwLTUxLjcsMjMuMi01MS43LDUx
LjdWMjg0SDEzOHYtNjAuNWgyOC42di0zMC40SDEzOHYtMzcuNWMwLTExLjgsOS42LTIxLjQsMjEu
NC0yMS40CisgICAgICBjMTEuNSwwLDIwLjgsOS4xLDIxLjMsMjAuNGgzMC40QzIxMC42LDEyNi41
LDE4Ny42LDEwMy44LDE1OS4zLDEwMy44eiIvPgorICAgIDxyZWN0IHg9IjMwMiIgeT0iMTI2LjMi
IGNsYXNzPSJzdDIiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8cG9seWdvbiBj
bGFzcz0ic3QyIiBwb2ludHM9IjMwMi4xLDE3Ni4xIDMwMS45LDI4NCAzMzIuMywyODQgMzMyLjQs
MTc2LjEiLz4KKyAgICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjg0LjEsMjA4LjRsMC0xNS41bDAt
MWwwLTE1LjhoLTMwLjRsLTAuMSwzMy44Yy0wLjgsMTEuMS0xMC4xLDE5LjktMjEuMywxOS45Yy0x
MS44LDAtMjEuNC05LjYtMjEuNC0yMS40CisgICAgICB2LTMyLjNoLTMwLjR2MzIuM2MwLDI4LjUs
MjMuMiw1MS43LDUxLjcsNTEuN2M2LjksMCwxMy42LTEuMywxOS45LTRsMS4zLTAuNmwwLDIzLjFo
MC4ydjUuOGMwLDExLjgtOS42LDIxLjQtMjEuNCwyMS40CisgICAgICBjLTExLjUsMC0yMC44LTku
MS0yMS4zLTIwLjRoLTMwLjRjMC41LDI4LjEsMjMuNSw1MC44LDUxLjcsNTAuOGMyOC41LDAsNTEu
Ny0yMy4yLDUxLjctNTEuN3YtMy44SDI4NGwwLjEtNjkuOQorICAgICAgQzI4NC4xLDIwOS45LDI4
NC4xLDIwOS4xLDI4NC4xLDIwOC40eiIvPgorICA8L2c+Cis8L2c+Cis8L3N2Zz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5
aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljLnN2Zwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZGUyNzU5NzJiMzNjNTcxMzhlYTA4NmFlYjI4MjYxZDhiYmY3NDNmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnCkBAIC0wLDAgKzEsMTggQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIEdlbmVyYXRvcjog
QWRvYmUgSWxsdXN0cmF0b3IgMjIuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lv
bjogNi4wMCBCdWlsZCAwKSAgLS0+Cis8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgorICAgdmlld0JveD0iMCAwIDQ0MCA0
NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MCA0NDA7IiB4bWw6c3BhY2U9
InByZXNlcnZlIj4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSI2MS4yIiB5PSIyNTUuMyIgd2lk
dGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwYXRoIGQ9Ik0xNTkuMywxMDMuOGMtMjgu
NSwwLTUxLjcsMjMuMi01MS43LDUxLjdWMjg0SDEzOHYtNjAuNWgyOC42di0zMC40SDEzOHYtMzcu
NWMwLTExLjgsOS42LTIxLjQsMjEuNC0yMS40CisgICAgICBjMTEuNSwwLDIwLjgsOS4xLDIxLjMs
MjAuNGgzMC40QzIxMC42LDEyNi41LDE4Ny42LDEwMy44LDE1OS4zLDEwMy44eiIvPgorICAgIDxy
ZWN0IHg9IjMwMiIgeT0iMTI2LjMiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8
cG9seWdvbiBwb2ludHM9IjMwMi4xLDE3Ni4xIDMwMS45LDI4NCAzMzIuMywyODQgMzMyLjQsMTc2
LjEgICAgICIvPgorICAgIDxwYXRoIGQ9Ik0yODQuMSwyMDguNGwwLTE1LjVsMC0xbDAtMTUuOGgt
MzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5LjljLTExLjgsMC0yMS40
LTkuNi0yMS40LTIxLjR2LTMyLjNoLTMwLjQKKyAgICAgIHYzMi4zYzAsMjguNSwyMy4yLDUxLjcs
NTEuNyw1MS43YzYuOSwwLDEzLjYtMS4zLDE5LjktNGwxLjMtMC42bDAsMjMuMWgwLjJ2NS44YzAs
MTEuOC05LjYsMjEuNC0yMS40LDIxLjQKKyAgICAgIGMtMTEuNSwwLTIwLjgtOS4xLTIxLjMtMjAu
NGgtMzAuNGMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43LTIzLjIsNTEu
Ny01MS43di0zLjhIMjg0bDAuMS02OS45CisgICAgICBDMjg0LjEsMjA5LjksMjg0LjEsMjA5LjEs
Mjg0LjEsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlp
X21vbm9jaHJvbWF0aWNfYmcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWNfYmcuc3ZnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk0YzgyZDMxYTI3ZGMwZDlhYjM4ZjkxNTc0YzEwYzQ3MDhkZWUwZGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpY19iZy5zdmcKQEAgLTAsMCArMSwyNCBAQAor
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBB
ZG9iZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u
OiA2LjAwIEJ1aWxkIDApICAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCisgICB2aWV3Qm94PSIwIDAgNDQwLjcg
NDQwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NDAuNyA0NDA7IiB4bWw6c3Bh
Y2U9InByZXNlcnZlIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIC5zdDB7ZmlsbDojRkZG
RkZGO30KKzwvc3R5bGU+Cis8Zz4KKyAgPGc+CisgICAgPHJlY3QgeD0iMC4zIiB3aWR0aD0iNDQw
IiBoZWlnaHQ9IjQ0MCIvPgorICA8L2c+CisgIDxnPgorICAgIDxyZWN0IHg9IjYxLjUiIHk9IjI1
NS4zIiBjbGFzcz0ic3QwIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBhdGgg
Y2xhc3M9InN0MCIgZD0iTTE1OS43LDEwMy44Yy0yOC41LDAtNTEuNywyMy4yLTUxLjcsNTEuN1Yy
ODRoMzAuNHYtNjAuNWgyOC42di0zMC40aC0yOC42di0zNy41YzAtMTEuOCw5LjYtMjEuNCwyMS40
LTIxLjQKKyAgICAgIGMxMS41LDAsMjAuOCw5LjEsMjEuMywyMC40aDMwLjRDMjEwLjksMTI2LjUs
MTg3LjksMTAzLjgsMTU5LjcsMTAzLjh6Ii8+CisgICAgPHJlY3QgeD0iMzAyLjMiIHk9IjEyNi4z
IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBvbHlnb24g
Y2xhc3M9InN0MCIgcG9pbnRzPSIzMDIuNCwxNzYuMSAzMDIuMiwyODQgMzMyLjYsMjg0IDMzMi44
LDE3Ni4xICAgICAiLz4KKyAgICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjg0LjUsMjA4LjRsMC0x
NS41bDAtMWwwLTE1LjhoLTMwLjRsLTAuMSwzMy44Yy0wLjgsMTEuMS0xMC4xLDE5LjktMjEuMywx
OS45Yy0xMS44LDAtMjEuNC05LjYtMjEuNC0yMS40CisgICAgICB2LTMyLjNIMTgxdjMyLjNjMCwy
OC41LDIzLjIsNTEuNyw1MS43LDUxLjdjNi45LDAsMTMuNi0xLjMsMTkuOS00bDEuMy0wLjZsMCwy
My4xaDAuMnY1LjhjMCwxMS44LTkuNiwyMS40LTIxLjQsMjEuNAorICAgICAgYy0xMS41LDAtMjAu
OC05LjEtMjEuMy0yMC40SDE4MWMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1
MS43LTIzLjIsNTEuNy01MS43di0zLjhoLTAuMmwwLjEtNjkuOQorICAgICAgQzI4NC40LDIwOS45
LDI4NC41LDIwOS4xLDI4NC41LDIwOC40eiIvPgorICA8L2c+Cis8L2c+Cis8L3N2Zz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
L2Z5aS1sb2dvL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTljZjBlYjY0NTI5NzlkNjAwNjRhYjcyMzNmNGNkY2NlZDcwZDk0MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5
aS1sb2dvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9j
b2xvci5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy9meWktbG9nby9meWlfY29sb3JfYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3Zn
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlp
LWxvZ28vZnlpX21vbm9jaHJvbWF0aWNfYmcuc3ZnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5Ni5zdmcgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05
Nng5Ni5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmRhZmZkOTIwZGM3MzYyM2MwZDhmMTE4OGFlMTdjMjFkNTNl
YzJhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTk2eDk2LnN2ZwpAQCAtMCwwICsxLDMgQEAKKzxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iOTYiIGhlaWdodD0iOTYi
PgorICA8cmVjdCBmaWxsPSJsaW1lIiB3aWR0aD0iOTYiIGhlaWdodD0iOTYiLz4KKzwvc3ZnPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZwppbmRleCBlNmY0NGNjMGMyM2Q0Yzg5MTk4
ODUxODkzMTMyZDA1Y2I1ZTE5MTZmLi5hMzI3NmQzNmVjYTlhNmU3ZDhiZWJlZTJmMmZhYjQzYzk3
M2JlNGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcg
QEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNCw3ICsxNCw3
IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL09XTkVSUworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYW5pbS1nci5naWYKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9hbmltLWdyLnBuZwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2FuaW0tcG9z
dGVyLWdyLnBuZwpAQCAtMjMsMTAgKzIzLDEyIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmxhY2stcmVjdGFuZ2xl
LnBuZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
L2JsdWUtYXJlYS5wbmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcy9ibHVlLWJvcmRlci5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUucG5nCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmx1ZTk2eDk2LnBu
ZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Jy
b2tlbi5wbmcKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy9jYW52YXMtbGluZS5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy9jbGVhci0xMDB4NTAucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY29sb3JzLnN2ZwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2ZhaWwuZ2lmCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ2dyci0yNTZ4MjU2LnBu
ZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dy
ZWVuLTEwMHg1MC5wbmcKQEAgLTM0LDYgKzM2LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi0xeDEucG5n
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3Jl
ZW4tMjU2eDI1Ni5wbmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcy9ncmVlbi0yeDIucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4tOTZ4OTYuc3ZnCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4ucG5nCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4uc3ZnCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3Jnci0yNTZ4MjU2
LnBuZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvd3B0LWxvZ28vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93M2MtaW1wb3J0LmxvZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jOTNiNDAzMjRiNWFjYjc1NmNiNjY2MmUzNWNjZWViOWMyOTg1ZWMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvd3B0LWxvZ28vdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0
LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3Zn
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0
LWxvZ28vd3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLW9yYW5nZS1iZy5z
dmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93
cHQtbG9nby93cHQtbG9nby13aGl0ZS5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmti
bHVlLWJnLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmtibHVlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWYz
NzRjMDBjZDEzNThmNDQ2YTQzNjEyMjk0MWEwZDQwYjkwOTM3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxv
Z28vd3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjIgNzYyIj4KKzxyZWN0
IHg9IjAiIHk9IjAiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSI3NjIiIGhlaWdodD0iNzYyIi8+Cis8
cmVjdCB4PSIxODMuOSIgeT0iNTExLjQiIGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIyMDEuNSIgaGVp
Z2h0PSIzOCIvPgorPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTUwNC45LDU0OS40YzM3LjMsMCw2
Ny42LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZj
LTE2LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42CitWMjg3LjRoLTM4djU2LjVoLTUxLjl2LTkyLjZo
MTEyLjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2Mzku
MWM0MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK2MwLTQ2LjUtMzcuOC04NC4zLTg0LjMtODQuM0gz
NjYuNGMtMTAuNSwwLTE5LDguNS0xOSwxOVYzODZsLTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40
LTE2LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQKK2wtNDYuMiw3OS4yVjIxMy40aC0zOHYy
NDIuN2MwLDguNiw1LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUu
Mi0xMTEuOEwzNTAsNDY1LjdjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAu
Miw1LTAuN2M4LjMtMi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEM0MzcuMyw1MTku
MSw0NjcuNiw1NDkuNCw1MDQuOSw1NDkuNHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0
LWxvZ28tZGFya2JsdWUuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkYjA3ZGE3ODk0MzQ5MjlkMmZlZTlhOTljNjcwODhlODExOWNhNGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93
cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS5zdmcKQEAgLTAsMCArMSw4IEBACis8c3ZnIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM5OCAzNDAiPgorPHJl
Y3QgeD0iMCIgeT0iMzAwIiBmaWxsPSIjMDAzQzU2IiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgi
Lz4KKzxwYXRoIGZpbGw9IiMwMDNDNTYiIGQ9Ik0zMjAuOSwzMzhjMzcuMywwLDY3LjYtMzAuMyw2
Ny42LTY3LjZ2LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5
LjYtMTMuMy0yOS42LTI5LjZWNzYKK2gtMzh2NTYuNWgtNTEuOVY0MGgxMTIuNGMyNS41LDAsNDYu
MywyMC44LDQ2LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2OS44LTQy
LjEsNjkuOC04MworQzM5OCwzOS44LDM2MC4yLDIsMzEzLjgsMkgxODIuNGMtMTAuNSwwLTE5LDgu
NS0xOSwxOXYxNTMuNmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRjLTYuNyww
LTEzLDMuNi0xNi40LDkuNAorbC00Ni4yLDc5LjJWMmgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEs
MTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMTY2LDI1NC4zYzMu
NCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05
LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDMjUzLjMsMzA3LjcsMjgzLjYsMzM4LDMyMC45LDMz
OHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1s
b2dvL3dwdC1sb2dvLWxpZ2h0Ymx1ZS1iZy5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY2MTY3MmRmMzNmMjI2
NzRiMjYwZWI5YTYxYTZjOTBhYzc0NmY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dv
LWxpZ2h0Ymx1ZS1iZy5zdmcKQEAgLTAsMCArMSw5IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0iMCIgeT0i
MCIgZmlsbD0iIzc4RDlGNCIgd2lkdGg9Ijc2MiIgaGVpZ2h0PSI3NjIiLz4KKzxyZWN0IHg9IjE4
My45IiB5PSI1MTEuNCIgZmlsbD0iIzAwM0M1NiIgd2lkdGg9IjIwMS41IiBoZWlnaHQ9IjM4Ii8+
Cis8cGF0aCBmaWxsPSIjMDAzQzU2IiBkPSJNNTA0LjksNTQ5LjRjMzcuMywwLDY3LjYtMzAuMyw2
Ny42LTY3LjZ2LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5
LjYtMTMuMy0yOS42LTI5LjYKK1YyODcuNGgtMzh2NTYuNWgtNTEuOXYtOTIuNmgxMTIuNGMyNS41
LDAsNDYuMywyMC44LDQ2LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2
OS44LTQyLjEsNjkuOC04MworYzAtNDYuNS0zNy44LTg0LjMtODQuMy04NC4zSDM2Ni40Yy0xMC41
LDAtMTksOC41LTE5LDE5VjM4NmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRj
LTYuNywwLTEzLDMuNi0xNi40LDkuNAorbC00Ni4yLDc5LjJWMjEzLjRoLTM4djI0Mi43YzAsOC42
LDUuOCwxNi4xLDE0LDE4LjNjOC4zLDIuMiwxNy4xLTEuNCwyMS40LTguOGw2NS4yLTExMS44TDM1
MCw0NjUuN2MzLjQsNS44LDkuNyw5LjQsMTYuNCw5LjQKK2MxLjcsMCwzLjMtMC4yLDUtMC43Yzgu
My0yLjIsMTQtOS44LDE0LTE4LjN2LTc0LjJoNTEuOXY5OS44QzQzNy4zLDUxOS4xLDQ2Ny42LDU0
OS40LDUwNC45LDU0OS40eiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1vcmFu
Z2UtYmcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tb3JhbmdlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGUyYzE1
ZjFiMjIyMDhiZDM0MzBlZDM2NjE0MDMwNDc0ZjM3MWIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28v
d3B0LWxvZ28tb3JhbmdlLWJnLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNzYyIDc2MiI+Cis8cmVjdCB4PSIw
IiB5PSIwIiBmaWxsPSIjRTg2RTQzIiB3aWR0aD0iNzYyIiBoZWlnaHQ9Ijc2MiIvPgorPHJlY3Qg
eD0iMTgzLjkiIHk9IjUxMS40IiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0i
MzgiLz4KKzxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0z
MC4zLDY3LjYtNjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4z
LDAtMjkuNi0xMy4zLTI5LjYtMjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40
YzI1LjUsMCw0Ni4zLDIwLjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAt
Ni45LDY5LjgtNDIuMSw2OS44LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRj
LTEwLjUsMC0xOSw4LjUtMTksMTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40
LTkuNGMtNi43LDAtMTMsMy42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdj
MCw4LjYsNS44LDE2LjEsMTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTEx
LjhMMzUwLDQ2NS43YzMuNCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0w
LjdjOC4zLTIuMiwxNC05LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3
LjYsNTQ5LjQsNTA0LjksNTQ5LjR6Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dv
LXdoaXRlLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLXdoaXRlLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2FiN2I1M2U4
N2Y5NjcwNjUyYTYzMTQwNjhhNmU1ZDg1MGEwZGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0
LWxvZ28td2hpdGUuc3ZnCkBAIC0wLDAgKzEsOCBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzOTggMzQwIj4KKzxyZWN0IHg9IjAiIHk9IjMw
MCIgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjIwMS41IiBoZWlnaHQ9IjM4Ii8+Cis8cGF0aCBmaWxs
PSIjRkZGRkZGIiBkPSJNMzIwLjksMzM4YzM3LjMsMCw2Ny42LTMwLjMsNjcuNi02Ny42di0xOWgt
Mzh2MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2LjMsMC0yOS42LTEzLjMtMjkuNi0y
OS42Vjc2CitoLTM4djU2LjVoLTUxLjlWNDBoMTEyLjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2
LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK0Mz
OTgsMzkuOCwzNjAuMiwyLDMxMy44LDJIMTgyLjRjLTEwLjUsMC0xOSw4LjUtMTksMTl2MTUzLjZs
LTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5
LjQKK2wtNDYuMiw3OS4yVjJoLTM4djI0Mi43YzAsOC42LDUuOCwxNi4xLDE0LDE4LjNjOC4zLDIu
MiwxNy4xLTEuNCwyMS40LTguOGw2NS4yLTExMS44TDE2NiwyNTQuM2MzLjQsNS44LDkuNyw5LjQs
MTYuNCw5LjQKK2MxLjcsMCwzLjMtMC4yLDUtMC43YzguMy0yLjIsMTQtOS44LDE0LTE4LjN2LTc0
LjJoNTEuOXY5OS44QzI1My4zLDMwNy43LDI4My42LDMzOCwzMjAuOSwzMzh6Ii8+Cis8L3N2Zz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNjE3NjU5YjZjOGI3ZDg0MWU1NzQ0NWQxYzJkMDFlNGE5OWJl
MTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3Zn
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy93cHQtcHItYm90LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1i
b3QtbG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NzEyZmEy
M2M5MTk5ZDhiNjdmNjNjN2NhM2M1NTViOTE1ZDJkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtcHItYm90
LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZwpAQCAtMCwwICsxLDUwIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyB3aWR0aD0iMjYwIiBoZWlnaHQ9
IjI2MCIgdmlld0JveD0iMCAwIDEyODAuMDAwMDAwIDEyNzYuMDAwMDAwIgorIHByZXNlcnZlQXNw
ZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgorPCEtLSBmcm9tIGh0dHBzOi8vc3Znc2lsaC5jb20v
aW1hZ2UvMzAzNDY1Lmh0bWwgLCBDQzAgLS0+Cis8bWV0YWRhdGE+CitDcmVhdGVkIGJ5IHBvdHJh
Y2UgMS4xNSwgd3JpdHRlbiBieSBQZXRlciBTZWxpbmdlciAyMDAxLTIwMTcKKzwvbWV0YWRhdGE+
Cis8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMjc2LjAwMDAwMCkgc2NhbGUoMC4x
MDAwMDAsLTAuMTAwMDAwKSIKK2ZpbGw9IiMwMDNDNTYiIHN0cm9rZT0ibm9uZSI+Cis8cGF0aCBk
PSJNNTk3NSAxMjc0OSBjLTg2IC02IC0xNDQgLTE0IC0xNTEgLTIyIC02IC02IC00MSAtMTExIC03
NyAtMjMyIC0zNworLTEyMSAtMTA3IC0zNTUgLTE1NyAtNTIwIC01MCAtMTY1IC0xMjMgLTQwNiAt
MTYyIC01MzYgbC03MSAtMjM3IC0xODggLTQ2CitjLTIxMyAtNTIgLTQ3NSAtMTM1IC02NTggLTIw
OCAtNjggLTI3IC0xMzAgLTQ3IC0xMzcgLTQ0IC03IDMgLTMwMSAyMjEgLTY1MworNDg1IC0zNTMg
MjY1IC02NDUgNDgxIC02NDkgNDgxIC0xMyAwIC0yNTcgLTE0OSAtMzkyIC0yNDAgLTE5OCAtMTMy
IC0zNTkKKy0yNTQgLTU3OCAtNDM2IGwtMjUgLTIxIDI3MSAtNzQ2IGMxNTAgLTQxMSAyNzIgLTc1
MiAyNzIgLTc1OCAwIC02IC00MCAtNTYKKy04OCAtMTEyIC0xNzUgLTIwMiAtMzM3IC00MjAgLTQ1
NyAtNjE1IC0zMiAtNTIgLTY0IC05NiAtNzIgLTk5IC04IC0zIC0zNjYgNAorLTc5NiAxNiAtNDMw
IDEyIC03OTQgMjEgLTgwOCAyMSAtMjMgMCAtMzAgLTkgLTU2IC02NyAtNjEgLTEzNyAtMTQyIC0z
NTMKKy0yMDIgLTUzOCAtNjEgLTE4NiAtMTQ1IC00OTQgLTEzOCAtNTAyIDIgLTIgMzAzIC0yMDQg
NjY4IC00NDggNTYyIC0zNzcgNjY1CistNDUwIDY3MCAtNDczIDMgLTE1IDEgLTcyIC00IC0xMjcg
LTggLTk5IC0yIC01MjUgMTEgLTcwMiBsNyAtOTIgLTY2OSAtNDQ4CitjLTM2NyAtMjQ2IC02NzIg
LTQ1MCAtNjc3IC00NTMgLTkgLTYgMjMgLTE0NyA3MiAtMzIwIDcxIC0yNDkgMTgwIC01NTQgMjg0
CistNzk0IGwxNiAtMzkgMTM3IDYgYzc1IDQgNDQwIDE0IDgxMCAyNCBsNjczIDE3IDI1IC0yOSBj
MTMgLTE3IDY4IC05NSAxMjAKKy0xNzQgMTEzIC0xNjkgMjIyIC0zMTQgMzUwIC00NjcgbDkzIC0x
MTEgLTI3NSAtNzUyIGMtMTUxIC00MTQgLTI3NCAtNzU3CistMjcyIC03NjEgNSAtMTQgMjEzIC0x
ODUgMzYxIC0yOTYgMjI1IC0xNzAgNjA2IC00MTggNjMxIC00MTIgNyAyIDI5OSAyMTkKKzY0OSA0
ODIgbDYzNyA0NzkgNDcgLTE1IGMyNyAtOSA4NCAtMzAgMTI4IC00OCAxODMgLTc0IDM5MiAtMTQx
IDYxOSAtMjAwIDgxCistMjEgMTQ5IC00MCAxNTEgLTQyIDMgLTMgMjIyIC03MjQgMzg2IC0xMjcz
IDM4IC0xMjYgNzMgLTIzOSA3OCAtMjUxIDggLTE4CisyNCAtMjIgMTM3IC0zMyAzMTQgLTMwIDEw
NzggLTIyIDExMTAgMTIgNiA3IDQxIDExMSA3NyAyMzIgMzcgMTIxIDEwNyAzNTUKKzE1NyA1MjAg
NTAgMTY1IDEyMyA0MDYgMTYyIDUzNiBsNzEgMjM3IDE4OCA0NiBjMjEzIDUyIDQ3NSAxMzUgNjU4
IDIwOCA2OCAyNworMTMwIDQ3IDEzNyA0NCA3IC0zIDMwMSAtMjIxIDY1MyAtNDg1IDM1MyAtMjY1
IDY0NCAtNDgxIDY0OSAtNDgxIDExIDAgMjUwCisxNDUgMzYyIDIyMCAyMDYgMTM3IDQyMiAyOTkg
NjA4IDQ1NiBsMjUgMjEgLTI3MSA3NDYgYy0xNTAgNDExIC0yNzIgNzUyIC0yNzIKKzc1OCAwIDYg
NDAgNTYgODggMTEyIDE3NSAyMDIgMzM3IDQyMCA0NTcgNjE1IDMyIDUyIDY0IDk2IDcyIDk5IDgg
MyAzNjYgLTQKKzc5NiAtMTYgNDMwIC0xMiA3OTQgLTIxIDgwOCAtMjEgMjMgMCAzMCA5IDU2IDY4
IDYxIDEzNiAxNDIgMzUyIDIwMiA1MzcgNjEKKzE4NiAxNDUgNDk0IDEzOCA1MDIgLTIgMiAtMzAz
IDIwNCAtNjY4IDQ0OCAtNTYyIDM3NyAtNjY1IDQ1MCAtNjcwIDQ3MyAtMyAxNQorLTEgNzIgNCAx
MjcgOCA5OSAyIDUyNyAtMTEgNzAyIGwtNyA5MiA2NjggNDQ4IGMzNjggMjQ2IDY3MyA0NTAgNjc4
IDQ1MyA5IDYKKy0yMiAxNDYgLTcyIDMyMCAtNzEgMjQ5IC0xODAgNTU0IC0yODQgNzk0IGwtMTcg
MzkgLTE0MSAtNiBjLTc4IC00IC00NDMgLTE0CistODEwIC0yNCBsLTY2OCAtMTcgLTI1IDI5IGMt
MTMgMTcgLTY4IDk1IC0xMjAgMTc0IC0xMTMgMTY5IC0yMjIgMzE0IC0zNTAKKzQ2NyBsLTkzIDEx
MSAyNzUgNzUyIGMxNTEgNDE0IDI3NCA3NTcgMjcyIDc2MSAtNSAxNCAtMjEzIDE4NSAtMzYxIDI5
NiAtMjI1CisxNzAgLTYwNiA0MTggLTYzMSA0MTIgLTcgLTIgLTI5OSAtMjE5IC02NDkgLTQ4MiBs
LTYzNyAtNDc5IC00NyAxNSBjLTI3IDkKKy04NCAzMCAtMTI4IDQ4IC0xODMgNzQgLTM5MiAxNDEg
LTYxOSAyMDAgLTgxIDIxIC0xNDkgNDAgLTE1MSA0MiAtMyAzIC0yMjIKKzcyNCAtMzg2IDEyNzMg
LTM4IDEyNyAtNzMgMjM5IC03OCAyNTEgLTggMTggLTI0IDIyIC0xMzcgMzMgLTE2NCAxNiAtNzc1
IDIyCistOTU5IDEweiIvPgorPC9nPgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0iMTgzLjkiIHk9IjUxMS40
IiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxwYXRoIGZpbGw9
IiNGRkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0zMC4zLDY3LjYtNjcuNnYtMTlo
LTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAtMjkuNi0xMy4zLTI5LjYt
MjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40YzI1LjUsMCw0Ni4zLDIwLjgs
NDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45LDY5LjgtNDIuMSw2OS44
LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRjLTEwLjUsMC0xOSw4LjUtMTks
MTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTkuNGMtNi43LDAtMTMsMy42
LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQs
MTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMzUwLDQ2NS43YzMuNCw1
LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05Ljgs
MTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3LjYsNTQ5LjQsNTA0LjksNTQ5
LjR6Ii8+Cis8L3N2Zz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01FVEEueW1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01F
VEEueW1sCmluZGV4IGJjYjMwZWQyNzY2NDJmYmJlMmQwNTVjNmExZDEzMWUwOTdkYWFjNjkuLmQz
ZTRjMzg3ZThiNWI5ZDI3ZWEzZGVhNmZlYmRjMWQ5YTY2MmU0ZjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9N
RVRBLnltbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvTUVUQS55bWwKQEAgLTMsNSArMyw0IEBAIHN1Z2dlc3RlZF9yZXZp
ZXdlcnM6CiAgIC0gQW1lbGlhQlIKICAgLSBhbm5ldmsKICAgLSBrZW5ydXNzZWxsCi0gIC0gamRh
c2hnCiAgIC0gZnNlcmIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNv
cHkuaHRtbAppbmRleCBiYzJlZDljZWU1ZWZlNWRjYjllNTA3OTkwMWVjMzg1MWEyN2RiNjEwLi44
MjRlMWVjYWVhYWU2NzVmODdkNTYzMmQ4NTNiZTJiNmM5ZjAzNjkyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmNvcHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKLSAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAs
MTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5jb3B5Lndvcmtlci5qcwppbmRleCAzNWRkM2Q5ZmFjZjlkMDc4OGY5YWQ0NWVlMmQzYTVjNDYw
ZmI2NmI4Li4xM2Y4NWJjNWY3OTA3YmJmYzg2YmRlYjg5YTNkNTExM2M3YjY0Yjg2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnY29weSc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAy
NTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9w
Lmh0bWwKaW5kZXggYzM2YjIzMmI2ZGQwMDkwYTIxMjMxZGQ4MmU1MmJjMTRjMjdiNTNmOC4uNDlk
YzY0M2YwODJlYzMyNThhODU3ODJjODlhYmY1NTM1NTFkODYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVz
dGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMz
LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwot
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7Ci0g
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAsMjUi
LCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwg
MjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOworICAg
ICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAi
NTAsMjUiLCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcwppbmRleCAxNzE4MWNiNDIyNDcwNGYxNmY4ZjI2M2RlNzEzZjZmZGU3OTZjNDgwLi43Y2Rh
Yzg3NTNkZDAyM2U3ZTk5YjI4ZTAwMDliODg5ODE1OWRkYzk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9w
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5
LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwot
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7Ci0g
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAsMjUi
LCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwg
MjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOworICAg
ICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAi
NTAsMjUiLCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGY3MjQ5
ZTQwNDIwMThlMjJjODg3NmNlMTliZmYxYTM0NWJlNzBkMjAuLjY0N2U0ODY2ZjYwNzUzY2I1NWIx
MzQwMmM2OWU5ZmUwNDdkMGRlMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2Rlc3RpbmF0aW9uLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDI1NSw5NiwgIjUwLDI1IiwgIjAsMjU1LDI1NSw5NiIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWlu
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0
aW9uLWluLndvcmtlci5qcwppbmRleCAxMjUwNGY5NTBhNzUwNDIxOTJhOTYwMjI2Y2VlNTE2Yzhj
MGE2YzI5Li4wZmJmYzc2MWM1YjMwZmZkYTQ0OWM4ZWM4ZjA1ZThlNGQ0YjU5MjE3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1p
bic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAs
MjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwg
MjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSw5NiwgIjUwLDI1
IiwgIjAsMjU1LDI1NSw5NiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCmluZGV4IDQ1NGNmNzU0NGFj
OTNjYjhhYWJkOWI4MTUyMDYzZTkwNDgxOGY1OGIuLjQ2MTE0YzY1NTY1NTdjOWYzZjgxYmYwOWUx
NzU4YWMzYTdhMzIwNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
ZGVzdGluYXRpb24tb3V0JzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDI1NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5h
dGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGVkODgzNWJmNmUzYjI2MmJiN2UzMmU2N2NlZjhjNTUz
MzhhNjNhZDcuLjY1OWQwZWZlZTQ2MzYxODUxYTY3ZmZiNDY2ZjU3YTYxYzQxYTJiNDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVz
dGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRp
b24tb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIs
ICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRy
YXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwg
MjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwzMiwg
IjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggODcy
YmZlMDhjOGNlMjljYWE4OGQ0M2FiMzU2YjgxNWNkMzI4NDI3OS4uYTdjZmMzMDZjNTFlYTdiNzNi
NDczODVmMWIzY2FiNWEzMDc2ZDRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0
aW5hdGlvbi1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwxNDYs
MjIzIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
KTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOworICAgICAgICBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1
NSwxNDYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA4ZDM1
MGM1ZGU5MDBlMDQzN2JkODAyODhhYWM0NDRkZTRjMjVkMzc4Li42NDhkYTc4Y2U5YmY2MmE2ZTg5
NmM1YWIyNzUzNDM0OTc5MjNkZTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwxNDYs
MjIzIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
KTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOworICAgICAgICBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1
NSwxNDYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLmxpZ2h0ZXIuaHRtbAppbmRleCA3ODFiNmMxZGVlZmNiNGEyMjUyZWVlMTQ5OTMzMzNmZWQ3
MmFkMGNiLi4xNTAxMmYyMjMyYmIxNWIzOWEzMTA4MzgyNzc4MTk1YzEyMzE3MTczIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2Fu
dmFzLmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdsaWdodGVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
bGlnaHRlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEs
MjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpz
CmluZGV4IDA2MGM2YTNmZmEzMzliOTVjNTg0ZjkyZjRlNGQ0OTBkZjQ1MDRkOGUuLjU0NTBmYzMx
Y2EyZGU0MTFhZjIwN2Q0ZGY4YTRkMmM1NDU4MzI2YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsK
LSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdsaWdodGVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnbGlnaHRlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLmh0bWwK
aW5kZXggMjJlZWRjMDgxMjAzM2ExZmZlZjFmZmVhM2Q3YjJmZTUzNjU2NWIxNC4uMzBhZmI0OTQ3
NjI5NmZmMjc3MGM3OGNhZDMyZDYyYjhmMjI4NTAyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnNvdXJj
ZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3A8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1hdG9wJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRv
cC53b3JrZXIuanMKaW5kZXggMDAwNWJjYTRjMzc2YWQzNDMzM2ZjZTBlMTkxYmZiZGI0MjgzYjJm
NC4uOGI4ZDE4MzIxM2NiNmJlMTliZDI3NmNjNmI1ZDU3MTIxOTRlZDhjNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwotICAgIGN0eC5k
cmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1
NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAs
IDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSkn
OworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOworICAgICAgICBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1
LDY0LDEyOCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNhbnZhcy5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLnNvdXJjZS1pbi5odG1sCmluZGV4IDU2NGI4NjQ0NTdiMTIzNjE0ZmQwN2U4M2IwYWRiN2Fm
ZDY4OTgyZWEuLjczYWU3YjcxMGUxMDFjZGFlNTdhZmJjNThkM2RlNzNmMGI5ODQxOGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUuY2FudmFzLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnc291cmNlLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4ud29y
a2VyLmpzCmluZGV4IDgyYTUwOGU3NTI1ZmIzMDIzYTAxYTY3OTczOGUxNmM4YzVkODg2MDEuLmE0
YjlhNWI5OGFlYzU1NGI2OWY2MjYwZGU4OGExNTZkZTIwMjFiMWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKLSAgICBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAg
ICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnc291cmNlLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lmh0bWwK
aW5kZXggNDMxZDZiY2YxOGUyOGY4NDE5ZWQyNjMyMmQ4NGI2NDYwYmM3NDVlNi4uNWY5ZjNmYTIy
OGI3YjIzNDY2ZmFlNWU4ZmIzNzA4YzhjN2QyN2QxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Ut
b3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnc291cmNlLW91dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1
LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1v
dXQnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSww
LDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRl
eCBjZTE2ZDNiYzZhNjJlMDk1ZTBhNTM4ZGRjYmZmZjlmMTk1MjUyNWVjLi4wZmZmMDMzYjA5YWZm
MGFjZjM4YzIzMzFiMzdjYjlmZThiNDlkZjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7
Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdXQnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1sCmluZGV4
IDEyM2FhNWU2NGQ2ZGNjMDAwNmRlNWQ0NjViYTVjOTMzNDRkMjNmYjAuLmVkNDI4NDY2Y2ZjZTYy
NTNjZTY0NDBlMWQ5ZTkyYWU1MmVlMmRhZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zl
cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdzb3VyY2Utb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5
LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3Vy
Y2Utb3Zlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyMTks
MjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29y
a2VyLmpzCmluZGV4IGI1ZGNmZmYzY2Q1NTg5YWE1MjYzZjY1NWNlNmYzODBjNTA5NDMxOGYuLmIw
YmM1YzUxMzQ1NGY1NjNhNDdiNmZiZGVhYzYyNTE1YWMzMTIxZTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1
LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKLSAgICBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYs
MjIzIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
KTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwy
MjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMueG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRt
bAppbmRleCA0OWFlNmMwOGM2OGVjYzE2NThhMDU4NDFhYzMxMDJmZDQxNWQxY2QxLi4yZGY1MTMy
MzMyOGMxODFkNTUxNjA3OWMzMjNhMjBhOTAzYjY2N2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy54b3I8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLmNhbnZhcy54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICsz
MywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
LSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7Ci0gICAgY3R4LmRyYXdJ
bWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0
LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhv
ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3Iud29y
a2VyLmpzCmluZGV4IGYzZDUwMjU1YWM1OTRmMTFhNmQ1MWFlYzllNjk5YjlmZmZjMTVhMmYuLjlm
YTU1MDU3NWMxM2YxMmRhY2NjMWI0OWQzZjhiMTRjMDg2MWQ4NjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAneG9yJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEs
MjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEy
OCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuY29weS5odG1sCmluZGV4IDQ3NjFiMDQ3YTY4YmQ1NTM0YTAxYzNlZGY2
YTNlM2Y4Mjc1OTllODUuLjhmMGNhYTQ0ZWFkODYyYzFiY2VlZWMyOTQ3ZWJiNmUwYzVmZWYxZGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAu
Y29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5m
aWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAu
Y29weS53b3JrZXIuanMKaW5kZXggZmM0YTRjYjU4ZDExMTg4MGQzY2QyMjA5NjZkMDY3NDI1ZjY0
ZDk0OS4uMjU2OTY0YTBhNjQ0MGVkZmVjNzNkOTg0ZjVmYTdjMWI3MTUzZDhkMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0
aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXgg
YWE4NjNkMTVjNzYxNzFlM2IwZTE2NWQwM2Q1NDM3YWZjZDIwN2NhNS4uN2IyODQyZDIxZWM5Nzk0
MDgzZDIzNjU3NzIyM2JiMGI3NDYzZWI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5h
dGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpp
bmRleCA2YzU4MDc4ODllZDVjOGRhMDAyZWI1MWEyNzRmNGUyMTZhMTE4M2UyLi5iNDBiOGYxNWFj
ZDlmYTkzZDA5OGJkODc4ZGM3ZjI5ODFlNjJjMTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBv
dXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCmlu
ZGV4IDNiZGUzZmY3YzVmZDc1MThmZWNhZmZhMTEwNzYwMDdiZjgzZjY5ZjkuLjZhZDRiYzRiNTNm
ZThjNWMzYjg0ZDFjM2VmMzU4NmFlMzgyM2QxNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5h
dGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xp
cCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCBy
ZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggYmNj
ZjNhODg2OWFlMGQ1MDUwMTk5ZTUxZDRkNjdkNTdiM2M2ZTU2Ni4uZWRjMGU5ODdhNTUxOGVkYzg4
MDU3OTAyYWYwNjMzMWVjNTVkOTQ4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBj
bGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNWRlZDBi
MzYxNTQyZTE1MTRjN2ZjZDc2YTk3NzY2ZWYzM2IyNzZlNi4uM2QzZTY2YmE2NjVhNjIwNGQ4MjI5
YjhiNjc5NmYzMWI5YTA0MWFkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdp
b24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24u
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwppbmRleCBmZWUxMTNh
MWM2MTBhMjkxMDBlYjVmYWFhOGJmYzRiOWNmMTA4NjFjLi41YzZhMzdhNDI0MWU3NzM1NjU0MTE3
NmZiOWI5ZWZjMmEwYWI4NTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xp
cCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggNDc3NmUw
ZTIxNjBmNDIwY2Y1YjEzYmJjMGY3NzYyOGIzZWJhZmM3Mi4uZjgxN2IzODgwNGNiYzFlYmI5MDE4
MjdjNjY4NzNlZjM0MmU1MjdlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1v
dmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA1
MTE2ODQ0MTEzZDNiNjcxOWM5N2IyZWM3MDRlYjNhYjY1M2Q4NmMwLi5jYjEzYjNkNWUyNGJlYTc4
NWMzNGQ2MWQ0ZDcyNTU1ZDEyMTcxZTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIuaHRtbAppbmRleCBiZjFjZDhiYjFiNDJmNTNi
M2U4YzBiYTA0MDQ5YzIwYzdmOTNjZDFhLi4wMDc5NjZlMGMxN2FhOThkMjMwMWUyYjViNjE2YTU2
NmZlYjIwOTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAu
bGlnaHRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdo
dGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAubGlnaHRlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lk
ZSB0aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0
aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIud29ya2VyLmpzCmluZGV4IGU5ZTlmYzlj
ZDYzOGNkZTllN2U4Yjk2OTBjNDg1NDg3NTY1Y2I2NGUuLjg0MGQxMGY5MTM1OWI4YzEyZWY3ZWQz
ZWU1ZTZkODZlMTFlY2M2N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2xpcC5saWdodGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNsaXAubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwo
KSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LnNvdXJjZS1hdG9wLmh0bWwKaW5kZXggM2EwZjBkZjVkZTZjNmFkOTU0MGMyMDM4OTEyODZjNzcw
Njg3NzY1Ni4uMmIwMDAwMWU2OWQzMDJhNzU5OGE5MzA1MjBhMDMwZWU0YWM4NjI2MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS5jbGlwLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLndvcmtlci5qcwppbmRleCBh
NmUwZmRjZjgyODRiM2UzNmVlMjYwZTljOTk0ZWZjODZlNTg1ZWNiLi5kYWY1ZTk2MGIyZDBjNjJh
Y2QwNGExMWFhMGJkZGFmNDY5ZWQxNmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW4uaHRtbAppbmRleCAxNWUwYWVlNTUzMjc3ZmVlODk4MGM2
OGJiNjIwOGRlNzRiNjRiMTFjLi42ODA5YzgwOWY1NzI1Njk4ZDM3NWQzODIxYzVmMDk5MDA2MzNk
YWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1p
bi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWlu
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRz
aWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDZi
NTIwYzFiMzkyNzc2MzhmZmQ4ZGQwODE2YTQ4MzczYmQ0ODQ5MmIuLjgxZThlYzE5ZWRhMDVhMTA4
YjUyY2Y1NGY0ZWE0ZWZmZWZhNDcwZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lv
bi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbAppbmRleCA5N2RlNDJkOWJhMzMyMjI3ZjE0YTk0YzZh
MGEzMjQ4YmZkZjQ2N2VmLi5hMWM5YzNjNmIxYjUxNDliMzE4NzhmMDQ1YTU0NDg2Yjc3N2E2ODZm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0
c2lkZSB0aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lk
ZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4
IDcyYThmMjkxMWJiN2RkYzZiZTllNzU1MDVmMzk1NmQ2NzhhYzNiNDguLjRmYmVhNWMyYmUyZjlm
MWQzMzA0MWQ0MDJjYzZkMTRiYjA3NTMzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggOWFjMjMxZDZhNDU4YzkyNTdm
MmM3MGFhNjM3OGZiNTI1ZjFkZjZkMS4uODM2ODA2ZjI5YTg3YzM0ODM3Njk1ZGNiN2Q4M2M5ZmIy
ODk3YzI4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlw
LnNvdXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0
IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBp
eGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLndv
cmtlci5qcwppbmRleCBhNTk0NjI2NjUxNDY5YTE4ZTY4YzA5MzczNmIwZGFiMzI3NTk5ZmJhLi5j
ZjA0YjFlMzhhYTUwNzg2ZGQ0ZjAzNmFkZGYwYjhmZDQ0ZmU0YTcxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91
dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3IuaHRtbAppbmRleCBmYjk5NTg0ODg4YzEzN2RlZmNh
OWFlODBkNDQ2NmE4MjZhMDM0MjNlLi5jYTM0Y2NlOWMwNDQzNmE3NTQwM2Y0ZjM1ODM0Yzc5NDY0
ZWJiNGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
Y2xpcC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAueG9yPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJm
aWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNsaXAueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xp
cC54b3Iud29ya2VyLmpzCmluZGV4IDYyOTk2ODAyOWEwM2U2YTg0YzY1ZTQ5NWMyMDhkY2YxYzA1
ODlhYmIuLjNiZjkyZDZlMTNlY2I1MTdjMjAyOTg3ODM1NWYxZjQwZjRlNTA2ZDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRtbAppbmRleCAwY2NmZWE5
YTZlZDVkZTI4ZTY5MGE2Y2ZjODU1OWFmOTJmZjBjMWY5Li5mZTk4MmFjM2U5NTkzOGEzMzQ4Yjli
ODhlMjkxNzRjODA3ZGJmMzNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmNhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgu
Z2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1p
c2F0aW9ucwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1Iiwg
IjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndvcmtlci5qcwpp
bmRleCBhYjhhNjQyNGFjZGU2OWFmMzliNTMyMTg4ZjYxYzkzYWVmYjQyOWQ1Li5kMDNhNDU5Yjg0
Mzc4MTAyYjczMjFkYzgwYzg4YjA3ZTg5ZWZhMjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBw
b3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5jYW52YXNjb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmNhbnZhc2NvcHkuaHRtbAppbmRleCBmNzk3YzYzNzY0OTg4MjAyODllMjNmZmVmZmMwMjgw
ZTc3ZDFkMmNkLi5lYTBiMWQ5YmJiNGJjNWRlYTY5Yjk3MTk2MTg0NTBhN2E1Njk5M2JiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2Nv
cHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNh
bnZhc2NvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHk8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmNhbnZhc2NvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDcgKzMwLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JwogY3R4
Lmdsb2JhbEFscGhhID0gMC41MTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwx
MzAsICI1MCwyNSIsICIwLDI1NSwwLDEzMCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2Nv
cHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5j
YW52YXNjb3B5Lndvcmtlci5qcwppbmRleCBiYzhkYWFmOTFhZGNlOWU5NDg4YjBjOTVhYzY2ZWQx
MDMyNDRiN2Y0Li4wNWM0NGM3MDg0YjkyZWU5Njk3OTBiMWNiM2U2YWRiNDgwMDU1YzhkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2Nv
cHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuY2FudmFzY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5Jwog
Y3R4Lmdsb2JhbEFscGhhID0gMC41MTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwg
MCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwxMzAsICI1MCwyNSIsICIwLDI1NSwwLDEzMCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZh
c3BhdHRlcm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
Y2FudmFzcGF0dGVybi5odG1sCmluZGV4IGVhNmM1YWMyZDY4NmIwNTM5YjIyY2MwNTRmNGNiMzNk
ZGZkOWIyY2QuLjExYjI3MGY0MTI0OTVlZGRlZWU1YzIzNWE2ZDZlOWYyYjM1MDY1ZDggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0
dGVybi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
Y2FudmFzcGF0dGVybi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRl
cm4ob2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJlcGVhdCcpOwogY3R4Lmdsb2JhbEFscGhhID0gMC4w
MTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm4ud29ya2VyLmpzCmluZGV4IDA4YjVkNmFk
OWRiZGNiNDU2MmVlZjdjNTNiMmY3NmIxZGI0NmY1NWQuLjk2YjAwOTI0OTgzY2MyYjdiMDZmNmRm
ZDEzNDEyMmE4YTI0ZTJkZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0
eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJlcGVhdCcpOwog
Y3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9w
dGltaXNhdGlvbnMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUz
LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKaW5kZXggNmExNWMwYzg5
Nzg4MDliZWExMGFiNzdiN2E2NDllOTQyNjBhMTQxOC4uMTk3MzliODc4M2YxZDViNDg4ZDJlZWU3
OGMzZjBhZTMwZjBhMDc0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBf
YXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEuMCwgImN0eC5nbG9iYWxBbHBoYSIsICIxLjAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC53b3JrZXIuanMKaW5kZXggYzk2MTkyODI4
NGU1ZjQxZDZjODA4M2NlN2M5ZjZkMmRlM2RlZmMyNS4uYjEyMjZiOGEyZmUyZTAwN2RhMmYyNjAy
ZWJkZTQ5MjU0N2VkY2IxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEuMCwgImN0eC5nbG9iYWxBbHBo
YSIsICIxLjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwuaHRtbAppbmRleCAxM2FjZGFmZmZmNWUzZjM4
ODdjZGQ0NzllNTcxYTc5Mjg5NTVhZjNjLi4xYjc2MTViZWYxNDZkNzJkYmNhNDVkMmRiOWY3NTIz
MTExMWJkZmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmZpbGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmZpbGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBo
YT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxB
bHBoYS5maWxsLndvcmtlci5qcwppbmRleCBkMmZiZjA4MjdiNGIwOGEzMWQwYjgzYzI3MGNlNmE4
Y2IyNTk2ZWMxLi5hYWNjNDNjNDQ1OTlhNDliZDFkZWJmMDFmMTA1MTU2OGE3YzZlMjdlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmls
bC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBo
YT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmltYWdlLmh0bWwKaW5kZXggZjI0ZTA2YTA4ZTRhNDEzYzdiYTY4NTUxZGQ5MDY5OTAxNzE4OGY1
OC4uNWQ1ODZhMTkxZWVmOWJjZDZkNWY3ODgwMjIyYmI2MTRhZjk1ZDdmMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTEgKzMzLDExIEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIs
MjUzLDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmltYWdlLndvcmtlci5qcwppbmRleCA0OTc0Njg3ZThkMmJiNjc4
MGEyNjhkYTc2YWY1OGFkZTNlZjQ3OTM2Li5mNjQ1YThlNTU2NDBjYzhmZTUwMWIwYTgxOWU2MGU5
OWQyNzJhMTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmltYWdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAs
MjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Vw
YXR0ZXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlt
YWdlcGF0dGVybi5odG1sCmluZGV4IDMzZmEyM2E4Zjk3YmNhNzA3YjdhNDUwNTIwOTAxNzViODhi
NmQzNjYuLjBjNzc5NjVmN2E4YjUwZGE1YTYyZWE5MTZiMWVkMzQxMmNmOWI1YTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJu
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFn
ZXBhdHRlcm4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCwxMyArMzIsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2Us
ICduby1yZXBlYXQnKTsKLSAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkg
cG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQn
KTsKKyAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlh
bCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Vw
YXR0ZXJuLndvcmtlci5qcwppbmRleCBkODA1ZjY5ZjQ3Y2Y2NDZjYWFiZTQ0ZmE5MjE5MDc4Njlj
Yjk0Njc0Li44NDQxZGMyNzVkNWExNWVlZmRjNDUzMTIwODQyNTUyZjkzNWZjOWM1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVy
bi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5pbWFnZXBhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCwxMyArMjgsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2Us
ICduby1yZXBlYXQnKTsKLSAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkg
cG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQn
KTsKKyAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlh
bCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCmluZGV4
IGY0MjJjZmVhMjMzYmY2YzI3YTc3MjE0YTI2Y2U4OTcxYjgyZGU5MWYuLjAyMjk3NzU4Yzc1YTI2
MGQwZDZiMTAzZmM5YmQ5N2ExMDc5ODA2MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52
YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAtSW5m
aW5pdHk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEi
LCAiYSIpOwogY3R4Lmdsb2JhbEFscGhhID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFs
cGhhLCBhLCAiY3R4Lmdsb2JhbEFscGhhIiwgImEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlk
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52
YWxpZC53b3JrZXIuanMKaW5kZXggMDk1Yjk0NDZiN2Y1YTE3ZDY3ZTlkY2MwYTk0ZmExNjM2NGI2
NDM3Yi4uMWFiMzNlOWM1YmM4ZmQxMzc2ZTgzN2U5NjA3MDQyNWEwNDFhYzM0NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFs
aWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IC1JbmZpbml0eTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9i
YWxBbHBoYSwgYSwgImN0eC5nbG9iYWxBbHBoYSIsICJhIik7CiBjdHguZ2xvYmFsQWxwaGEgPSBO
YU47CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEiLCAi
YSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlLmh0bWwKaW5kZXggYmRlMTVlMmQ4Yzc2OGM3NmIzMjdh
MWVlODkwMTZmYTQ0MGQ2NTZmYy4uOGJjNDQwZDcwMzY2ZmZiZDYzZmI2OWYwOGExMDg2ODkwYjc2
ZWI0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5yYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEucmFuZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9i
YWxBbHBoYS5yYW5nZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAs
NiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAwOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAw
LCAiY3R4Lmdsb2JhbEFscGhhIiwgIjAiKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDE7CiBfYXNzZXJ0
U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEsICJjdHguZ2xvYmFsQWxwaGEiLCAiMSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLnJhbmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEucmFuZ2Uud29ya2VyLmpzCmluZGV4IGYzOGVlNTZmOWE3ZTlkYjY5YTk1Yjk3
OTdlYjcyYzJlYzgxOGMyZTguLjUwMzhkNjNkYTBjYWVjZDFlMmJjNGU5ZjY1NjgwMGFiMzViMmQ4
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
cmFuZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEucmFuZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiw3ICsyNiw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xv
YmFsQWxwaGEsIDAsICJjdHguZ2xvYmFsQWxwaGEiLCAiMCIpOwogY3R4Lmdsb2JhbEFscGhhID0g
MTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMSwgImN0eC5nbG9iYWxBbHBoYSIsICIx
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2UuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5jb3B5Lmh0bWwKaW5kZXggMzAwMWFhMWM0OTFiNjk3NmYwYTUyMmExZGNiNTkzOWI3ZGY5
NjlhZS4uYjQ5NDRhNzZjMTA1OWNhZWFiZjdhYjQyYjFhNTkyYjAzZjM4Y2VkZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1
IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkud29ya2Vy
LmpzCmluZGV4IDA0NzZlM2ExMTQ5YzgwNjg3OTkwZWZiNGQwM2RjYTkwYmVlOTIwN2QuLjQ5M2Vl
MGI0MDE1YWE1Yjc3ZGUyZDdlZDU1OWY1NzI3MDkzMTQ1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwy
NTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwy
NTUsMCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCAyYjE4YzM2YzcxMGNhMzdlZmE0
MzM3MDJhODg4MTE0YjQ1MmNkOTYzLi43OWVjZmNkZjk1ZjMxZjM2ODRlN2ZjZDE4ZDM5MzM2ZDU5
NWZlYTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwx
OTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1
LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCBiNTg3MDA0
N2EyYjI1ZGZhYWEyMTQzZGQ5NTkxNzU5ZjZiOGY3NmZmLi5kMzZlZDUwYTAzNDlkNTg2NGI2YTQy
M2QxMzg5YzY3MWFjYzQwM2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1
MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGNmZGU4MDE0
OTZmNGYzNzcwZjM5ZmRhNWEzOTdmYWYzZjk3YmQ1YWEuLmVmMjA1ZjFiOTU1YWIxNzc5Y2Y1YTc0
NDhhMmE0ZjVmMTYwZTI0YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUs
OTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYi
LCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGVmZjY0NzVhNWRhYjllNDFmZDYw
NTFkMTgzYjI2MDIzNmQzZjc4ZjkuLjYwZWI2MTk1MWNiYzk3OGIwYTg1MDBhODU0NzM4Y2JmMmEw
NTJlODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAi
NTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3Rp
bmF0aW9uLW91dC5odG1sCmluZGV4IDFmNzA1MTE5YWRiNDdkYWQyZjI5ODI3NzI3YTQ3MTMxMzA1
OGNiNWMuLmVjZmVlZWQ2YmZkYWUyOTU0YzcyNjI0YjdjMTdhMzM3OTY4NjQ3MzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1v
dXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2Uu
ZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSAr
MzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1
LDMyIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQu
d29ya2VyLmpzCmluZGV4IGZkYTczZDkyZmMyZTg1MDhiYTY4M2NhODA1YmVhY2Q3ZmU4NjJiYzMu
LmVlOTdkY2NmN2JkMzA2ZDFlZTA2ZWNjNmQ3MDY4ZDlhNTVkMjdiOWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICsz
MCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUs
MzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApp
bmRleCAxYjIxZDJkOWY1M2U4MmNjOTM3YjkxMGRlOWYxZDEzNjBmMTQ2OTM3Li5lYjU4YjMxNTk2
NTllNDJhY2FlNzFmZWI4NTlhM2NlYjJiYjlkOTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdl
LmRlc3RpbmF0aW9uLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92
ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0
NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVy
Lndvcmtlci5qcwppbmRleCA2MjA5MTFkZDRmMDUyNWVhNzFhYWU4NDc0NTNhYTFiZDhkOGY2ZDlj
Li4yNzRjMzJjODkwNmFjMWVjNzQ1NjhiZGY2NTQyOGVkOWNmZGU5YmRhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24t
b3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEx
ICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDks
MjU1LDE0NiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbAppbmRl
eCBmODk4ZTQ0NzYyNGE4OTQzNGM2MzE2N2M1NmIyYWY3NDJhMjIyZjdkLi40OTM1Y2EzYzQxMTQz
NzgxMTNjMGU1ZDg1ZWZkN2ZkYjE5ZTQyNDRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLmltYWdlLmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIx
OTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0
ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVy
Lndvcmtlci5qcwppbmRleCA1NzRkZTVjMzQwODVmODQyYjhjZWVjODc3YjFkNGU5MzI1ZTQ1Y2Uz
Li4wNWUzOWY5NTY0OTg3MzY4Nzg4MzQ4M2NjYTMzZmI5Yjk2MmNlNDgxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwy
NTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sCmluZGV4IDAxMmQ4OTIw
MTU5NTYwZTEwYTgxMTRiN2MzMjk5YTgwMDI4ZjZhYTcuLjkzYTUyN2RlMjRkOTg0ZGU2NzYxNDA0
YTc5YTA5MWQ5NGU2ZjU2MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2Uuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLnNvdXJjZS1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1
IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291
cmNlLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2UtYXRvcC53b3JrZXIuanMKaW5kZXggYjE1OWE3ZDBhNWMwZDQwYzUzNDkzZmIzNzg0OGFj
ZWQ0NjdjNTZhMS4uNWZkZGZjZmQ4YTg3OWMwZjAxZWQ5NWQxYTMyOGJlNDhhOTlkMzgxOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Ut
YXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEx
ICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwy
NTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4uaHRtbAppbmRl
eCBmNDFmYzRhYTEwZGM5OTUxMDY0ZDViYjVkNGNlNGE0YjJiMDIyMTMxLi4yNTE5ZmU3MmQ3Nzli
OTdmYmExZDUxZWY0MDFmNGRkYjZiODYyNWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW48L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1
IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWlu
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWlu
Lndvcmtlci5qcwppbmRleCA3ODlmY2I5MDM5ZDhhMTZhNGIyYjNlOTg4OWI2NjE5ZGVhYjkxMzBh
Li5hNWNhOGQ5MmU5NDI4ZDkwMjdiZDU3OThhMTNiMjU0YWMxM2ZkOWY5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAi
NTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggOTE4NjBlNzg3OTU2NmY5MDhl
NjQwMmIyNjUyYjI2YzE2MTdhMTBjNy4uZjU3MzkzYjhjMWI5NDhmZDdhMzljZWIyOWY0ZmJkM2E4
NTA5YWRmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFn
ZS5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQs
MTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1
NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKaW5k
ZXggNTgzZDIyMjJlN2JlOGZmZjUyNzUzZDZjYjRlMjA4MjMyY2U3MTE0My4uMTAzOGVjNWJjZmQ4
NDllYWY5NzYyNDViYjQ2NmFiMzdiNDUyZmMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1
LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2Uuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLW92ZXIuaHRtbAppbmRleCBiOGU1MmNhYzBhZDEwYWEzMGI2OTI3YjFiZWMx
YTRlMjc1Yjg1MTBkLi45NmM1MjUyZWI0OGZhYWU4OGNkNjQ5MTJlZjQ0ZTQwNTcwNmQ0OWY5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zl
ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUs
MzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpz
CmluZGV4IGI0NTkzMzllNGZkNmUyMTQ2MGNlY2JiNjE2MDNmNmI5YzA4NDM4N2YuLjU1YzBmMGVi
OWM0YmJmMWMzODIyNTJmNzNmNDlkM2Q1ZTZhMzk1MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAi
NTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2UueG9yLmh0bWwKaW5kZXggZDA1MDcxMWRhMWVlYWVjN2U4ZTY2NTVhMzhkYWRi
NGJiYTczYjkzYi4uNjAzOTI3NWJmMDZiNGE5MjM2ZDU2YjZlNzY1ZDliNGE3NDZhNmY2MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UueG9y
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUw
LDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIs
IDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
eG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLndv
cmtlci5qcwppbmRleCBiZDc3Nzg1YjU1ODgwMzMwYjZlYjNiNmJkZDI0MjdlZWJhOTAwNzk4Li5j
NGUyMGZmZTUxYzRlMmUxMjljZmM5YTkxNzNmMGMyNzgwOTQyYzM0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkx
LDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAi
MTkxLDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS5odG1sCmluZGV4IDdjNzAxNmU0ZGU0
N2YxNjU5MmMxYzYxYjUxMWQ3OWU4ZTAxOTEzOTguLjQxZDMxMjg3ZjcxNjNjYWE0MmFkOTE0ZDM3
Zjc2MjBkMjM0ZGQxOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmNhc2VzZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNp
dGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdTb3VyY2Utb3Zlcic7CiBf
YXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNp
dGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5j
YXNlc2Vuc2l0aXZlLndvcmtlci5qcwppbmRleCAwOTFkZmQ2MWJiZjc5YjgxYmVmMjk5MzMyNDJm
YjNmZTdlMDBlYjJmLi5mYTBiNjAyZmRkZWVkOTJhZmE2NDE3NTQ5YTM4NWYxMGFiODE5NWI3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vu
c2l0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ1NvdXJjZS1vdmVyJzsKIF9hc3NlcnRTYW1lKGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIuaHRtbAppbmRleCBjYjE1MjA0YWM2MWU5
NGU2MGU5MDBlNzFhODAwNzEyYzgyOTRkYmZmLi43NDZhYjI2MGI1OTBjZmQ2MDhlMmM1ZjdhZjI0
NmY0NjJkYjQ3MGJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmNsZWFyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jbGVhcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2NsZWFyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24s
ICdjbGVhcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidjbGVhciciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uY2xlYXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uY2xlYXIud29ya2VyLmpzCmluZGV4IDFlZmQxNDk0ZTYwODQ4OWY0Y2ZlMzZi
NzBjZGRiZDU4OTg3ZTU0YzQuLjcxNDlmZTkzYWY2MjdmODcwNTFlNGY3OTBhODdiNzU1YzUxMzcz
N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNs
ZWFyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5jbGVhci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1
LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdjbGVhcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uLCAnY2xlYXInLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICInY2xlYXIn
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwKaW5kZXggMWY0Y2ZiMDdhNjVhMDg1YTU0ZGE4MjE0
MmNhNTg5MTRhYmY2NDMwZC4uMTYxNjExZGFiOWRmNGZmYzVjYzRlZTYxZjVhMTc5ZDEwMTJkNjRm
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFy
a2VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFy
a2VyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24u
ZGFya2VyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
ZGFya2VyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3In
LCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5kYXJrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uZGFya2VyLndvcmtlci5qcwppbmRleCAyYjI4MmY1NjQwYTM0ZDQ0ZTEzNzEwMjQxY2YwMDI5
ZDBiMGZhNzAwLi42YjhlMzA0ZmQ5ZmE4N2U0MGRmZDQwNDFhZTNhNDg1NjlhNjUwNDcxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtl
ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdkYXJrZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmRlZmF1bHQuaHRtbAppbmRleCBiMTE0ZTE0OTQ3OWM0YmY5ZTIwMDNkOGFlNmIzZTMw
NThiZTAzYmU0Li5hYWRmYjVkYzYxYzEwNjQzOGUyNmQ2NWE1NzU3YWJlNjVhZDJiN2RjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUub3BlcmF0aW9uLmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZh
dWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uLCAnc291cmNlLW92ZXInLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIs
ICInc291cmNlLW92ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKaW5k
ZXggOTA2ZjFiYjMzOTBkZGM4NDJmYzBiZDU1OGQxZWRkNjhlZDY4ODRjNy4uMmFkODBhNjQ2YjVj
ZDdjZDc2OWRmY2FhNWQ0MzBkNTQ1YzY0ZTdhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYg
KzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24s
ICdzb3VyY2Utb3ZlcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidzb3VyY2Ut
b3ZlciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRtbAppbmRleCBlM2M4ZjllZTJmYjIwZGI5ZTU5ZDk1ZDgz
YzUxZjY2ZDk1YzlhNzM1Li42ZTdhYjU1NTcyYTk4NTEzYTEyNGVjZjdmM2Q1ODZjYTI1MmNkNWIx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5nZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIgaSA9IDA7
IGkgPCBtb2Rlcy5sZW5ndGg7ICsraSkKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gbW9kZXNbaV07CiAgICAgX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biwgbW9kZXNbaV0sICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm1vZGVzW1wiIiso
aSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lndvcmtlci5qcwppbmRleCAyZGQ1MGZhNmQ5
NzVhYzViMDhkZmNkNDc5ZDJkNzY1ZDI3NWQzMTUwLi40NmNlZTBiOWYxNzg2YzQ2NmYzYzJjNDUx
MTBiNTBkZjgzMzJhNGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5nZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmdldC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2Rlcy5sZW5ndGg7ICsr
aSkKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gbW9kZXNbaV07CiAgICAgX2Fz
c2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgbW9kZXNbaV0sICJjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm1vZGVzW1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5oaWdobGlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmhpZ2hsaWdodC5odG1sCmluZGV4IDFiZmRiM2IxNjU3YzNjY2NkYzVmNGZmMzA4NjI2
ZTQ0MDg3YjY1ODMuLjA0ZTMyNGZiZmNmOTk2MzA1YTNmOTY3MTQyOWU4YzlkMTc5NzkzNzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdo
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hs
aWdodC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmhpZ2hsaWdodDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2hpZ2hsaWdodCc7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uLCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMKaW5kZXggZmFjNjRmY2UxMzU0NDJj
YjAzN2UwMDU5ZWJjODA3MzY5YzQ2NGZmMS4uYjU0MTdmMDZkYzY4NTA3YmIzYmZhY2JiY2RhY2Fj
YzE2ZjdlZTIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24uaGlnaGxpZ2h0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5oaWdobGlnaHQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnaGlnaGxpZ2h0JzsKIF9hc3NlcnRTYW1lKGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwKaW5kZXgg
N2UxZDY1YzMzYjYyNTdjMjY4MDgzODIyZTJlZGJlY2EwYjYxYjlkYi4uMzJhMGM2NjdjODRhMjY5
YTg2MmNiYjdmM2NjNjBiZTg0MGFjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxs
c3VmZml4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwog
X2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZm
aXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVs
bHN1ZmZpeC53b3JrZXIuanMKaW5kZXggODMxZjk0Nzc0MTg4N2RiODQxZDU3NjU0NzczMjYxYTQ0
YzFiZjU5NC4uNTk0ZjQyZWI5ZTk5NDE2MDdhZTJhYzRlZGVkNmExZWM3NDU4ZTVhMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVs
bHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1
LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3ZlclwwJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIn
eG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwKaW5kZXggNzFhMzQ0NTRiYmYwMDhmOTUzZjJmMDFi
MjVmMGE4NTE1YjlhYjMxOC4uNzM5MDlmMzI2NTAzMDMxZGJjNTA3YzU0MTcxYzU2MzliNTdmMjUz
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ292ZXInOwog
X2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3Jr
ZXIuanMKaW5kZXggODljMjYzNDVmM2MyZmJlYjBkZjY1N2IxYTg5NTMyNWQ4YzJjZTQzZi4uYjM4
MTNmMjM2NmI0NmRmY2MyYzgzOTJmNzAyYmU1ODQzM2Y0NmI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdvdmVyJzsKIF9h
c3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlz
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2du
aXNlZC5odG1sCmluZGV4IDM2ZTk5MGZmMDVkNjJkYjFiNjdmNzM4Yzg0NjRiMDg4NDhlYzYxMmUu
LmFiMmJhZjRlYzEwNzljMDQyOTM4NmEwMzI5ZDcyODNjNTlhOWFkODUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9u
LnVucmVjb2duaXNlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ25vbmV4aXN0ZW50JzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtlci5qcwppbmRleCA1OTgwZDE2
NmEwZWIwZjI2NTgxNTk3ODA4MTI5MjRkN2ViOGE5MTJjLi40ZThkYjQxNWE0NzA3Mjg1MmVjMGJl
MjYyNjIxZTljNTJjMDAyNjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdub25leGlzdGVudCc7
CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbAppbmRleCA5OGZk
NWQyMjQ2NDdkZmJjODY1N2E0MjcwZjVjNDE4ZDEzMmJjOTc0Li5kN2E1NWU3ODZjZDk3ZjcyNTY4
MThkMDM1ZWI5YmFjYzZkNDI2MTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLmNv
cHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgy
NTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS53b3JrZXIuanMKaW5kZXggNDEyNDk2
NzEzNjU1NzdkODcxODk4NDQ2MzZjNmI1OTYyZDUwZDUyOS4uMTgxNDk4NzNjNzBhZDMyYmY1OWVl
YjI4NWYzY2I4YzAyOGQxMTk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggYTNiNjQ1ZjlkNWI0N2UxNzc5M2RmOTM3
NTZkNjhlYzlkMDU2MmIxMy4uNDA0OGU2OTE2MDEwZWU5YmU5MDQyZTZhMTQ5NmZiNmMwN2EyYWQx
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5h
dGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIwLDI1NSwyNTUsMjU1
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4
IGJiMmJmNWEzMTY5NDRkNjNlZTM5ZjM3MjI2Zjk1ZmMyZTU3ZWMzZWQuLjBkZTIwOTU4NzEwNzM4
OTA3MTYxNzU0YWZiYTBiNGUwZTU1OWI3ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9u
LWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9u
LWluLmh0bWwKaW5kZXggNDBkYmI0YzdmMDY3YWQ1N2FhNTk5NDdiMjg5MzBmY2ZiNjNmOTMxZi4u
MDc0MWQ0MTBlODUyNDE0OTkyZTUwMzJjNWUxYzIzZjhmMWFmMGZlZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW4uaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlv
bi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcwppbmRleCBiNTQyMDhmNjZjZWJhNWQ1OTdjY2Y4NDJhZGZlMTkz
YTBkNDQ3ZDkwLi4wZTlkOTNhMjcyMzQ2NmUxMDE2NzU3OTNkODlkMDc4Nzc0OTRjMGFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWlu
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9u
LWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNjIxNzFlY2FjOWVjZThmMGM1YjJk
YzQ0N2JlMWJiYTA5ZmQzNGI5ZC4uNzczMmU0NDE1MGRkOTQ2ZjgwNTQzMzkwYTY0Y2VjMTBhNzRi
MmI4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0
aW5hdGlvbi1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0
aW5hdGlvbi1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKaW5kZXggZmJjZDc1ZDYxYThlMzY1
MDEzZGE0NzBlYWJmZTViYzM2ZjIyZWY4ZS4uZWFlY2FhYWEzZTk4ZTM0ZGY0NmViOGI0ZDhiZTJk
ZWFjNjNjYThlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUs
IDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggMTQ2NjlkNmJhNGIw
OTIyMmU0ODlmOGMzNjAwMTdlOTVlMmRlYTgxNy4uZmUzODgzN2MzZWRkZmFlNzliNDE1ZDliYjE1
NTE0Y2M2NjQ3NWQwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAy
NTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIw
LDI1NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIud29y
a2VyLmpzCmluZGV4IDc2ZDBkZjI1ODM0ZmUyYjc0YTJhYTAzNDVjZDExYWY3YmM3Y2U2NWYuLmFi
MmI5ZDcwM2I0ZTg5OTk0Y2MxY2ViOWEwODAyOTEzOGI2Y2VmNDMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVy
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMs
NiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRl
ci5odG1sCmluZGV4IGFmNzU3MmEwZDk1ZDVhYTUyMTVjOTlhNmFhYjUwYzhkYjk0MmYxNjAuLjY5
YWM1MzUzODQ4NjM4NzM4YjdkMDA5MDA5ODhkZWRhZDA5YzY5ZWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQubGlnaHRlcjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUuc29saWQubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2xp
Z2h0ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQubGlnaHRlci53b3JrZXIuanMKaW5kZXggMzQ0YTVhM2I3NGJlYTI3N2ZhZmU2
YTQ3MTFiNThhYmU1N2NlNTQ0Ny4uYTgxZTM0MDA0ZDI0ZTMxMGJiMzVhOGQyNGRhNDg5YzdkMTlh
ZDdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdo
dGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxp
Z2h0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3
ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRlcic7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1
NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1hdG9wLmh0bWwKaW5kZXggMDgyZDQyMTVhNGQxODU2YmI2MGVhNTFiYmM1ZmFlM2U3NTcy
MDc4OS4uNTkyMzc5OWE3ZWYwNmQxYzU1ZDAzZDQ3YTIxZGI2ODlmNTA2ZGJmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3AuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtl
ci5qcwppbmRleCBjMmQwZjBlMTJjM2FlMDc2NWRiMGU1NjQzNTQ3M2VkOWM1MjI4YmY4Li5hMzM1
ZWFlY2YwMjk5YThiNmZjNGVlYmJjOTQ5NzhiNjUyMTAzN2RkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKaW5kZXgg
YzM1NTI2ODZiMzJjYjFjMmZlOTIyZTg5YTZlZWY4MzMzMzg0MTMyNS4uZTJmMzM4ZTRjNDhhN2Uw
ZDRmMDExMWI1YWY3NzRjMDAwYTU3MWJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Ut
aW4nOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggZGU5NGQxZWVhM2UyYmU2NjdlMWNjMjQy
NmI4NDM5MTM3MmIzZGRlNy4uYzMzNjI4NjE0YmE0MzczZDk3Y2I3MDc5NjFlNzE1MWFiNmM1YjRk
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Ut
aW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
c291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3Vy
Y2Utb3V0Lmh0bWwKaW5kZXggODlmY2NmZWJjZDdkYmVlZGQ3MDdmNTUyNDQyMjE4MzU2MTdiNWUz
MS4uYmMyNDBjMjBiZDhiYzliYTlkZWZmYjkwNWRkOTM3N2U4NTdmZDFjMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xp
ZC5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAy
NTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDc2ZTZhZGMxNzRh
MmRlNDkxYzQyMjJmY2IxYmFjZWUxMTE1ZTRkZTIuLmE1NzU1NGE0NDE1YmRlNjIxYjNmNDVkOTdj
MTMwYzUyYTA2NDRiNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggZGUyMjA2ZjU0ZWIzNmNmNzdmNjEyYTZkYWE1MjRiNDk4
OGRmMGY0ZS4uOWU5YmM5ZDFlMDk1MzkwOWZiNjA5N2JkN2UyYmYxOGI1YTJlYTUzNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLnNvbGlkLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zl
cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndv
cmtlci5qcwppbmRleCBlZGJkNjI4YTIyYzU4YWE3ZDVjMmFlZjBhZWJmOWI1YTA4Y2I1MDU4Li5h
YWM1YmJlZDAyYjg1MGZkM2ZkZDgxOTk2OGI4YjljZjZiOTJkN2M3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3IuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLmh0bWwKaW5kZXggOGQ0OGZmOGRi
ZWZlZGZkMzJmNGVkZTJlYWI2ZTU3YTFlOTY5Y2QwNS4uNDdkZjcyNjAzOGZhNjMwMmVkMGRiZTc0
MTM0YWVlZTM3NDE4NjM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
Lnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuc29saWQueG9yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC54b3I8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAw
LCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLnhvci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLnhvci53b3JrZXIuanMKaW5kZXggYTI0NTk1MTcxZDlkOWRiOTc0ZTc4ZDYxMzg1MGUw
ODNhYWE2MmVhYS4uNjZkZjI2M2I5NTAyMTc1ZGI2ZThjZmZjNTc1NTljYWJmNDZmMTJhOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3Iud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1
LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lmh0bWwKaW5kZXggY2YyNTZhOWQwNGE3MGQ4MGQ2
YTQ1OTU3NDg4MWIzOGNiOWU2YWEwNC4uZGQzMzkwZWUyNjY4NmNiMjYyODAwM2QzNmIxNGI5ZTIy
NWY5ZWQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2
IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSwxOTEs
ICI1MCwyNSIsICIwLDAsMjU1LDE5MSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtl
ci5qcwppbmRleCA4ZmIzNWFiNDNjMjAwZTIzZjJjYmMxNzIwNTgyMDc0MjY2ZWU3MDIyLi42NzYy
NzIzOGQzNDYyNDk2NGIzYTQwODE0NmU2ZjQ1ZGJjZmE2ZjUxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAw
LCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDE5MSwgIjUwLDI1IiwgIjAs
MCwyNTUsMTkxIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9w
Lmh0bWwKaW5kZXggMDRiZmNhNWU2ODA3NGQwMmI3YTgyZDFmMWEwZjkzMGJiNTM0ZTliNC4uZmVi
M2JlYjY1NmU1MDllNmI0MjQyMWIyMmQxNmFmNjYwMDNlNGIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
ZGVzdGluYXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwx
OTEiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC53
b3JrZXIuanMKaW5kZXggYmMwMzZiMjI1YWIxZWUwOGNhYzY4MGE1ZjFhN2U1NDk4N2Q1MWM3ZC4u
ZWNlMGU1Y2YxOTU4YjAwOWIwNjE5NTQzMjZiZGU5Y2Q0YWU2NzQ5MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRl
c3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGlu
YXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwxOTEiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGU0Mjlj
MmJkZWFmYjM5MjkzYTU0NWYzMTRjYzY0MTA5NWViY2U5NDEuLmQwOTRhZWUzZmY0YjNjYzgwMzdm
MDgxNzFlYmY2ZmFkYTBlNDAxYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGlu
YXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw5NiwgIjUwLDI1IiwgIjAsMjU1LDAsOTYiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5h
dGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBmOWVlNmQyMTNhYjQ1M2NjODhmZmI4
ZDYzZjZiMzkxMjc5ZGUzMmY4Li42N2M2YjVmODE5MGViZDA0NzFlMWJhMmRiZjViZDIwYzg0MGI1
NGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAy
NTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDk2LCAiNTAsMjUiLCAiMCwyNTUs
MCw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbApp
bmRleCBhODBhM2E5MTcyODg5NWYyNzRmZDM0OTgzODZlNGYyMGM1NzJlMjE0Li4xNzZlNTBkZDE5
NmM4ZmExZDA4YWFmYmZiMDgzZjQzYmI4YmQzZmQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9u
LW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwzMiwgIjUwLDI1IiwgIjAsMjU1LDAsMzIiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGY2MWFj
MGZkN2RmNWQzZDBlMTA0YTcwYjE5OWNlNzk3ZjA5NGJiZDMuLjAxNmM1MGVmMWNiZDgwYmMzNTQw
M2E5ZDUyMDJkN2U2NmNmMDA5ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MzIsICI1MCwyNSIsICIwLDI1NSwwLDMyIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRp
b24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5k
ZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggODdhZGNjZjU5YTJkZGNmNjAzMjVkYjVmN2UwZWM5
NTg5Y2ZmYTA0Yy4uNmJhNWUwY2RiYmZjY2I4MzdlZTA1MTJkMWIwOTAxNDIxZDJiMmZhNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5h
dGlvbi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1
IiwgIjAsMTQ2LDEwOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVy
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVz
dGluYXRpb24tb3Zlci53b3JrZXIuanMKaW5kZXggMTE2MGU3M2Q4NDQ5NmFlMDk0ZGYwN2Q2Yzg5
ZGQ4ZjBmMDBkMmJkOC4uZGRhNzRmODE2NmRhMWRlOWYwOGFlMjk3ZmRjZDI0ZDA1MmNmYzQ3NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0
aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwg
MjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1IiwgIjAs
MTQ2LDEwOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbAppbmRleCA5YWU1
ZGRlYmE5YmI5NmIzMGE1OTQwNWM3ZTY1NDA4ZjEzNmZmN2IzLi5lMDZmZTkxYjk0NjZkYjk3MWY4
ZTdlMGY4NjM2ZGZjNWZhNjM0ZTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdsaWdodGVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDEyOCwxOTEsMjU1LCAiNTAsMjUiLCAiMCwxMjgsMTkxLDI1NSIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLndvcmtlci5qcwppbmRleCA4ZGExMTRj
OWIyYjEwYzdiMDI5ZmFiOWFmY2EyM2M2NmM4MzNmOGViLi45M2VhZjFjMTBkYjU4NmI0MTU0YmZl
ZWQ5YWE1NDhjNzAzMTM0YjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdsaWdodGVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAu
NzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDEyOCwxOTEsMjU1LCAiNTAsMjUiLCAiMCwxMjgsMTkx
LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwKaW5kZXggYmRi
MjgzY2JhMDMyYjlmYzY3YTVkMzg4NjhjMDA0YjgwNmVlYTdmZS4uN2NlNGJmNTIwMjEyZTdiM2Fm
NWYyM2I5MTk5Zjk0Y2QyODdiYjA1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDY0LDE5MSwxMjgsICI1MCwy
NSIsICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1h
dG9wLndvcmtlci5qcwppbmRleCBhMDNlMmU0YTMzMDBlNTEwYzJjMmE3NmY5MjcxMjUwYzlhYmJh
NjJlLi42ZDRmZDFlYTIyYmZkMjBiZTQ0MzFjN2MwNWQwNTZiNDk2YzI3MzE1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNv
dXJjZS1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9w
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJh
bnNwYXJlbnQuc291cmNlLWluLmh0bWwKaW5kZXggM2ZiODMwYWU1NjRmNmRjYzZjNGY5Mjg4ZmMx
YTdkZWEwM2UzN2FhNS4uNzI3ZjI2ZjQwMjljYmRhYWIyYzNkODI4M2NjODQwNDA2MWY5MjI2ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3Vy
Y2UtaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4n
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJh
bnNwYXJlbnQuc291cmNlLWluLndvcmtlci5qcwppbmRleCBmNDk1MzliNTllMWU2ZmJiMzMxNDdj
ZjZlYWI3OTE3ZjM4NzMyZTMzLi5lY2Q4YWE1ZGZiYzA3Y2IzMzQwYzc4YTY3NWUzNjkxNmI4NmYy
OTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
c291cmNlLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMjU1LDk2LCAiNTAsMjUiLCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuc291cmNlLW91dC5odG1sCmluZGV4IGIzNDA1YmIwZmFkMGYyZmI3OWE0
ODIwMzRmMDY2MDIzNmRhZjBmNzcuLmVkNDQ3ZDdmMmQwZDkyOTA4YWI1YTg2YTliZTk5MWViNDNi
M2M3ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJh
bnNwYXJlbnQuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IGFmYTFhZGYx
NGFhMGI1N2QzY2JmMDdjZjg1ZjU0YWE3ZTA2ZDllYjEuLjI0M2M4YjM1ZGE4YjhiMDI1YTQzY2Rm
NmUwYTUwZjU3NjA4YzFhYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAs
IDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAs
MjU1LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbAppbmRleCBj
YzFlOTUzMzA5NjNlYTg4MzFiMjVmYWI1ZDI0NGMzMzU4NGMwZDJiLi5iYjRiMjg4OWVlYzZjOGI5
ZWFjMmZiNGYxNTYzOTEzYmQyNjM1ZWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVy
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMzYsMjE5LDIyMywgIjUw
LDI1IiwgIjAsMzYsMjE5LDIyMyIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNl
LW92ZXIud29ya2VyLmpzCmluZGV4IDgxNTNlMTc2YTg3YTAwNmYyYzgwNmQ0MWQ1NTU2NjIzMzg4
MWRhZDguLmJhODA0YjUwYmY2OWQwNTIzNGVkZGYyOWIyN2ZlYTExYmFkOWRlZDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
c291cmNlLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92
ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMzYsMjE5LDIyMywgIjUwLDI1IiwgIjAsMzYsMjE5LDIyMyIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50Lnhvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC54b3IuaHRtbAppbmRleCAzZjk4ZTc4YTNjNjgwNjlkNmIzYjdmN2ZlMjc2MjcxNjdjMTRh
MGMyLi43NjAwMjMzNmJmM2IwMjEzYzkwZGZkOTFjYTYzYThlM2Y5NDFkZWRiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnhvcjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCw2NCwxOTEsMTI4LCAiNTAsMjUiLCAiMCw2NCwxOTEsMTI4
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5qcwppbmRleCA1ODYzNGJkNmU4ZTA4
ZmUwZDE2ZWNkNWZjMmYwODFiMjg4OTNiMGQ0Li41MWY4ZWIyYTVhOGQzNmFkZjhjNGQwYTg2MmE3
OWJiNThmMDJjODQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50Lnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9y
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuZmlsbC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLmNvcHkuaHRtbAppbmRleCA0OWE3MzgyMGEwNTE5MmJiNTQxNDQzNTg5ZThhMTAy
ZmJhNGFkMTI0Li4zNDE4ZGZkZjA5ZjFkOWI1YTU3ZDVkNTQyNzBmNDFjZDJkN2EwN2M5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHku
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNv
cHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90
IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJl
ZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4
LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuZmlsbC5jb3B5Lndvcmtlci5qcwppbmRleCA5ZWNiZjVkNDYxZmY1NTU2ZjU4NWVl
ZGI2ZmJmMGM0M2JmNDFhMWY2Li43NGJiMzRhMTllNDg0YTQ1ZmRlMWExODdlYWY2ODgwYjJjMDMy
YjMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwo
KSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCww
LDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBj
dHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9u
LWF0b3AuaHRtbAppbmRleCBiZjQxY2U2MTUxNmVlNDAwMmZhYzQ5NGFkNzYzY2JmYmViMTNiNTNh
Li40ODY0OTk1ZDNjOGE0ZDUwMTExYzdkYWE0MzIzZGJmYzQ1ZTU4NTQxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0
b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxs
LmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3A8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNv
dXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1
bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAy
NTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0
aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCAzZjFhZjNkN2Q1Y2E2YWQw
NjJiMzczZmQ4MmY3MzU0OWZhYTNkNTk3Li41NWU1OGM4OWE3MmY3MzJmZDhiZGVkNDgyN2I0NGU0
M2I5ODg5MmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQg
YnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5m
aWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGUyN2M3MGEyMzRhYmM1
YzE4YjcwMjBjY2ViYzAwODQ0MzRiMWFkNzAuLjFjYjZkMjYzOTdlNmIwMzk3NWI4ZmNiYzk5NTcx
MTYxNDYyZWQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTEsOSArMSwx
MCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW48L3Rp
dGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiAr
MTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xh
dGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzCmluZGV4IGZlMWFlNjU2YmE4NjZhOTgyZTYwMjAyYzdiYTlhMTY2MzRmNjNhZTQuLmI5
NjFmZDUzOTQ2YzA4NWJmZTUzZGYzNGIzNzFiN2U4OTZhM2UwNWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwu
ZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkg
ZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCww
KSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi5odG1sCmluZGV4
IDY2YjBkNjQxOTY5ZTUyNDFlZWRhODYzNmE1Zjk1NTZlZTU3NjlhNGMuLmZkOWVjYzVjNTMzYzEy
ZjZkNjQwZjBhN2Y4MzhiMDg1ZWJkNWMyYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4uaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291
cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3Zl
cmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkg
dGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxs
UmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
ZmlsbC5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDQyZTFmZjAzN2U0ZjFjZmE4
ZDZiZWRmMjhiNGI2ODZjYzlkZmNkOWIuLmY2Y2FhY2U1NGI5Nzc5OTRkM2E5ZjI2NDc1YmNiMzdk
NDM4YWMxODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBv
YmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5n
ZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwg
MjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Ut
b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNv
dXJjZS1vdXQuaHRtbAppbmRleCA1YzgwYzNmNzNmNWIwZjk0YjFkMmIwMjdlMDczZGJhZDFjM2M4
MGQxLi41NzhhMWE0YmQ1ZTA1YjBlMzdhZTBlYzJlOTM1ZDFmNTQwYjkzNWM1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNv
dXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwo
KSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCww
LDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFu
c2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0Lndvcmtlci5q
cwppbmRleCA2ZjczODcwNDM4ZGIxYzFjMzMyOWQ0ZWE2NDAwMzRlYTk0MzAzYTg2Li42ZGIxNzU3
ZDFiODAxMTdiNTFlODJjYmU2ZGNiODY2NTI0N2I4NDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMg
bm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBu
b3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAs
IDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS5odG1sCmluZGV4IDczM2E1MTM1ODc3MTcwNzA4ZmY4
MzMzODM2NzlmMjNhNjYyZDMwMWIuLjFlMWNhYjY0YjcyYzhhMTBlZGIwZmI1NDgxYzYxZmVmMTQz
ZTM2MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5pbWFnZS5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFn
ZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCww
LDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Uo
KSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCww
LDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwg
MTAsIDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwg
MCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAs
IDQwLCA1MCwgMTAsIDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmltYWdlLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKaW5kZXggNzg5ODA2NmRm
MzlkMDUzNzU2NzE2YjgzNGFhZmM0OTc5NjNjZDNiMi4uNzAxOTI3MGNkNjk2ZWQwMTdkNTA3NmI0
NjA4MzE3NTdiMjA3ZTVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291
cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVu
Y2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwg
NDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCww
LDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Au
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3Rp
bmF0aW9uLWF0b3AuaHRtbAppbmRleCA5MjI0ZTc0ZTBhYWVkN2M1YjBlYzc4MWYzNTY5NWI2MGM4
MjJiZGE4Li5iYzZhYzNlZTJjMWVmMWM2ZmRhYjU0NmQ3NzNiNjAyMzRmMmQwM2VkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5h
dGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0
aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1h
dG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3Zl
cmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAs
MCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAg
Y3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAi
MTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5k
ZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4IGMyNzk5NjA1
ZTAxNmFhZTUwYmY0NWZmY2NkNWNhZTVhMjFiOGE0YzEuLmFhYWUxOTgyN2VlYmNkMjMyMWY0OWMy
ZjY4NWEyNDRiYmQ5YmY4ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Au
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEy
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1
LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAs
IDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUs
IDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbAppbmRleCA1MTAyYjE5NDFkZmVi
MDI0MDU1OWFmNmE1NDNkNTJiN2YzYTVmYjRiLi4zNDEwYWE0MmFiOWE1YzEwM2QxNWYzNGI0NGZi
ZDIxYWFjOTc0MDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2UuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFn
ZS5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgZHJhd3Mg
cGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5k
IGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQs
MTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAi
MTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAx
MCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwx
NSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4
IDlhMTA5MGRhNzEyNTYwZjQ2N2UyYWY4ZjUxZjk4MGNjYTg3YzE5NWEuLjE0MGUyMWQ4ZWFkZjRh
MjE2NzVkYjhjMGEzOWU3YTVmMWM1MTg3NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiAr
MzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCww
LCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUw
LCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
NSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKaW5kZXggMGQyYTg5OGIxMGVmZTdkYzk2
M2M2YmFhMzMxZDM3ZDA4MWExYmQ3OC4uOTc5ZjBhYTkzZWQ5MzZmZDc5ZTEyNWJmNTRhYWYxNzhl
MTFhMmFjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNl
LWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBz
b3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMg
dW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQw
LCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1
MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCww
LDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4ud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291
cmNlLWluLndvcmtlci5qcwppbmRleCAwMzA3MGI0ZTk5MzVhZGFlZWRjZDQwZjliZTQ3NzllMjQ0
M2FjMmExLi40YTkxNDcwYWEwMTE1MmNjNmQyMDEwMjA5YmFlNjY2YTZlZDRhZjM1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Ut
aW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJ
bWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAo
MCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAs
IDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1
LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEw
LCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1
MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbAppbmRleCAyNjU5
MDJiM2NkNjhlODZmMTA2NjY4NjU4ZGQ0MDI1YjRlMjljMjI0Li5jZTcyMDMyYzU4MmJiNjJhMmVk
NDNlOGVkZjkwY2YxMzA2ODBkZjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5z
b3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMg
bm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBu
b3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5v
dCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90
IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIs
ICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAs
MCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDQxYjNmYTU3NjNjNzAw
ODM4MTc5ZDE4MTJiOTdiNWI0YzQ0ZTkyZmQuLjRjMDU0Y2IyOWRmZjM2ZjMwZTYzYzUwNjIyMmRj
MzcyNzE1ZThmNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkg
dGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIs
ICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNv
cHkuaHRtbAppbmRleCA5MjQyMmY1OGY2NGU4YTdkMzdmNWY4ZTc0Zjc3ZDMxMDgzZTg3ZWM5Li5k
MjRmNmI0ZGJhMjM3ZWNkZmZjNTUwMDhjODg2YmNiYjc5MmRhYzgxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292
ZXJlZC5ub2NvbnRleHQuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2Yg
YSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZh
cyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90
IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIHZhciBvZmZzY3JlZW5DYW52YXMy
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVu
Q2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LmNvcHkud29ya2VyLmpzCmluZGV4IDc1Nzc4ZjQ0Y2I3ODY4YmQwMTJhNDVh
MjFjOWFjZDI2MTFhN2E1ODQuLmI1NDAwMjAxMjUyYjQ4YzA1OWU0MmE2OGE5MGU3MTM4Y2JmZTMx
MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMg
YXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Nv
cHknOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9u
LWF0b3AuaHRtbAppbmRleCBiMDU4YzZmYmI0NzhlNDRiYmE5YzA3NTA4ZDhkZDNlMTg0ZDRiMTUx
Li4yMmE4YmRkYTdkNDk3ZDJhOTdhNTU0MjE2ZDc4Y2VhZjkwNTM4NDAzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRp
b24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
Lm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRl
c3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVz
dGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52
YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5v
dCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRo
IG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpz
CmluZGV4IDBlZWU1MWFiMGYzODNhNDYwN2QwN2I3MzY0MWM4NTdmMzQxZGMxNWQuLmI4MTMwMzM5
NGZiZDc2YjJhM2QxZTE4MTIyODllMTU5NWU4MmZmODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2Nv
bnRleHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMg
KDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3Rp
bmF0aW9uLWF0b3AnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0
aW5hdGlvbi1pbi5odG1sCmluZGV4IGQ5YjlkYzNmNjQwY2ZjMmNlYzFlYWEyZDJlZmRhODI2Mjdj
MGRlMzMuLjk3YWY2NzMxNTA3YmI1ZTA5NzAwNDZmMTYwZDk0MDBhNzQ0NDk2NjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0
aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5k
ZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0
aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMg
d2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRoIG5v
IGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRo
ZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IDgz
MTYzNjU1YTkyY2YyMjkzZTdjYThjYWNkOTlhZTc2ZDg5NjFlMWIuLmFhY2Q5NmY1NTgxNmM5MmZj
NWNhZDc1YTMzNjUxMjdkZGQzZWEyZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkg
b2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOwog
dmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4
LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLmh0bWwKaW5kZXggZmM1
MmQxMDk0ZmQ2NmJjMzRiZTZmYmIzMTU2Y2ExMmUxZWJkMzRlOC4uMzkwNGFkNTRhYTBhY2U4YjYx
MGE3M2Q5YzBmZDRhNDI4NmRhZmIwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkg
b2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNh
bnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGNjYTFi
MWJkMzQ1OGFhNjIzOGFhZTA2MTYxYmQ5Y2RiY2NmM2IxOWUuLmNiMTA3MGIzN2U1ZDEyYjgxZGU4
NmRiYmYxMzgxYmI4YjdlNWJjNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3
aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxl
YXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNjcmVlbkNhbnZh
czIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2Nv
bnRleHQuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQubm9jb250ZXh0LnNvdXJjZS1vdXQuaHRtbAppbmRleCBiNTU1YzY1MzA2N2JmODJkMmM0
NjdkNGNmMDZiNGEwOWRiOTBjYzIyLi43MDc4OWY0ODZmZDk2YjA0MGQyYzIyZmJmMTdkYjQzMmUw
MzdjZGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9j
b250ZXh0LnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQu
c291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMg
d2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRoIG5v
IGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRo
ZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQubm9jb250ZXh0LnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDQwZDdjYzg1MTMyZjU0
NmQ5ODI2ZWMxMDk1MDBjYTUyZDg4YmJkMjcuLjcyNmMzYTgwYzQ5OTdkNzg3NmM1ZTY1MGZhM2Ix
NzkwOGE2M2I2OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8g
Y29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNv
cHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
Y29weS5odG1sCmluZGV4IDBhNjdhNDVmODNmZDc1ZjVjZDQwNGZiMDRjMzNlNDkxZDc3MjQxOWMu
Ljg0YTUzODg3OGY2ODhkOTliYTRiNTA2NTg0NDYyNGEyZmUwZThkNzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3Mg
cGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5k
IGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiAr
MzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQn
KTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVy
bihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS53b3Jr
ZXIuanMKaW5kZXggZWE0ZjQ3ZmI4MjMyNmY1YmZlODJmMTFjMTIyMDU2MWQ2YzJlMTFiZS4uYjhh
MmUyMDM0MjM4Njc4NDNjNTA4ZjVlYjBlNzFkMzYzMGQ2YmMxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHku
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBw
aXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQg
ZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMw
LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4o
Yml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3AuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24tYXRvcC5odG1sCmluZGV4IDBiMjkwZDYwYWFjYWJjZjE5Nzc4YTEyZTdhNWViYTc3OTI5
YTQxMWUuLmM3YzIwYmIzOTJiYjJiY2FmYzBjYjhhMmRmM2NmYjAyMTAzMDM2ODMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVz
dGluYXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQs
MTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsK
LSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
ZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggZjMyODExZTI1YmNjMmMyNDRmYjZkNzgy
NTA4NjRhNTMyZDU5YmM2OC4uYTFhMmViODU0OGY4MDVlYTg3NTkzZTI1ZTcwMjhhNWVlYWExYTVm
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8t
cmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwK
aW5kZXggODhlYzg5N2E2MmU1ZjE2OGNjOWEwZjVhZmFiOWUyYjFkYjg4OGMzYy4uNTA1OGM3NWJj
ZDgxMGFiMmI4YTFiZDA5ZWMxMzIwMGQzZjdhODFkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBz
b3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMg
dW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUg
c291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxz
IHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0
ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAs
IDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwpp
bmRleCAwODAwZjBiZjdlNTIxM2E5OGNkOTg1MTJjM2Q2NTM0NzEyZThlYWI0Li4yYWI3MTNiOTQx
YmVjMmQ3ZDYzYzlmMTBhNWZjNzgzMzljYTkxOThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBm
aWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgw
LDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwg
J25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Ut
aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
c291cmNlLWluLmh0bWwKaW5kZXggNzhkMWZhZDY1YTFjZmI0MjUxN2Y5YWZhMzA1ZGQzNTA1YmJl
MjY4Yy4uNGJlYjNmYjI0YjQ3MmMzNWE1Nzk1MzgwM2M3OTMzNjk4Y2I2YmZmNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Ut
aW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0
ZXJuLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNl
IG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hh
bmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0
ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmls
bFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcwppbmRleCBhMzRkOGY2ZDZl
ZWUzZGNlYTFmNGIyZTZjMTBjNGU3NDhhNmIxMGQwLi5jNGU2Yzg1Y2QyMzA3NmQ2MDQyOGUwMjQx
OGMwYjlmZWE2OWZhOTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8t
cmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAs
MjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCmluZGV4IDQ3
MjM3ZTNkYmMyNjM3MTcxNjQ3ZWExNzNkMjUxZGFkM2M2OGJjYmMuLjkwN2M3N2FhNDZkZDA3YWI0
YzNlMmE1ZGUxODI3ZDAyYzE0ZmQwYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkg
ZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCww
KSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgp
IGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAs
MCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
MCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1y
ZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRl
UGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUw
LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRl
cm4uc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggYmI0NTE0ZTRlMzE2Mjg3MmQ2YWZlMTExMDc4
ZmZhYzIxODlmMWI1YS4uNmFiYjY2YTk1MWEwMDM5ZTg5MmQ2ZmUyN2ZjYzhiNTRmMmZlZGY4MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVy
bi5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNv
dXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1
bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3Jk
aW5hdGVzcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGlu
YXRlc3BhY2UuaHRtbAppbmRleCBlYzI0YTE5YzE3MzZjZWEwYTU4M2NhZDkwODVjMjY3OTI1ODkx
OTBjLi4wMWIzZmY5YzY1ZmQ4MmQzMzUzYTc1Y2I2NjQxNGNhZmFhNzBkYjNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvb3JkaW5h
dGVzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb29yZGluYXRlc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNv
b3JkaW5hdGUgc3BhY2UgZ29lcyBmcm9tIHRvcC1sZWZ0IHRvIGJvdHRvbS1yaWdodDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPlRoaXMgc2hvdWxkIG5vdCBiZSB1cHNp
ZGUgZG93bi4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvb3JkaW5hdGUgc3BhY2Ug
Z29lcyBmcm9tIHRvcC1sZWZ0IHRvIGJvdHRvbS1yaWdodCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDI1NSwyNTUsICIy
NSwxMiIsICIwLDI1NSwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwxMiwgMCwwLDI1NSwyNTUsICI3NSwxMiIsICIwLDAsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMCwyNTUsMjU1LCAiMjUsMzciLCAiMCwwLDI1NSwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDAsMjU1LDI1NSwg
Ijc1LDM3IiwgIjAsMCwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtl
ci5qcwppbmRleCA3Y2FkOTdiMmRmYjk4OGYzY2U0MzQ0NmM1NTVjY2U5MmViYmY1YTMyLi5jMzlh
NmE0NDMxZTlmNzhhOGNjOGY5YmQ4MjcyNmFkOWE3YWY4ZTM2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5UaGlzIHNob3VsZCBu
b3QgYmUgdXBzaWRlIGRvd24uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJDb29yZGluYXRlIHNwYWNlIGdvZXMgZnJvbSB0b3AtbGVmdCB0byBi
b3R0b20tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwyNTUsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMjU1LDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMCwyNTUsMjU1LCAiNzUs
MTIiLCAiMCwwLDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3
LCAwLDAsMjU1LDI1NSwgIjI1LDM3IiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwzNywgMCwwLDI1NSwyNTUsICI3NSwzNyIsICIwLDAsMjU1LDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWly
ZW1lbnRzLzJkLm1pc3NpbmdhcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1
aXJlbWVudHMvMmQubWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IGY3ZTgyYThjMWJmYTYy
ZmQzMzY3YWMxYTVlNGY1MmY3MTNlOWIyN2EuLmZlZjljNjJmNDY2YTcyNmYyMWQ5YjMzMTgxOGJh
NzgxZjgzY2M3YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQu
bWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVu
dHMvMmQubWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0CkBAIC0zLDUgKzMsNSBAQAogTWlzc2luZyBh
cmd1bWVudHMgY2F1c2UgVHlwZUVycm9yCiAKIAotRkFJTCBNaXNzaW5nIGFyZ3VtZW50cyBjYXVz
ZSBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY3R4LnNl
dFRyYW5zZm9ybSgpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIE1pc3NpbmcgYXJndW1lbnRzIGNh
dXNlIFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50
cy8yZC5taXNzaW5nYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5t
aXNzaW5nYXJncy5odG1sCmluZGV4IDBiZThiNThiNjFlMzMwMjIwOTFiNWM2M2YwY2YzNzdkYjgy
NThiMzcuLjRjODEwNDk1YzhmMjI0ZDU4ZTg4NTVjMGRjNjM4NGFiZDRlMDI0MDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3MuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLm1pc3NpbmdhcmdzPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLm1pc3NpbmdhcmdzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXNzaW5nIGFyZ3VtZW50
cyBjYXVzZSBUeXBlRXJyb3I8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJyb3IiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCw3ICszNCw2IEBAIGlmIChjdHgudHJhbnNmb3JtKSB7IC8vIChhdm9pZCBzcHVyaW91
cyBmYWlsdXJlcywgc2luY2UgdGhlIGFpbSBoZXJlIGlzIG5vdCB0byB0CiAgICAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgudHJhbnNmb3JtKDEsIDAsIDAs
IDEsIDApOyB9KTsKIH0KIGlmIChjdHguc2V0VHJhbnNmb3JtKSB7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKCk7IH0pOwog
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRy
YW5zZm9ybSgxKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKDEsIDApOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCk7IH0p
OwpAQCAtMTEzLDcgKzExNiw2IEBAIGlmIChjdHgucHV0SW1hZ2VEYXRhKSB7CiB2YXIgZyA9IGN0
eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoKTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDApOyB9KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNl
LXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDZj
NWQ3MjQ2MjVhNjY3MTc5OGQyMTBhNWJmYjZlNDU2NzlmNjRmNDUuLmZiZmFiNTU3OWNkMWRmZDkw
YzhhMjQ1ZGU2OTA2ZjNhOTk1MmM3OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1
aXJlbWVudHMvMmQubWlzc2luZ2FyZ3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9y
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IGN0eC5zZXRUcmFuc2Zvcm0o
KTsgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJy
b3IgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2lu
Z2FyZ3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5n
YXJncy53b3JrZXIuanMKaW5kZXggMWE5ZDQxZTM4NWQ1Yjk4ZDQ2ZGU3ZjcwNmI1NWYyNTkyNjY3
MjAzMy4uYjhiYzEyN2I4NzdjMDg4Njk5YzQ5OGFjMjc2YmRiYzQyM2QzODBhYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVF
cnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgaWYgKGN0eC50cmFuc2Zvcm0pIHsgLy8gKGF2
b2lkIHNwdXJpb3VzIGZhaWx1cmVzLCBzaW5jZSB0aGUgYWltIGhlcmUgaXMgbm90IHRvIHQKICAg
ICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC50cmFuc2Zv
cm0oMSwgMCwgMCwgMSwgMCk7IH0pOwogfQogaWYgKGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zv
cm0oKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguc2V0VHJhbnNmb3JtKDEpOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCk7IH0pOwogICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgx
LCAwLCAwKTsgfSk7CkBAIC0xMDksNyArMTEyLDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsK
IHZhciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgpOyB9KTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0
b3AoMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFu
Y2UtcmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1
aXJlbWVudHMvMmQudm9pZHJldHVybi5odG1sCmluZGV4IDQyZWI5OGVjMWVjNTZhYmExOTZlY2M4
MjI2ZTZiMDVmZGY1ZDdjMjQuLmJkMWQ1NDEyZjYwNTZhZTM3OTBhZDdhZDAwNzczYzliYWUzMzU5
NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVy
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC52b2lk
cmV0dXJuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnZvaWRyZXR1cm48L2gxPgogPHAgY2xhc3M9ImRlc2MiPnZvaWQgbWV0
aG9kcyByZXR1cm4gdW5kZWZpbmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgidm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC00Nyw3ICs1MSw2IEBAIGlmIChjdHgucHV0SW1hZ2VEYXRhKSB7CiB9CiBfYXNzZXJ0U2Ft
ZShjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCks
IHVuZGVmaW5lZCwgImN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAw
LCAwLCAwLCAwKSIsICJ1bmRlZmluZWQiKTsKIF9hc3NlcnRTYW1lKGN0eC5jcmVhdGVMaW5lYXJH
cmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJyksIHVuZGVmaW5lZCwg
ImN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3do
aXRlJykiLCAidW5kZWZpbmVkIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4ud29ya2VyLmpzCmluZGV4IDBk
N2RhNTk3Mjc1ZDAxYWU5NzBlOTk4NzhkOTVlOTI4YzkxM2VmNjYuLjYyODNmNTNjYTk1NWY4MDE3
OTVmZjFmMWJiMDkwNzYwNzRmZTdhNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1
aXJlbWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgidm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBA
IGlmIChjdHgucHV0SW1hZ2VEYXRhKSB7CiB9CiBfYXNzZXJ0U2FtZShjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCksIHVuZGVmaW5lZCwgImN0eC5k
cmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSIsICJ1bmRl
ZmluZWQiKTsKIF9hc3NlcnRTYW1lKGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAw
KS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJyksIHVuZGVmaW5lZCwgImN0eC5jcmVhdGVMaW5lYXJH
cmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJykiLCAidW5kZWZpbmVk
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Iv
b2Zmc2NyZWVuY2FudmFzLmNvbnZlcnQudG8uYmxvYi53Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1i
bG9iL29mZnNjcmVlbmNhbnZhcy5jb252ZXJ0LnRvLmJsb2Iudy5odG1sCmluZGV4IDFjNjlkNGQy
NjM2MWY3ZDExN2E5YzgzZTlhNDU3ZWI1ZjBmMDc4ZGIuLjliMDhjYzg2MjU3ZmYwZTUyMjBjMjNl
M2E3NmZmYjhhNGQ3ZDhmYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2Ny
ZWVuY2FudmFzLmNvbnZlcnQudG8uYmxvYi53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxv
Yi9vZmZzY3JlZW5jYW52YXMuY29udmVydC50by5ibG9iLncuaHRtbApAQCAtMzAwLDYgKzMwMCw4
IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmFyIHdvcmtlciA9IG1ha2VXb3JrZXIodCk7CiAgICAgd29ya2VyLmFkZEV2ZW50TGlzdGVu
ZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKG1zZykgeworICAgICAgICBp
ZiAobXNnLmRhdGEgaW5zdGFuY2VvZiBPYmplY3QpCisgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGFzc2VydF90cnVlKG1zZy5kYXRhKTsKICAgICAgICAgdC5kb25lKCk7CiAgICAgfSkpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjNhcmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS4zYXJnLmh0bWwKaW5kZXggZGExZGM4ZmNjMmYwNGI0MGY1MTk1OTI2MTFlYWFmOGY4NmE4Nzdk
MC4uZjNlZGU5YTgxZWVjZmEwOTcwMzU5OWRjZTBjNTM4OWUyNDEyMWMwMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNhcmcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2FyZy5o
dG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEg
VGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjNhcmc8L3RpdGxlPgorPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuM2FyZzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsMTggKzQwLDIwIEBAIHZhciBwcm9taXNlMiA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIFBy
b21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwg
cmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDAsIDApOwotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAtMTAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlMSwgMTAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgLTUwKTsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1
NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwg
MCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAg
dmFyIHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNl
LmFsbChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAy
KSB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgMCwgMCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwMSwgLTEwMCwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
MSwgMTAwLCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAtNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjNhcmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjNhcmcud29ya2VyLmpzCmluZGV4IDA4Y2IzNTNhNTBkN2FjZjMxMmY2YmNh
NWNkYjBiOThiMzQ2N2QxMDQuLjZiZTZiZGY5NmVlMTE1YmI4ZjJkOWIzMzBlYjMxNDQ2YTU1NWNh
MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS4zYXJnLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuM2FyZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMxLDE4ICszNSwyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlz
ZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlMSwgLTEwMCwgMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDEwMCwgMCk7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIC01MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZTEsIDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlz
ZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBw
cm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEs
IC0xMDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDEwMCwgMCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgLTUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAxLCAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUs
ICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwg
MCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbApp
bmRleCA2ZDVmYmZkZWZjMWFlYTM4MTA3ZjYwOWUzYzVlZjRjYjVlODg1MjRkLi43NjcxZjNhNDkz
NDI2YzMyMjI4NmRkZjc1ODQ1NmU0MWU0NmU1NzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLmh0bWwKQEAgLTEsOSAr
MSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFz
IGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuNWFyZzwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS41YXJnPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zNywxNyArNDIsMTkgQEAgdmFyIHByb21pc2UyID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlzZS5hbGwoW3By
b21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIpIHsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwg
MCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
NDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOwor
ICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJv
bWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0
bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDUwLCAwLCA1MCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1
LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMKaW5kZXgg
MTdlMDFmYWQwMWU5YzcxMTQ5NmU2OWJiZGUxMzYyZDAxZWRmM2M0YS4uNTkxNzYxNWYzOTc4YTMz
NGI1N2I0OTFjYjU2OTY4NzA5ZTJhNjc1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsMTcgKzM3LDE5IEBAIHZhciBwcm9t
aXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDUwLCAwLCA1
MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCA1MCwgNTApOwotICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1
NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAs
MjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgdmFyIHByb21pc2UzID0gY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UxKTsKKyAgICB2YXIgcHJvbWlzZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZTIpOworICAgIFByb21pc2UuYWxsKFtwcm9taXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1
bmN0aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAy
LCA1MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCA1
MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1
NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2lj
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFy
Zy5iYXNpYy5odG1sCmluZGV4IDUzMGRjNjgzYTUzNzMwM2JlNjg1MmJiN2I5Y2Q0NmViMWJiODY5
NzQuLjgyOWZjNmI0YTY3NDU4ZmFmN2JkNzY2YzhlYjQzOWJjODk1MDAyMjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2lj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjlhcmcuYmFzaWMuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0g
RE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVz
dC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS45YXJn
LmJhc2ljPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJh
d0ltYWdlLjlhcmcuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEy
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE0
ICszMywxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwy
NTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSww
LDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuYmFzaWMud29ya2VyLmpzCmluZGV4IDUzMDQ2ZTIyZDAwMWNjYjZhYThiN2Jj
MDIzZDczNGM2ZWFjYzFkNGQuLmFmYTczMGI5ZjdjYjBmMDdlOGUzN2Y3Y2M3MjEwMDI2OTk5YTU3
MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS45YXJnLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE0ICsyOCwxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1
NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUs
MCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwg
IjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwy
NTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbAppbmRleCBlNmM3
NTEyNWM3NjkwOTRjYTc3NDM2M2MzZjlmNWQxZDRjOGUzMjcwLi5hMDFhY2UxNzJhN2E3NjdiZDgz
MTdiNDdjMGM0YTdhMzQwZTBmYWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy5odG1sCkBA
IC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0
ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvczwvdGl0bGU+Cis8
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRlc3Rw
b3M8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDE4ICs0MiwyMCBAQCB2YXIg
cHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihy
ZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwg
MCwgMCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDUwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCww
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
Mik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24o
Yml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAs
IDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEs
IDAsIDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCA1MCwgMTAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUs
MCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
NDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3Mud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53
b3JrZXIuanMKaW5kZXggMmExOGE5MzU1ZjVmYTMyY2Y0MDliMzBkNjVhNmViYTI4N2NhODdkZC4u
Njg3ZjAyNDRmMjViMzVhNDc3YzIxMzFjNzBiNTRiN2ZiMDM5OWYxYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuZGVzdHBvcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMzLDE4ICszNywyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEs
IHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1
MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwg
MTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwg
NTAsIDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAi
OTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJv
bWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2Uz
LCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDEwMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1
MCwgMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAw
LCAxMDAsIDUwLCAwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwy
NTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFy
Zy5kZXN0c2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuZGVzdHNpemUuaHRtbAppbmRleCA4OGI5NjM0ZDA5OTQ0ZjdjOWJhNWZhYmVh
ZTRlZjg2OTA1YzU1ZThlLi5kZGVhMzg1NzU2OGRiN2FkMGFmZDhkNDg2MDZiOTE2NzZlZTVjYWNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5kZXN0c2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zNywxOCArNDIsMjAgQEAgdmFyIHByb21pc2UyID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlzZS5h
bGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25z
ZTIpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgMSwgMSwgMSwgMSwgMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIC01MCwg
MCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwg
MTAwLCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAs
IDUwLCAwLCAtMjUsIDEwMCwgMjUpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAw
LCAxMDAsIDUwLCAwLCA1MCwgMTAwLCAyNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1
LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSww
LDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAg
dmFyIHByb21pc2UzID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UxKTsKKyAgICB2YXIgcHJv
bWlzZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTIpOworICAgIFByb21pc2UuYWxsKFtw
cm9taXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAyLCAxLCAxLCAxLCAxLCAwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAtNTAsIDAsIDUw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMTAw
LCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwg
NTAsIDAsIC0yNSwgMTAwLCAyNSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwg
MCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAs
MjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5kZXN0c2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS53b3JrZXIuanMKaW5kZXggYTlmOTQwNzI1Y2Ez
YTcyODNmMzIyMTVjMjUzNjY2Y2Q1MDYwOWQ4MC4uN2Y1ODZlZjA1NThlNmFlMGI0YWRmYjgwZWY3
YmNkOGY1MzgyOGYzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsMTggKzM3LDIwIEBAIHZh
ciBwcm9taXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDEs
IDEsIDEsIDEsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAw
LCAwLCAxMDAsIDUwLCAtNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTI1LCAxMDAsIDI1KTsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgMjUpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlMSk7CisgICAgdmFyIHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsK
KyAgICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRt
YXAxLCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgMSwgMSwgMSwg
MSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwg
MTAwLCA1MCwgLTUwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEs
IDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCAtMjUsIDEwMCwgMjUpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDI1KTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAs
MCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUs
MCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKaW5kZXggOWVh
NThiOTA5M2NhNDA5NGE1ZWY0N2IzZTU3NDE3ODQ2ZjlmYTkyYS4uNjU0MWQ3NjJiZjFkZjhmMGY3
NjA3ODg4OGY3ZjEzNTE1NzhmYThiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0
bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L3Rp
dGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFy
Zy5zb3VyY2Vwb3M8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE0ICszMywx
NCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDE0MCwgMjAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUs
ICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1
NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxNDAsIDIwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
c291cmNlcG9zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIuanMKaW5kZXggMGIxODg1ZDc1ZDEzNzlj
NTJmMWRmNWMzOWVmMWI2NmQ1ODlmY2Q3NC4uN2NlZmFkOTJkZDY5YTYyZjgyNjRkZGY1OGQyY2I5
N2MwNDcyYTk3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxNCArMjgsMTQgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAxNDAsIDIwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTQwLCAyMCwgMTAwLCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5
OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXpl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFy
Zy5zb3VyY2VzaXplLmh0bWwKaW5kZXggMTJhYWQ2Y2E1OTI1NDhiMzZhZTQ0YTc5NjQ3ZmI1ZGE4
YzdjN2EyMC4uM2M3MThjOGRhNDVjOGNhMWVjYTRjMzI1ZWY5ZjIyYTYyMGQxMDNjOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcu
c291cmNlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAyNTYsIDI1NiwgMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
LSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTEsIDI2KTsKLSAgICBjdHguZmlsbFJlY3QoNDksIDI0
LCA1MSwgMjYpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwg
MCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5
LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMjAsIDAsMjU1LDAsMjU1LCAiODAs
MjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyMCwzMCwgMCwyNTUsMCwyNTUsICIyMCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDMwLCAwLDI1NSwwLDI1
NSwgIjgwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDI1NiwgMjU2LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUxLCAy
Nik7CisgICAgICAgIGN0eC5maWxsUmVjdCg0OSwgMjQsIDUxLCAyNik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1
LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyMCwy
MCwgMCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUsMCwyNTUsICI4MCwy
MCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyMCwzMCwgMCwyNTUsMCwyNTUsICIyMCwzMCIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwzMCwgMCwy
NTUsMCwyNTUsICI4MCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNp
emUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKaW5kZXggZTFmYTYwZGNiMjEyYjdjY2U0NGJj
MzI2NDY2ODg3NDZiNGFjYjFiMy4uZGFjMWM3YTBhOWFiNThiMjc5ODgwMjBhMmYyN2JiYjlhNTcx
MGEzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDI1NiwgMjU2LCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MSwgMjYpOwotICAgIGN0eC5m
aWxsUmVjdCg0OSwgMjQsIDUxLCAyNik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAi
OTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1
NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwy
NTUsMCwyNTUsICI4MCwyMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAs
MzAsIDAsMjU1LDAsMjU1LCAiODAsMzAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMjU2LCAyNTYsIDAsIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTEsIDI2KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDQ5LCAyNCwgNTEsIDI2KTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSww
LDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDIwLCAwLDI1
NSwwLDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDgwLDMwLCAwLDI1NSwwLDI1NSwgIjgwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5h
bHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmFscGhhLmh0bWwKaW5kZXggYWI2NDNkZGE2OTI0NTA4OTIwN2VmOTlhZTQ4NzE3NDAzZTBhODA2
Yi4uZjFhMWYwODMyMzIxNDk5MjlkMGU2ZmQyNzc4ZTE4YzdiYWM5ZWIzMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhh
Lmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuYWxwaGE8L3RpdGxlPgor
PG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuYWxwaGE8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDExICszNCwxMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpzCmluZGV4IGQ3MWIz
ZDUwZDU2ZjRhOWRlOWViNGYyN2UyNmU3NGFjYWI4YmZlZjYuLjY4MjhhZjkyMjVlNmUxOGY3Mjk1
ZTZjNzEyNzkwNGUzYjI5NWI4ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbAppbmRl
eCA5MzVjNjZmYjUwYmMxYmMwM2FkMjQ0YWIxNjYxOWFkYWRjYmRhM2FmLi4yODcwODk0MWI0NjYx
NDZmNDZjZDVmMDk2ZjkyMDE0MDVkNzk1NDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBv
c3Rlci5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBv
c3RlcjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJ
bWFnZS5hbmltYXRlZC5wb3N0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9m
IGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJh
d3MgdGhlIHBvc3RlciBmcmFtZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMSwxMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53
b3JrZXIuanMKaW5kZXggZDMyOGQxOGQ4NmYyOWM5N2YwMDI0N2IxYjJiMzkzMjA5MjEwYzU0ZC4u
Y2U2ZThlZTRmNTVmMjE0NDVjMWExNDc2ZjA4ZjI3NTdkMzY1ZTgwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rl
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDExICsyNiwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2Vu
Lmh0bWwKaW5kZXggMDViZjYyMWMzNDYxOWE1OTMwNDU2MzM3MDE0MjA2Zjc1OWQ1ODkxZS4uNTMx
Mzc2YWFhYjdlNTBmOTRmYjJhMTQxNjQxM2E1NmVjYjU0NzA2MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRt
bApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRo
aXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5icm9rZW48L3RpdGxlPgorPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuYnJva2VuPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMyArMzEsMTMgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4ud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53
b3JrZXIuanMKaW5kZXggZGI5NjgxNzVhNWU0NjUzNDIxZGJhZWUxYjYyMjFkZjkyNDgxYWZlMi4u
NGFjYzQwYjQ5ZTY4YjVlN2RkZmU2NzUzMzNhOGFiY2RjOTFjNjgzYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJy
b2tlbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDEz
ICsyNiwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5jYW52YXMuaHRtbAppbmRleCAzMmZmM2ZjY2JkYzViZWZiMGQyODhkZDZjNDhkODcw
M2NhNmRhNjY3Li4yZmM4MjkzY2IyMmM0OWFjYzBlMTg5NTc4YTA5ODU2YThmMDBkMjQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2Fu
dmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmNhbnZhcy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBE
TyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0
LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmNhbnZh
czwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFn
ZS5jYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMxLDYgQEAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAs
MCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5jYW52YXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKaW5kZXggOGFmODNmMjE3NjVhNGNm
N2NmMjhlM2M3MTE5YjIwMGUzODdhYmRjMS4uM2ZmMmRiZWNkN2M5NThjNGQ1MWY4ZThkMWUzYzQ5
ZGU3MWE3NGFhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUs
ICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC5odG1s
CmluZGV4IGE1MWM0MTFhZGM0ZTQxZGM1NzU0ZWYzMTAzN2VmYTM2Mzk0ZmQyZTguLjU2MmE5YzVk
MGI4NDBkODI3NzNlNmNlM2JiYjQxYjBiMDAwOTI5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAuaHRtbApAQCAtMSw5
ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBo
YXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5jbGlwPC90aXRsZT4KKzxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmNsaXA8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMwLDExICszNSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5jbGlwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5jbGlwLndvcmtlci5qcwppbmRleCBmMDM2M2MyMmU3YWEyNzY5OGJhNGYy
YTQzYmZjNmY2MGE3Y2M5OWNkLi4xNzQxZjE1YjY4MjJjNTNmZjgxMjUwNjNkMzk2ODg3OGQ0ZmFk
NzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmNvbXBvc2l0ZS5odG1sCmluZGV4IDY4ZDY2ODQxN2RiZGFmNjRhZjUyY2MzMDlmMjll
NmM3NDUwZWI5N2YuLmRlMzc3Mzk5OTNmOTlkZmY3NzM5ZDc4NWJlZGU5OTliNWRhMzVmNGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5j
b21wb3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuY29tcG9zaXRlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+
CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xz
L2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1h
Z2UuY29tcG9zaXRlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZHJhd0ltYWdlLmNvbXBvc2l0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjksMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuY29tcG9zaXRlLndvcmtlci5qcwppbmRleCA0MzVjNzkzZTRlNTgyMzM4ZmZiZWNmN2Q1ZGMw
YjljNWYxYWEwNmY5Li5lZWNjODkxNGUzYjVhMDM5ZjlhMjk4YjBmNGRiNGMxYjg5ZWViMDlkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
Y29tcG9zaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuY29tcG9zaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5mbG9hdHNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKaW5kZXggMWQzYjIxYjdkYzI4YjdmZmFkNWYw
OGViMjAzY2QyOTlhMDczMjhhNC4uZjkwYjQxZDNmMzBhYTkwYjM0YWRmNDc3NzY3NDk0ZGM2Yzdh
ZmQ5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmZsb2F0c291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2U8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDExICszMSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEw
LjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMC4xLCAxMC4x
LCAwLjEsIDAuMSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZS53b3JrZXIuanMKaW5kZXggM2E5
MGQzM2Y3ODM0MGExOTYxMGE2OGMwNDU2ZTNiY2NiZjAwZjFmMS4uZDE1NGExMmIwYTZjZTUyM2I0
YjNmZTMwYjVmYWU4MmE4NWI1MjUwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2Uud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxMSArMjYsMTEg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAxMC4xLCAxMC4xLCAwLjEsIDAuMSwgMCwgMCwgMTAwLCA1MCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVk
ZXN0Lmh0bWwKaW5kZXggM2IzYTYwOWI2NGY1YjcyYTljNjI4ZmUwYmU0YmQxNDk4ZDhkNmVkYy4u
ZDAxOGU5NDNkNzczOWUyNzM2YmZmZTQ4N2Y4ODgzODY5Y2I0NDk2MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
ZWdhdGl2ZWRlc3QuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0g
RE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVz
dC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5uZWdh
dGl2ZWRlc3Q8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5k
cmF3SW1hZ2UubmVnYXRpdmVkZXN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5OZWdhdGl2ZSBkZXN0
aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGU8L3A+
CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJOZWdh
dGl2ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0
YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMDAsIDc4
LCA1MCwgNTAsIDAsIDUwLCA1MCwgLTUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAx
MDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwx
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwMCwgNzgsIDUw
LCA1MCwgMCwgNTAsIDUwLCAtNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAw
LCAxMjgsIDUwLCAtNTAsIDEwMCwgNTAsIC01MCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1
LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAi
NTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVk
ZXN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCmluZGV4IDkxY2Y0NjYzYjJmNjNjZGUwZDdjNjE2
ZWYzZDk5ODEwMDVhMzg0Y2UuLjAxODVkZDRhNDUyOTE1MzAzOGJkMDYwNDA0ZDc3NDA1OTgzNThm
ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJOZWdhdGl2ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50
cyB0aGUgY29ycmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAxMDAsIDc4LCA1MCwgNTAsIDAsIDUwLCA1MCwgLTUwKTsKLSAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAxMDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1
LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwg
MCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDEwMCwgNzgsIDUwLCA1MCwgMCwgNTAsIDUwLCAtNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMTAwLCAxMjgsIDUwLCAtNTAsIDEwMCwgNTAsIC01MCwgLTUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwy
NTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEs
NDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm5lZ2F0aXZlZGlyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbAppbmRleCA3NDFhYWVhMDJhMjI5Yjg0YWY5
MzFmMTk0MmUwM2Y5MjU1YTgxMzdkLi4yZjBhOTFkYWNjN2NmYTU2YTY0NGNhM2E4OWJmMzUyNmVl
ODdhNTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8
IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpcjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpcjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+TmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24gb2Yg
dGhlIGltYWdlPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiTmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24g
b2YgdGhlIGltYWdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMzLDIxIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMTc4LCA1MCwgLTEwMCwgMCwgMCwgNTAsIDEwMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgNzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAi
NTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAxNzgs
IDUwLCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDc4LCA1MCwgMTAwLCA1MCwgMTAwLCA1MCwgLTEwMCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1
NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwg
IjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZl
ZGlyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRpci53b3JrZXIuanMKaW5kZXggOWQ0ODEyYmYxNjk2ZjlmMjVmODNiYmMx
ZDRkODI0ZTZmNDBlYWY3MC4uYjI5Y2RhZDc0MGVlMGQyN2Q0M2Q4NDQzYzNkOGExYTVhNjllNmRj
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm5lZ2F0aXZlZGlyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJOZWdhdGl2ZSBkaW1lbnNpb25zIGRvIG5vdCBhZmZlY3QgdGhlIGRpcmVjdGlv
biBvZiB0aGUgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAxNzgsIDUwLCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUs
ICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDE3
OCwgNTAsIC0xMDAsIDAsIDAsIDUwLCAxMDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgNzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAs
MjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1
LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZl
c291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UubmVnYXRpdmVzb3VyY2UuaHRtbAppbmRleCAwYTk5YWE1Njc0MTJkODU5MjNjZmMwZWFiZTQ5
YmMxOTljNzBkZTU0Li5jMmY3OGU1YTk1MjYyMWJlNDA5ZjIzNzdmZDUyMTMyODZiNTY4NzA1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bmVnYXRpdmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2UuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURP
Q1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0
ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+TmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3Jy
ZWN0IHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIk5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUg
Y29ycmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAxMDAsIDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAxMDAsIDEyOCwgLTEwMCwgLTUwLCA1MCwgMCwgNTAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwg
IjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAs
MjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAx
MDAsIDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwgNTApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgs
MSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUs
MCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
ZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2Uud29ya2VyLmpzCmluZGV4IGZlMGIwYzE3YTc1
ZjdjZTcyMDBjZTY4MmRiZmQ2ZjI3NWI4NjU0N2QuLjIxNzFmNjkyZjUzMDNjYTZjZWI4NTM1ODUw
Y2QyOGU0YTJlZGY1ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdo
dCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwy
MSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOwot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4
LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEs
NDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAwLCAxMjgsIC0xMDAsIC01MCwgNTAsIDAsIDUwLCA1
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUuaHRtbAppbmRleCA0NzgwMDExYmQzMDU2ZDli
Zjk5MmEzZTVlMDk2YWQ0YzcyNzFiZTJjLi45ZDM3NjFhMGYxMTlhYjU3ZGIyMTQ0ZGQ3NmZmYmZh
ZGQzNDhiZTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwh
RE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVy
YXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZHJhd0ltYWdlLm5vbmZpbml0ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmRyYXdJbWFnZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsx
MiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMzExICszMywzMTEgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5m
aW5pdHksIDApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1J
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBOYU4pOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5m
aW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBOYU4sIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIC1JbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgTmFOLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZp
bml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4sIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5p
dHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwg
LUluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IC1JbmZpbml0eSwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIE5hTiwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTiwgMTAw
LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBO
YU4sIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAt
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAw
LCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUw
LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDRlYmM3NjE2NTI1MDRlOGVk
MjdlNTYyZmU5YmExOTg1Njc5MDM2Y2UuLjljMjZjZDI1NjAyMTdkY2Y2ZTM0NTI3YTNhYTEyYzdk
NThjOGQzMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsMzExICsyOCwzMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5pdHksIDApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgTmFOLCAwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBOYU4pOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgTmFOLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1J
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBOYU4sIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIC1JbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgLUluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmluaXR5LCAxMDAs
IDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAw
LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
LUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4sIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgTmFO
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAs
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAw
LCAwLCAtSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIDAsIDAsIE5hTiwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1
MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAs
IDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
MCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAs
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
MTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5p
dHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5
LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5p
dHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1JbmZpbml0eSwgMCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTik7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
TmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIE5hTiwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTiwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgLUluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBOYU4s
IDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBOYU4sIDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgLUluZmlu
aXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAw
LCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZp
bml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIElu
ZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
MCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwKaW5kZXggYjY2
ZWZlYmY3NTZlZWM4Mjg1MjBlZTY0MDVmNGU3NzI2NWI4MjE1MS4uZjBkZmIyOThmMjhhOGNkZjZl
YjBjYTVkNmMwN2U1MzJlNDI1ODdjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5ub3dyYXA8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uubm93cmFwPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TdHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5nIGFyb3VuZCB0aGUg
ZWRnZXM8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJTdHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5nIGFyb3VuZCB0
aGUgZWRnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxMyArMzMsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtMTk1
MCwgMCwgMjAwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDQ1LDI1LCAwLDI1NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1NSwyNSwgMCwyNTUsMCwyNTUsICI1NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAtMTk1MCwgMCwgMjAwMCwg
NTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0NSwyNSwg
MCwyNTUsMCwyNTUsICI0NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1NSwyNSwgMCwyNTUsMCwyNTUsICI1NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5ub3dyYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKaW5kZXggYjAxNDk3NGI2NGI3ZGFlNjQ0NGIy
NjI5ZTJiNGFiYjc5ZmJkYTMxYS4uYWFiMDg3NzFkYjQ0MzM0OGQxOTMyMzhlZGM2MGMxZTE0ZDA0
MjVlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm5vd3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRo
ZSBlZGdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC0xOTUw
LCAwLCAyMDAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NDUsMjUsIDAsMjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC0xOTUwLCAwLCAyMDAwLCA1
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ1LDI1LCAw
LDI1NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5udWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UubnVsbC5odG1sCmluZGV4IDc3NDUyYjljNzc2MWUwZmI1NmQ0M2NiN2QzNjExMjllN2E5NDFm
OGUuLjBjZjljYTI2ZDczMTQ3ZjM4YzNkNDUzOGI4MmEzM2QwZjZlYjExZTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwu
aHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5udWxsPC90aXRsZT4KKzxt
ZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm51bGw8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMiwxNiBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
dWxsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5udWxsLndvcmtlci5qcwppbmRleCBlODg2YTMzNGNjMWRjNzA3MWQyN2M0ZDYwZGEyZmE1
OWM5MTgyNWJlLi44ZWQwODg3ZWNkODc5NzgzYmQxOGUzZWI4MjIxNWE0OGY4ZGIyMjg1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubnVs
bC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm51bGwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UobnVsbCwgMCwg
MCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGguaHRtbAppbmRleCBiNGVjYTE0YTk5
N2EzNDE0YWQzNTQ1NTMzNmRmMmZmMWVmMzBjZjRiLi4xMGRhZjEyY2QyM2UwZWEyNTRjNjU2MWM2
OWEyODk4ZTcwNmVlNTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2UucGF0aDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmRyYXdJbWFnZS5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCwxMiArMzMsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbCgpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbCgpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcwppbmRleCA3
ZTRhMjQwY2VlNjQ2YWU5MWEzYjNiYzNmOGYwNjg5ZmU0ZDZjNjU1Li40NWEwODI5NzQ5MDRmMTIy
NDhiZWMxNjU2NWNhNmUyNzZmYzliMTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGgud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxMiArMjgsMTIgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbCgpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBjdHguZmlsbCgpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uuc2VsZi4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2Uuc2VsZi4xLmh0bWwKaW5kZXggNjgyOGI3YzA5NWQzY2IyNTI5ZDQ0MTc4M2QwNjE5OTI4
Zjk4NWI1YS4uZGU0YTBmN2ViNTlkOGRhZTc4OGMyMTBjZDY0YTA3NWRkOWYxZDA4ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYu
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5zZWxmLjEuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8g
Tk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5w
eS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zZWxmLjE8
L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uu
c2VsZi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICszMCw2IEBAIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0
OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uuc2VsZi4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCmluZGV4IGRkZDdlMThmZjIyYzFhYTQ5
OTU0OWUxOTI2MDhhZTQzMTIxNDRlMDEuLjVhZDkwNDhjYWFmYWIxOGFmNWY4NzgwOTk5NjQ2Y2Zl
YzI0MThhYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAi
OTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0
bWwKaW5kZXggNjkwMjAyZDMzMTY3MTEyOTljMzlkZGZiN2VmY2IyZjY0Njc2MmIzYi4uYjJlNThk
YjU3MTU1YWU5NjA5NDM3YmU3NGFlMmFiZjExYWNiNzUxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbApA
QCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zZWxmLjI8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uuc2VsZi4yPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAs
MjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUs
ICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5zZWxmLjIud29ya2VyLmpzCmluZGV4IGIzYzAwNWUyZTc1YThhYjkwN2MyOTgzNGRiMTlmYzg2
NWNiODdjMzUuLmM2ZmUwZGNkMmE4NzdkMDUyYmIzYmE4MmE2ZGRmM2Y5ZmU4YzcxZGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxm
LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5zZWxmLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
MCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSww
LDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwy
NTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwKaW5kZXggMmUzY2RjMDMwZmZm
NGIwOTgyODI4YzEwMTMzYWM0MmMwYzdlNWQ0Yi4uNzJiYTJlYzdiYTQ5YmRkMzQ1YjI1MjRjMjlh
YjI5MWIyY2JlMDlmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLnN2Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5zdmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUg
aHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
dG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRy
YXdJbWFnZS5zdmc8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5kcmF3SW1hZ2Uuc3ZnPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhbiBT
VkcgaW1hZ2U8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzEs
MTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpz
CmluZGV4IDY4NjBhODUyNTZjYjdjYWM2OTZlNWY4ZDczNmQ2MTgzN2RiNjQwNGIuLjUwODkyYzJi
NGEwYWYwYjA1NjY3YmMxY2QzNjU3N2UzYzFjNDAzYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMiwxMSArMjYsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRy
YW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLnRyYW5zZm9ybS5odG1sCmluZGV4IDA4MTdlODE4NTFhYmIzYTBmMTE3NTI0MDk0ODFmZmI3
ZDAwYzcyOGYuLmI3ODJiYTg3ZTY4YWJkMzk5MjhhZWViOWMwZDM0MDE2OTljZTZmMWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFu
c2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UudHJhbnNmb3JtLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8
IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dl
bnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2Uu
dHJhbnNmb3JtPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZHJhd0ltYWdlLnRyYW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjks
MTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5zZm9ybS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
dHJhbnNmb3JtLndvcmtlci5qcwppbmRleCA0MWIwZDRjZTVkYzNmY2JkZDQxYzA1YzU1MGVjYzhk
MWZkYWI0ZWFlLi5hNGNiODY1ZGMxZTU1MDgyMGQxMjI1Y2NlYWU2MDVlMmExNWJmYjFjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJh
bnNmb3JtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UudHJhbnNmb3JtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS53cm9uZ3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS53cm9uZ3R5cGUuaHRtbAppbmRleCBmOWI3ZjNhMWZiN2Y0OGFhZmQ4ZWI0MDc1MDg4
ZjBhZGNkNWQyMmFjLi41Y2IyODM0NjZiZDU4NzlkNzA4NGMzYjUyZTIzYTI1MTdmZTNmNmEyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
d3Jvbmd0eXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLndyb25ndHlwZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1s
PgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29s
cy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0lt
YWdlLndyb25ndHlwZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmRyYXdJbWFnZS53cm9uZ3R5cGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkluY29ycmVjdCBp
bWFnZSB0eXBlcyBpbiBkcmF3SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fk
cywgc28gV2ViSURMIHRocm93cyBhIFR5cGVFcnJvcjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkluY29ycmVjdCBpbWFnZSB0eXBlcyBpbiBk
cmF3SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fkcywgc28gV2ViSURMIHRo
cm93cyBhIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzI0LDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHVuZGVmaW5lZCwgMCwgMCk7IH0pOwogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKDAs
IDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmRyYXdJbWFnZSgiIiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0
eXBlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS53cm9uZ3R5cGUud29ya2VyLmpzCmluZGV4IGM0ZjQ2Njg4NTdhOGJiMzlkNzMzN2RhZTE0
OGRjMTFmMDAxZjMxOGEuLmZmZGMyNTAyMTYzNWE4MjY0YmM3YzM3MWE3ZjNlNWUzYzEyMzY1MzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS53cm9uZ3R5cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJJbmNvcnJlY3QgaW1hZ2UgdHlwZXMgaW4gZHJhd0ltYWdlIGRvIG5vdCBtYXRjaCBhbnkg
ZGVmaW5lZCBvdmVybG9hZHMsIHNvIFdlYklETCB0aHJvd3MgYSBUeXBlRXJyb3IiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJ
bWFnZSh1bmRlZmluZWQsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZSgwLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoIiIsIDAsIDApOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLmh0bWwKaW5kZXggZWY2
NmQ1ZWRjNTQyNmZlZDNmMzQyMDdkN2QxMTdmNDIzZDEyOGYwNS4uZjk0NWNlZGFiMTVmYjc3ZGMy
YTcxNGQ3NWQ0MDc1ODc2MzZjODA1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sCkBAIC0x
LDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnplcm9jYW52YXM8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuemVyb2NhbnZhczwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzEsNiBAQCBhc3NlcnRfdGhyb3dz
KCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsCiBvZmZzY3JlZW5DYW52YXMyLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhczIu
aGVpZ2h0ID0gMDsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7IH0pOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMKaW5kZXggM2ExN2Nm
ZTVhMzkwOWE5N2U2OTliM2Y5ZDY3OTk2MjY2OThmMjY0MS4uMWU5ZDYzY2Y5MmIwMzUzYzg4NDI2
Y2Y0Y2Q2OGU1YTUwNzMzMzQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBhc3Nl
cnRfdGhyb3dzKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsCiBvZmZzY3JlZW5DYW52YXMyLndpZHRoID0gMDsKIG9mZnNjcmVl
bkNhbnZhczIuaGVpZ2h0ID0gMDsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaHRtbAppbmRleCBhNzY3MGNk
OWYyZWZhZDIyNzBkNjdhZDkwZDNmYmM3NGNhNWZhNDFlLi5iOTQxZjNhYTNhYWE4OTMyMmI0MDAx
N2QwMjkyNzRkY2VjMjY0Yzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmh0bWwKQEAgLTEsOSAr
MSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFz
IGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuemVyb3NvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvc291cmNlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUg
dGhyb3dzIElOREVYX1NJWkVfRVJSPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVj
dGFuZ2xlIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDEzICszMywxMyBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDEwLCAxMCwgMCwgMSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3Mo
IklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEw
LCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVY
X1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwg
MCwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwLCAxMCwgMCwgMSwgMCwgMCwgMTAwLCA1
MCk7IH0pOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsg
fSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFn
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnpl
cm9zb3VyY2UuaW1hZ2UuaHRtbAppbmRleCBjMWYyYjMyNGQ1ZjIzNzA1NGQ1ODRhZjhjYmFiMjZm
MzE1ZWQwMGFhLi4xYWJjYjZhYmY0OTVhZThmNjk1OTM5M2RkMzQ5NmQ2MDQxYjZjYzc1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVy
b3NvdXJjZS5pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUg
ZnJvbSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVk
IHNvdXJjZSByZWN0YW5nbGUgZnJvbSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCwxMyArMzMsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAp
OyB9KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsg
fSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29y
a2VyLmpzCmluZGV4IDNjYzNjNzIxMTllNzVhZTlkZWFlNWY4ZjVkMjI1NDZmNTkwYzdlMWUuLmNm
NDcyYWM0MTc5Yzk5MDMyNjFmOGM3MmYxMWQ0OWJjNjEwNzc4YjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSBmcm9tIGltYWdlIHRo
cm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAg
YXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAg
YXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5E
RVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgNTApOyB9KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2Uud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnpl
cm9zb3VyY2Uud29ya2VyLmpzCmluZGV4IDBmMGVkNWQ5ZGQxNmU0ZDZkOTczYjgwMDFkMmM4NDk4
YzM4OGMzOTcuLmIzYjZhNTljYjdhZjE1MDg2M2Y0ODNkZTQzODM3ZWI5MTRkZmFmYzYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJv
c291cmNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSB0aHJvd3MgSU5ERVhf
U0laRV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxMyArMjgsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDEsIDAs
IDAsIDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDEsIDAsIDAsIDAsIDEw
MCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTAp
OyB9KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAxMCwgMTAsIDAsIDEsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDEwLCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbAppbmRleCBlNTE0MWQ2OWFl
YjI3YzJjOWZlNWQ1ZDM0MzdmZjgyNDk2NjY2YmM1Li5iNzk1MDY4MTg1ODYxMDAyYTUwYmMzYTc5
ZTg4NGFkOTY5NDdhYmJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QuYmFzaWM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY2xlYXJSZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgY2xlYXJz
IHRvIHRyYW5zcGFyZW50IGJsYWNrPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGNsZWFycyB0byB0cmFuc3BhcmVudCBibGFj
ayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtl
ci5qcwppbmRleCBlYjBhZTRlZmUwYzdjNDUzNzBkMzMyYmU0MmUwYjQ3YzcxMDg4YmM5Li43ODcx
YTAzOTUwMzRjNWZhYTVhNjZmNDAzM2I1OWEzMTQwNzExMWE2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGNsZWFy
cyB0byB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5j
bGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJS
ZWN0LmNsaXAuaHRtbAppbmRleCAyNWFmMzJkY2ExNDVjNzJjYjgzMTEzZWEzNWNiY2ZiZDFhNzNm
MmZhLi4yYzNmZjBkZjkxYjNiZmUxNjJmYTFkYzdjOWJkMmU2NjEyNjFjY2MyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJS
ZWN0LmNsaXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY2xlYXJSZWN0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2xlYXJSZWN0LmNsaXA8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJS
ZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2
IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLndvcmtlci5qcwppbmRleCBjZTU4ODcx
ZWNmYzljMGI5ZmQxMGY0OGJjNmRlODg0MzBkZWFjYmY4Li40NTZhYWY0NjA0NmU2NmIzNDM3YWFi
OTcyZmJkYmM0ZWVlMjY1ZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyBy
ZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwg
NTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBo
YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5nbG9iYWxhbHBoYS5odG1sCmluZGV4IDE5ZGRhYmZjOTMyYTg5ZjBhNzI5MjFkOTgwM2M0Yjdl
NGI3NGE2MjMuLjlhMjg5YzlkNmRiZDdmOWM3YWQ1ZTZjMjE4ZTBiMmQ3OTM0OWU4OTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
Z2xvYmFsYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
bGVhclJlY3QuZ2xvYmFsYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBu
b3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGds
b2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjE7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5nbG9iYWxhbHBoYS53b3JrZXIuanMKaW5kZXggYTI5Y2U0NGQ4Mjg0NjhjNDhmZDM1NzRiNzA2
ZDdkOTcxMzlhOTJlNi4uN2ZlYjE5YTlhM2YyNjA5MDQwZGQ0YTc0YzAxMjkwNzZlOTBjZGM3ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFy
UmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0
eC5nbG9iYWxBbHBoYSA9IDAuMTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCww
LDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29t
cG9zaXRlLmh0bWwKaW5kZXggNjNhOWFjMzUyZWY1YjMwMzRlYWU1ZDUxNTJjYzA2ZDQwODdjMzgx
YS4uN2NiNTM0YzBlYzliMjdjNTZmOGI4MDQwMzk4MmFkZGIyYTE1N2Y1ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxj
b21wb3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFy
UmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0
IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiBjdHguY2xlYXJSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29t
cG9zaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcwppbmRleCA0ODczYjBhMzU5ODVm
MmQzNjRmZWY5Yzg4NDc0OTQ2ODk3ZWZmMGM0Li41NmM0NmQ0YjJhYWM0NzY5N2FmY2UwMjU3NGQ5
Y2VmMTcwODlhMmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3Np
dGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFm
ZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5o
dG1sCmluZGV4IDA2NGY4MDU0NDIxNGFlN2VjM2E4Y2I2ODRjMDhkNDIwM2U4Y2UyMjguLjU1ZWVm
M2Q5YjlhMDJmOGJlZTQ5ZjA1MDk3ZDc1NzMzZjlkNDYwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRpdmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5l
Z2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNsZWFyUmVjdC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QubmVnYXRpdmU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVj
dCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMCwwLDAsICIyNSwxMiIsICIwLDAsMCww
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwwLDAsMCwgIjc1LDEy
IiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAs
MCwwLCAiMjUsMzciLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NzUsMzcsIDAsMCwwLDAsICI3NSwzNyIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3QubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggOGRjMWNmMjRmMTJm
NjJjODgzNTg2ZjMzYmFkNGFkMDI5ZDljNDkwMy4uMTc1NjM0ZmM3MWEyZGRhYTA5NDI2MzNkNTlj
ZTAzOTVmNDVmOTg3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3Jr
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMTIsIDAsMCwwLDAsICIyNSwxMiIsICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwxMiwgMCwwLDAsMCwgIjc1LDEyIiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAsMCwwLCAiMjUsMzciLCAiMCwwLDAsMCIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMCwwLDAsICI3NSwzNyIs
ICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0
ZS5odG1sCmluZGV4IDhlM2IyNDFhNWJhZjE1MWNlMzVkMDQxN2U1NjZlMTJkMTg3OTI3NjYuLjFi
MjM2Njc4YTcwZDMzMGFjODgxYmRjYTliN2NmNTMxMDhhODc3NmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3Qubm9uZmluaXRl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiY2xlYXJSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTQyLDcgKzQ2LDYgQEAgY3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKIGN0eC5jbGVhclJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmNs
ZWFyUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpz
CmluZGV4IGJkNTEyMzM2ZTAwMzc4ZmRiY2Q0YTRmNWY5YTA0YmNmODI4MGViMGUuLmE2OGU1NGZm
ZDFkYmRhNzAwNjRiMDU0NjgwMjJjZTMxYjUzODdmZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIGN0
eC5jbGVhclJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguY2xlYXJS
ZWN0KDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3QucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC5wYXRoLmh0bWwKaW5kZXggMDBkMjI4NmZiNTY1OTcwNDJiN2U0NTdkMWYyYWVl
NjBiMWIxZTFkYi4uMTdmMjAwYTVkNjkzYmI1ZTE1ZTQ1N2VhNDI0OTcxZjA5MDZmODMwOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmNsZWFyUmVjdC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5wYXRoPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBh
dGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJjbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAw
LCAxNiwgMTYpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QucGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgud29ya2VyLmpzCmluZGV4IDM4NTY3MmQ5ZjI5Mjgw
ZDMwODk1MTViYTU4MWRiYmNmMTRjODFkYzIuLjQ2NjE2OWE1ZWIzZjYyZjIzOWFlZTdlZjZhMDYw
OGZkNTI2OWRkOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRo
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5j
bGVhclJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbAppbmRleCA1NGNiYmZi
MjAxZmFmMTdiM2I2ODY3NjJhYzVjNDAxYThhMjY5N2E4Li5hOGJjNDdkYmQzOTZmNzEzNjc3YTdk
MWVlYTJjMGZmMzA0OGVhY2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5zaGFkb3c8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY2xlYXJSZWN0LnNoYWRvdzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0
IGRvZXMgbm90IGRyYXcgc2hhZG93czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3MiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMDsKIGN0eC5zaGFkb3dP
ZmZzZXRZID0gNTA7CiBjdHguY2xlYXJSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3Jr
ZXIuanMKaW5kZXggODZiZDE0OWEzZjhiODAxMDZiMDNjNmZlNzYzMTc5MmQ0MGViYjY2NS4uMmYw
NmU4MWFmMjZlNjkwMjk0ZWFlNWZlN2MwZmY0MjRmM2QzYThiMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3Quc2hhZG93Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRv
ZXMgbm90IGRyYXcgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd09m
ZnNldFggPSAwOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5jbGVhclJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
dHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
Y2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sCmluZGV4IDE0Mjc4YWIxYTU5OTc5NWNmMGZjNmJkN2I0
YjNmMDI3NWMxNzk1ODIuLmEzMmE3YjEyN2UwZGE4YzhkM2Q4M2VkY2Y0OWE1NDhmZjUwZDNlMGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3QudHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
bGVhclJlY3QudHJhbnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgaXMgYWZm
ZWN0ZWQgYnkgdHJhbnNmb3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2NhbGUoMTAsIDEwKTsKIGN0eC50cmFuc2xhdGUo
MCwgNSk7CiBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4
IGU1ZWEzMzM1NWE4NThmMTkyMjA2MmM1MjAzNmY0Y2FmNjlhMDg0YzQuLjZkYTBkMmFiMWJhNTE2
OTQyODIzYWU3ZDc3NDE2MDNkMWVlMTRjMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3JtLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5z
Zm9ybS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZl
Y3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2NhbGUoMTAs
IDEwKTsKIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbAppbmRl
eCBkMWY5NTUzMGViODY2ZjRhMTYwMzQ5NTEyOTA5YTc2NzFlNjBjZGNlLi5jMDY4YTdhNmI1YmMz
OGQxZWRhYzY3NmE0MzAxMDUzOGRlYjAzMzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0Lnpl
cm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY2xlYXJSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVj
dCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9mIHplcm8gcGl4ZWxzIGhh
cyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwg
MTAwLCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAw
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVy
by53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0Lnplcm8ud29ya2VyLmpzCmluZGV4IDAwODUwYzZiMGYyZDQ1ZmVhZTU1ZmI0YTkyNjI0
MDlmNDY1OWE2ZGIuLjMzMmNjZTJiZjk4NzczOGVmZGU4MTAzYmVjMDQ2MDdiMDRlNDZlMmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Y2xlYXJSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsy
Miw2IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwg
MCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKaW5kZXggMmY2ZTZkMWE5ZmU3
OTEzMzM2ZjI3YzY2NWE4MGIwYTE0NjkyNWE3Yi4uOTJhYTg3Nzg1M2Y4NjcxZWE3NzY3YTAwM2Q3
NzQ2NzEwOGNiNGZjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0LmJhc2ljPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxSZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCB3b3JrczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0
IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5maWxsUmVjdC5iYXNpYy53b3JrZXIuanMKaW5kZXggODA1NTYxMDQ0ZmZiNmM5YzUwMTA4
NGFhNTc3MmVjZjE5MDljZmE0Zi4uMTdlZWQzYTg3M2RiODg5ZjBhODUyMGE4ZTM4ODNhZTc3OGYx
NWUwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmZpbGxSZWN0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJmaWxsUmVjdCB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC5odG1sCmluZGV4IGRkYzYyNWRmYmU2ZTVjNGNk
N2QzODMzNDNhNWZhMGNlNjlkZWU1ZjkuLmE3YTE2MmUzOTJmZmEwOTRhZTBmM2U3MTdmZTBmZjQz
YjU1NTc5N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5maWxsUmVjdC5jbGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5j
bGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGlu
ZyByZWdpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzCmlu
ZGV4IDc0MGE5ZGU1ZTIwOGQ1OGMyY2VjMzc3ZGFjZjk5MzE5NzE3MDg4Y2MuLjExMjVhNzQxN2Uy
NTAyN2UyODZiNDhiN2U4MTE4NTFlZTNkMjQzZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IGNs
aXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTYsIDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdh
dGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0Lm5lZ2F0aXZlLmh0bWwKaW5kZXggYmE1MjVjZTIzOWM3MjIwM2FlZTY1N2FhOTQyNTlhNjYw
NzRhZGJjMS4uNDMzMzQ4NzE2ZDRlYTUyYmY3ZjFkZTlkMWJlNmFmMDI5OGZmOTQ2ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5l
Z2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmZpbGxSZWN0Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0Lm5lZ2F0
aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3Jr
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwx
MiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIs
IDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwz
NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVnYXRpdmUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCBkZjY0NGQ1ZmIzODc0YWZlOTk2M2YyMzlhODQ2ZGI2
ZDFmMGM1ODc3Li4wOGRlMGU4ZmRjNmM4NDdiNWJhMmQ3MGNjNWIwOTQwMTk0ODk3N2NhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
bmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIy
NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3
NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
bm9uZmluaXRlLmh0bWwKaW5kZXggN2JlZGVlNjMyNzYwODdhNGY4MTg3NmIxYTFjYzhiNTk3MDI4
MDdlYi4uNGQ3MmQ4OGUwYjczZGZjMDZiYjY3NjgzNDE4N2ZjZmYyYjAyNWIzMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZp
bml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0Lm5vbmZp
bml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBp
cyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbFJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNDMsNyArNDcsNiBAQCBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CiBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmZp
bGxSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2VyLmpzCmlu
ZGV4IDc5NDU1YjI5ZjYxNWU5NDNlODc1ZDlkZjI2NGE5MTUyZTgzYzE4YTQuLmU3ZmI3ZjcwZWQ1
NDc3NDg5NjM3MmE5ZjQyNWIyYjZjYjAzMzFkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25m
aW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCgpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIGN0eC5maWxs
UmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsUmVjdCgwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguZmlsbFJlY3QoMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
cGF0aC5odG1sCmluZGV4IGZmNjUzMGU5ODg1MTRjZjg1MzE3ZGE3ZmY5NDA2ZGY3NTBjNDlhNmQu
LmU0MjM1ZGNjZmM0Y2EyZDA3N2QxZGY4Mjk3ZjIyYjUwZGQwMjE5MjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBh
dGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5maWxsUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGRvZXMg
bm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
LnBhdGgud29ya2VyLmpzCmluZGV4IDc0MzM2MjBlZDYxNzJkODcxMTRjOWU3NWY4YWNhOGU4ZTM2
OTBlOWMuLjFmMDQ3MmViODk4M2U5NmQ0NDNkMGQwYjliNzFkMTY3NzUzMWUxMTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRo
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
ZmlsbFJlY3QucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0
IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNo
YWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LnNoYWRvdy5odG1sCmluZGV4IDEzOTliYmJmYjYyNjU1YzQ2YzRiNWJmMDA5NDVhYjE2MjJk
ZGE1OTAuLjc0NGI1MzU4MWNhMWQ1ODM2NGIxN2YxY2UxYjg0NDRlOTc2NjhlY2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3Quc2hhZG93Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxSZWN0LnNoYWRvdzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5zaGFkb3c8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IGRyYXdzIHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBkcmF3cyBzaGFk
b3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDA7CiBjdHgu
c2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cu
d29ya2VyLmpzCmluZGV4IDdmMDU2ZjUwZDNjMTcyYmEyMjg1N2ZiMmUwNDlhNDQ3YThjNDIzYzku
LmYzMWE0MTY2NjI1ZjY5YzAwNDVhMDNlNTZkMTk5MzJlNWZiNTViZTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxs
UmVjdC5zaGFkb3cud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBk
cmF3cyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9
IDA7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3Jt
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
dHJhbnNmb3JtLmh0bWwKaW5kZXggMjFiNzgwYTU1Mjk0ZDAwMGNhOWRjNDk3MWE1NGEyZmE2ZDBk
YzM4OS4uYTQ2NTJiNTAzZGM2Mjg5MmJlYjJmZGE4OTc0YmY4OTUzOTdiMzc3ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5z
Zm9ybS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC50cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFJlY3QudHJhbnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LnRyYW5z
Zm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNm
b3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuZmlsbFJlY3QudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4IGQwYmZh
YTlhNGJhZmI3ODJlMmU5ZWRlYmIwYTRiMmNiODI4OWNhMjMuLmE2MWE1NjMzOTE3NzU4NTM2Njhl
MWMwNzRlNTRkZTYyYWU4OGEyMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0
cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLmh0bWwKaW5k
ZXggYjEzMDllZTFmN2NjZmExMDk4NWI5NGZlMmRmZGMyMzk2YzRhYTNlNi4uOGI2OWM1YzI3MTdk
YTM3MTdjN2E4N2QzOGU4NjMwZWEwNjM3MGU0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC56ZXJv
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IG9m
IHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3Q8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8g
ZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAw
KTsKIGN0eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMCwgMCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVy
by53b3JrZXIuanMKaW5kZXggYWZlMzgzMmNjMWNmYzRlYWE4MTNhYzBjM2U0MTMyZjdiM2FjMzA1
MS4uNmE1MzdkOGQ2MmJkZGU4NDgxOTg1YzdhNGY0ODcxYmY0NjAyMjJiOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxs
UmVjdC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qgb2Yg
emVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgMCk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMCwgNTApOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0LmJhc2ljLmh0bWwKaW5kZXggMzI5ZTI5ODk3NGMyMDI2MmM0ZWE3OTc3
YWQ0MjQwOTllMjNlYjExYS4uMTE2Y2IyNDE5ZDcxMDMxYTc1MTJmYmUxMDA2Yjg3YWM0MzA2ZTIy
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJl
Y3QuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgd29ya3M8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0
IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7
CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJh
c2ljLndvcmtlci5qcwppbmRleCAxM2ZkMmFlOWIwYTkxOGRhMjNjMjVjNTMwYWVkZGM2OWNlYWZh
NjMwLi5lYTk2MTNhZTYxYjZiNGIzYjQ1ZDA3NWNmM2UwNDM1ZTFhZWFmMjM2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJv
a2VSZWN0IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAn
IzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAy
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNs
aXAuaHRtbAppbmRleCAxZjFjOTQ3ZDNlOTIxODFkYWEwZDdkNGE0ZTRmMWU5ZWM1MjRmZTE2Li4x
ODMyZDZkODkwYWMyZWQwMjg4MmQyNTAyMmQyOWVlNWMzMTViYTdmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
Y2xpcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zdHJva2VSZWN0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5jbGlwPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5zdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VS
ZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIGN0eC5zdHJva2VSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcwppbmRleCBkZmI2
NzA1YzA2YWIxY2NjYTE1YjViNzlmMmY5ZGE1NjNiMTQzZDA1Li43Yjc2MjEwZDdmYzczY2UwNjc4
Y2M4MWE3YTYxYzkxYjBiZTc3ZmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlw
cGluZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTYsIDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmds
b2JhbGFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS5odG1sCmluZGV4IDM1ZTRlMDY2N2UxMDYyZTc5NmJjOGNk
ZjNjMmFiNWY4NzczMzEyZDUuLjU2Mzg5N2YzNjhmNmI1YmFjZjFiNjQwZjJiNGE3NDRlN2QwZTJh
YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lmdsb2JhbGFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBo
YTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5z
dHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3Rl
ZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnN0cm9rZVN0eWxl
ID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1
MCwgMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUw
LDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCmluZGV4IGYyNDEyMDAzNGYwZjhiYzdkZmY3NGQ5
NGJlNDMzOGM5Y2ZhNzVmN2IuLjdjODFiY2M4MWFhZTI1Nzk3ZWEwNjYzNTI4NGM3OGIzNjJjNjRl
MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxw
aGEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0
eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29t
cG9zaXRlLmh0bWwKaW5kZXggNDRiODk2NmU0Mjg0MmVlODU5ZDMwZGRiNDFlMDc1MjUxMmFiNmE0
My4uNWQzNDRlODg1NzM4MDVhODkyZWRhYjBjOWVmMmZlZGMzNzRhNGRkYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFs
Y29tcG9zaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5z
dHJva2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJv
a2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lk
dGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3Np
dGUud29ya2VyLmpzCmluZGV4IDkzYmU2M2MzZWJiNmM1ZTkxNGMxMjMxMDdhMWNkNmZiOWRkZTdi
MWUuLmQ2ZTY0ODE0ZTk4YTlmNWE5YTg2MzczNWI3YTU0ZjZiMTA2OTg2NDUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2Jh
bGNvbXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAn
I2YwMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAy
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRp
dmUuaHRtbAppbmRleCBiZTVmOWFhM2M3NThlYWRmOWE4ZGUwYjExZDU2Y2I5NWQ4N2RhNDVmLi5m
YzcyNDBlOGEwYzE4MTcyZWEwZTAwZTY1Y2RmMzExMTIyM2RlNjJkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0cm9rZVJlY3QubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5uZWdhdGl2
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3Jr
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InN0cm9rZVJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1
LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwx
MiwgMCwyNTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1
LDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA5YzgzOTUwYTlmYzFhNGY5YWNmNzgyZTg3
NDZlZDdhMzhlNjBlYTg2Li43Y2JjY2M0YzAxZDA4YTc5YzgwNDRjMGMzNGFmYjc2NTJiMjdjYjY2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwy
NTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwy
NTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IDkxOTgzNjU4NzZjOWNkOWRjZWQ4
OTkyZDhlZTMyNDMwMDllNjgzZDUuLjYyMWQ3YjY5OGJlMjU1ZGIwODNjNDVhZDE3ZjM2N2RhMTZl
ZTczZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lm5vbmZpbml0ZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tl
UmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0KCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ0LDcgKzQ4LDYgQEAgY3R4LnN0cm9rZVJl
Y3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
bm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggN2ZiMTY4MTFhMGFiZTI2
MzBiOGMyZmFjNjNjOWI4ZjIyMmVlNzkyNy4uYmNkMGRlYjI0ODdhMTY5MzMxNGI0N2ZmMWIxMTc1
OGJhOTA3YjU3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3Qubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4g
aXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTQwLDcgKzQ0LDYgQEAgY3R4LnN0cm9rZVJlY3QoMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0aC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0
aC5odG1sCmluZGV4IGRjNDljYmZiZTY5YjMzYmY5NmUyMjA0NzY1YWQ0YTAyZjNjZjM5OGMuLjg3
ZmJjNDRkODhiMDU0YjUyYTMxYzY0ZjY4ZGE0NjY5YmY2YmI4YmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5w
YXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnN0cm9rZVJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0LnBhdGg8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnN0cm9rZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VS
ZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgs
NiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCmluZGV4IGI1OTA4YjE2NzRmYjY4Y2UxMTg4
YmVlZjNkZWJmNmU1NTI1MTM1N2QuLjhkNWJiYjA1OWFkNmEzOWUxOTQxYTNhYTg2M2Q2MzBmOWM2
YjExMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJzdHJva2VSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCmluZGV4IGEwNDJkOTQz
NTg5NDNlNGI1YWY3NGQwZmJjYjNkMzk0NjJmODRhYzguLmMxNTBmNWZhYzFhOGM3YTQ3NGIzNTBm
ODQzODM2MGU2YjViNzM3MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LnNoYWRv
dzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zdHJva2VSZWN0LnNoYWRvdzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tl
UmVjdCBkcmF3cyBzaGFkb3dzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBkcmF3cyBzaGFkb3dzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcs
NyArMzEsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gNTA7
CiBjdHguc3Ryb2tlUmVjdCgwLCAtNzUsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy53b3JrZXIuanMKaW5k
ZXggNzgxZTBiOTY5Yzk5ZDU0NzAxNjZjOTY1MDA5ODM4MTM1NzRmNWMxZi4uOWU5MWU5NzQyNTI3
MjU1Yzg2M2MzMmI4MjE2MGE5NjZlMjI4NGU2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFk
b3cud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRyYXdzIHNo
YWRvd3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsK
IGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRy
YW5zZm9ybS5odG1sCmluZGV4IGJhODU5YjhkODNlYWNiZmIwMDY5ZjlmMzQ3YmNmYWNmNjUyNTg0
MjYuLjJjOTAxMjliMzk1M2E4ZjJkNWUzYjdkZjkyMTQzOGVhZWExYjEzOTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5z
Zm9ybS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0
LnRyYW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkg
dHJhbnNmb3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1
OwogY3R4LnN0cm9rZVJlY3QoMi41LCAtMi42LCA1LCAwLjIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS53b3Jr
ZXIuanMKaW5kZXggODViYzZlOGIyM2M5MGZhMGE2NTkxYTgxMWZiYzNiY2YzNDQzMjBlMC4uODky
NzVlODA5ZWU1NDNjZmQxYjEwNzJlNzBhMzQ0NTU5NGUwYzVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
UmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBj
dHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTsKIGN0eC5zdHJva2VS
ZWN0KDIuNSwgLTIuNiwgNSwgMC4yKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLmh0bWwKaW5kZXggOTczYjlkMWFmMTRiZWJjODEy
ZjkzY2VlNWJhZDg5YTVmY2U0OTYwNS4uMTI0ODJhZjRjNTBkY2QwMDc2ZmI0M2I3ZWU1MDlhMjZl
NmRkMTg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QuemVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuemVyby4xPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnN0cm9rZVJlY3QuemVyby4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIDB4
MCBwaXhlbHMgZHJhd3Mgbm90aGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3Ro
aW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBj
dHgubGluZVdpZHRoID0gMjUwOwogY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLndvcmtl
ci5qcwppbmRleCA1ZDFmNDY2NGFmY2FhYzkyMzc2ZDliNmNlN2Y1ZWVmZjA4YzY5YjNhLi5mZmVk
YmU1YmQzNjVhOWM0NWQ3MDM0ZmE4NjM5MjcyMDM5YTNiZGIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qg
b2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHgu
c3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LnN0cm9rZVJl
Y3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56
ZXJvLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lnplcm8uMi5odG1sCmluZGV4IDE2MWUyNDA4MzlmYWFjZTU2YjZhZTcwNTgzOTllYTFk
MGY4ZjEyMGQuLmVmNDM4OGYwOTk0OGEzMGRmMjhmMGRhZTM1ODJlYTJlNjU1OGY2YmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lnplcm8uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lnpl
cm8uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdz
IG5vdGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVs
cyBkcmF3cyBub3RoaW5nLCBpbmNsdWRpbmcgY2FwcyBhbmQgam9pbnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsKIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7
CiBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIud29ya2VyLmpzCmluZGV4IGJkN2Y4NTIw
ODM2ZjUwYTQ2NmI1ZDkwNmViMjJmYTBkMTUyM2QyZDUuLmRlNmNmZWU3NGY2Y2Q1Y2JiZjVlZGFi
YmRhMzlkZjVmMTU4MjIyMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4yLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdz
IG5vdGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0eC5z
dHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuemVyby4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRtbAppbmRleCA3NTY2YmE4NDgyYTc0MmUzMzUxYzZlZTZi
OTM2N2E0MDBiZmI3NGU5Li44MDQyOTI4NGU5OWNiNTZjODlhNDE1MTI3MTEyYzAyOWY4N2FhYjhl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC56ZXJvLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tl
UmVjdC56ZXJvLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2YgTngwIHBpeGVs
cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAn
IzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC56ZXJvLjMud29ya2VyLmpzCmluZGV4IDBiNzNkZWIyNzZhNjY4ZDhjZmE1MDAzY2Q4ODYz
NWQ2YmVmMmZiYTguLmM0YmEyNGYxYjA0Y2RkY2ZmMTVjM2U1NmI4YjcwNTdlMWI4N2EwOTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4LmxpbmVX
aWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCmluZGV4
IGU0MGQ3OGQwNmRmZWY3ZDZkNGZjOTU0ZWE4NWQ4NDU1ZWE3YTg2ZjQuLjg2MGZlMzJkZDdiMTdi
MGQ1Y2EzMjJjMWViOTBiYmQwMzc4Y2YyYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VS
ZWN0Lnplcm8uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lnplcm8uNDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBj
YXBzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBj
YXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4Lmxp
bmVDYXAgPSAncm91bmQnOwogY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lndvcmtl
ci5qcwppbmRleCBlN2RlN2E1ZGQxOGM5NmZhNjY5Y2Y1Y2ZkZDQ1Y2Q3NmZjY2JhNzk1Li4zMWYw
NjYxM2QxZDMwYzY4MTg1YTQ3ZTNmZGE1ZDNiNzMzN2NkM2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qg
b2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5saW5lQ2FwID0gJ3JvdW5k
JzsKIGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbAppbmRleCBjMjNmNjc1ZTgyNWRk
NGFlNTZhYjNiNTRkMWJkMGMzNmU1MjhhYmVmLi41MDA1MzY3YjFhNGNkOTI2YmZlZWIwY2YxNTli
YTBhNDA0Y2ZiYWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc3Ryb2tlUmVjdC56ZXJvLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qg
b2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9m
IE54MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIGpvaW5zIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsK
IGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lndvcmtlci5qcwppbmRl
eCBjYjgyMjRlZDg0ODgyZTNiODE2MDc4MTRmMTIxYTA0MzFjN2Y2OGFiLi4xNTU2NjNiYzFjYWU0
ZjlmNGJhMWUwMmNlMDZhYmIwMmRkOTAwMzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8u
NS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBp
eGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0
cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUuZGVmYXVsdC5odG1sCmluZGV4IDBlMDExYWRkMmQ3NjBlMzA1ZTgyZWFkODE1ZTc5N2Q1MzUw
YzNhZmQuLmFkYzQ4MThiNjQ0YjI2OTA4NjVjM2E0YzkyZDVjMTVmM2E0ZjVjMTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICcjMDAwMDAwJywgImN0eC5maWxsU3R5bGUi
LCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwppbmRl
eCBiZDVhZjUyMjhjMWJlNzA2YzQzYTBmNGUxYjM5Y2QyOTdjMjE4ZDZiLi45OTU2M2Y3OWViODBi
YjE4NTlkNTM0NjIzY2IwNTRkOGVhY2MzODBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2
ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCAnIzAwMDAwMCcsICJj
dHguZmlsbFN0eWxlIiwgIicjMDAwMDAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFu
c3BhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdl
dC5zZW1pdHJhbnNwYXJlbnQuaHRtbAppbmRleCBkMjEyODJhNTkwMDllZWRjYjZiNTQ3NjJmODI5
MTYzOWYzNWIyODI1Li5lMzk0Zjg1NTA5MjIyNjg4MTVjMDFkYTM2ODE0ZTJkNjc4NjBhODllIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNl
bWl0cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNDUp
JzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL15yZ2JhXCgyNTUsIDI1NSwg
MjU1LCAwXC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2Vt
aXRyYW5zcGFyZW50Lndvcmtlci5qcwppbmRleCA2ZDU0NGYxN2UyMjdhZjkxNDU1NmU5MTEwNDJk
YThiNjIzMWVjZWYyLi43ZmExNTdkMTljODcyNmEyMzgyMTIyZWQwYWEzYjIwYTI4MjMwYWY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNl
bWl0cmFuc3BhcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUs
MjU1LDAuNDUpJzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL15yZ2JhXCgy
NTUsIDI1NSwgMjU1LCAwXC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRt
bAppbmRleCA1ZGE1Yjk3Njc1MTU1ODQ1MzFmM2Y4ZjE4M2E0NjMyZTM2NGMyMDlhLi4zY2JhM2E0
ZWI4ODViZGVlZmJjMDZiOTZiMTQ5YTE2ZDdlOTU1MWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuZ2V0LnNv
bGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5nZXQuc29saWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJyNmYTAnOwogX2Fzc2VydFNhbWUoY3R4LmZp
bGxTdHlsZSwgJyNmZmFhMDAnLCAiY3R4LmZpbGxTdHlsZSIsICInI2ZmYWEwMCciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC5zb2xpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcwppbmRleCBhZWVhNDRhYmQxYzhmMGVl
OGI4N2MxMWJlZTRmOTVkOGNiMGM2OThjLi43ZmE3ZmQ1YWU5ZDViMDVmODlmMjI0ZTJjMzE5Nzli
OTJiNmE1MTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5maWxsU3R5bGUgPSAnI2ZhMCc7CiBfYXNzZXJ0U2FtZShj
dHguZmlsbFN0eWxlLCAnI2ZmYWEwMCcsICJjdHguZmlsbFN0eWxlIiwgIicjZmZhYTAwJyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwKaW5kZXggYTM5MGFiYmI4
NzNhMGQzZDdhNDM0NmQzN2JlOTkzOGQ5M2U0NTJlMS4uZmQ0YzQ0NTczZWQzNzE1ZDI0N2UyYTY1
NTQzYzkwOWE1MmFjYWRhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmdldC50cmFuc3Bh
cmVudDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDApJzsKIF9h
c3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICdyZ2JhKDAsIDAsIDAsIDApJywgImN0eC5maWxsU3R5
bGUiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJl
bnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdl
dC50cmFuc3BhcmVudC53b3JrZXIuanMKaW5kZXggM2RmOTFkZDFhMWM1ZGMxMDE2YjM2MGY3YmZj
MDhiODVmZTAzMTUzNC4uOGJiMTc1YTBiZTdhYjZlZTAwZjY4ZDJiN2Q5ZDJmMzAzOGJmOTEyZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50
cmFuc3BhcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMCknOwogX2Fz
c2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgJ3JnYmEoMCwgMCwgMCwgMCknLCAiY3R4LmZpbGxTdHls
ZSIsICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3Ry
aW5nLmh0bWwKaW5kZXggOGQyMzI2MjAyOWM4ZGFkZjAzODY3ZGM5OGFmZWIwNTgwNGZlNzg4NC4u
Y2YyY2E0YzA1Nzk1ODdjOGE2YzVkOTgzNDBjNjc3NTU3ZTRmMjYyNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmlu
Zy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUuaW52YWxpZHN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogY3R4LmZpbGxTdHlsZSA9ICdpbnZhbGlkJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlk
c3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5pbnZhbGlkc3RyaW5nLndvcmtlci5qcwppbmRleCA1MDE4OWJkZjY4ZjJkYzNmMjE0ZDQ1ODMy
OWM1ZDRhMzYyMDM5OTdhLi43MDVmOGFlNjk3MzAyMzc0NjA1MTQ4MzY3NzY1ZTBjNGUxNDI3ODE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52
YWxpZHN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmludmFsaWRzdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2ludmFsaWQnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbAppbmRleCAz
ZDEwNDNkMjhkNzMyODUxZGQzOWRiNWRkYWI2ZmEzY2U2NmYzMDVkLi43M2Y2YmJhZjU1YmQyMmEw
ZTU3ZmMwNzJjZjRjN2VkODdiMDU1NzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmludmFsaWR0eXBl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxT
dHlsZSA9IG51bGw7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLndvcmtlci5qcwppbmRleCA0
MjJhZTNlODliOTFiNGEzZDgzYTJhMzc5NTM4OTNiYjYxMWY1NjhlLi5hNTk4NjhkNGUxOWNkYjE5
YmI3ODQyMDQwYTVlM2Y4MjAyZjhmYTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsU3R5bGUgPSBudWxsOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAppbmRleCBmNzk1Njk0YmRlOTdlMjk4NGEz
NDQwMGJmYjQ2MjdmNmNiYzIyNGU3Li5lZDg0NGVjN2RlNjJmZTdkZWU5MzA5MWE2ZDZjZjhkZTU4
MmExNWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC0xLndvcmtlci5qcwppbmRleCBjMTQ3OTA1ZDVmNzZjNjc4NjQ3NWU5YTM3
ZGQ5YTNkYmIxYjFlMTg1Li43ZDM3NTE2Yzk2Mzc2ZWJjMWU2OTQwNWVlMzVhNDA5OWM3OTczNjFi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIw
IDEwMC4wJSA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTIuaHRtbAppbmRleCBhMmMyYzcwZDYyNTkwNGVlMWMwNGY5NTMzN2NlOTc1MDRiOTdiYWEw
Li5iMzcwMzRiNTIzOTYwNWYzNDIwNTEyMDAxMDcxMzU3NWI1NDgxYTA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlIC8g
MC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi53
b3JrZXIuanMKaW5kZXggZDdhMzdkMmMwMzc3OGZlNjM1M2I5MjlhZjE3YTg2NmZiMDc1N2U1Ny4u
ZTEyNWM3MDQ0MGRkMzljMThhNTM1ZmYzNWVjM2IwZmM2ZmJkZjA2NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUgLyAw
LjIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sCmlu
ZGV4IGEwYmY0ZjM3ZDBjM2VmMzFhZmRkZTliYjIxOWYwYWEwMTlmNjY4NTIuLjJkNDI5ZjBjOGZi
ODMwMzBjNTU3YTQ0NzQ2YzMxZWViZDQ5ZmRmYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcwpp
bmRleCAxNzA5ZjQ5M2RhNjQ1NzBkZmM2OTRmMDM2MGZlOWI2YmE4YWU4ZjQzLi5hZTQzYTYzNzZk
N2U2NDA5NTRiY2ZkYWYxM2YzNjQ1NzVhYTgyMDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKaW5kZXggYTI4
ZjY4OTQ4ZDkxMTZhMzY2MzUzOGE4YTU4YzdmODU2MWQ4NWM2Yy4uNGFjOGFjZDc0MTY3YzBhM2Vk
MjA4ZTQ5MDliNmE4YmY5NDFlNTU4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzCmluZGV4IDI5
MzVjNTFmMjkxOGI4MjA4YjZlNTNhYmMwNmM2YjljNmY1N2VmNTMuLjhiYTFkMzNhM2MxZjE1Nzll
ZTM2MjBiN2IzNmVlYThiMDRhYTMwMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJu
b3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAppbmRleCA4N2EwOTM1ZGFi
MjBlZDNhNWUzMTE5NDAwMGYxY2E5NGE0NDA3ZjI0Li5jNjczMTk0Y2FlYmI0MTQ4NDE5YmY1MmZl
ZDcyNTJiOWEyZTVjMTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUud29ya2VyLmpzCmluZGV4IDY0YzgxMDgw
ZTNmZmFlZTFiYmVmMjM0MGVmMDgwZWIzZjUwYjVkNmYuLmIzOGQ4NGZhYjgxMmM4MGExODQzOTBm
YjNjOWZlYTEzODljNmQyYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKaW5kZXggYzE4ZjlkOTA1ODJlMzky
ZTRmNTMwM2NmMzQ4YjE3OWIxMmJmZDA1Ni4uOTQ2YTc3NGZkZjAzYTBkNTVhN2I2OTJlZDk2ZTcz
NjQ4NGNiYTk4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lndvcmtlci5qcwppbmRleCBmZTMzZjRiMmJiYTM5YzQ4
ZTljZDI5ZGNmZTFmZDBmMTEyZGRiOTRmLi45OWNmYTI1ZWU1ZTA2M2QxOWU0MTc3OTU4MTgzYzVm
MmFhYTI5NzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCmluZGV4IDNhZDk1ZGIxNTU3NGVmOGIzN2ZlOTY1ZTMz
MDlkYTA5NzYyNmU5MWYuLmVjOTM5Y2ZjZjExMmRjY2MzMmU3NWRkMmYwODc0NWZlNjlhOGY5MmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsLTc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5v
dGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4z
MzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtNy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTcud29ya2VyLmpzCmluZGV4IDIxZDUxZDdkN2Y4NjgxNDUy
YTE1ZTYyMTlkMjE2ZWZiMTljMGFhNmIuLmZiY2JiYzk5NjljMDE3YjFiMGQ5MThlYTk4YzY0MWJh
MjE0ZDgzNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbCgxMzMuMzMzMzMzMzNncmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCmluZGV4IDk5NzFiMjI1YmExZGM5YWIx
NmI4MGZhNTdlNzY5YTBhZDU2Njg0MTMuLjUyZGE4YzljYjVkM2VlOGUwZDhlMjY5MTZiMGE5MjFi
M2Y1MmZiMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC04PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC04Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53b3JrZXIuanMKaW5kZXggYjViYzY0Yzhj
OGI5NzQ2MDhmZWUzNmFmNzQ1OTAwYWVkYTBjOTBhZC4uMmUzMTBkZTI2NGQ0MTNmMzFmMWE0MDNi
ODcyYjYyMWZkNWFiMjU0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4K
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAnaHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC05Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbAppbmRleCAwZDk5ZDE0NTdl
YjY2ZTg1ZWZlYWFmN2Q2ZTYyMjk3YWM0ZWY5ZDYxLi5kOGNkYTdmZmJiYjE4YzIzZDYzYWFhZTAz
YjkyNmIwOTBmYmIxNmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtOTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgwLjMzMzMzMzMzMzN0dXJuLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05Lndvcmtlci5qcwppbmRleCBj
YWUxOTUzMWViMDI4ZWVhZWY3ODdmMTViMDlkOGJmNTQzZTdhNjBlLi5mYmZjYmFlM2Y1ZjE4NGMz
ODc2NjIwNWEzMGI4MWY2ZjJhMzJiNjYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtOS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCmluZGV4
IDdmMDNmNzFiZTYwODRiM2E1NGNmOWQzMWUzNWZiYzczYjI0NTVjYWYuLjM1NWNlODhmNWEyYzE0
NDQ1NDY3M2VjYzc2ZjAzNGU2ODc5YjRmYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzCmluZGV4
IDIxYjQ0Y2U3ZjhjNDQ5NDBlNjliMTYyZTQ3YzAwYTAxMGUwNjcwM2UuLjE2Y2YxOTMyZjVmZWYx
ODQ5NDIwYWFhMGMxMzM2OWY2YjRiOTYyMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbAppbmRleCAwMTQ5NTdkZWUx
MmQxZTQ0MWFmNWU1YjM5N2I1NzM4M2I1OTE3OTVkLi5iOTEzMWE5M2I0NjNjMjMzZjIyMGNiZGZk
YTZlYThlZGMzOGVlYjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKaW5kZXggN2JmNzhi
OTI4NmNhYTc3YTJmMTU5OGQzYjQyMDYxNDhjY2ViZGI5My4uNWJiZDYxOGUwNzlhMmRkNGViYTU2
MjVlN2Y3ODdjMTg1ZGQ4ZmViNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA5ZmRlN2JkOTYzZDhi
YmY1ZTIxMzhiNjkxZWRlYzYzYTliYTMwN2IyLi5iZjhiZDFiNWE4YjQ0MGM3ZjlkZDNkNDhiMjM1
OTU1YmY4NGQ4MTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKaW5kZXggZmY2YWI4
MDE3NjE1ZmE2MThmYzEzYWIyMTUwMTU0MmU4MGJkZWMxZi4uOTAwMTRjODIyZWNkYzhiYmFiNWY4
Yzk5MjllNzU2NWMxMTU3ZDVmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbAppbmRleCA1NjY5OTMxOGE1
YzE4NmJkMmZlZjMyYzdlOWQzZGJmNDY0YTcwOGI4Li42NTZlYWNmNmFjZGE2OWI2YTkzZDQwMDhj
NTlmMzljMWZmMjJmZDAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC53b3JrZXIuanMKaW5kZXggZjM5
MTBlZjkwZjRjZjU0ZWU0NzMwMmJjZmU3NmJjYzFkYTA0MDEwYS4uMjUxZDQ3ZmY1OThlZjZhZWYy
YjA0NWU1ZWVjMjU0ODlmNzg5YmI2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2xhLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUuaHRtbAppbmRleCAxZTE5OTBm
MmZhZWUwOTI0NzRhN2YxYWMxZTI2OWZjZjliYjNmNmMwLi43NzQwM2NiMmYxZjQyMmUwNTgzNzdk
ZmExYTk4Yzc1ZGU5NjE2MmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
NS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzCmluZGV4
IGM5NjMxZWMzMDI1YzUzMzUxOWUyMTllNmZjZGNmYWNkYjNhOWEyOGEuLjkyMjJmNGM1ZDZkOGFi
YTExNTRiZTZjNmEwZWVkOTg1MTZiMmNjNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCmluZGV4IDBm
MWI2NDRlYTIxMWM2MDViNzA1ZjRiNWU1NzQ4MWJmYzc5ZGQ1Y2MuLjYwNGQyZTcxYzg1ZTE4ZTJh
MTJhY2I3ZjQzMmNjMWMyNDdjYmEyYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTYuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTY8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2xhLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMKaW5k
ZXggYzZlNDQzMGQ5NDc0NDcyYWQwNTRmMDc0ZDM2MTcyMDdkN2M2NWYzMi4uYmMxZDMwYmU1NWY0
ODNjNjgzYjI5MzQ1MzA5N2FiYWIyNjQzMDg4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwKaW5kZXggZGEy
OTA3NjJkNTdkZWQ5YTU4ZTljY2NlYWY3NzQ5NzZkMTIzY2EyOC4uYTM2ZjNiYjliNzExNDRlMWE2
Y2U5NDY4YmE5MzZhMjhlZmE5YjM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53b3Jr
ZXIuanMKaW5kZXggY2ZlYWVmZDA2ZDcxNjcwYTVkYTFiYzk5ZTEzZjE2OTgwMjQyMjU4ZS4uMGU4
MWE4MzRkMTczZTVjYzFkY2E1MzkzZDljMGVhOTdhNDU4ZDM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
Ny53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTMzLjMzMzMzMzMzZ3JhZCwgMTAw
LjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bGEtOC5odG1sCmluZGV4IDQwNDI3N2Q4YTBlNDdkODZjZTMyYWE4MzdjNjEwNTg5ZjY0M2UxMDcu
LjNmNWQxNWNkOTRiMjk5MDgzMThlYTM4YzQ1MWM0ZmIzOTk2ODU1ZWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTg8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtODwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5NTEwMjRyYWQs
IDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTgud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtOC53b3JrZXIuanMKaW5kZXggZmIzNDE1YWQ5MDM0ZTA1ZDE4MzJiN2RhN2M4
OGU2ZTQ4M2M4MzExNC4uYTUzZjRjZTY3OGNkY2RjNGM5ODJhOGQ3OGY4ZDZjOTRmOTQ3YTdhZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMi4w
OTQzOTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS05Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKaW5kZXggMmJkNWExMGE5N2MxOGUyODNhNDM2NmE1
NmIwNzJhNTM4ZTY5OTUzMy4uODUyNTg3NzNkZTk5ODMzNTBhZDFhMjhiNzJkZmQ4OTU5ZGFkY2Jk
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbGEtOS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTkuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtOTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS05PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
KDAuMzMzMzMzMzMzM3R1cm4sIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKaW5kZXggMWRmMWM4MmM4
ZmMxZmQ4MGJkYWI1MjhiN2JiNDMzZGIwZDY2MTIyMS4uZmZiYzRiMDY1NTU0YTQwZWNmZGUwNTAx
YTE2YmE0YWEwMjMwMmI3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bGEtOS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAppbmRleCAzMzEyZDA1
YTQyNmFlOTQ4YTA3NGFjMGVkZmIyM2ZiMDBiZDVjN2U0Li5jZDg4ZGViZjIyYTYxZmRhN2IwMjNh
ZDFiZDE5ZWE4M2NiMTU3ZmRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYigwLCAyNTUuMCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMKaW5kZXggNGQxMzg2YTU5YjA5N2YwNGEy
NmE4MGUxOGU2YzRhOTY3NzMwOGJlMi4uYjA5NWYwZTY4MmEwNWYwOTdhZmFmNTBlMTNlMDQzODU2
MmNjYWFkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiKDAsIDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2ItMi5odG1sCmluZGV4IDcxNmQ0ZjgwN2U5NWE2NTJjMWUzNzVjNzQ5Y2Q0OGI5NzcwOGVm
NmIuLmI2NDIzZmIwMjA1NjNiYjIyYjdmMzhjNmNhM2E5NmFkODg4NmIxN2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2ItMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIu
anMKaW5kZXggMTAwMzA5ZTViYzIxNjlkMzhkZjk0MmFmZjRiN2E2ZmE3YWU3MDNjYS4uNzRiYmFi
MzgyMTA3NDAwM2U2ZTcxMzRlNzAzZDJiYTk0NGNmM2NjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRleCBiMGZhYTA1OTQ5
ZGVmYmM4NTRiM2EzOThkODlhZmY0ZjYwODdmYTFjLi4zMGYxM2MyOGY2ODBhYTk0Yjc1MTVmNDFl
ZWFkNjZmY2M0YTEzNGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwy
NSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2It
My53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCmluZGV4IDZhYzQ3Nzk1ZWQ4Yjg0MDJlZmJj
MjJiNGNjZGM4MWZlMjI1ZjQxMjYuLjU4N2E1ZjM2Y2QwMmMwMmFlOGEwNjMyOWM5ZjE1N2VhYjA0
NGQwMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YigwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1
NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi00Lmh0bWwKaW5kZXggZGY4NTgwMTlhOTlkZGMwZjdhYWUwOTRlMzQzNGNjMGVkMGQwZjAx
ZC4uY2VmMDRmZDc5MmI0OGUxZWQ3NzRjNGM1OWZiMzIxZWYzZjhkMTI2YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5k
ZXggYWNkZmIyZGY0MTU2YTNhZWZiYTU0ODgxOTJiNzY4NjA3ZTdkMDNiOC4uYzJiMWMyYTM2NWVj
NGU0YzgyMGI5ZmZmZDliZTExYzA0OTYwMGFhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKaW5kZXggYjM4OTAzYjBiMjMwY2Q5Mzc1MmZk
MzZjYzE2NzRiYjBhOGNlY2I5Yi4uMTdmNTU5MWU3NzNiYjQ4OTkwNWVmYjZhN2ZiOTEyNWNkMmE2
OTNiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MCAyNTUgMCAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiLTUud29ya2VyLmpzCmluZGV4IDdjNDRkZGQyMWZhZTc2OWJkYzI1NTI5ZmQxM2UwZGVm
NTYyNjEyM2YuLjcyMzc5MzY0M2UzY2FkYWI3NjI5MzZkYTEzMWYzZWIyYTY5MTM1NTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwIC8g
MC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbApp
bmRleCBjNTRkOGRmZDBlOTI3MGRjYThlYjIwZGI4MzI0OTE4MGQ5ODgzNDU3Li40NjE3NGQ0MGFk
ZjQzNjdhMDliMTcyYjFhMjZhNjM1NWJiYmNjN2Y0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYi02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi53b3JrZXIuanMKaW5kZXggMjFkNjJm
NjIxMzIzNmQ2MWFhNjdjZDhjNWEyYTBkZGQzMmNlZmI2OC4uMDRjM2U4MWIyMTg5Mzk3NzViY2Ey
ZGY3NDY3NmYxNWNkNzg5NjUwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiLTYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVz
Ij4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAi
NTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKaW5kZXggZGJjODMxZGIzODNmN2U2YWM2MTczNDcy
YWNiYjk0NDg3Mjg0YjU1NC4uNzgxZWJkMzI3MDU5YjdkMDJiNzA4MDU3ZDZmMjVlZGQ3YWQ1YWYz
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYmEtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAyNTUuMCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS0xLndvcmtlci5qcwppbmRleCBjYmI2ODA2MTA3NTM5NzBjZWEwYzQ4MzUwMGY0
ZmZmZGMxY2I4MzI4Li4zZGVhZDczZGMyZDQ3YjFkZGZkYzU5ZThhNmQyNGNkZmY3ZGYxMzQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwg
MjU1LjAsIDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2Jh
LTIuaHRtbAppbmRleCBjMWY5YzZiYWY2YmMwZTQ2YzlhNzQxYmU0NTAxZTBkN2IyYjUxZWZiLi5i
ZTM2N2E2NDBlZTc0N2FjNTczYmVkZmQ0YTFlMjcyZGJhNmY5ZWIzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMC4yKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtl
ci5qcwppbmRleCBlZTNhMDlhODY5OGI3MmRhMjE3NjVkYjRiMDE4NTA2YmNmODk0MDE3Li5mZGZi
MWUyODdjY2VhOGUzNDY4MmJlNmRjYjYzMTVjZDk1YzhiOGUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0y
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAwLjIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZjk5
MjY2M2RmNmE4ZGY0YWE2NjRkMDI1ZjgwY2UyYjMwN2FiY2MyMy4uYTQwYzIyN2QxNmY3MzZkMjA1
YWQxODQ5YjVkNGNiZGFhMmNhNTcwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2JhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKaW5kZXggN2I1ZjM5
MjZlNDE1NDBkZmI1MTQ5MmVjNGU1MGEwNjdiNTk1YjAzMy4uYTQ1NmU2NTBkZjViNTcxNjcwMDFj
MWI2YTkwMDFjODM2ZDRlMjRkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LXJnYmEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sCmluZGV4IDQ4MmM5NWZlZmM4Y2Y0NjlhODE3
MTZlODcxYTMyZjNjM2FkMWFjZTQuLjA5M2UzNGUwOThmYTRlNGZhNzExYzEyNDMxYjU5NGI3NDY3
OGJlMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCAyNTUgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS00Lndvcmtlci5qcwppbmRleCA4ZTAyOTM1MGQzODhmM2NiYWE1ZThkZjc2Zjc1
NzY1ZTUyYTcxNmM2Li40Y2RhMWJhMzIzMzEyMzhlYzBkNTg4NGMxODhlYjc5ZDZhMDM5ZjczIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAy
NTUgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5o
dG1sCmluZGV4IGRkZmZmNTUxZDdjNWNhOWY2M2MxNzVjNjA5ZThiNDk3MTY0ZjUzNzkuLjQ5NmU4
Yjg2MWRiNjZlY2MzMWQ5ZWE4MTE1NDU1OTdjOWExNDA3Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDAuMiknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMK
aW5kZXggMTRkMmIzMDE1Mzc4ZWUzZTAyM2YwYTBmZGFmZmY5YWNmZjY0ZmYzOS4uYmY5Yjc2YmZj
ZTBjNGY0MGQyNmExMDYyOTYxMzFiYTcyZjkxNDMzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAgMjU1IDAgLyAwLjIpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiYS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lmh0bWwKaW5kZXggMzM5Y2Y1Zjkx
OGI3ZWY2NzE0MWU4YWZlMjkwYTI2YjczNDQxMzI0NS4uODMwNmI4MzZiMDhjN2NiYWM5YzlkNDc4
NzliYWY4NjEyYTFkMDI5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwg
IjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcwppbmRleCAwMTZjN2NjNTFhOTIy
MTcwOWY1NzZjOTMxOGEzZmMwM2UzOTUzMTFlLi4wZTIwZTg0OWRhNmIyYjhiMjA1MDI2Y2E2YzEy
NThlNDlmZjljNGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwy
NSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My5odG1sCmluZGV4
IDY2Mzc2OTNiNDEwZDQyNjNhNTVjM2U5NGYwZmI2N2MxZDU0OTZiOWQuLmNjYzcyOWEwNDNmMWIw
ZmU4NTRkMWNiNWFmMjQ2OGQ2ODk4NmI1MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhleDM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndv
cmtlci5qcwppbmRleCA4Y2NmZTZkNjk0ZWYwZWYxMmZlNWUxNDYzYWZhYWRlN2Q1YmU0MTJjLi4z
MTJlMDQwMmVlNTFkNGQ0ZmJkYjk4ZWRkODIxYjZkNWVjNTIzZDhiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQuaHRtbAppbmRleCA0MDNlYTkwMzg3MWYz
Njk5YThkOTM2ODAyMGIyOGYxODEwNTFhMjIyLi4wN2E1NjNhZGRkYTI0NDk1NGU3MjgzMzk2YTkx
OGMxMzQyZDFlNjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4NC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5oZXg0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMGYnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzCmluZGV4
IGQ4NzQzYzMwZWMyYzM2MzgyYjJkMTM1NzRlMTVjNzFkZTc0YTIxNDIuLjkzYjU5YmIwYTQxYjMy
ZjJkMGI3ZDU1NGNlZGZiOWI1NjFjNTU1NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwZic7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4Ni5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhleDYuaHRtbAppbmRleCBjMmRiZTkwNGI1NjJjODIwNWEzZGM5M2Fk
Y2Q0M2Y1YzcxYWJiOGUyLi40NDk0NzgyYmMyNmI5ODczNDkwZTQ1OTRkOGRkMWMwYjRhZWM5ZjQ4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaGV4Ni5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oZXg2Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5o
ZXg2PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAw
ZkYwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni53b3JrZXIuanMKaW5kZXggYjZmZTU4M2E4
Nzk5ZTBjYWE0NDcwYWJjMjliNjM5ZDExYjg4YWE0Yi4uM2IzNzNlZTk1YThiYTc1NGU0ZTVlM2I5
ZWRmODQzNjQyMzk5Yjg1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZGMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhleDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oZXg4Lmh0bWwKaW5kZXggYjA5MDk2ZWFlMGNmYzJiOTRlZWQ0NTQwYjQxNzMwNjhi
MzcyMzg3ZS4uNTI1ZjIwNzcyN2U1ZDA2YTU3OGU0YTg0MDYwOTFkYjUzYzdkNGQwNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aGV4OC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaGV4ODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaGV4ODwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZmMDBmZic7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMKaW5kZXggMDZiNWZkMGZiZGNhYWNk
NjJmNGVkYWViYjNmZTIyYWE4YjkwMzczYy4uYjcxZjE1MTJjM2YzZDhlMmRlODMzNTg1MWIxNzBl
OWY3Y2IzYjA4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhleDgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZmMDBmZic7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtMS5odG1sCmluZGV4IGY2Zjk5ODM4NDg0YWM2Mzg2ZmUwNjAzMTgyZTIxOTEyNGFi
N2EyODQuLjgwMjEwYTQ3MDYyMWEyMTQ5Mzg3YWIzZWRmY2RkMzJjYzc1NWY0MTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5v
dGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwg
MTAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcwppbmRleCA1
MDNmNWI2NThiODdlMWNjMzhlMTE5ZWJkYzcxZTFlNDIyNDUzYmI1Li4zN2U3MTlkNGI4OTM3NWEz
YWZlNDA2YWMyOWEyZjE0NDFlZTY1MDY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIw
LCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKaW5kZXggN2RmOTExNTgw
YTk2ZDJlZjVlNmYzMDgxNTIzNzdkMWI5MTE4YzI3Yy4uMzYwMGZmNmRiMjIyZTg2OGY5ZjNhYTYz
ZDQwZjA4NTU3ZTMwZDAwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woIC0yNDAgLCAxMDAlICwgNTAlICknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtMi53b3JrZXIuanMKaW5kZXggYmI5MTgyYThiODg3YmYyM2RmY2I4Mjg2MzA0
ODY4NDIwOGMyNzJlOS4uMmY1YjRlOTFiMDNiYzE0Mzg2ZGVkMjllZjYwOGRjNjViNjQ0OWQwYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAg
Y2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCAtMjQwICwgMTAwJSAsIDUwJSApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC0zLmh0bWwKaW5kZXggZTU2Yzk1ZmIyNzZkYTE0N2QxNmNhZjc0ZjZlOWVk
N2M5M2M2NWRmOC4uNWViZTJlYTcxZTYyYmM3MjNjODAyZDE4ZTY2ZjYyNjNmMDAwZDc3OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2wo
MzYwMTIwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMud29ya2VyLmpz
CmluZGV4IDA4MDlmZDQyNGUxNGI5ZGE5MTcwMmMzZmMxOWE2NjQzMTE2Y2NmOWMuLmY0MDFmMzhk
ZDE4ZWViNTMwMmU0ZDgzOWNkZTg2ODFhZjY0ZTE5ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbCgzNjAxMjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbAppbmRl
eCBmMjNhNzcwNTM5NDAzNjYwMzY5NmVkYzkyNWY1NzhmOWMyNjEwMzRiLi5mMjhjZjQ5ZDA5NjVj
OGJlZmU1Y2Y4OWE0MGNhZTJhNThlMzkzZjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYwMjQwLCAxMDAlLCA1MCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzCmluZGV4IGNjYmMzY2RhODhkMjhhOTIx
ZmNkNWZmZmYyYzhjNWQzZDViZDc5MTkuLjg2MTE1YTg4OGM0Njk2ZWMyODk5M2NiNDg2YTAyMjgz
YjAzMDgwZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYwMjQwLCAxMDAlLCA1MCUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwKaW5kZXggMGVmOGEwYThjZGQ4NjRkOGY5Njgx
ZWY3MTA0ZjBjNzllNjM5ZjUwYy4uODc3OWJmOTU0ZTIyMWJkYzlhZjdmMzNkYTY1Mjg5NWFiZjVm
ZTk4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTUud29ya2VyLmpzCmluZGV4IDQyYTlmOTA5MjRlMTY1NDc5OGM3OTA3ZjMxNWVlY2I0Mzk1ZDgw
YjYuLjIxNmRlNTc1M2MzYjcxNzVlMTA0NWQzMWFhYmIyMTlmZDUwY2RhZWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLTYuaHRtbAppbmRleCA0MjBiNzg3ZWM4YTFiMGYzNjdhNGYwYTc4N2Y5MmZiYzkzOGNhYzVl
Li5hNGEzZTc5YzRjNGZkYjNhNDQyMzBkZjEwNmJiZjE3MzM5YTg3Yjc4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgrMTIwLCArMTAw
JSwgKzUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3JrZXIuanMKaW5kZXggOWE1
MzY4NjIwZjk5MmZhOGU3OGVhN2QwZjAzYTE5MTM3MTk4N2YwMS4uN2E3ZDM0ZDczYjQ0NjI4NWQ5
MTc5Nzk5ZjFlMWRkNzI4NDZmOWRkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIx
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCsxMjAs
ICsxMDAlLCArNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCmlu
ZGV4IGY1ODY5NThjZGRjN2ZjNDBhMmIxYWRiMjQ0YjM0ZjM5ZDUzMjkzYzguLjIzMzYyZjliMGJh
YjM1OGE1MjI0YjcxOGFmOTM4MDJiYjNhM2Q4N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
KDEyMCwgMjAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0x
Lndvcmtlci5qcwppbmRleCA2YzU5ODYwNmVmNmFkM2JjNTVlYTdmMzA5NzJkNGIxYjYwZDNiYTIw
Li4yZGIwNDU4NWE0ZjAyZjRmYmUwZjZjM2UwYWNmOTljNTAzYTg2ZDIxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAyMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC1jbGFtcC0yLmh0bWwKaW5kZXggOTJjOWM5NWUyM2E1NjA2OTgzYTIxNmZk
MzNkNGE5MDNhZDFmOGZjNy4uNTM5YTljMTBlODU4YTJhZTY4MzlhYWMwYjU2ZDFhNDk3YjY5N2Q2
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAtMjAwJSwgNDkuOSUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMi53b3JrZXIuanMKaW5kZXgg
N2FhYzFjOThlN2RkYzNmY2NmYmNkMTU5ZWMyNzI4ZDgzM2NjZjZkYi4uZTgxN2UwNWYyNjFmMzBk
NDExNDc4OGYyMDdjNTg2YTgxYmMxNGI3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMCwgLTIwMCUsIDQ5LjklKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1
LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
Y2xhbXAtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC0zLmh0bWwKaW5kZXggYTZjZjE1MDY5ZjdiMmQ2N2U4MjY4NzgyN2Q0Mjcw
NmI0NWE4NTkwYi4uODlhNmU4ZDAxNWE1YjRkNTE4YjRmZTdlYmY5MzNkM2YxN2ZlODJiOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC1jbGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCAyMDAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1
LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMud29ya2VyLmpzCmluZGV4IDM0MTE1M2Iw
OTFkMTM0YmVjODU5NzhlMDEwZDc5NDE2ODZmZGIyYmIuLmVkM2U2Zjc2Y2ExNTM0ZGU0MjJlM2Zj
ZmQ1MTNkYTM1MjI4NGNhNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgxMjAsIDEwMCUsIDIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIs
ICIyNTUsMjU1LDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNs
YW1wLTQuaHRtbAppbmRleCBhYzQxNGZkNmJlMDgxNTM0NjU3YTNhZjc4Njg5NDg2MjFmYTVlMWMy
Li5hNWM0ZTIxOTdmOTM2ZGFlNDkxMjQyYjVkZDlhZDU4ZmIwOWQ4MDczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAi
NTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTQud29ya2VyLmpzCmluZGV4IDQwMzk2MmFmYzY0Yjk0OTQxNmEzZjkyMDE1ZDI2
ZTU5ZDI2YzYyZmUuLmE2ZDFlYmM3ODAzYzIyZTgyNjU4OTMyZGRlMmJlZTU2Yzk3MTE0MzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtY2xhbXAtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIC0yMDAlKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLTEuaHRtbAppbmRleCBiZTU5NWQ3YTRjYzFlNDUzYWVlZjkyZGQw
YzAyMGRkZGU3NTAwNWQ4Li42YmFmYTZiYjQzMGIxZWVhMDEzZTU1YWNhYWFjOTY5Njc1YWNjZTM4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2xhKDEyMCwgMTAwJSwgNTAlLCAwLjQ5OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3
LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS0xLndvcmtlci5qcwppbmRleCA4MTg1ZmRkN2M5MGI0MGUzNDU2Y2MxMjVjOTkyZmViYzVk
NzkxNzAzLi5mMDE3MDhkYjljMGNmMDk4NGRhMGU4MWZjYTBjNTA2MGFlOTc3YzY0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUsIDAuNDk5KSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsYS0yLmh0bWwKaW5kZXggYzFkMDQ4NmRkN2U1MjZlNDg5ZGNlNzc4MGEzMTdj
NmZhMGJhYTNmMy4uMjhlM2Q2ZTlhMzY0NjNmYzhjYjJkMjhkYmNhZmRmMzg1MzcwMWE2MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsYSggMTIwLjAgLCAxMDAuMCUgLCA1MC4wJSAsIDEgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTIud29ya2VyLmpzCmluZGV4IDkxYzg4MmVjMDdlMzFhZDM4OWQxZmRhZTk2ZjYwMjM1
M2Q0Yzg0ZTMuLmViYjNiMjUwNmY1ZTk3YTY1NWVlMDlhYjI0OWVhMGE3NjQ1ZjJkMGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSggMTIwLjAgLCAxMDAuMCUgLCA1MC4wJSAsIDEgKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwKaW5kZXggODBiMGVjZjMz
ODMwZDI0Y2E4ZWU0OTM2ZTc5NjBmNjNmOTExNmU3YS4uMmM3ZjdhMTJiMTUyMGNiYTM4OGZkMzNk
NmQyNjMzODI4YWVkNGY4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtY2xhbXAtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDIw
MCUsIDUwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndv
cmtlci5qcwppbmRleCBiMDMxNDE2NjAxZmJmNzRmMGYzNzJjZjI5NjlkNTk4NDk4NGNlNTdmLi45
YWQ2NjdjZDAzMDI4YzM5M2IxYzc0MDA4Mzk3MzhkNzhkY2FiODczIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsYS1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAyMDAlLCA1MCUsIDEpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLWNsYW1wLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIuaHRtbAppbmRleCBhZTRlNjM3YTIyOTY4ZjhmMTRk
MmVmOGY5MzA2YTQ1NDg1NzI1NjZlLi41ZjEzYWM0NDdjZjAzMzE4Y2I5YjU0OTY4ZTA3ZDkxMGMx
NjY5YWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsYS1jbGFtcC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFt
cC0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgLTIwMCUsIDQ5Ljkl
LCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53
b3JrZXIuanMKaW5kZXggNjcxY2ExYWQzOTBmOTRmYjExODQ5MDA2YWM0ZTkwNjZiMDVkMjM4Ni4u
ZTI2NmM0NDU4MWM2NTM3YWRiNzBmMzNlMDc4N2EzZDQ0OTdkZTFkNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbGEtY2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgLTIwMCUsIDQ5LjklLCAxKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMuaHRtbAppbmRleCA5ZTM1NjM0
YjUzN2M4NGFiZGUxNjNlYzg2NTQ1ZjY1MTMwOTgwYjgxLi5iOTFmZmQ3ZmRlNDc0YTBmMWVkZTY2
YjZmYmNmMTY3ZDBkZGU2NGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFy
c2UuaHNsYS1jbGFtcC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTM8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90
ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwg
MTAwJSwgMjAwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1
NSwyNTUsMjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LWNsYW1wLTMud29ya2VyLmpzCmluZGV4IGE2MDQ1YzYxNGFiMDVkNDk2Yzc3OGU3MjA5YzlkNWU1
YjFhY2ViZjIuLmQzYzM5ZjExNWRkNDVmMzU1NDM0MWEyNjEzNDM0MTlhMzNhZDllMzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LWNsYW1wLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDIwMCUsIDEp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sCmluZGV4
IDg1OGI0NTljMWY1NjNlNWU4MzY4Y2E1MzM2NThkOWZkZTJhYzdlMmYuLjJkNjY0MDJmNTIxNjI0
YmI4NjlhOWRhYTJjZjQyZTJjODIyYTgxYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bGEoMTIwLCAxMDAlLCAtMjAwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDI1NSwgIjUwLDI1Iiwg
IjAsMCwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTQud29ya2VyLmpzCmluZGV4IDc3YmU3YmUwNDFiZTZlOTgwNThiZmZhMGI4OWY0MTNlNGMx
NzMwN2IuLmZlYmFhNWY0MTc0ZTE1YzRmNmY2MzAwMzdlZWUyMTliOGFjNzk1MmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIC0yMDAlLCAxKSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbAppbmRleCAyODUxMDhhNmU3NGE2
MzZkY2FiOTI1MDIxZTczNjY5NjQ1YWUyOTNhLi5mZDJlZTQ1ZTliZTM0NGI2MzRlY2EyNzUyYTZm
Y2UxYjZhZWM5YmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNs
YS1jbGFtcC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwg
NTAlLCAyKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2Vy
LmpzCmluZGV4IGQ1MzRkNGQ2YzcyYjRmNDU5YzQ4MDI2Y2JhNTRhMWZkNmNmZmEwNTIuLjk0NDdj
MGFhYzA2NDQzYzdmMmJkYjU2NGQzODM0M2JhOWJjMDZiMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDUwJSwgMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtY2xhbXAtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi5odG1sCmluZGV4IDgwNTY1MTFiNjMzMDBiNTE4NjhjZGRm
ZjFiZWEzNjEwMjkxZWJmNjIuLjc4OWM4MmVmYjY1MGFiZGI5ZGZkYTBkNWQxMjI4OGFiYzMxMzJk
ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLWNsYW1wLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTY8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAwJSwgLTIpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzCmluZGV4IDMyYTc3ZDky
MWUyMzZjNjU1MDUzMmU4ZjNmNjZlOTJmYWY2OTQ3YWEuLjI3NjUyYTgxYWE2OThiMjEwYzFmYzQx
NDhiYjZhY2YwNDNjNmRkYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
aHNsYSgxMjAsIDEwMCUsIDAlLCAtMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKaW5kZXggZjBlYTFh
NzMzYWM4OTY4OTM1YmIzODViMjlkZWYzMDE2YTE2ODYwNi4uOWU0YzRkOWVmMzhmOWY1ZWM0M2Ez
MTlmOTQ1ZjgxZDg4NzBlNDcwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdsaW1FJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQud29y
a2VyLmpzCmluZGV4IGM5NTQ5NjZjMzhhMTQ1MGEzN2RkZmQ3MDc1MjdkNTVjNjNhOTA5OTIuLmE4
MzIzNGY3ZDAzM2IzMmYzMjMwZWRlN2JmOTljNzg3YWE3MDFmMjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2xpbUUnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbC0xLmh0bWwKaW5kZXggYjIzYTM3NjJlZjNjYjA0ZjBjNGNjZDIwNTM1
ZGMxYmFiNjY1MDU5Mi4uZTVhNzcwMjkxMDk4ZDRiYzAyZGQwYzliODVkYTI4MTA2OTNhMjYyYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsLTEud29ya2VyLmpzCmluZGV4IDI3ZGIxMjU0NDhhZWVlZjBhNjJkZmJmZDBkNTAw
ZjgxNDRkMzY1NTQuLjhhMjg0YmU3ODNjM2ZmZjBiN2JmYzU2ZmRjNGJiNDRmYzIzNWMxYzIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAs
IDEwMCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMi5odG1sCmluZGV4
IDIyMjdkNTVmYjBhYzIxOGJmN2VmNWNkYWJjZmQwMmIzYWNlZjY0ZTYuLmYyNzA3MjBjY2Q0Yzcx
Nzc5ZWEzNjUwMWZjODU2YTlmZjE1OWRhOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAgMTAwJSA1MCUsIDEp
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcwppbmRleCA0ZWRi
YWU0ZDdlZGE3MDhmYzZmNGNkNDZkYzAwOWZiMjU2NmU0YTIxLi4xMzc4YTRhMmE4MjEwN2YyOTgw
OTk0NDc2Mjc3MGUxNjE4NzllM2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwIDEwMCUgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsLTMuaHRtbAppbmRleCBkYzdjYWFkM2Y3ZjYzOTliY2M4OTczNDk4MjU0ZTVlYzY3
NzExMjJjLi43YmQ4Mzk0YjZjZjA3MjExMzY5YmFkYWU5MzE1N2YzZDUwOWY0MmU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LWhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ2hzbCgwLCAxMDAlIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMu
d29ya2VyLmpzCmluZGV4IDQ3NDRmOWU4NzNjZjQ5Nzc2ODhjNWE0MWNlMDNlODk2YTBjYzMyYzIu
LmYxMTk2ZjRiMDY0YWRmZWIwMzRkNzNlNTE0MDEzYjc4MTRlYmE5MDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LWhzbC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUgNTAlKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbAppbmRleCBhZmZiNjVlNzZjMTdlNDNh
ZjcwNThmYzI1OGE3ZTEyMDRkNTZmZjNhLi4wMWNjOGJmYWVlZTIyNjkxZjFkM2I1MWNlOWNjODhm
MzBmZmI5ZWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwIDEwMCUgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcwppbmRleCA1NDVkZjMwN2Y3NTc5NDhlZWJiMWQx
NGExYWFmMzhiNmNmNDhiNzdjLi5jYWViOWVjNGQ0MDIzYmI0NzBiOTlhZTNkODQzNjY5YjFhMzc3
MmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J2hzbCgwIDEwMCUgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS5odG1sCmlu
ZGV4IDQwN2Y2ZWUyY2MyNDI2ZGY0OGExOWQwMGZhOTkzYTNhZjkxNDM5ZDAuLmU1NmFkNjc3ZjQx
ZjIwYWJmNjFkN2RmODIwYTY4MGM3NDA1MzZhOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUw
JSAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1oc2wtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKaW5kZXgg
OTYwZTMxODQxNGM5NzM3NGI0ZTdkMWZkODc0MTVlYWIwZGNjMTMwZC4uZWMwYTNlYjgwODA3NDkx
YTRkODQzYTRkMGM4YTU5MWNkYWFhMTY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlIC8pJzsgfSBjYXRjaCAoZSkg
eyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJl
IGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKaW5kZXggMzE5Njc2ZTIxMDIzYTQ1Yjk0OGY4NzgyMmY4
OWU3ZWRhOWQ3OTJjNS4uNDJkNjUyYzc2MmY4ZWZiZWRhMTM4ZWUxMDlmMjYxYmVhNTRiODVhYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcwppbmRleCAwYmJmNWFjY2Q1ZWM3MWU1ODM2NDFk
MzhmZGU1NTI4OWYxZThhNTQ2Li5mMjU0Mzg4ZTg4ODBiNTllYTk3OTdmZjM0MTFiZWFhM2JmYTcz
MGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAnaHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEt
Mi5odG1sCmluZGV4IDAwMWUxYmFhNjJiZTU0ZDIxZjEyMTFiMDEzOGIyOGNlMTJhZDBlZWQuLjdj
OWYzMTI3NWM5NWZmNTU0NDliYjY2MDk3ODU1NDNjOTQ5OGZhNWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbGEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bGEoMCAxMDAlIDUwJSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi53
b3JrZXIuanMKaW5kZXggYzFlN2MwYTU2NjM3NTUxZGVjMGIxNGVlN2M1Zjk4OWEwNDI4Mzk1OC4u
MWM1ZTA4MTNkMTBkYTRjNGU1YzJiMGMzODJjN2E1ZTJlMDUyYmNkZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsYS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCAxMDAlIDUwJSwg
MSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA0ZTllNTljMDUy
M2JjM2Q1NDA0ZjM5NmE1OTE0MDk0Y2JhMTk3NTMwLi5kN2RjZmRjZjk1NDFlMzUwM2E3ODZhMjlh
MmMwY2UwMDY1YTdjZjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1oc2xhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUgNTAlKSc7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xh
LTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwppbmRleCBiYjQ1MjEzYzRm
ZDk1ZDNkMzhkOWM4NDA3YjlhY2UzNzdjMTA1NDYwLi5iMGFkMTJmOWI1NzU4YjdmMmNkMjFiOGYy
MmIzZjU3MWE2NDZhMDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYi0xLmh0bWwKaW5kZXggYmEwY2E1ZTFiYmI5M2JkOTg0ZTRkZTc1NjM5YzM1Y2RjOTViYWQ0
MS4uYmVlYjEzNjZkNTcwZWJkMWE5YWQ2MjJmNWZhZjBlMjdkMmQ2YzVmZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEud29y
a2VyLmpzCmluZGV4IDE3YThmNDQwNTY2ZjA4OWM3OTc0YTViNWU0ZTQwNTZjMzI5MzlmYTIuLmMx
YWE0ZjI1OThkOGZkM2RjNzQzY2Y1ZmMxNDFjZjU3MmFmNDJmZTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCwgMCAvIDEpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCmluZGV4IDQyMzU0YWU4Y2E2N2U2MjZj
NDk3NWJmZWFlNjAyNmZjOTgxNzQwMjMuLmZkZDMwY2FmOWU5YjJkZjlhZjA0YmI2ODhkYjA0NTJm
ZmIwNDlhYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYi0yLndvcmtlci5qcwppbmRleCA3ZjZlZmM2MDYwZTQ0ZTI5OWVhOTFkOTkx
ZWQ1ZGZmZDA2YWU5NTBiLi5kYmY1ZDE5YTVkODdkZTczNjNlY2EzNTg5ZDFmNTlkZDlhMDc1Mzcx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3Jn
YigyNTUgMCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRleCA0
MDJlNmFkNTdmMGUxNGUzNThiMWY2Njc2OTAzODA2NmE5YmFmYjAzLi5kMjM5Mzk3ZmRiNzJlYmYw
OWJjNmMwM2M4M2Q3OTgyNzc3MjY2Y2Q5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYi0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
Yi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIDAgMCknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCmluZGV4IGY1ZDU1MWMwNDFj
MGU1MTk2M2QwY2QxOTMxNzg5NmNmMDQ5MmQyYjUuLmRjMDFiYzc4ZjFiOTY0NGE4MDg4MGY5YWJm
ODZkOGEzNjQzZmU5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAncmdiKDI1NSwgMCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQu
aHRtbAppbmRleCAyNTU2YTljOWIxZWY5NzFiZGRlYjEzY2FlOTJhZjQ4ZDkwMWZhMTNjLi4xZjUy
ZWEzM2QwZmViNDc0NzI5MjQ3NDAzNGRjNTUzNmM2MzllOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2ItNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYi00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDAg
MCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5kZXgg
OTY2ZjQ2NTg2OGZkNmUwOTNlZGZmNjdjOTU2OWZmOTczM2JlMmNlNS4uOTE0MjNiMWMyZTQwOGU2
NTIyMGRiMzVhOGZmNGIwZmJiMmMwODkxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAwIDAgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi01Lmh0bWwKaW5kZXggYzJmYzFlZThmNmMyMzY4YTc5ODNmZmUyMzA0MTRjM2ExMjRk
ODUwNS4uNjFmZmFhZmVmY2JjNzRiNTljNzgzYTU0MDZmYWNjNzI0ZjAwMGNiMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2ItNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICdyZ2IoMCwgMCwgMCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS53b3Jr
ZXIuanMKaW5kZXggM2E1NDI0NmM3MGExMGQ3OGI0MzdhMjk3ZjJhZmY3MTBlMGY0YjBlMi4uYzQ1
NjgzMDQxOTk1Zjk3ZjgyMWQ5M2UyOTUzMTQ0MTk2Njg0NGRhYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMCwgMCAvKSc7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2Jh
LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCmluZGV4IGY4NDJlZmFmMGU2ZWRhMjRiYmVj
YzgwYmJiYTFlYWUyODNiNzU1YTAuLjhhNDQ4ZTIzNDNmZDdmZTA1YTI4NmIyYWNiYzVjZjk4OWEw
NWNhN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
YmEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKaW5kZXggODhmN2QzNTQ2NWY1NDBhZTBi
NTRiNzE2MjA1NDY3ZmRhNTgwZTJmYy4uZGFmNTQxZDQwN2U4NzM0NGEwMTcxZTdiNTlhOGUyMTIx
ODcwMDkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2JhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2Jh
LTIuaHRtbAppbmRleCAyMjY2MGNhMzliZTI2YTA1YzQ1NzY2ZjZkNWYyMzE2Yjg5MWU3NDc2Li5l
ZWZhMTc3NGMwYjkwMGEwMTVhMjYzODRhZmYxY2JlZTRiNTA4NjkxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2JhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtcmdiYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYmEtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDI1NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29y
a2VyLmpzCmluZGV4IGNkNGI0ODkwYmQ4OTUwMjE1OGY1YTU4MjVlYzQzZjEzYWY2MDYzNzguLjU0
ZTUzYzA3YzJkNjEzY2Y5NzQwY2NmODg1MDRiMzg3NjQxZTIwNjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYmEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSAwIDAsIDEpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYmEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZTg5YTcxNWVhNzY2ZTcw
NWQ5MDYwNjk0YTU0ZWU4MGUwYTk3OWZjNS4uZmRkOWQ0NmFjNWM1ZTdkYTQ1YmIyOTRjYjA3Y2Fh
MmE1MjUwYTlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtcmdiYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAgMCknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKaW5kZXggOTk5ZTBiNTk5OTA2Y2I1MTIy
NDAzNmFkN2ZhOGM3ZDhkNzUyOTMyOC4uMjRiNDNmMTljNGQ5NTdmNTZmNzU4YjcwZmFlMDdjNTg0
OGNkZGY5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2JhLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMjU1LCAwIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEuaHRtbAppbmRleCAwN2VlMzcwMTg1MTM5OTgwNjA3
YzY2NjQxM2IzOTUyNGQ2ZWVkYWZhLi5lZWM0YjllYmI1ZmE2YTc3MjVmOWY0YjgzYjBjNzI4YWI2
NTRkMTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXgxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2YnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcwppbmRleCBmNTk1
ZTEwODA4NzE0MzA0MzFhNTJhYjQ2MGMxYjFlY2ZhNjg5ZDA4Li43NGJkMzk2OGY0ZTMwYjBlOWZj
MDcyMTFjYmY4NDhmYWE0Y2U3MDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZic7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgy
Lmh0bWwKaW5kZXggMzMwYzRiYWMxNzQ5ZDZjMTc4NTVhZDI3OTY1YWU5ZDdkMDJlYTg1YS4uYWUw
ZjcwNWZhMjA0OGJmMWU0YTBlYjAxNGQwZmNlODczYWZkZTI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXgyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNm
MCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDIud29ya2VyLmpzCmluZGV4IDZmYjE2ZjMwZGVlOWE5ZDRlYWI0MjBlNTI4OWQ3
ZmRhYWRkZTUzNWMuLmUyZTVjYjIyN2JiYzU3NmZjMzc1OTc3YTQwOTUxZmY3ZTQ1ZDFiOTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKaW5kZXggMGE2OWMyODA0ZDQ3
NDNkZjc1Yjg5ZWJjMTI5ZDI4MTM0ZTc4M2VhMS4uNjNmZWVlNmI3ZWNmOWJjMGVlMWJhZWVmNTAy
NDk3OTBjYWJhYTJhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcwpp
bmRleCA4MzJmNGRlYTEyMGQzNDNjMWE1MTAwNDU2ZjgzYjc1NzdlY2RhODRmLi42ZDk4N2Y3ODVl
MjEyZjJhMzM1MjI4YTFiNTZiODE1MTYyZWMxZGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXgzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICcjZzAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDQuaHRtbAppbmRleCA1NTY1ZTcwMDJlNTUzMDdkYjI2M2I3OTEwNjlmNTE3MTRj
ZWQxMWEwLi4yNjRjNGM1YWRjNjMxMTcxODI4MjRkM2Q3NzIzOWRmYjczYTUxMzNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4NC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxs
U3R5bGUgPSAnI2ZnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4NC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcwppbmRleCBmN2E3MDk3YWNkZjA5M2Nl
OGMwNWY0MDU2OTdlZTc0NWEyNjc4NTgxLi5jYWZlNjFhZWRlN2U1MDZjZWJlMTBjNmMyNmUyNDVj
NGU2OGUwOWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmcwMCc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lmh0bWwKaW5k
ZXggYjFlNDUyYzIyNzI2ZGI3ZGRkMjQ4MGExYzExZjVkNjYyMDIyNjQxZC4uM2M3ZDU4ZTdiOWE1
NmQwNTdiY2FlNTkzNzdlNGVjMWM0NjY4ZmM3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg1PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDUud29ya2VyLmpzCmluZGV4IGE5MzE0NjdiN2E3OGViYjVkOGI5YTc3YTdiMDhjMDcxYmFh
YzExY2EuLjU3MzEzNzM3OWJiMzg0NjAzZTkxNWJiNWRjYzE4OWIxOTc5YjA0YWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhleDUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKaW5kZXggYjA5NTRlZjFmZTA0ODQ4
NzhmN2E1M2I0MjczMWNlZGFjNzQxMzQzYS4uZTdjMGQyNmRkZGVkYzFmZDQzNjM2YTMzMzgwMmJi
NWQ5OTNkOTVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcwpp
bmRleCA3NTA1NDhkNzRlNDk4ODUzZGUyZGMyZGU3Y2I4MGMzNWExZjM0NTgwLi4zZmQ1ZWM0NDEw
NWM5YzBmYzk5ZWNmYjY4YmQ1NGZiMzY0Mjg1NTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg2Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9
ICcjZmcwMDAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDcuaHRtbAppbmRleCBlNTNjYjg3YThiYzI5MWIyODAwNTA4OTJmZjUyMjc0
YzM3N2FhMmRmLi43ZGQzMzEyZWJiNGM2NWQzNDE3NjMzYTJmN2FjYmRlNjg3MjI4NDI2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oZXg3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4Ny5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnI2ZmMDAwMGYnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaGV4Ny53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcwppbmRleCA3Nzk2YTRlOTli
MGUzYTU1YWUxZjk0MThjOGE2NDc3OWIyMWM4ODkzLi5hOGMyM2UwMmYwMTY3YTIxMTg4NDMyMjkw
ZTZlNDBlMzc4M2E5YmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmYwMDAwZic7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4
Lmh0bWwKaW5kZXggYTU5MzMyZjA0MGQyYjhjNmFjNzg4MzUwYWJmNTE0ZTM4Yjg5MDhkYS4uYjI0
NjAwNDVjZGY1Mzk3ZWQ0N2I1OWMzNzk3YTIzMjBmNWNiNzA5MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4ODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXg4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNm
ZzAwMDBmZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0
IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg4Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCmluZGV4IDIxNTZlZjA2Y2M3NWQyNGQ1MGEwNTVh
ZjRmZjgxN2QwYjFjNDkwYmUuLjNkM2RmYzEzNWI3MDdkYzA4YjI1NjQ2NmQ0ZDRjOGM1Y2QwNmIz
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDBmZic7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEuaHRtbAppbmRl
eCBmYjE1NDg0NzhlYTM2NjY4NGZmYTM4Y2Y5ODY2ZjdmZTA3MjBhNzMwLi5iNTRkMjNlZmZmNTVl
MDAxOWY5M2FlN2MzMzU4NzIwZWE2YjBiMjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0x
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwJSwg
MTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2wtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2wtMS53b3JrZXIuanMKaW5kZXggZjFiMmE1MDg2ZmNmMzViODJm
MDI3MDkxYTYxNDdjNDc2NGJmOWNkYy4uZWUzMGQzMjZkMTllMTExNGE1MWE1OGM4M2VmYTUyOGM2
Yjg0MDg0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCUsIDEwMCUsIDUwJSkn
OyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRu
J3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC0yLmh0bWwKaW5kZXggN2Y1MDk2NmUwYjU2NzgyZjljN2FkNTU3ZmI1YmI2MzA0Zjc5MmFh
Yi4uODg0NjhkOWI1YjQ5NWIxMDRkMWEyNzA0YzdkZjU5NzA3YzIxNDQwOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
LTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdoc2woeiwgMTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKaW5kZXggYjA5
YTkyZGQ5NGFjMTJkZWU4NTdhZTE3ZTIzMGExYzEwZjJmYmRmMy4uNWM2YmUzNDE3ZjhmMGQxNDRl
MzRhY2VkZjFiZjIwMjUzMTAzNjBlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0y
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2wo
eiwgMTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsLTMuaHRtbAppbmRleCA3MjQ0Y2QwZTM0YzBhODJmN2FiYTM4Nzcw
Yzc3OTgzOTFjNTc2MDUwLi44ZmZiNjNmNDNiYzIzNWZlZWIzZDNjMTU0OGVjYzI1YjlhMWU2MWMz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0z
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAwLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5q
cwppbmRleCAwYjJhMDY1MmEzNTMwZGY0NjQzYzkzYTVmYjUwMGJkN2QxYjgxMDY4Li5hYzczYjUy
OWRlM2I3NTk2YmI2ZjNlNDg5ZTZlZjdjMzAzMjI2MDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ2hzbCgwLCAwLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5odG1sCmluZGV4IDM1Nzc2NjZhOGM3YmMwNDQ0
YWU1YWM1ZWU2MjEyNjlhMmRlNGIxMmEuLjM4NzQwODk5NDgyZWI1NzFhNTZjMzM3Y2VkZmE0NGFi
Zjk3MDFiMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaHNsLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDApJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00
Lndvcmtlci5qcwppbmRleCBmMTc0MzQ3MjIxM2U4MGQwMzg5Y2NlMGYzNTk2NDAzNzljODBiNDc3
Li5mNDIzOWVjZGUwNzQ1OTFkMWM3Njg4NWQ3YmNiOGU3MDMzMTE4YWYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wt
NC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTUuaHRtbAppbmRleCBhM2I5MDcw
ODllMjYyZjdjMmZjMTA2OTA3OTQ0ZTUyZmM2MjFkYzRmLi5jMzVhMmM0ZWI3YzhiNGRjYjc5NTQ2
ZmE1ZGUwNzEzYTFmODcxYWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAuJSwgNTAl
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2wtNS53b3JrZXIuanMKaW5kZXggMzMxZWMwNzAyMzMwYTc4Y2EwMzEwY2U4NGQ3
MTk1YjIxNzJmYTU3ZS4uMDkzZmM3ODk2YTM4MDViMjQ1OGNmZTk3ZTJjMWUxMmRlMDk5NzllZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwLiUsIDUwJSknOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lmh0
bWwKaW5kZXggOWU4MGE2MjIzYjcyZWFmODcwODBkMTYxZWYyMGEzZDA4NWQzNTc4Zi4uODc5ZTFi
OGUxN2U0NjE2NDM3MzczNzM0OTM0MzE5ODhmNDc4NzcwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2wtNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdo
c2woMCwgMTAwJSwgNTAlLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2VyLmpzCmluZGV4IDNjYWQ4NGY3N2E0
NWRkNGVmMGU3ZmYyZDI1NThkZWMwZDNkOWFmNjEuLmQyMjUyYzIyMTc0YWFhZGM0ZDNlNzc1ZTFh
YzFhYTIwZjgzM2JmZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUs
IDUwJSwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bGEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsYS0xLmh0bWwKaW5kZXggMDkwNDIwOWNlMzY4YTczNzU5NzAzZDlhMWI0OTZj
ODk2ZTg5MjE5Yi4uMzRjYjNlMzViMzRmZjMwMjlmZTg0Mjg2MDE0YWVmOGM1MzkwNGJjMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwJSwgMTAwJSwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0x
Lndvcmtlci5qcwppbmRleCAwMTFmYmU3YmQ3ZDViNjVmZmIyMzIwODZkNzY5YjJmMDhlYjM3ZmRm
Li5hMGE3YjFlZjY5MzViZGRiY2FiYzYxZjdmNjdiMzAwMGZlMDBmZTM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xh
LTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwJSwgMTAwJSwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCmlu
ZGV4IDZlODllOWQ3MDA3NmZlMDhlMDYxYTk5YzJlZDVmNTgyYWMyMjVhOGUuLjZlMGZiZWE1YTk0
MGUyZDVhNGQ5OWNjMDZmMDYyNmE2ODhhMjAwZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bGEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bGEoMCwgMCwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5qcwppbmRleCA5YWM3NWI3ZGM1
MjdiMzczMmY0OWM3NTEyNGMwNmFlMzY4NmY4ODk0Li5jZWQ1ODNiZTMyMDQyZGZhNTE0OGU0N2Q5
NmViNDVlOGMwNDQzZjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAw
LCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbGEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0zLmh0bWwKaW5kZXggODJjYTg0M2E0MmRjNTRlMTZhMmVlMzViYzZi
ZDg2ZTg4YjcxZjg5My4uYjUyNGFlYzQ5YTQzNzBlOTcyYzVjZjhmN2Q5NDk1NzgxMWVkNmJkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEt
MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEsKSc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0z
Lndvcmtlci5qcwppbmRleCA1ZjUxMjZlZmMxNDJjMGJkN2Q4Y2UyNjhmODg3NTMwYTBjNDc5MDY2
Li5jMDhkYTM0YWQ5Y2U2YmQ5NzBhYzkzZTE2NmNhZGQ3ODJiZjhiNGIyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xh
LTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEsKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sCmluZGV4
IDI2YmJkMjZiN2QxZDM5MjY2MmRkY2VhZTM2ZWE5OTBkZDcwMDkyODkuLmE3Mjc4OTg2NjRhN2Ex
ZmE4YTM1OTgyZDk1Mzk3NDQ5NDQ1YzFhOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUt
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQubmFtZS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2Rhcmti
cm93bic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1l
LTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQubmFtZS0xLndvcmtlci5qcwppbmRleCA3MGIyNDQwODliNjQwYTc1ZWFhN2E5
ZTk5MjU3YmM4MmIyNDAzMzYxLi4yNjgxNzZmZGZlYzQyMDIzZjY3M2FhZmUzN2Q5NTg1OGQwZjZk
YTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5uYW1lLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZGFya2Jyb3duJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0
bWwKaW5kZXggZDExMmQ1ZDY4MTE0YzQwMjQ3Yzc3ZmU1NjAxOWI5ZDFlZjkxMmZmYi4uOGI5OTE4
MWMxM2IxOWE0NjQ3ZWMwYTY5ZGYwYzcwZGFhNDkxNmFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5uYW1lLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAnZmlyZWJyaWNrMSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5uYW1lLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcwppbmRleCAxYWEwZjUyODQzNGVm
MjdjNmQ4Mjc1MDI5OGY4OTQzN2JmNDdmMWE4Li4yOTgyZTU3M2JjYzA0YTMzZmQ4ZDBlYThhNWI1
YmFmZDYyNTY1ODY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZmlyZWJyaWNrMSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtMy5odG1sCmluZGV4IDA3YTBmNmNjODNiZDUxZTM1MTBiYjQxOTYxZGZiYmU0MmJkNjBh
OWUuLjdmZWFjMDJiZWYwYzUzNDcxMmUzMTg2ZjczYmZmNDUwZWFmZDFhYjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5h
bWUtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLm5hbWUtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHgu
ZmlsbFN0eWxlID0gJ3JlZCBibHVlJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMud29ya2VyLmpzCmluZGV4IGFiYzU3
OWE4ODlhZTI2NDU1ZGY2OWQyYjAyYzBhMTQ0ZTNlNmYyZjEuLjU2YTAwM2ZlMDA5OTNlZTMwOTgy
MDdhYjljNjdhMDEyMWVmOWZkMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0z
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZWQg
Ymx1ZSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1l
LTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLm5hbWUtNC5odG1sCmluZGV4IGE2OWMzMGU4NzY0YjA2NDVlOWRlYzNiYzEzMmI1NGVk
ZTQzOTVjNzguLjkxMzc3ODlmYTc3NDJjYzFhZmZkMTgxOTBiZGJjNTVkNzBhNTQxODcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJyJyZWQiJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQud29ya2VyLmpzCmluZGV4IDdi
MmYxMTlkMGU3ZGZlZWRhOGEwODVlMTM2MzM5Y2M4OWE1YmM5ZGQuLmZkMTk4YmE3YTlhNDczMjVi
YzRkYmQ0MzhhOGNiNzI0ZTZlYWM4NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFt
ZS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICci
cmVkIic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1l
LTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLm5hbWUtNS5odG1sCmluZGV4IDNmM2FlNjMxMTkyODIyYjA3NzYxODhlYzNlZmFmMzc3
NjQzNTRlNTkuLmQ0NTA5NzUxNTBmYzcxMDQ5MGRlMTVlZWMxMWY0ZjZkZDM2MTNjY2UgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJyJyZWQnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS53b3JrZXIuanMKaW5kZXggYTNm
OWNmMTQ0ZThjY2RkNjdmMWExYTA4NWVhNDNiYTBlNzYxOWM1Ny4uOTQwZTUwYmRmNTJkMGNmNWEz
N2RlMGIwZmRjZWQ0OTlkMzVmOTFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1l
LTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyJy
ZWQnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYi0xLmh0bWwKaW5kZXggM2JhMjQxYmM5MDg1NWIyYjFkYTJlZGFhNTUwMTExNTUxYjEx
YTE4MC4uMmIxNmMwYzQ4MTY1NzIzOTc3MDFiNTlkYzRmMjBkYjUxOWU1YjZlNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2ItMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoMjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMKaW5kZXgg
YzFlZjQwNWM2YTViZDdjODU4NjhhNzA0NDNhYmI0N2UwOWFiZTliZS4uOTE1YjMxMzJiMTE5YTMx
YjE1NTgzYmU3ZTFlZmUwMWE4NzlmNGQ4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
Yi0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoMjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2ItMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiLTIuaHRtbAppbmRleCAwNjE3ODRmOWVhMjI2NzI1NjJkZGE0
OGEwODRhMDQ1YzhkNDc5NGZjLi43ZjNiZDI2MGZmMWViMGVkNDE2ZTJhNDdhM2NiMzg3NGFiYWMz
ODk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
Yi0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigxMDAlLCAwLCAwKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3Jr
ZXIuanMKaW5kZXggZTJjMjg3ZWJlMWZmZDNkZWRjNGI3MWE0MmNjZDkxNTcxNGQ2Njc5OS4uOTQw
ZjU1NTE2ZTQ1NjVjNDY3MmM4OGI4OTJhMzY4YjdjY2UxMjgzZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdyZ2IoMTAwJSwgMCwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91
bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwKaW5kZXggMTY0MTY2NzI4NzAz
N2M5ZTk5NDE1MTFlY2M4NDI4NWU0YjJhZGRiNy4uZTZjYjMwMWQyZDhmY2U3MzVlZWVlZmE3Mjg5
MGRiNzhiZTlmNTM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2ItMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAtIDEsIDApJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LnJnYi0zLndvcmtlci5qcwppbmRleCBiZGI5YjZkYzdhMDAzMjQ0ZTY5MWQ2ZDMyZTE1NjgwMDNk
ZDZjYTIwLi4xMzc0ZGMwZmZlZjM1ZWUwYzQyYTliNzdjNTFmNTU1ZDMwZjBjY2NiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5yZ2ItMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIC0gMSwgMCknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbAppbmRl
eCBiYzQwNTY5Y2E0NTc1ZjU4MTJmMDNiYzBjNTMzY2VkNWFmMTBmM2ZkLi4zMzQ3ZmRlNTA0OGRh
M2NjMzIwNjA4Y2E4ZTA5MmFlNThjY2I2NDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYmEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDEwMCUsIDAsIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYmEtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpzCmluZGV4IDI5MGYxNzUwOTZk
NWNlNGFlN2E1YmNiNjk1NjczNTg1NWY5MmNmOGEuLmM3YmQ3ZGNkNjgxMmQzZDM3N2EwNzY2MTJk
ZTQ0MDYyZjBkNmJlYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDEwMCUs
IDAsIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LnJnYmEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS0yLmh0bWwKaW5kZXggZWRlZDUyNmRmYTQ4NjcwZGE0NDcxMGY5YmM5
MjM5NGUxMWM3ZjJhMC4uMTZkMzg1ZTU0ZjgyYjVjMmM4MDkwNTAxMTVhMTc2NGJhOTBhMjMyMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEt
MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsIDEuIDApJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTIud29ya2VyLmpzCmluZGV4IDAzOGIzODM4ZWQ4MjA5MGMxNTM5OTliMjMwM2FlYzZjMDkyNWI0
ZDguLmVhZGVlY2M3YmRlZmY0MGU4NjIyMTdjMDE2NDhiZjZjMWMwZjE0MzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
YmEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4gMCknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbApp
bmRleCBkZWM3YWNlOTI5NTc0N2VkZmZhNGRmNmVmODVjYWI3MzdhNWIzMTJhLi5lYjRiZTBkMjg5
YTljN2QwYzg2MGVlN2NkNzMyZGI5YmQ5NWY5MGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2JhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYmEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDI1NSwgMCwgMCwgMS4pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMud29ya2VyLmpzCmluZGV4IDliZGY3NzNj
YTA5MjZlODE1NWRiZDMyYzU3ZGEzZmM0ZmU2NGU3MDkuLjA1MzczOGUwYjUwNTEzZGI3N2Q1MmQ2
MTk3ZTU1NzUxNWEwMDRhZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1
NSwgMCwgMCwgMS4pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiYS00Lmh0bWwKaW5kZXggOGIwYWVlNTZlYWIwMDE1NThhNmQ2YmE2
YzAxZTExYzQyZTZkMTYyZC4uYTdhMzY5N2Q3NDY1MWMwYjhkZjNmZDJjNjg5Mjc5MDFjZmNmMWE4
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
YmEtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00
Lndvcmtlci5qcwppbmRleCAwZGI0NGMzODgzNjE5ODViNWRjMzk5YjExNmY0OTgxMWQwNTAxYmNk
Li42MDc2OWU3MTcwNTkwZDI3MDZlYTFiN2VkNjA0NmNmODAwNmE5MzEyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sCmluZGV4IGEz
ZDk3OTBhNzQ2MjI4MjhhOTUzNmZkZjFhZGRkM2NkNzgxYTBmYTUuLmU4NGZiNWI1OWI3ZjUxMWQz
MWI5MTBkYjhiODBiYmExM2Y5YmZlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1
LCAwLCAwLCAxLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS53b3JrZXIuanMKaW5kZXggZTgzMTdlY2QzMGE2MDhi
ZmMxNTA3MTY2YzBmYjVhNjhjNzc0MTI1Ni4uZmNjYWI1MmZiNmU5ZjczNDIxZjMwMmU5YTI2MTQ4
ZmM2YmVhYjVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAw
LCAxLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWNsYW1wLTEuaHRtbAppbmRleCA1YzQ4YWVlZjczMTI5ODI1OTY0YWZhMzE5MGM2YjdlYWNmY2Iz
OWIyLi4xYjJhM2IyMjU2OThhNjc0ZWE2YmIyZGE1ZGE5MTg4YWNmOTA1ZTc5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRv
IFswLDI1NV0uCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigt
MTAwMCwgMTAwMCwgLTEwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTEud29ya2VyLmpzCmluZGV4IGI5OGM0MWNiMzEwMTY5NDhiZDA0ZWVmNWU3ZWE0MjZiNTYzNzQ3
NzMuLjk3YWJiYzk2YzE5YmRkYzkyYzExZmMzMDdjMjM1NWQ4YTljMmI2ZDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxw
IGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigtMTAwMCwgMTAwMCwgLTEwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1jbGFtcC0yLmh0bWwKaW5kZXggM2RiMDE4YzVmMDhiZTQ2NjI2NzlhNjQ2MGZlMjkzNTEzMDY5
ZjIzNi4uNDcxYjY3YjEzZDMzMDFlMTNlOGJhNzI5MGE4NzYwNGVmODA3YzU1NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UucmdiLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0
byBbMCwyNTVdLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
LTIwMCUsIDIwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC0yLndvcmtlci5qcwppbmRleCBkZTdmOTA2NzE0ZDFjMDU4MWNmY2NhNmRiNjRiMTQwMWI5M2Uw
NDgxLi44NmMxZjI5ZGQ2NTU4OTI4MWE2ODlhZjQxNWEzMGE0ZWRkYzY1ZjUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItY2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoLTIwMCUsIDIwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtMy5odG1sCmluZGV4IGJkZTIzNDgzNzc2N2JjYzhlNTVkZDk4NjkzZmVhOWMyZDU4
NjFjMzUuLjhmNjU5Zjc4ZmY1YjI5OWEzZmQwNzYwOWU0YWZhMTc4MDIyMjEwODAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1jbGFtcC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQg
dG8gWzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
KC0yMTQ3NDgzNjQ5LCA0Mjk0OTY3Mjk4LCAtMTg0NDY3NDQwNzM3MDk1NTE2MTkpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMud29ya2VyLmpzCmluZGV4IGE1OTRkYTBj
MTdkNmEzYTEzYzk5YmE0Yzg3OWYxNzI2MWFkODE5MGQuLjJhZmM2YmI3ZGEwNTk1N2EwYjA4OWZj
YjIxNDIzMjk1N2RkMjRmMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xv
dXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjE0NzQ4MzY0OSwgNDI5
NDk2NzI5OCwgLTE4NDQ2NzQ0MDczNzA5NTUxNjE5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtNC5odG1sCmluZGV4IDM2NjgwNTNjMDU2NjNiMzdlZGYwMjA3NGExYTI2MjA2MDFm
ZmYyOWYuLmFhMGU5YTVhMTU2MDcwODExMGZkNzY5NDk5YmY3MWQ0OWI4ZTZjODIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1jbGFtcC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQg
dG8gWzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
KC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC53
b3JrZXIuanMKaW5kZXggMGRjYmNiYzgzMzhlZDYxOTdhM2JkY2ZjZjcwZDZjZGNlMmY4MzBkMi4u
ZDNjOTc5NDlmMWI2MWJmMjhkYjgwMWMyMWE3YjJjYmRhZmYzYWVhMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiKC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUu
aHRtbAppbmRleCAwNDkxM2M0Mzg0YmE0MDBjZjQ3MTUyMTljZTdhNDUyZDVmNjczNDA1Li5jNDA5
NzJjZTQ0Mjg4ZGY1YzgyMTY5M2JiNGVmZjU5MDE0MDg5MGFjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0u
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTUud29ya2VyLmpzCmluZGV4IDIxZWJlZmYyNGU4NTMyMzAwNTMwZjgzMjhlZmE5NWViODI4ZmZl
ODUuLmYyNWEyY2FkYTZlMmRmZDYyMTA4OTczMTAxNDdhZmM5NTM0MjMxZTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
NS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1jbGFtcC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxw
IGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItZW9mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWVvZi5odG1sCmluZGV4IDMxNTg2YzY1YTU3MjIyZGFkY2M5Yzc1YTdjNGIyNTRlOWQ3
YmNkNGUuLjUyYTc4ODMzMjNlZjA4ODk1ODNjNzIzMTNlYTE4NzJjMDI4YWQzNWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9m
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1lb2YuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Y8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1lb2Y8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoMCwgMjU1LCAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5qcwpp
bmRleCBlYWQ0ZGRkNWY5ZjZiODk5YzkxYjYwNDNkZGM2MzkzMzYzZjkxNDgxLi5kOTc5ZWVjM2Rh
MjliMWZiYjVlMGIzMjQzZGZiOTU0YWNiMDhkMDhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiKDAsIDI1NSwgMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0uaHRtbAppbmRleCAy
ODIxZmYyYzMxY2NmYjg1YmNhZjgxZTI2MTU1OWNjYjYxNzUyYzEyLi5mMDRhZTdjMWZhMWEzMzMy
ZjMwMDBhMTkxYjBhMTVhNjQ0N2NkNWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItbnVtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsMjU1LDApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItbnVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItbnVtLndvcmtlci5qcwppbmRleCAzMzNmZTBmZDMwNDRkY2JkNjY3
ZjY4NDFjNzZkZjgzZjQ0ZTE1ZDY4Li41OTEzYTdjODNkN2JjNTFkNzc0MDM0NDA4ZjFjNmI0NTYz
NmRlOWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiLW51bS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsMjU1LDApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2ItcGVyY2VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKaW5kZXggMGZkOTI3YmZlOGQyMTYzYmU3
MmQ5MjVjNGIzMzg3OTA1ODUyOTk3MS4uZDIxYjkwNjUwOTU4Yzg5MDUyYzBlMjJhZGNlMzlmMWIz
NGQ2MTM1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2Vu
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkNTUzMgQ29sb3Ig
c2F5cyAiVGhlIGludGVnZXIgdmFsdWUgMjU1IGNvcnJlc3BvbmRzIHRvIDEwMCUiLiAoSW4gcGFy
dGljdWxhciwgaXQgaXMgbm90IDI1NC4uLikKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKDAlICwxMDAlICwwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItcGVyY2VudC53b3JrZXIuanMKaW5kZXggNjc1MTNmYjUyNGM3MTFiYTIxODEyZDAwYjM1
MzJiZGJmYmQyOGEyNi4uYzFkMTRiNWEyN2ZiYWU5ODU0ZGRmZjYzMzJiYTE1ZWIxMDc5N2JhNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1wZXJjZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5DU1MzIENvbG9yIHNheXMgIlRoZSBpbnRlZ2VyIHZh
bHVlIDI1NSBjb3JyZXNwb25kcyB0byAxMDAlIi4gKEluIHBhcnRpY3VsYXIsIGl0IGlzIG5vdCAy
NTQuLi4pCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ3JnYigwJSAsMTAwJSAsMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNs
YW1wLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLWNsYW1wLTEuaHRtbAppbmRleCA2ZTQwMzI0OWU2OWEzMWU5ZGNkZTE0ZjNiZTAxYjZm
MDY1OWI0NDM4Li4xNWIyZTQ5ZDMwMjQzOGUxZmU0NTAzMTEzZGVhM2U3ZmRjYWM3MTNhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1jbGFtcC0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0xPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgLTIpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1j
bGFtcC0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCmluZGV4IDU2MWYyMzIyOGQ0OTZlMDRmZTI3
YmRlY2Q3ZTYyMGEwODVkYTZlZmIuLmFjMTE1MGM4MDk5MDIyZWRjN2VmYjBmNGY3OWNjNTg5YThh
OWEyMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUs
IDAsIC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5odG1sCmluZGV4IGM2NWI0NDA1
NjAyMzIyOTA3OTM1Nzg5MmI4MDk1ZWEwNDQ3M2FlNmQuLmRhZjZhYTNhODMyMTMxMWJkYTQxZTUx
YzRkN2ExYzI2OGY5NmQ0YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLWNsYW1wLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1
LCAwLCAyKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2Vy
LmpzCmluZGV4IDdkN2IyN2M2YjVmNTk0OTg0MWM0OGQzMTJjMDFhMzQzMDIyNTExYTIuLjIzOThm
MGFlYmUwZWJhZjYyYTI1YWRlYTkxZjU5MWEyYTk3ZWMzYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLWNsYW1wLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDIpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LWVvZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtZW9mLmh0bWwKaW5kZXggNWYwNWY3ODhmZjIzZjVkN2E0YzNhZWJlYTVmYzg3NWU0MDUy
NGUzOC4uYmM0MDYwYWFmYzY0OTZiZjVlMGU3YWZmYzFhNDU5MzdkNjBiNDUyZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9m
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtZW9mLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1lb2Y8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLndv
cmtlci5qcwppbmRleCA4ZmE4YjUxZTk3YTJlNjBmMTEzMzY4NjE5NWYxNjA5MGJhMTQ5YWJhLi40
MTVhMDZkNDQ0NTE2YWE3NGVjYzNjZDMzZWI3YzZjZGEwNDhhOTBjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLWVvZi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0t
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtbnVtLTEuaHRtbAppbmRleCA4Yjc1YTNmYTRlZTYyNTUyOWFhZWFkOGUzYjE0NzJiMDhhNjQ0
YzY1Li5jZTkzY2RkNmFkZTUwOTg0N2RmOGFkMzc2ZGI1YWViNDBjODhiNWYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0t
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLW51bS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLW51bS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAgLCAgLjQ5OSAgKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1udW0tMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS53b3JrZXIuanMKaW5kZXggMmRiYjkyODU5YWVhMzU0
YmYzYWMwNmNiYzA2NDUzZWZlNTliNTczYS4uNzgzMzViNjI1YThmYzEwNGI2YjRhMzJlYWNhYjU2
ZGI4MzBhY2FhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAs
ICAyNTUgICwgIDAgICwgIC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUi
LCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0y
Lmh0bWwKaW5kZXggYzg0M2I5YWIxYzhlYjViNjk0ZTkxOTkyYmMwODg0ODQ4ZWRhMmMyNC4uMjVj
YzJiYTU2MGVhMGFkZmZmMjVmNjBhMDVlNTRlNDc2ZGM5MDljNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1u
dW0tMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1udW0tMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgIDAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LW51bS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLW51bS0yLndvcmtlci5qcwppbmRleCAzZDhhMjZhMDNhMzk5YzcxOGRiOTZj
NWU4NjgzNzEyMzJlZTBjMWZjLi40Y2FlYjAyN2MwYWYwYmFkNTkxZTkwNGFhNzIwNGVlMDQxOGQ1
OGQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiYS1udW0tMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAg
LCAgMCAgLCAgMC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwy
NTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5o
dG1sCmluZGV4IGNjZDAyYWVjYjFmOGNjMTg2ZjJiMDBhZmMzNzhkMDc1ZjI0MWViZDAuLjhlZmZl
MWUwMDBjOTMwY2ViMmYyNDA3OTNlNzI5NGU1ZWMwNDc2MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1w
ZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtcGVyY2VudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCUsMTAwJSwwJSwwLjQ5OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAi
NTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2Vu
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1wZXJjZW50Lndvcmtlci5qcwppbmRleCAwOTUyMTY2MWZkOTgzYzgzNGM3Yjk0MzRm
NDMzNWQ4ZGNjNzQ4MzZhLi5kNTA0N2U5MzRiNDAxZGE5OTdhMjBlZWJhMWFlY2ZlZDEyMmU4NjM5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1wZXJjZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCUsMTAwJSwwJSww
LjQ5OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sCmluZGV4IGJh
NTc3ZmQ5YTk1MjkxZmNkMGQxMzExZWU4M2NhYzc3MjQ4NWI2MjIuLmQ4Y2FhZjk3M2ZiYWFmMWUz
YTJkMzlmYzhlNjgxMDliYjBlOGNkODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQt
MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
ICAwICAsICAyNTUgICwgIDAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1zb2xpZC0xLndvcmtlci5qcwppbmRleCA1ODVlODUxYjAzM2E5NGFjMjFiM2E2ZGNlYTk0
OTY0ODIwNzdiMDBlLi4wYjQ1ZWU3ZjUxZGJjYzdjNWQ0MmM2MzhmYmRhMWJjMmJjZTZmZDVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1zb2xpZC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwg
IDAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sCmlu
ZGV4IDZmYjg4NGMxNGVmYWU4MzBkZmY1MjNlZjhiY2IzMmU3YTBiMzE4YTYuLjEyMTE2Y2QzMGM2
Nzg2ZWNmNDIwMWIwZDJlMDcxZGVjMTViNTY3ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
c29saWQtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgIDEuMCAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1z
b2xpZC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCmluZGV4IDYxMjY1NDAyYTJhNjA1M2I0ZTcx
Mzk4ODlmMTE4MWU2OGZmMjI0YzUuLjhiZGJmYzdlZDcxZjA0YzkyZjY2YTM3Y2Q1MjRmNWM2YzRj
OTE1MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwg
IDI1NSAgLCAgMCAgLCAgMS4wICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlk
LTMuaHRtbAppbmRleCBlNDhhNTg2ZjIxM2JmODJhZGIwNzQ4ZTA0YTVlZjFiNDc0MDNmY2M2Li4w
OTY1ZmVjYjI4MDYwMjI4MWY1NjEyNWRlZDRkNGY4YzI1YWRlOTBjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtc29saWQtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICsxICApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLXNvbGlkLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKaW5kZXggZGI0NTE2YWRjNjU1
NTU4NGI3MDlkYjBlYTMzNjQ4OTBhMjFmZDEyZC4uODYyYjc2NDIxZjI5YzYwNGIzMmI5MzI3MzYz
NGNmOTZlNGViODI4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KCAgMCAgLCAgMjU1ICAsICAwICAsICsxICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LXNvbGlkLTQuaHRtbAppbmRleCA1YTQ4YjhkMWFkM2YyZDIyNmJiNDVkZGM1OTdlMmZkYmQ0ODRm
MmNjLi5kMTIwMzk4Y2MyMmMzNmU0NDFjYjIwNWJkMzc5YjkzNzYwYzI1NzJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xp
ZC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAtMCAgLCAgMjU1ICAsICswICAsICAxICApJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMKaW5kZXggMTgxY2M0
NWJkZWUyNzY1MWI3MjBiYzE3NDUwZmNmMDQxMzMzNDYzYS4uODhjMTE3NTM2MDY0YmVlMmNlOTMy
MzZkYjlmOTQ4NTI2YThkNDA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKCAtMCAgLCAgMjU1ICAsICswICAsICAxICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0x
Lmh0bWwKaW5kZXggZTljOTcyNmI3Njk5MjVkMWQwZjdjNmJhZWI3NmFkMGE4ZGVlMjY2YS4uNGIz
NGE5ODJjYzUwYzM2YWU3OGVlZDc1MzJkZWM3M2U5YzNlYWU0MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5zdmctMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmF5JzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5zdmctMS53b3JrZXIuanMKaW5kZXggNzFiY2I2MDVmNmVhODI1ZGM5
ZjgzNjgzZDJlZjhiNmUwMDAxODJiYi4uY2FhNTI3NGNhOGE3ZDllY2EyNmY1MjNhNDE1ZjZmMjkz
YjMzMzRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnZ3JheSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDEy
OCwxMjgsMjU1LCAiNTAsMjUiLCAiMTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5zdmctMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN2Zy0yLmh0bWwKaW5kZXggZGNmZWMzMWQ1NGQ0MDg0NDM5NWJjNDk5MjM4NTdkZTkw
MGU4YjRiYi4uODkzZGRmODVjNzNlMTJiMDQ4ZDNhNGMzZjI0ZDdiYTE4ODk2MGQ2MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnN2Zy0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmV5JzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3JrZXIuanMKaW5kZXggMGFjODA1
NDQwZTk0MDY5ZjgyNDIxYzljMjg4YmY4MDViNWMxYWU3ZC4uNDU3NmM5MDIzZWM4ZmUxODYxNzZj
YTNlYjQ3NDk2OWRjNzdjYWU4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnZ3JleSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI4LDEyOCwxMjgsMjU1LCAiNTAsMjUiLCAiMTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAppbmRleCBjZTM1YTc0MjQ5OWQxZGRjYTM1
YTNhNzMwYjRiMDE1NjNmMzRiM2VhLi4yZWMzZTIzZGYwYmYzNTM4OWU2ZDI5YzgzNDU5MGI0ZDdi
NmI5MWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2Uuc3lzdGVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5zeXN0ZW08L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnVGhyZWVERGFya1NoYWRvdyc7
CiBhc3NlcnRfcmVnZXhwX21hdGNoKGN0eC5maWxsU3R5bGUsIC9eIyg/IShGRjAwMDB8ZmYwMDAw
fGYwMCkkKS8pOyAvLyB0ZXN0IHRoYXQgaXQncyBub3QgcmVkCi0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5zeXN0ZW0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN5c3RlbS53b3JrZXIuanMKaW5kZXggYWI1OTA3ZGVhZjcwYzYxNGNkYzk1ZTI5
NDg1YmFiMmNkOGVlMmNmOC4uYTlmYTgxMWM3ZDI1MzRjMmE0MzA2NmIzODQyZmZjN2FjNmIzODJk
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnN5c3RlbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
VGhyZWVERGFya1NoYWRvdyc7CiBhc3NlcnRfcmVnZXhwX21hdGNoKGN0eC5maWxsU3R5bGUsIC9e
Iyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pOyAvLyB0ZXN0IHRoYXQgaXQncyBub3QgcmVkCi0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5odG1sCmluZGV4IDNl
N2RhODlkYjk0MjE4MTFiMDZiMmEzMjE1MTU5ZjIzYzQ2MDYwMjYuLjNkYjgxODliOGE3OWVlZjk2
MjYwOGVjNjcwYTIyNWE5MjQxNTkxNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLnRyYW5zcGFyZW50LTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFy
ZW50LTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICd0
cmFuc3BhcmVudCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29ya2VyLmpz
CmluZGV4IDEwYmI1M2I1ZTRkYTM0ZTI1ZmJiMjAxMGE3NjczZmYwYTBhODVkNjEuLmI0MWNmMGRm
NmM3MmEyYTA3YTUxOTA5ZjhhZTg4NmQ0NDdmOTdjZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJh
bnNwYXJlbnQtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICd0cmFuc3BhcmVudCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVu
dC0yLmh0bWwKaW5kZXggOWRkODc2MjVmNWJjZjc4MjJiMzY2OTNmYjk4OTJiZTM5MzViYzU5NS4u
NDVlZTJlMTUwNWYyODk5Y2ZiMDM2NjYzYzNiYjNjZDZmYzA3OTE2NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
dHJhbnNwYXJlbnQtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UudHJhbnNwYXJlbnQtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ1RyQW5TcEFyRW5UJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNw
YXJlbnQtMi53b3JrZXIuanMKaW5kZXggMGRkMDc4NDY3ZjdmYWZhMTM5MzQ3ZDU3ODIwMmNmNmM5
ZGNlZjg3Mi4uYjk2YmQwYjE4NjhkMDI3OWMxMGY5ZGZjOTliYzllNjk1YTkwMGZiZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5z
cGFyZW50LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ1RyQW5TcEFyRW5UJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkuaHRtbAppbmRl
eCAzNzIwNTU4MDdjMTJlMTdiNWY0YTQ0Y2JmZjVlYzAyZmI0ZjJmM2JhLi42ZDcwNDlhYzg0MjIx
NzM4ZGVjMjYwNmVlN2FmMDFlMjM2Zjc1M2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmVtcHR5PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50
LmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIHZh
ciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxsU3R5
bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkud29ya2VyLmpzCmluZGV4IDE0NjUyMGU5ZDcw
ZjYzNDNlOGU2ZmE3NTA3YWYyYWMzM2YwMjljNWIuLjg1ZWIzMTEwNWEyNmM2NDQyMWM4OWNiMTky
NDhmZDE2Mzg4YTZkM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQo
MCwgMCwgMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuYWxwaGEuaHRtbAppbmRleCA2OTZjNmU2YWZiNDIwMWUyOThhMWFmMzJlY2Qx
YWJkYzkzYjRhN2RkLi4zNGI3NGY1ZTI3ZmE0NWZlOWI3ZDdmY2IzOGYxZWVlNWIyZDgxYjkwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdy
YWRpZW50LmludGVycG9sYXRlLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYzLDI1NSwgIjI1LDI1Iiwg
IjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1
NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCmluZGV4IGZlNTNkYjIyMDI5MzUwOGU4YTM1
MjE3ZDQyNGNlYTMzYzIyNDMwZDMuLjZkNzAzOTIwOGNlYzVjZWE2MzQ3ODRjZTRjNjk3YTg0N2E0
ZDFhZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5
MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkxLDE5MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIs
ICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAiNzUsMjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCmluZGV4IGE5MjQ2
Nzc4NTVjZWI0M2IyNWZmOTUzNzNjMWMxZTc2YWFiNWI1ZGIuLjc0MjcxOGYwMjQyNDAzZDVhMTc0
MGVlZDE3YjQ5NjM1ODEwMGVlZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5jb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAxOTEsMTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAs
MjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAz
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci53b3JrZXIu
anMKaW5kZXggODdjZWE1M2Q1MjNhODQ4ZDRlZmMzMjAxMzY3Yzc4ODkyN2RkMWNiMi4uNGRjMGIx
MWE0ZTdmMDJmYTI4NTQ5ZDdmOTNlM2NjNTAxNDMwY2RjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5jb2xvdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5
MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwg
Ijc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
Y29sb3VyYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwKaW5kZXggMTljNGU0N2RmNTQyNjI1MDM1ZTNi
ZTgwZGQ3YmZmODEzMzZiODViOS4uM2ZiZDNhZGFkYjNmODM1ODQ5YzI3ZWE4Y2RlNzIyM2NkN2Yy
NjdjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuY29sb3VyYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5jb2xvdXJhbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMTkwLDE5MCw2NSw2NSwgIjI1LDI1IiwgIjE5MCwxOTAsNjUsNjUiLCAzKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjYsMTI2LDEyOCwxMjgsICI1
MCwyNSIsICIxMjYsMTI2LDEyOCwxMjgiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCA2Miw2MiwxOTIsMTkyLCAiNzUsMjUiLCAiNjIsNjIsMTkyLDE5MiIs
IDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJh
bHBoYS53b3JrZXIuanMKaW5kZXggMzRjMmQwMzc3NTdkNDNmYzE0MDRiZWU2NmQ1Yjk3OGE0Mjg4
NjBmYS4uNDQ5Y2ZkZmQ1ZGI2NjE1NzA3MzQxNTUwOTQ2M2RjNTk0OGRiYmFlYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29s
b3VyYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMTkwLDE5
MCw2NSw2NSwgIjI1LDI1IiwgIjE5MCwxOTAsNjUsNjUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjYsMTI2LDEyOCwxMjgsICI1MCwyNSIsICIxMjYs
MTI2LDEyOCwxMjgiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCA2Miw2MiwxOTIsMTkyLCAiNzUsMjUiLCAiNjIsNjIsMTkyLDE5MiIsIDMpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbAppbmRleCA3ZjVjZDdi
YzJiNTM4ZmU1YjE0MDBkYjQxOWM5NDYwZTAxZTAwMWUzLi44NmNiOThhMGY3NDY5MTMwMzg0ODQ2
YTQyODQ3ZTFiZmFlYTYxNGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMjcsMjU1LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMjU1LDEyNywyNTUiLCAzKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEwMCwyNSwgMCwyNTUsMjU1LDI1
NSwgIjEwMCwyNSIsICIwLDI1NSwyNTUsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAxNTAsMjUsIDEyNywxMjcsMjU1LDI1NSwgIjE1MCwyNSIsICIxMjcsMTI3
LDI1NSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
bXVsdGlwbGUud29ya2VyLmpzCmluZGV4IDMzYmRmODhiMDRmY2M0NGRjZTQyMGMzYjhjNTFlOTdj
NzRkMTE2YjQuLjk4ZWU0NjczNGZjYzk5YWRmNDYyNzQ0YmJlNGY3NmZhMGM1MmE1MmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
Lm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDIwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywyNTUs
MTI3LDI1NSwgIjUwLDI1IiwgIjEyNywyNTUsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMTAwLDI1LCAwLDI1NSwyNTUsMjU1LCAiMTAwLDI1IiwgIjAs
MjU1LDI1NSwyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1
MCwyNSwgMTI3LDEyNywyNTUsMjU1LCAiMTUwLDI1IiwgIjEyNywxMjcsMjU1LDI1NSIsIDMpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLmh0bWwKaW5kZXggZjBm
ZDlhZmFiNjZiZjE0Y2IwN2I2OGNjNDU4ZmIyNTdhMzVjZWU5Mi4uNjMyN2Q0MDMwMzdjZDRkNjg0
MTdlYzk4NmM3M2Y1Njc3YzRlNmFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDIwLDI1LCAwLDI1NSwwLDI1NSwgIjIwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
ODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA5
MjE2ZDBmYzUxMWQ3ZGFiNmQ1MWNhZWQ1YzQ3MjJiZDg1NTc1ODk4Li5kNTYxOTE3M2RjYWY4OWQ3
NzZhZTNkNGE3N2I1MjMwODZhZWFkOTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYs
NiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAyMCwyNSwgMCwyNTUsMCwyNTUsICIyMCwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDgwLDI1LCAwLDI1NSwwLDI1NSwgIjgwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbAppbmRl
eCA5NDU4NzNlZWE2OTg2NmMyMzkwYTU3Njg5MjY2NDNmNjViMTE0MGFkLi5jYjY4YTZjZTE5YjFk
MTE5MzcxN2FhZTkwYmJlMGNmYmViYTgyYzFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLm92
ZXJsYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2LDYgQEAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMCwyNTUsMjU1LCAiOTks
MjUiLCAiMCwwLDI1NSwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MTAxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTAxLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCAxNik7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNDksMjUsIDAsMCwyNTUsMjU1LCAi
MTQ5LDI1IiwgIjAsMCwyNTUsMjU1IiwgMTYpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMTUxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTUxLDI1IiwgIjI1NSwyNTUsMCwyNTUi
LCAxNik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53
b3JrZXIuanMKaW5kZXggYmY1YTVhNTU5YzMyOGZiMmMyZmExNzY1NjVmMjk3ZGE0OTAwZDA5OC4u
MGMxYmYyYzA4YWY1ODg3ODE0ZmI4ODk0OWM2NDgwYWI3N2FlNDg3OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUub3ZlcmxhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM4LDcgKzQyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTksMjUsIDAsMCwyNTUsMjU1LCAiOTksMjUiLCAiMCwwLDI1NSwyNTUiLAogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTAxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTAxLDI1Iiwg
IjI1NSwyNTUsMCwyNTUiLCAxNik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAxNDksMjUsIDAsMCwyNTUsMjU1LCAiMTQ5LDI1IiwgIjAsMCwyNTUsMjU1IiwgMTYpOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUxLDI1LCAyNTUsMjU1LDAsMjU1LCAi
MTUxLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCAxNik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
Lm92ZXJsYXAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5vdmVybGFwMi5odG1sCmluZGV4IGYyMDkwNGUyNDhkM2IwNWJhYzBmNjQzZmFj
OGFlYTQ5MmM4YjNmMjcuLmE4YWI3MzhiNDE5ZDM2ZTBhZjc4MmUwMzZkOGNkYTAwNDViNTg1N2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLm92ZXJsYXAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMzAsMjUsIDAsMjU1LDAsMjU1LCAiMzAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDI1LCAwLDI1NSwwLDI1NSwgIjQwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MCwyNSwgMCwyNTUsMCwy
NTUsICI2MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCmluZGV4
IDQyYjg0NzMxYjI3MzY0Y2M3OTcwY2E4NTM2ZmYzYjQ1ZWQ0MThjYzEuLmMwYzM2NDM1ZTI4MWM4
NzIwMTY1ZDcxNGFhZWY1Yzc3ZDNkNmY0Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAyLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVy
bGFwMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcg
KzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzAsMjUsIDAsMjU1LDAsMjU1
LCAiMzAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDQwLDI1LCAwLDI1NSwwLDI1NSwgIjQwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MCwyNSwgMCwyNTUsMCwyNTUsICI2MCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsMjUsIDAsMjU1LDAsMjU1
LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29s
aWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnNvbGlkLmh0bWwKaW5kZXggYzU4NWJiMDg1N2IwYmY0YjUzYmU5ZGU2YzAwNzI2YWY4MjI4
NzAzMi4uYjFmYmE0MDkyYTViOWUxMDAwNTNhOGI1OGJlZGFkNDFlNWQxMzY0YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29s
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5zb2xpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5zb2xpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBnLmFkZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMKaW5kZXggNGI1MDAw
ODBhNzNlYWZlZWNkYTVmOTYyZjdkZWVkZDkxNTgxM2JmNi4uNGExMjI4OWYyYzcyM2Q0OTA0OTFj
ZDE5NDViMzNmMjM3YmE2MjI1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBnLmFk
ZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS52ZXJ0aWNhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUudmVydGljYWwuaHRtbAppbmRleCBmZmRiMzJkZTg3YzA1MDI5Y2U2YzAz
OWRjNjhmZGYxY2RhNjcyZDdiLi5hM2VlYTQ3NzVlNjMyMTAyMGEzYmUxZDNjNTkyNGEwZTEyZjMx
NGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS52ZXJ0aWNhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRp
Y2FsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAxOTEsMTkx
LDYzLDI1NSwgIjUwLDEyIiwgIjE5MSwxOTEsNjMsMjU1IiwgMTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEy
NywxMjcsMTI3LDI1NSIsIDUpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMzcsIDYzLDYzLDE5MSwyNTUsICI1MCwzNyIsICI2Myw2MywxOTEsMjU1IiwgMTApOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbC53b3JrZXIuanMK
aW5kZXggODIxMmFkODI2MDhlZDU0ZmUyYzFjMGU5OTY2ZjAzNjAyMDMwZGMyMi4uMWMxNjI0ZDZj
MjQ0MDgwNDA5ZGFiM2MxNWI4NWFlOWRmNGM0NTdlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LnZlcnRpY2FsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMTkxLDE5MSw2MywyNTUsICI1MCwxMiIsICIx
OTEsMTkxLDYzLDI1NSIsIDEwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCA1KTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCA2Myw2MywxOTEsMjU1
LCAiNTAsMzciLCAiNjMsNjMsMTkxLDI1NSIsIDEwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuemVyb3NpemUuZmlsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC5odG1sCmluZGV4IDdjOGVlYTgwOGUxZTE2
YTdiMDgwZjFhMGY0ZDdiNTg1MTBkNjE4YTYuLmNjNjFiNTBlNDhiMjUyYTAzMWI4ZTU1ZGE2NGE5
YjllODIxMjAzMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LmludGVycG9sYXRlLnplcm9zaXplLmZpbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
emVyb3NpemUuZmlsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjks
NiBAQCBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwg
IjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9z
aXplLmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMKaW5kZXggNGRiZTE0NjIzODI1
NGI5NDdkMmZkZjliOTU2ZjM3MDg2M2VjY2RlZS4uZjMyNDJjMjEzMTRlNmQ5ZTJhNjhhYmEyMzBl
ZmQxYjcxODlkZjc2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmls
bC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0MCwyMCwgMCwyNTUsMCwyNTUs
ICI0MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5maWxsUmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3QuaHRtbAppbmRleCA1ZWIzN2M4Njk5NzMw
ZDAyMDhlYjEyODA3NzRjZTM1NmI1YTNhN2M3Li4zMDMzYzk0ZTI1YzhmNmQ3NzdhZTI4NjU5Mzg4
YTU4NjRkOTQxOGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxS
ZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50
LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGcuYWRkQ29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmls
bFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnpl
cm9zaXplLmZpbGxSZWN0Lndvcmtlci5qcwppbmRleCA5MzVlMTZhN2RiOWI5ZmQ5M2EzMTVkOTcz
YzJlOWFjNzk3MTM3ZWE3Li41MGU4NjAwNTcxNDRlMTBjMjk2ZjliNDJmNTYwNjU0NDEwMjMzYmI2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Qud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGcuYWRkQ29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIw
LCAwLDI1NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLnN0cm9rZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwKaW5kZXggNzIx
NWE5NTU0ODM2ZmZiNzdhNTM4Njg3ZDJmNzIyYjA3MTIxMzFjNC4uZWNjNjEwZGQ0YjQxYTkzM2M4
OWI3YjAzODQxMzVmMDZiNzJhNjU2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3Np
emUuc3Ryb2tlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEs
MjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1NSwwLDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUsICIy
MCwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEs
MjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZS53b3JrZXIu
anMKaW5kZXggY2RhNGRjNDZjMTY1Yzg1MTY0ZGZlNmIwYjNmZmQ0MjhlNWIxZjBhOC4uNDYyNDA1
MjAyMGRkZWY3ZGNhYWRjNWU1NGEyOWJkMDY4ZmU3MGYyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDIxLDIwLCAwLDI1NSwwLDI1NSwgIjIxLDIwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxOSwyMSwgMCwyNTUsMCwyNTUsICIxOSwyMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjEsIDAsMjU1LDAs
MjU1LCAiMjAsMjEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDIxLDIxLCAwLDI1NSwwLDI1NSwgIjIxLDIxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3QuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJl
Y3QuaHRtbAppbmRleCAyMWM5NGVlYTdmZmYyODJkZGI3NTFkYjlmNjlkZWI5NTk2NTU3ZmIwLi5j
NmE0MjFhZGQzYTljZDg4NzA1NjQzN2U0YzljZWQzZjQ5NzVmYzIxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5z
dHJva2VSZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5zdHJva2VSZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0
cm9rZVJlY3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAw
LDI1NSwwLDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUsICIyMCwyMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ry
b2tlUmVjdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwppbmRleCA3OGI4ZThm
MTI0NjUyM2YzZTIxZjg5OGI0MGRlOWVmMTk4YTRkNWI2Li5kY2EyMzljOWJiZDQyOTYyYjRkMDA2
MTQzZDFiZWM2ZDZhNDYxNjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56
ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwy
MCwgMCwyNTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIw
LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwy
MSwgMCwyNTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5s
aW5lYXIubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5saW5lYXIubm9uZmluaXRlLmh0bWwKaW5kZXggNDdiMWVlNWIyZmIxZGUxM2EzNDk2N2Vi
MTA4NTRkZjI1YmU0YzYzMy4uNTFkNDhhYzBmZTEzYmRiMDQ3OGZiMmQzYjA0YThmYmRkMDI4NTAy
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGlu
ZWFyLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmxpbmVhci5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5n
cmFkaWVudC5saW5lYXIubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVMaW5l
YXJHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRl
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Y3JlYXRlTGluZWFyR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUg
bm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgSW5maW5p
dHkKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVh
ckdyYWRpZW50KDAsIEluZmluaXR5LCAxLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5p
dGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGlu
ZWFyLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNTAyOTIxZjYxZjBhOTU0NWM1Y2ViOTQzMzEz
MzQ4MjYzMjgwMTM4NC4uYzgyNjhiMDA5OTM3YjA2NWJhOWRmOTM1MDJkOGQ4NTI2YTkwOWVmNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFy
Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImNyZWF0ZUxpbmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMg
YXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIElu
ZmluaXR5CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVMaW5lYXJHcmFkaWVudCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVM
aW5lYXJHcmFkaWVudCgwLCBJbmZpbml0eSwgMSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50
KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJh
bnNmb3JtLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmxp
bmVhci50cmFuc2Zvcm0uMS5odG1sCmluZGV4IDQzYjE3ZDYxMDZjY2EzYzNhYjMwMjAyOWM5OTcx
MzgxZTFkYTU5YTUuLjc5NzgwMmNlODlkMGIyNjgxODA4ZTgxNmNkMjI5MGVlZTExOGI1M2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50
cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmxpbmVhci50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Z3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lYXIg
Z3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNl
IGF0IHRoZSB0aW1lIG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJl
bGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEud29ya2VyLmpzCmluZGV4
IGY3NzVkODUwOTVmODE4MzgxNjZmZGRjZDQyNmFmZmRiMDk3OGE4ZDMuLmFkYTBiOTY4OTc2N2U5
NGNkN2Q1YmJjZTM2NTU5NGRiMDY3Mjk2OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4x
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IGNvb3Jk
aW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBv
ZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCmlu
ZGV4IDQ0Yzk1ZTdjMDUyZTI1Y2EyMmIxMDM5YjlhZmRhMDdmNTgwMzNhOTEuLjgwYjg3OTE5ZWZk
YmMxNmZjM2I5MGZlMmE5OTMzMGU5YWJmODQ0YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFk
aWVudC5saW5lYXIudHJhbnNmb3JtLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9y
bS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJl
IHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmc8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJM
aW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRl
IHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0
eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zv
cm0uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5s
aW5lYXIudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGJjYThkZjBhZjRiYjc0MjVlNzQ2MmE1
ODgwZDU5OTlmZDAyZDYxYjIuLjMzMDU4MjQ5NTIwNWY3YmQzYzRmNDZlYmZlYzVkZWM5MDUyYWUw
Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmxp
bmVhci50cmFuc2Zvcm0uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0
aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5s
aW5lYXIudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCmluZGV4IDk2M2I3ZWFkYjExYzJhYTk1YzIx
MjVkMDZmMTU2Yzg5OTQ5ODkwYmUuLmM3MzBiZDVhODk3NDJhYjM5NWZlODA0ZGVhNGU0NGViOWY3
NDc5MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5MaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2Fj
aGluZyBlZmZlY3RzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2Ug
YnJva2VuIGNhY2hpbmcgZWZmZWN0cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZpbGxS
ZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50
cmFuc2Zvcm0uMy53b3JrZXIuanMKaW5kZXggNmFjZmQwMGVmOTJhMTkyYzNiZTUyZGZhNDk3NTBh
NWJmZDhiN2Q3My4uNTQ1NWYyNGI3N2JjZTE5M2Y5ZTk3NzY2OTliZTkyZGI5Zjk5YWVmYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRy
YW5zZm9ybS4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJMaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4g
Y2FjaGluZyBlZmZlY3RzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoNTAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUuaHRtbAppbmRl
eCAxYWVjMjRjNjVkYmRlZjRmZTk5OTQ3YjRhYjRmMjNmMTY4MTBmYmMyLi4zMDIwYzYwYTY4MzVj
MGJlNjIyNzExODY3OWJlYmMyZjRkODcyMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lm9iamVj
dC5jb21wYXJlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIHZhciBnMiA9IGN0eC5jcmVhdGVMaW5l
YXJHcmFkaWVudCgwLCAwLCAxMDAsIDApOwogX2Fzc2VydERpZmZlcmVudChnMSwgZzIsICJnMSIs
ICJnMiIpOwogY3R4LmZpbGxTdHlsZSA9IGcxOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwg
ZzEsICJjdHguZmlsbFN0eWxlIiwgImcxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVj
dC5jb21wYXJlLndvcmtlci5qcwppbmRleCBhZmZkNjQzODhiODBkODdlNWJlZDljZjNiNWM1MDcz
MTM5YmZmOTQwLi5mOTA4Y2M2ODA4ZWJmNmYyZmQ3MzQ0NzJlMzg4YjlkYzFjNGE2ZDNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29t
cGFyZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQub2JqZWN0LmNvbXBhcmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIHZhciBnMiA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgw
LCAwLCAxMDAsIDApOwogX2Fzc2VydERpZmZlcmVudChnMSwgZzIsICJnMSIsICJnMiIpOwogY3R4
LmZpbGxTdHlsZSA9IGcxOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgZzEsICJjdHguZmls
bFN0eWxlIiwgImcxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFz
Lmh0bWwKaW5kZXggZWViNjI0MjZkMDQ4ODU5N2Q0ZjQ4Y2U3ZjU0ZTI2YmNiNWEwZDVmMy4uZTdj
MjJlMzYyOTM5OGQxZDI0M2ZmNjY1MzYyY2YwZjcyMjg4OTAxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3Nz
Y2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3Qu
Y3Jvc3NjYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYg
QEAgZy5hZGRDb2xvclN0b3AoMSwgJyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy53b3JrZXIuanMKaW5kZXgg
OTY5OTk3N2E2ZmU0YmE5YjExYzhhNDdiYjk0N2YwNzcwNmYyNDU5ZS4uYjRmMjg0ZjdjNzBkYTFh
Y2E1MzI0ZDlkNTI2NjdjY2EyMDY4YTgwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGcuYWRkQ29sb3JTdG9wKDEsICcjMGYwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci5odG1sCmluZGV4IDc5NTY3
M2JhZDdkNjI5MTcwMGNiZGVkNTY2NWJhNDg3YTg5ZWM2ZTMuLjBiNzJhODM1MjdmY2VhNmY4N2Nj
MmMwM2Y2NzgyYTE4MTZiYjBmMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQu
b2JqZWN0LmludmFsaWRjb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xv
dXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgYXNzZXJ0
X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCAnbnVs
bCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRD
b2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIi
LCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgbnVsbCk7IH0pOwogYXNzZXJ0X3Rocm93
cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCB1bmRlZmluZWQp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIu
d29ya2VyLmpzCmluZGV4IDFmYTYyZjNiMTdlZGM0NDk2MWI0ODM1NzU3MjM3ZTZlZDc4ODFmNjgu
LjUyNmVkYmZmYjYwNjE4MTliNzBiODNkNTc5NDJiMDY1YTJmODc2OWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3Vy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5v
YmplY3QuaW52YWxpZGNvbG91ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0
aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCAnbnVsbCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZ
TlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9
KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0
b3AoMCwgbnVsbCk7IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkg
eyBnLmFkZENvbG9yU3RvcCgwLCB1bmRlZmluZWQpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0
LmludmFsaWRvZmZzZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lmh0bWwKaW5kZXggMmRkODdmYjQ3Y2Y3YzBhYTcxZmJh
Y2Y5N2ExYjBmOTYyZjU0YTU1OS4uZDg0MTg5NWM5N2U4YzM2YmJmNTZlMWYyOTk4ZDVjMWNlYjAy
MTQ3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmludmFsaWRvZmZzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9m
ZnNldDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgyLCAnIzAwMCcpOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3Ao
SW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChOYU4s
ICcjMDAwJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxp
ZG9mZnNldC53b3JrZXIuanMKaW5kZXggMjhmNzExMTU3OWY5ZjdmNmViYTgwMGY4Y2M0M2UwMDJi
NjM3ZjcwNC4uMjNiNWQ3YTNkODU2Y2QwNjdlMjFhNTkzM2NmNWIzZGNmNWFlZTIxMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFs
aWRvZmZzZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpF
X0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgyLCAnIzAwMCcpOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoSW5m
aW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChOYU4sICcj
MDAwJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwKaW5kZXggYzdm
MzZhMzE5OTNhNzc3NWM3ZTQ0MDUzMjlkOWMxNDUyYzU5ZTdjYS4uNjZmYTYxMjJhZjM4YjI0YjZh
OTk5NmJhYjgwMmNhYTYyN2U0YjUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGcuYWRkQ29sb3JTdG9wKDAuMSwgJyMwZjAnKTsKIGcu
YWRkQ29sb3JTdG9wKDAuOSwgJyMwZjAnKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0
LnVwZGF0ZS53b3JrZXIuanMKaW5kZXggMDI4ZDkzNDI0MTY4MTRkNmMzODlkYjYxMzM3ODgzMWQz
M2M0ZmJhNC4uZjZjMTUzMWQyMTI3YmZiNjRhMTkwYzg4YjBjNWYwNDQyN2VjNTRiNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LnVwZGF0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgZy5hZGRDb2xvclN0b3AoMC4xLCAnIzBmMCcpOwogZy5hZGRDb2xv
clN0b3AoMC45LCAnIzBmMCcpOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5i
ZWhpbmQuaHRtbAppbmRleCA2ODE5ZTE2MDFlZjkyODg4Yzk4ZmNjMjdiZjA1MzQ3MDdiM2E2ZTQ2
Li40NTI5MmRkNmZlMWMxODVkYTFmNDZkNDY2YjAxMGRhYWJmM2Q2NDg0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5iZWhpbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmJlaGluZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyAr
MzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUs
ICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5k
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmJlaGluZC53b3JrZXIuanMKaW5kZXggMzk3ZmY0ZWFkMTQyMzZmOGEzZTAzMjFiM2Ey
YzAyYzA1NzlkMzA3ZC4uOWUyMGMzYjQyZTdlZTAwNTdlYjIwY2FiYWE1NTA4N2VlMGE5YTEyNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuYmVoaW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSww
LDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCmluZGV4IDBjODFiODFlODQy
MjY1OWYwNjM3YjMwZmFkZTRlZjBmODk4ZmVkMTUuLmUxOTk2YWQ4ZjdiNjhmNjNhNTdmZGRkOTNi
NWNmMDg5MWU3YWUxYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5iZXNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1
NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLndvcmtlci5qcwppbmRl
eCAxNDVlNTExOWUyZTk1YzY4YTdhM2ZlOTUxM2VkMWRmMDE2ZGZjNzFjLi4yYmI4NzkyMTk5MmU5
YTA4NTc5ZWQzYTBiMjRiMTkwYzg5NTk4YWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lk
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMy
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAi
OTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUu
Ym90dG9tLmh0bWwKaW5kZXggNTE0NTc3NTBiNjE5Y2JmNDg3YTRlNGI4MDcxMGY4MTdhZDY1ZWUy
Mi4uYTRjYWMwOTUyMTE1OTQ0YmUwYzhmZjc4YjgwY2Q5ZTQxMDI3OWIwYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9t
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuYm90dG9tLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5ib3R0b208L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcg
KzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1
LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRv
bS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5ib3R0b20ud29ya2VyLmpzCmluZGV4IGRhYTI0YjA2Y2Q4ZmFlODNjOWYxZTc1Zjhi
MmE0YTEyNTA0NGRhY2UuLjkxMzVmMjg2OWQ0N2EzOTc4NjFkOTMwNzI1NjZkM2ZlZGE0YTA1NmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmJvdHRvbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUs
MCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLmh0bWwKaW5kZXggOGY2YzMw
MjVkOWY3NDdmYzY4OWZhYzdhNmExYjZkOTdiNGE5N2ZmOC4uMjM0YzhmMjQ4MmQ1ZmM1OTI3NDk4
ZGM2ZDZkYzZlMWFjZDk5MzBlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5jeWxpbmRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRl
cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5k
ZXIud29ya2VyLmpzCmluZGV4IDg1ZjI0OTU3MWJlNzIwMzM1YmIzNjhlMWQ3MTU4MjU2MTgzMTg0
MmIuLjA3ODY2ZmU0OGRiNmViYzNjODRmNTJmZGUwNjQ1YzNkYTdmZTIzMmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGlu
ZGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5jeWxpbmRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAi
NTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLmZyb250Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCmluZGV4IGM1YjQ2YmVmOTA2YzczZWVkNzcw
OTJmNDQwY2RmOTlhYWUwZGJlNDYuLjVhYzFkZTg2YTY0YWM3YmVkMmMwMzEyOTgyNmIwNjUzMWFj
NzA1MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmZyb250Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lndvcmtlci5qcwppbmRleCBhNzc1OGU5ZTZiNjRk
MGM2M2U0NzhlNzU0Nzk1YmI1ZGQzMTRiZmQwLi40ZWFlZTQ3ZjcwZDE5MzVhMDhkMzc4YzFkNzZm
ZmIxOWY5ZTY4NTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCmluZGV4
IGE3MDI1NTc3NzgxYTg1MGVmNjg3MzVhNzU5ZjdkMjYzYTZlMjgwM2MuLjgxNjE1NjYyOGIyZTlk
M2I2ZGZiNzcxMmMzNmFhOWEwN2RhZDFlZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5zaGFwZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUx
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLndv
cmtlci5qcwppbmRleCA0MTMyM2Y2MzJhOWJiYThmYjUzMzc4OTU0MzE5ZjQ1Mzg4ODFiMDg1Li4x
NjE2ODMzZWJiOTQ3MzViMDM1MjE4Mjk4NzcyZTZmZjRjODhjY2M3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLnNoYXBlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM1LDcgKzM5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAs
MjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLnNoYXBlMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLmNvbmUuc2hhcGUyLmh0bWwKaW5kZXggZjRmOGJiNTUxZGRiMjQ2NGM5MzBhOGZlNmQ0
YjRjYzE3MzA4YTllNS4uMDdhY2FhODZlYjI3ZmNmZTAyZjgyYzAwMWNmODRiMjBjOTBkNWY1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuc2hhcGUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUs
IDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLnNoYXBlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzCmluZGV4IDRhMGI5YWRmNDYwNWRi
ODEzZjI4ZjZmZmM1NDY0ZTMyMmYzNGQyNTUuLmM2ZjkyMTczN2ZmNzg1YThhMmZiMzljNmRjNmNk
ZGY4Yzg5ODNiNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsNyArMzksNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAppbmRleCAzNmY0
MzllYTcwMDkxZjk1YTU2M2E4YTFiNjRkZTk4MjcwMDdiZTZjLi4zZjgwY2E5OWQ5ODE1ZTc2OWE2
ODlhYjE2YTY2ZGNkNjU3ZTg1N2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUudG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwy
NTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMKaW5kZXggNDI3NWU1NmY3
ODIwZDRiZjgxOWRjZGYzYzhiODZhMjgxZTM3YmVhZi4uNTE0NjQ0MTk2OGVlMDJmNjYyNWNmZGY0
YTRjM2QwZjk5MWFmZGY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCmluZGV4IDliYmY0ODliODBk
NTA1NjVlMzViNDMyOTU4M2E5ZjBjNDNkYzJjYzMuLjRhODNiMjZjMzRiYTkyZDg4MjI2MjQxZGZk
NDFhMzhmMThiZjAwYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuZXF1YWw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Z3JhZGllbnQucmFkaWFsLmVxdWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
Miw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmVxdWFsLndvcmtlci5qcwppbmRleCBmNTIyNGEzMmFmMDk0OGVlNmU3ZDdkMTIxMjJhNTMwNWJh
OGU4ODY3Li4zODUzNzRjMDkzY2Q2NTIxZmEyODg2YjU3ZGI2NjFhYjY3M2NlM2NiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5lcXVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1
LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNp
ZGUxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
aW5zaWRlMS5odG1sCmluZGV4IDJjZGNkODg0M2ViOTViODdlNDQzNGQxNjc4ZjA5ZmNiYWEwMjZl
YjYuLjM2ODJiYmEwZjA5ZTBjOWE2MGQyMTQwYTg5YzBkZThkOWJkZmRiMDQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmlu
c2lkZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmluc2lk
ZTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5q
cwppbmRleCA5YTNmOTVhMWYyZDM5ZDc2YzhkMTAzZWQ4ODViMGZiMTQ0Mzg2NDVhLi4yZmUxNjU2
Y2NkNDBkNGRmZDYwZTJhZmY2Mzc5ZDA4ZWY1MjE2MDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRt
bAppbmRleCAwYTc5ZGJlZjJkYmQ3OTYxOWIzNDk4NWZhODc5MWYwNWI0NDExMzMxLi4wMmQzYWIx
YWY2MTVlZWY1NTA1NWZhM2QxMTJjY2IzZDFiYTJlMGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LnJhZGlhbC5pbnNpZGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAw
LDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3JrZXIuanMKaW5kZXggNDcx
NWQ0ZTJiYjQ1ZDhjNjM2MzRmZGJjZmFiNWU3MzdiNGM5OGMyNS4uNWY2ZTE4NWEyNDk4MmM0YzA5
ZThkYTQ3ZjM0ZTliMTZkZjIwNjA5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwKaW5kZXggMjVk
Mjc2ZWRmNDM4OTIwYjc5NmNmMjA0YzAzOThiM2VmOWMxOGQ2MC4uNWFiYWRkZjE2OGMyMzViNTRi
OWVmNDhjZDE4NDJhMTU0MzA4NTVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUs
ICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCmluZGV4IGIxZjU1MzBjMTQ2NGYz
ZjczMjE2YTUzYWNjNzJkMWU4ZTk3ZjBhNDYuLjk2MzEzY2ZlYTBjOTQ4ZDljYjE1NmEwOGNiOGRk
MDgzYWU2NzZmMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5pbnNpZGUzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAs
MjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKaW5kZXggN2RlMzExNDgzOGMz
MWFkYzEzZDllY2MyOWFmNzk4NGFlYzhlZDgyYi4uMzljYWNiOTAxZTZiOWRkNTdjNTgzYTg5OGE2
ZmQ2ZTRjYjY5MWJlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNy
ZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIGVpdGhlciByYWRp
dXMgaXMgbmVnYXRpdmU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VS
UiBpZiBlaXRoZXIgcmFkaXVzIGlzIG5lZ2F0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dz
KCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQo
MCwgMCwgLTAuMSwgMCwgMCwgMSk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIDAsIC0w
LjEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGM2YTk4
Y2FjZGZlNGVkNTliOGM4Y2FiNWExMTVmNTI2YWFjY2NlZTQuLjk3OWUwMjA3OTZiMjQ4Yjg2YzU5
NjMyYWVmYzEzNGU2ZjcyYzFkZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5E
RVhfU0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBpcyBuZWdhdGl2ZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcg
KzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlh
bEdyYWRpZW50KDAsIDAsIC0wLjEsIDAsIDAsIDEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVY
X1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAx
LCAwLCAwLCAtMC4xKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgLTAuMSk7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKaW5kZXggMjJk
YmUyNzdhYTNjYjRhOTg5YTFhZmQxZGEyODk4MjU0MTkxZTFlOS4uY2U2NTdkZWM0YzI1NzNjYmE1
MmYxYWIyZWY1Yzg4NmZmNjI1YzYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFs
Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5jcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJn
dW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVy
cm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTkxLDcgKzk1LDYgQEAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFk
aWFsR3JhZGllbnQoMCwgMCwgMSwgSW4KIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluZmluaXR5LCAw
LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3Jr
ZXIuanMKaW5kZXggYmJkMmU5NWEyZWVmYzc4M2Q5NDBlMDBhMzdiNmFkMzNhMjk2NzU2Mi4uNmEy
ZDZlMGViMDQ5NzNjZDRlODBjMjg4YjVjZTM5MjI4YmQzMjY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5v
bmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZVJhZGlhbEdy
YWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC04Nyw3ICs5MSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluCiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVu
dCgwLCAwLCAxLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVu
dCgwLCAwLCAxLCBJbmZpbml0eSwgMCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAs
IDEsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5vdXRzaWRlMS5odG1sCmluZGV4IGJhMDY3NmJiN2E5NzVkNWY4ZjRmMWMwNDcyMzlhNzhhYzhk
MDE0MzQuLjI5NWI5ODVhNzIwYjYxZjQ1NDk5MTE2N2YxZmQxNDkzYTk5YTYwZTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRl
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5vdXRzaWRlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUx
Lndvcmtlci5qcwppbmRleCA1ODI4MGE2ZTQ1ZDNhMjQ1ZGExNDEyMzVkMThjNDY1MTdjZmIyYmIw
Li40NTg5YjBjNTJlNjQ5YTNmZTlhY2MyYjMyNDMzNDZhYzRmYzA1NTNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5vdXRzaWRlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1
LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUyLmh0bWwKaW5kZXggMjRjM2E3MzllMjQ0NWEwMWU4MzUyNzMxZDZmNzZhN2I3ZDU2
NzRiMS4uMzYzNjE4MzYxYjM5MThhNjhiODBhNjU2ODE4OWJkNzcwNDMyMTBiMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwu
b3V0c2lkZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIu
d29ya2VyLmpzCmluZGV4IDdmMWIxMDFiZGRhNWU3MzYzZTliNjAwNjVlZTg0ZDdmNzQ5MThkZWMu
LjkwZjllNjY1NTNmYmRmYWUzMjI1OThhMDUyOTY3MDI3MTk1ZmI3ODcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
Lm91dHNpZGUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
b3V0c2lkZTMuaHRtbAppbmRleCA0MjU4OWRkMWRmY2YzYmY3MjMwNzJlODJhMTg5NTY4ZjI3YzRl
Y2RjLi4wYjI1MTQ1NTE4ZDc0MmJiNjk1ZjhmODg1MGJkMWI4YmI2N2E4YWQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
b3V0c2lkZTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy53
b3JrZXIuanMKaW5kZXggM2M0MTM5MjEyNmNkZWQ2ZTM4MTQxNGE4ZjhkOWUyMDk5OWFmMDk4Mi4u
NDAxZDQ2ZjdhMTU2MzJkNmJjNjE5NmMyNDg3MTdkZjg5ZDA4MjlhYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
b3V0c2lkZTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91
Y2gxLmh0bWwKaW5kZXggN2ZjMzQzMDI4ZmQ1NTVjMDhkZTNlZWU0ODI0NzUzMjA0YTNmYjhmNS4u
ZTA5MTk5NzVkYTk0YjUzYjNjYmE1YzFlODE3NjQyY2VmZTJlNGE2YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3Jh
ZGllbnQucmFkaWFsLnRvdWNoMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4
LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCmluZGV4IGQx
NzZjMDEzOTNiZDNmNzY2MDdkNDZjYTFkYzdjMWQ3Mjk3MDA2ZmIuLmM1NWY2MWE1YWVlMTNkNjE1
YTI1ODkyNTQ5MzI5NjFkZjMxYWU5MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwKaW5kZXggMWM4NTk3
ZDBjNjEwNGU3ZDRlNmM3OWYwMGYxNWU3ODRiYTgzMTNlMy4uNTQ2ZjM1NDMzYTBlOWQ1MDU5NGRk
YzU5N2RhZmM1ZjY0NGY3NjFmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1
LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwudG91Y2gyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50b3VjaDIud29ya2VyLmpzCmluZGV4IDJmZmJjNzU3YmVlOGEzZWZlYmRlNDFk
ZDI2YTI0YTU1YjM3MjdjZTEuLjg3MGY4YzRjY2MzMjQ0NDFiYWE1ODQ4ODBjZGEyNTIyZmM4YTE5
ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC50b3VjaDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC50b3VjaDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwg
IjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwudG91Y2gzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwudG91Y2gzLmh0bWwKaW5kZXggMWE4YTgxZTA3ODkxMThmZDBhYWU2ZmIyOWQ1
MDRmMTUzY2M1MjI4Ni4uOTQzYjQ0NDE2ZjAwMmE3N2Q2M2YwMDBjNGRlNDFkZDVjNjkzODhmZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LnRvdWNoMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50b3VjaDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRp
YWwudG91Y2gzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29y
a2VyLmpzCmluZGV4IDRlYTliODY1MGVmMzVmYWI0NjhlNDM1NGRlZjk0YTZjYzFlMTU4NDYuLjBj
NGVlODNlMjhhYWY3ZTJlYTViNmE5ZWYxM2Y4MGU1MTU2NGNjNTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3Vj
aDMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICsz
Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwg
Ijk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFu
c2Zvcm0uMS5odG1sCmluZGV4IGEzYjQ2NmY5YWVjODNlNDUyYzZlNDYwZjA1ZTAzNDJiOWZlMzQ4
N2YuLmU5NDZiODlkOTE3ZDZkYjFkYzFhMDlkZjQzNGYyZTA3NzQyYzkwMzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0u
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQu
cmFkaWFsLnRyYW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SYWRpYWwgZ3JhZGllbnQg
Y29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0
aW1lIG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRv
IHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OCw3ICszMiw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLndvcmtlci5qcwppbmRleCAzNjgzNDkx
ODdkZDg0NTJlZTk2YjhjNjY5NGNjNWM4NGQyYjJjMjk1Li4xYzYzMjBhNWUwMDc1ZjlkOGJiOGQ0
ZGRhYmZkNDIwZGI0MWU1MjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBh
cmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGlu
ZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAxMCwgNSk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKaW5kZXggMmVh
M2QyYTBiZWYxNWE3ZGVhN2I3MDNjMDk4MjdmMzUzOTNiMmUwOS4uYzFjZDNlMDA5MDBhNjI0YzM3
MjYyY2U4MjE1NjU4OTU4NWZiNTYzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJh
ZGlhbC50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRp
dmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZzwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBn
cmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2Ug
YXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGxS
ZWN0KC01LCAtMi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
dHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IDE1MTljMzM3MzQ2NjJiNjdhY2M3MDIzYWM1MTBj
YzI3MDkyYjkyYjEuLjk5ZGE4NzQ1MjI3ZjQzYTBjMDY1NWVlZmYzMjA3MmFjMjcxMjcyMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29v
cmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjks
NiBAQCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LnRyYW5zZm9ybS4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwudHJhbnNmb3JtLjMuaHRtbAppbmRleCBlYjNmN2JhMDI4MDM2NjZkNDlhNzg2ZjBj
OGZhNzZlZWFkOWRiZTY0Li4zNDhiOGI2MDY3NGI0YTNhNzI0ZDdhN2QwY2I0NTM2YjUzMzE0NGNk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwudHJhbnNmb3JtLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmFk
aWFsIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcg
ZWZmZWN0czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tl
biBjYWNoaW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5maWxsUmVjdCgt
NSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5z
Zm9ybS4zLndvcmtlci5qcwppbmRleCA1MjM5Mzc2ZGI0ODIyZDk2M2NiYWRhMWMwNDA4MzkzOWM0
OGVmYzRkLi40YThmYjBlMDFjNmY3Y2UxMjdlZjFkZDkxMTE2Y2IyNmEwMTdmZWE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNm
b3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNo
aW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIu
NSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbAppbmRleCBiM2JlNGU5
ODE2ZDA5NDk0NzVkOTZjNGUzMjE0YTZmMjAxY2NhZTZlLi45MWVlMjY0NDJmOTlmODYwZDVlMDRi
MjBhMmQzNGE4YjkyY2ZhOTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMuY2FudmFzPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4uYmFzaWMuY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
NCw3ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNh
bnZhcy53b3JrZXIuanMKaW5kZXggYTk5NjlmNjUyMjI2MGMyZDk1ZWJkM2IwODdjOWNhMGMyYTNi
MzdkYS4uYjgzNjY1MzZhZTVjYjhkZTVjMjBlNzBlMTM3NzU4OWQxMGU3ZDUwZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMu
Y2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAs
NyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1s
CmluZGV4IDczMGZiMDIzODNjNTk2YmZlZWM2NTJmNDgwZTg5NjdiYTU3MjgxOGMuLmMxZTM1NjUx
OWIzNjMwODE5MTk1NGJiM2FjZmE0OTQ1MDA2MzFhNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMuaW1h
Z2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0dGVybi5iYXNpYy5pbWFnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjgsMTYgKzMyLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25v
LXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmJhc2ljLmltYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCmluZGV4IDJkNGRmZDhlZTZmYjY2
MDY4N2U2ODAyZTZjOWJhZDYxZDQ4MjE2NzQuLjU0M2FhZWYyMGYyMDE0MzNjYmZlOTU3NDRiMDYz
NDA4MDY1MTk0NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCwxNiArMjgsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0
bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQuaHRtbAppbmRleCBmY2FlY2JjZTc2
MDdmYjVkMjg3YmYwMzAzZDMyOGYwNzk3ZjBlMmQ1Li4wNzU0NzBmMGEwMWJkMzI3NmE1YWZlMzQ0
ZjI1YjU2ZmRiMDlmYmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29u
dGV4dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJh
c2ljLm5vY29udGV4dC53b3JrZXIuanMKaW5kZXggYTVkYWNlZjg4NWVmYjM4NzlkZDMwZWIzNDg0
MDFiODgwODdmNWMyMy4uMzFhZGQwNjVhYzI2NzE0NTU4Nzc0NjNkNTcyMTkyYmZiYzYzODZkZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5u
b2NvbnRleHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56
ZXJvY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJh
c2ljLnplcm9jYW52YXMuaHRtbAppbmRleCA0NjUyYzQwN2NjZmQ4M2I1NDZiNDRmODBhMGU2ZmJh
MGRlZDg2MWE5Li4yMjkzZDIxYmY3YjcwMGNhOTVhZWJlMWIxNThmYTY3NmM4NmE2YzE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9j
YW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJh
c2ljLnplcm9jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uYmFz
aWMuemVyb2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUs
NiBAQCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIw
Iik7CiBhc3NlcnRfdGhyb3dzKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHgu
Y3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMud29ya2VyLmpzCmluZGV4IDMyNmNlNTM1ZDQ1
MjQwZmJhYjNhZDNhZDlhNGY1MDM1MjM2ZGQ1YjYuLmMwMTUwMDJjNmFkYTE0MmVmZDY2ZTZjMGQ5
Zjc1ODc2Y2I0NmIxM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9m
ZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7CiBhc3NlcnRfdGhyb3dz
KCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZz
Y3JlZW5DYW52YXMsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRt
bAppbmRleCBmN2QwYzVmZGY2MWRmM2M3YmNmZjY5N2Q1MWI4ZGVjY2NhMmQ5ZWRmLi5kYWYyZmQy
NjhkOTAwM2I2YjE0ZWU5YzAyNzJmNTA2ZjVlN2VhMTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmNyb3NzY2Fu
dmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdHRlcm4uY3Jvc3NjYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDE2ICszMCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKLSAgICB2YXIgcGF0dGVybiA9IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgnMmQnKS5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIG9mZnNj
cmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOworICAgICAgICB2YXIg
cGF0dGVybiA9IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKS5jcmVhdGVQYXR0ZXJu
KGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcwppbmRleCA2ZDNi
YTMxYmFjZTUzZWRiZTcxOTRkOWRiODNlOWM2MDhkNDI3NmJkLi5lYTcxOWQ0MjM1OTdiMWEyNzk0
ZTVmZjUxZjljMjVlOTlkZDhlMTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIG9mZnNjcmVlbkNhbnZhczIg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwotICAgIHZhciBwYXR0ZXJuID0gb2Zmc2Ny
ZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1y
ZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CisgICAgICAgIHZhciBwYXR0ZXJuID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcy
ZCcpLmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbAppbmRleCAz
MGZkNjVhMjZiNmZkNjM2ODlmZjNkMzViNzJlOTU2N2QyZjUxNjlhLi4xOTNiYjlkZDRjMDFiM2Mz
ZGU3MWEwMjM0MzU1OTEyMzdmNmJjZjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5pbWFnZS5udWxsPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4uaW1hZ2UubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMg
KzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihudWxsLCAncmVw
ZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLndvcmtlci5qcwppbmRleCA0
NTRlNjE5YThiMDYxZWY2N2U1YTcwOWFlZDJkOTQ5MWMxMzkwMmJkLi42YjVhZDY0YzdjNDY1MmYw
ZDM5YjY1NDMyNDBjMDVmOTgwNmExNzQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMKQEAgLTQsMTYg
KzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LmNyZWF0ZVBhdHRlcm4obnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5p
bWFnZS5zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
aW1hZ2Uuc3RyaW5nLmh0bWwKaW5kZXggYmNjNGFkMDBjYjhjOWEyMWFkZWY1ZGQxMTgzZjFjNDRk
YjAyZTJjYi4uMDcyMmY4ZjI4MTczZjVlOTUzYzY4NGExNGZjYjE2NDRlNWY2MzI0OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5zdHJpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0
cmluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXR0ZXJuLmltYWdlLnN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLmltYWdlLnN0cmluZzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlUGF0dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0Jyk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMKaW5kZXggNmQ3MzJl
N2IyMDA3YmQ1NjVkYTNkNTRkNGU4ZDg5OThjNTI2NjEwMC4uYzY0Zjk3OGMzZmE5ZDc2ZjdiMmE5
YjlmZThiMTdkMTc3OGRhNjkxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5pbWFnZS5zdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcwpAQCAtNCwxNiAr
NCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlUGF0dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0Jyk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQuaHRtbAppbmRleCBmMDM0N2VhOTczMmY5
Y2VmNDIzNzUzZTVmNDM3Yjk0YTk1YTk2NGZiLi44ZGZmOTQ4MjgxMzkwMDgyZjJmNzE4YjkyZWM3
MTViZTkwNjEzNDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKHVu
ZGVmaW5lZCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRl
ZmluZWQud29ya2VyLmpzCmluZGV4IDhlZDUxYjZjMWJiNWY3OTI1YmNhNDdkOGEzOTFhYWQ1ZGQx
MDkyMjYuLjUyMTYzYzA5MWM1MGM1MDg3MDhjODk0Y2I5Y2Q0N2E0ODFmOTgwZTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVk
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmlt
YWdlLnVuZGVmaW5lZC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4odW5k
ZWZpbmVkLCAncmVwZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0
bWwKaW5kZXggMjNjN2U3OGFkOWYzNzBmYWNjNDg0MTFmZTE2OWYzMDI3NTI4ZTQwMi4uNjMyYzVh
ZWZjOGI5OTZmM2ZmNGViYTFlNGNjN2UxNjY2YjRjMGI4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5t
b2RpZnkuY2FudmFzMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLm1vZGlmeS5jYW52YXMxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCmluZGV4IDZjYTRkNmRhMzVhMGE4
NzhlODY0ZDk3NTk3ODcxMzI4NGIwNzhhYTguLjg0MWE5ODAyYzFiNjMzMmQ1ZjJkNGIzNjE4MTRj
MWNjNDM1ZmNlZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwKaW5kZXggZjc0ODhmY2NhN2VjNTg2ZjcxNTBlNzNh
OTkzOWMwZDQzMDdmZmY5OC4uZjFmMjY4NTUxYmUxZTM4ZjkyNDU4YTdkNTVjMzcxNDExMGM3OWI1
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2Rp
ZnkuY2FudmFzMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ubW9kaWZ5LmNhbnZhczIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLm1v
ZGlmeS5jYW52YXMyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2Vy
LmpzCmluZGV4IGE4NzJiYjhlYTJiZjdhYjY0MTUzNWYxY2IzMDAzYjBlNWJkYTc2ODIuLjMxZDc0
NjJhYWE0NWNmYTk2ZGZmMTU4N2UzODM2YTlhMTA0NTU2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2lj
Lmh0bWwKaW5kZXggOTI1ZTVjYjVlYTgzZTU1ZDY5OTU0MmZhZjhiNDgyZjUxYzdhMjY5My4uYWUz
YmRiMmRiYTU1M2EyNzdkNTJlMzE5ZTcwZjhjZGExZTU0MjM2MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50
Lm5vcmVwZWF0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxNiAr
MzIsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKaW5kZXggOTMxNjMxN2Q2MGFj
MWE0YzIyZWYxMWUzYzI0NDIwMDIzMzRhMDEwZi4uOTAzY2FiNzE3NGEyNjk0ODZhOWNjMWM1Y2M2
NmViMDljYjEwZjJiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVw
ZWF0LmNvb3JkMS5odG1sCmluZGV4IDJiODFkYTE0NGIzZTBiMjk3NDdjMDg2NjI0ZTg2Yjk1NWQ4
MzkzZTEuLjk1Mzg2MWNkZThjYjRjZTRiYTE1MDRmZTk1ZmM2ZGUzNGU0YjZjYTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
Y29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5ub3JlcGVhdC5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMwLDE3ICszNCwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2Us
ICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJh
bnNsYXRlKDUwLCAwKTsKLSAgICBjdHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7CisgICAgICAgIGN0
eC5maWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIu
anMKaW5kZXggNDIxMGVhYTRmOWYxYzA0OWE2NGFkNzBhNjFhNGEyNjUyYTQwMmQ5Ny4uZjg0MzIx
NDRjZGI0ZDIxMzU1YWM4ZGY3ODU2MzZlYzE1OGEzMTY0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9y
ZXBlYXQuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsMTcgKzMwLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xh
dGUoNTAsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbAppbmRleCBiZGMzYWI5
NTRmNTRhNjU2OWM3YjQ1OGIyZDdjNzI4ZjUwZTVhMTQwLi5mNDc1YWFlOTlhMzY5MjE3YTQwZTA2
NWYyM2FjYWQ1MzQzM2M0M2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFp
bnQubm9yZXBlYXQuY29vcmQyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQy
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwyMSArMzAsMjEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxT
dHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7Ci0g
ICAgY3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOworICAgICAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29v
cmQyLndvcmtlci5qcwppbmRleCAyMjZkYjA0ZTFjNjJhMWQyNDY5YmE3ZWFmMjMwNjIzOWNmZGI2
YjM4Li5hYmY2MTk1YzQ4YTY5NGQzYTM4NzQ1OWE3ZWRjNTA2ZGU5YmE4MWMyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNv
b3JkMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5ub3JlcGVhdC5jb29yZDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiwyMSArMjYsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
LSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwg
MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOworICAgICAgICBj
dHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMuaHRtbAppbmRleCA4YzAyN2FmMmE0Y2Zj
NWQzNmZhMWQxNzhkYTE1NWY4ZDMzNTA4NjUzLi4yYzU0YWQ0MGM1OGViZjNjM2ZmNjljYWFkMzYx
OTVhZTdkNDg5ZTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQubm9y
ZXBlYXQuY29vcmQzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxOSArMzIsMTkgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOwotICAgIGN0eC5maWxsUmVjdCgt
NTAsIC0yNSwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25v
LXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LnRyYW5zbGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwg
NTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCmluZGV4IGRh
OTNjNTNkMjkyMzY1NDgzNWQ2NDk2YTgxZTdmYzQzZGQ4NDIzNzIuLmExYTQzOGFmMWViNmQ4NjE4
ODVkZjYzNGFkOWIwZTM5ZTQ0ZDIyOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3Jk
My53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE5ICsy
OCwxOSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7
Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxs
UmVjdCgtNTAsIC0yNSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRt
bAppbmRleCA5MTYyNzJmY2FkZTc4OTMzNzRkMjZlMmYwNWM0MmU4YjY3YWZiNzhmLi4zYTczNzRk
OWQzYzRjODZiN2Q2NzM0OGE0N2NjYzI0YjZjYTgyZmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0
Lm91dHNpZGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFp
bnQubm9yZXBlYXQub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
MjEgKzMyLDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVh
dCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUwKTsK
LSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsUmVjdCgxMDAs
IDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoLTEw
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgxMDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRz
aWRlLndvcmtlci5qcwppbmRleCBkOGI1OTAwNzA3NjQwMWU4ODcwMmJlYzhkMzBiODcyOTE5ZjBj
MGI2Li4wYjJjNThkNTJlNjQ3ZjM1N2RlZmY1MGFiMmZjMjA4YThhNmJlMGQyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91
dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4o
cmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3Qo
LTEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAg
ICBjdHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgNTAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24u
Y2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
Lm9yaWVudGF0aW9uLmNhbnZhcy5odG1sCmluZGV4IDQyNTc2ZmE1ZjhjNTg3ZDRkOWU5OTZjYzg3
OWRjZGJmMTUxZTAyZTcuLjhmZjA3YWQ4ZTkxMzE5ODNjZTY3MTQ3YTAwYzVhOTZjYjQ1ZTliM2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
b3JpZW50YXRpb24uY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlv
bi5jYW52YXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPkNhbnZhcyBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBw
YWludGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiQ2FudmFzIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVu
dGF0aW9uLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMKaW5kZXggM2E3Yjg1MjFj
MWUyYzE1ZmJlNjNjNDUzMjQ4YjE2Yjg3NmU5NDc5Yy4uZDAxN2YwODMwNmYyYmYzMTMyMWZiY2M0
MWE1MDExNDJjOTkxMDdjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFz
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ2FudmFzIHBhdHRlcm5zIGRvIG5v
dCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0
bWwKaW5kZXggMGI5YmRhMzFiODBhYzFmMGUxYzBiM2NlZDA3YWU4YTdhNTFmNDM3Mi4uY2EwYmIz
MzUxNDQzY2ExZWYxNWE0YmYyOGRjMTM3M2QyNzNhMDdhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50
YXRpb24uaW1hZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJu
LnBhaW50Lm9yaWVudGF0aW9uLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZSBwYXR0
ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90
IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguc2F2ZSgpOwotICAgIGN0eC50cmFuc2xhdGUoMCwg
LTEwMyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Ci0gICAgY3R4LnJlc3Rv
cmUoKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnNhdmUoKTsKKyAg
ICAgICAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAzKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDEw
MywgMTAwLCA1MCk7CisgICAgICAgIGN0eC5yZXN0b3JlKCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFn
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcwppbmRleCBhMWZhMDIyYzZmZGE0ZTlhMDA2MGE5
OWEyMWI0MTE1NjkzMjdkYjI3Li5mNzcxYjIyNmNkN2M2MjM4NzIyZjA5MTY3NjExOGYwNzhiMjM1
MDIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdo
ZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHguc2F2ZSgpOwotICAgIGN0eC50cmFuc2xhdGUoMCwgLTEwMyk7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Ci0gICAgY3R4LnJlc3RvcmUoKTsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnNhdmUoKTsKKyAgICAgICAgY3R4LnRyYW5z
bGF0ZSgwLCAtMTAzKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5yZXN0b3JlKCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy5odG1sCmluZGV4IGUy
ZGQwNmE1YjU0MDQ0N2Q0MTBlMDc3ZTZjODIxYmQ1OTZmZTliYTcuLjhmY2ZiNzFkMzc2YzhkYTQz
ZGJlODU2ZWFjNmQ5YzY3MjZiZDQxZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWlu
dC5yZXBlYXQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE2ICszMiwxNiBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRl
UGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFz
aWMud29ya2VyLmpzCmluZGV4IDA2MmM1OTU2YzQ2OWVjOWRiYzEzMDk1MTc3ZDkxMjAyZTNkYjhk
M2YuLmZhMDk0YzM1YjQ4MzAzODlkNzE3YzZjNmEyNzhmZjEwYzBjMzEzZWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2Us
ICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1y
ZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKaW5kZXggYjdkOWE1N2E2ZDc2
NDE1ODc4NzgyNzJkYmRhMDdhYzI3YmZkNjYxZC4uMWE5NzMxYWEwOGIzYzI3ZWY5YjI5NDQzODVm
NGMyNjNmNmI2YWU2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
LmNvb3JkMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE3ICszMiwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEyOCwg
NzgsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRl
KC0xMjgsIC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQx
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMS53b3JrZXIuanMKaW5kZXggOWY0NDJhOGQ1MWU0YmM4ZGQ1YjY0NTdmNjc2
MmZkYTU4ODVjMzBkMC4uOGNhNTk2MTBmZWMwNjMzOTdmZWMwYmE3Y2VhNmM4YzM4NDY2NWIyOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXQuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxNyArMjgsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0
ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
Ci0gICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4
LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgt
MTI4LCAtNzgpOworICAgICAgICBjdHguZmlsbFJlY3QoMTI4LCA3OCwgMTAwLCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNv
b3JkMi5odG1sCmluZGV4IGZmNWI2N2RlNzdmZjU1ZmVkOTMxMTNmMGY3ODZmYjBiMmFiMDY5YWYu
LjYzYjFjYWMxM2I2MzQ5OWI0NTNhNzYzNTMwMmZlYzgxMTZjNTZhNTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWlu
dC5yZXBlYXQuY29vcmQyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiAr
MzAsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIud29ya2VyLmpzCmluZGV4IDVlMmYxMjE2YzQ4MDBj
ZGNlZDlhZjE4ODk5N2Y0MzIzMGVlYTQ0ZjUuLjVhYzIzZmVjZDkxZTlkZjRjMzVmYmJhZmNkNGUx
MWU4ZDQ2ZWY0MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29y
ZDMuaHRtbAppbmRleCAwMmM0NWZkNTI4MTQ3MjgyY2M1NzA2MTE1NmQyZjdiZmRkZGVlNTE5Li43
ZTE0ZTAwZDZmM2E5ZWExMjQwNGExZTRlMzVlYzMyYmUyYzA3YWY1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5jb29yZDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTggKzMw
LDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwot
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEy
OCwgNzgsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0
Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLndv
cmtlci5qcwppbmRleCA2MjJiY2VjZmJhNWNhMDcwYzY3ZTRkOTE1MDRkNGU5N2EwNzU4YWRlLi4y
Yjg5NDFhMGViMTYyYjg3YTJhMTA0ZDdiM2QwMjJjMWMxNzFlMDQ2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDE4ICsyNiwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdu
by1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0
eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgudHJhbnNsYXRlKC0x
MjgsIC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91
dHNpZGUuaHRtbAppbmRleCA2NDg5ZTIzNWRjZWUzYjI1NjIwMDBkMmZmYWY1M2NhMGE4NmI4YzNl
Li44NjJhODBlN2RjMTZmZTlkZDNkZjE4ZTRiNTYwNWI3NGVlZDRhMGNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXQub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDE3ICszMiwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBl
YXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUw
LCAyNSk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmls
bFJlY3QoLTUwLCAtMjUsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzCmlu
ZGV4IDI0NmJjY2VjZDg3NDAzMDMwOTJlZTA1YTcwNWRlMmIxZjhlNWM0YmEuLjFkNmZiNGI5Zjdk
NWU5ZTEyZDU3ZGFiZTZlOTg1NGNiOWI2Y2I1Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91
dHNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwx
NyArMjgsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0
Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwg
MjUpOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIC0yNSwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRl
UGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKaW5kZXggMTNlN2I4ZDMwYmZm
MzBmMDY1MmI0OGU1ODU2Nzk1MmQzZmI5YTU2OS4uY2NkNmNhNTg0MWEwMTJiYzkxYzBhZmZjODgy
YTE2NmYwNGEwZGMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDE2ICszNCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJu
OwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KGJpdG1hcCwgJ3JlcGVhdC14Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMud29y
a2VyLmpzCmluZGV4IGFiYTAxMTgyZDlkMGIwZDY4MWI4NjU0YmFmOWFiNGRiN2I5Y2I0YjguLjFk
ZmExMWE5YTg0YWQ5ZmY0YWQzM2JhMDYzZjMyYmFjYjI4MDViYTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5y
ZXBlYXR4LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3Jl
cGVhdC14Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgn
KTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbAppbmRleCAxZmMyZTUyMTg0ZGNiN2Q3
MzcxYzFhZTNlMTEwMmUyYWMyZGFiOTQxLi5iNWZiZWVjM2I3Mzk5YzdlMzMwZThiMWU2MDMwOTRi
YjVkYmUwNmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgu
Y29vcmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJu
OwotICAgIGN0eC50cmFuc2xhdGUoMCwgMTYpOwotICAgIGN0eC5maWxsUmVjdCgwLCAtMTYsIDEw
MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgMTYpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwy
NSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRl
cm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgwLCAxNik7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAtMTYsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAxNik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwy
NTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5j
b29yZDEud29ya2VyLmpzCmluZGV4IGU0Nzc3ZTA1ZDI5MjYzY2Q0MWMzZTBlYjJmOGM2MmRmNDhm
ZTRiNzkuLjNlMDdjOWY5NzE3YWY5MjM3MzZiZDA1YjAwNTIxNjc3NDBkY2E5ZmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5j
b29yZDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0eC5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAncmVwZWF0LXgnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBj
dHgudHJhbnNsYXRlKDAsIDE2KTsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1
LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoMCwgMTYpOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1
LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS5odG1sCmlu
ZGV4IGM2ZWMxMjIzY2RiZWZlOWM0NGY0ZjY1MDBjNjlmYjEzNGRlNDM4MmIuLjE4MDU2MDhkMWVj
MjQyZTVlZmI5YjgyMWNhODJkYjVkNDJjZTk3MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNp
ZGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBl
YXR4Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE4ICszMiwx
OCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCmlu
ZGV4IGZjOGE0YTAxM2MxZmYwNTQ1ZmVmYThlN2FiYzJhNTA0MzJlNjE3OWQuLmUyY2IwNDZkMjg4
M2MzMWU5YzExZTEwZTE1OGU0Zjc3NTA2OTliNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgu
b3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDE4ICsyOCwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQt
eCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14
Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKaW5kZXggZjY3
OGYxYzI4ZmZkY2NlMTRiMzdhZjQyMDBkMzE3OWE5MmY0NzFkNi4uMjU5YzVhNWQxNzgwODg0ZTFm
NzJkMjg2YjEwM2RjNTgzMjljMmI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWM8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDE2ICszNCwxNiBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteScpOwotICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHku
YmFzaWMud29ya2VyLmpzCmluZGV4IDQwZGZkYTk0NWJlZjk0ODJmODQyNzFlMWYyNmZkMzhlM2I0
Yzk5ZTQuLmFhODg2ZWY5NjEwY2YxNTJmZWIyNTE1MmEwYjNhMTNiMTA4ZGE0NTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5i
YXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXR5LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNw
b25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAn
cmVwZWF0LXknKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEuaHRtbAppbmRleCA2ZDNlMzQz
NGQ1NTI4MTEwMjUyNTkzNGEyOGRmNzE4NGIxNDNmNmIxLi4zNzNmYWZlYThhNjZhZDZhNGNmZDY4
MzdjOTVjYjU3MmMzNDhlY2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHkuY29vcmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDE8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteScpOwotICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNDgsIDApOwotICAgIGN0eC5maWxsUmVjdCgt
NDgsIDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDE2LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDEsIDAsMjU1LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDQ4LCAw
KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KC00OCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDEsIDAsMjU1LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkuY29vcmQxLndvcmtlci5qcwppbmRleCAxMDhjNDYyZjZlY2I5MDhmYWYwZjdjNGY5Yjg1
YjdhMWMyNzg3M2QyLi40ZmJlZGNhOWU3MzQ0MWM3MGU2N2UzMjczZjMwMzUxODEwMzA2NmM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0
dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
Ci0gICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC00OCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXknKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNDgsIDApOworICAgICAg
ICBjdHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMSwg
MCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLmh0
bWwKaW5kZXggNTc5MGJkYWY3NDg5ZTJlODE1Y2ZkOTkzZmIzZDVhZDE0NmYyMmE3Yy4uMWVmNTJk
ZDhkMTA4NDY2Zjc5YmJhNTI3ODg3MDZkYWMwYjNmMDY1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHku
b3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdHkub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTgg
KzMyLDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDE2LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteScpOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpz
CmluZGV4IDQ5NTg2NzQzNDA4Y2ZhNzBiZjcyYjdjYTE2ODNjOTE2YTI2YjNjNzAuLjUwYTE1MTc5
ODk3ZWMwZmVhMWZmMDAyODNjYmE4MTk3MmQxZmViNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHkub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDE4ICsyOCwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBl
YXQteScpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxNiwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0
LXknKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLmh0bWwKaW5kZXggMGIwODJkZmE5NzQ1ZGEwMTky
MzIxYjU3MDRhYzgyZjQwMDI4YTIxYS4uMzkyZGZiNjZlOTFmYzI5Nzg0NDcyYTcwZDY5Y2VkMTkw
MjIzNmJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5yZXBlYXQuY2FzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucmVwZWF0LmNhc2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0dGVybi5yZXBlYXQuY2FzZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVh
dC5jYXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIlJlcGVhdCIp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcwppbmRleCAwMTMw
ZmUzOWJlNjA4NTNhNzBlZTgyYjkwOGYyMjU4MzgyY2IyMjVmLi4xZjc1NTdlNDgzZjAxNjhhMjcy
ZTM2MDczZDE2MGE1OGIyMWY0MGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcwpAQCAtNCwxNiAr
NCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBj
dHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJSZXBlYXQiKTsgfSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucmVwZWF0LmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnJlcGVhdC5lbXB0eS5odG1sCmluZGV4IDAwOTczNmNjMWVmMjM3ZWFlZGE5YWMyODZk
Yjc0NWJmYTJlODdjNWEuLjlmNDBmZTY5NTc3N2Q3M2YyN2JiODRlN2RlOWZlNDA2YmVjZDMxZDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0
LmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5y
ZXBlYXQuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5yZXBlYXQuZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5yZXBlYXQuZW1w
dHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE2ICszMiwxNiBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICIiKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRl
UGF0dGVybihiaXRtYXAsICIiKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzCmluZGV4IDgw
NDJhM2M3OWUwYmM0NGM2YTcwNDkwMWFhYjQ3YjcyZjYxYzc2N2MuLmEzMWFmYTcxMzliN2Y5NjFl
YTA3ZjE2NTc2YmVlMGMzMzRjMzgzOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICIiKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihiaXRtYXAsICIiKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbAppbmRleCA3ZTc4YWUwMTVhZWI1ODdmMGIzYjVm
OTAxNDBjZWM0MDU3YWM5OWViLi4yNDZkYzBhNGVhYjVkZWI1NTgwMjJkODk1MzM4OTIzYzU0M2Uw
YmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJl
cGVhdC5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5yZXBlYXQubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0Lm51
bGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnQoY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2Ny
ZWVuQ2FudmFzLCBudWxsKSAhPSBudWxsLCAiY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2Fu
dmFzLCBudWxsKSAhPSBudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3Jr
ZXIuanMKaW5kZXggZWU2MjNkZjFmMTViMGRkNDMyMWJlMDY2ZGNhMDE2ZTU3MWM0YmNiZC4uNWM2
NWJmYjM5ZjE4ZDFlN2JmOTc4Yjc4NDYzOGNlYTRkODdkNTZjNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3Jr
ZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnQoY3R4LmNyZWF0ZVBhdHRlcm4o
b2Zmc2NyZWVuQ2FudmFzLCBudWxsKSAhPSBudWxsLCAiY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2Ny
ZWVuQ2FudmFzLCBudWxsKSAhPSBudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZm
aXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51
bGxzdWZmaXguaHRtbAppbmRleCA3Zjg1ZjNlNDc5Y2RjNDBiOTRlNDI5ZTMyZjNiMDhjNzY3NTI2
ZDFiLi40YjBmMjVhZmJmOTM2OWVmYTU1NjBlNDhjMDBlNzA2ZmZkNjc5ZTAyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQu
bnVsbHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0
Lm51bGxzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9F
UlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAicmVw
ZWF0XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXgud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53
b3JrZXIuanMKaW5kZXggYzZlZDE0MTdkMTZhNzljODAyNGQ0YjczNWE5ZTJiMjgzYmI5ZTRiNy4u
MzI4OGUxMjgyNTdiOWQzZTk2M2EwYTQxNjg3NjM0MDYxYzU0NTQ4YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQu
bnVsbHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJv
d3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVu
Q2FudmFzLCAicmVwZWF0XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZp
bmVkLmh0bWwKaW5kZXggMjk4YmE5OTc2ZGMxOGQyZDZlNWY2Njk1Y2U0M2QxNzcwZWZlNmNmNC4u
MDcyMmFlNWRkYzk0OWZhNzQ4NGQxOGZmNDc1MmE0MWY5NTlkYzE5NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZp
bmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmlu
ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCB1bmRlZmluZWQpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIuanMKaW5k
ZXggM2EyNzViODI2MzNiZTk3ZjU5OGIzMWVhNjgyZDlkY2I1MjFmN2IyOC4uMDIwYWRmN2MwMDI2
ZTNmZjhmYjA1MTg2M2E4YTcxNmE5NTU3YzBjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQud29y
a2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJS
IiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgdW5kZWZp
bmVkKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwK
aW5kZXggNzllMzc5ZWM0NzU2ODMyMmFhNjA1MzIyNjg3Y2RjMDNhZmYyN2Q0Yy4uMDNmNDY1OWZk
Nzc2OGZmYzdlMWNjMmYwYjBkMzFiY2I2ZTVlMTdkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2Vk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29n
bmlzZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAiaW52YWxpZCIp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC53b3Jr
ZXIuanMKaW5kZXggMDhjMDc2YjZjZmZmY2E5OTMxNDIzNzJlMmRkMGJlOWU4MWMzNDM2NS4uMmQ3
Nzk2ZDBhZTM4ZWM2YTBlNzdjY2M4YjhkMDI2OTZkODdhNjU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51
bnJlY29nbmlzZWQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhy
b3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVl
bkNhbnZhcywgImludmFsaWQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNl
ZG51bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0
LnVucmVjb2duaXNlZG51bGwuaHRtbAppbmRleCBjOGY0Y2NmNWY3MDcwNjUxMzI5NGYzMzBmZmJi
MmMwYzM1OGViYWMwLi41ZDViNzA1MzZjNGRiNTYwZTgzMmVkZjY0NjlmMzhjZTNiM2Q1MzAwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51
bnJlY29nbmlzZWRudWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRu
dWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGw8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNy
ZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAibnVsbCIpOyB9KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5y
ZXBlYXQudW5yZWNvZ25pc2VkbnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcwppbmRleCBm
YzRhNDU1MTBjN2QwM2U5MTMyMGQ4ZWRlYzRhOWRjYTZiNjI4ZjhjLi5kMTY5NzliNmU5OGVhZDE1
MTE5ZTU1NGM3OTY1NTdjYWQ2ZmQyYTg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlz
ZWRudWxsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygi
U1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52
YXMsICJudWxsIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwKaW5kZXggMDY5
NzY4NTgyOGU5ZGE2ZDJkYzlhN2JjNzFmNzgxODMwNjQwNzNiNS4uYTA1MDA4ZWQ4NTExMjg2OTVl
OWQwNTQzMjljMWZiZWZlNjFhMTc1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5zdHJva2VTdHlsZS5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwx
MyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShj
dHguc3Ryb2tlU3R5bGUsICcjMDAwMDAwJywgImN0eC5zdHJva2VTdHlsZSIsICInIzAwMDAwMCci
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCA0OThmMmY5
OWFkOTE0YzJhZmMxYjMzZDhjNDEzZGY4NGRmN2Y0N2U0Li4zOTllOWRkYTcwYTkwZDM5ZDBkMDQ1
ZGY1M2RhNjQ4MzhmOGY4NWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxlLCAnIzAwMDAwMCcsICJjdHgu
c3Ryb2tlU3R5bGUiLCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jYXAuYnV0dC5odG1sCmluZGV4IDIxY2E4NmIyOWI1Mjc3ODc0MDJmMmYyNWZj
Y2Q3M2VlZGZkMjBlNjguLmZjMTA4YzBkZTQ5MWZhN2UwNWY2NWY3MmE2YmFhOWM3NzEwODRiYjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAuYnV0dDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5l
LmNhcC5idXR0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lQ2FwICdidXR0JyBpcyByZW5kZXJl
ZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJsaW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDE2LCAwLDI1
NSwwLDI1NSwgIjc1LDE2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwzNCwgMCwyNTUsMCwyNTUsICI3NSwzNCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1LDAsMjU1LCAiNzUsMzUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM2LCAwLDI1
NSwwLDI1NSwgIjc1LDM2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcwppbmRleCBiOWQ1MDNjODA1
MTVhMjc5YjU4ZWQ1YTc0Zjk2Zjg4MjM0ZmRiNzBiLi4xMzAyMGFkYjA4NzU2ZmYwNjk0YmJkOGJh
YTRjMzAzY2RhOTVhMmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAu
YnV0dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdidXR0JyBpcyByZW5kZXJl
ZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDE2LCAwLDI1NSwwLDI1NSwgIjc1LDE2IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNCwgMCwyNTUsMCwyNTUsICI3NSwzNCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAs
MjU1LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDM2LCAwLDI1NSwwLDI1NSwgIjc1LDM2IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNh
cC5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQuaHRtbApp
bmRleCA2NmIwODUzMGY1NGVmM2EwNjk3MTFjYTYyNGVhYzQ3YzI2YmIyOGU5Li42N2ZjMzU4YjA0
MzZiY2ZmZDI3MzIwYTMzNzI1MTNhMzdhMmI3NTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jYXAuY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
Y2FwLmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5saW5lLmNhcC5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAuY2xvc2VkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBh
biB1bmNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVy
cyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1
LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAuY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5j
bG9zZWQud29ya2VyLmpzCmluZGV4IGY1MjM3ZDZjMmIwNzg2MzFlNmMzZWQxNjljNWE3MDZiNzhh
NDUzNDEuLmI0Y2ZlNTAxODA4YWNlOTY2M2UyZGMyNGU1ZjBiYTI4MzM3Y2M5YzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1
bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAu
aW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQuaHRtbApp
bmRleCBjYmY3Y2ViYzhiZmE3MDY4OTYwYzhhNDEwYzU3ZjNhOWIyMTJkNzA3Li5iODQ5OWZjYTA1
NmJjYjE3MmRhNWFlNjNkNTdjMjY4OWNlYjg3MGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jYXAuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmNhcC5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmxpbmUuY2FwLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAuaW52YWxpZDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGln
bm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM2LDcgKzQwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5s
aW5lQ2FwIiwgIididXR0JyIpOwogY3R4LmxpbmVDYXAgPSAnYnV0dCc7CiBjdHgubGluZUNhcCA9
ICdiZXZlbCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVDYXAi
LCAiJ2J1dHQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmNhcC5pbnZhbGlkLndvcmtlci5qcwppbmRleCA0YzM0OTVmMjc3YWFiZTE2NDM4N2QzOTA4
NzA2M2QwNDNiMmJlNTg0Li40NjA0NmQ0MTYxMTJjYWNlZDM1NzQ5YzNjMzJlOWI5ZWQ0MjQ3OGEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMg
aXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVD
YXAsICdidXR0JywgImN0eC5saW5lQ2FwIiwgIididXR0JyIpOwogY3R4LmxpbmVDYXAgPSAnYnV0
dCc7CiBjdHgubGluZUNhcCA9ICdiZXZlbCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1
dHQnLCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAub3Blbi5odG1sCmluZGV4IDhiN2E1OTljMzJiMTYyNDUyZDY1YzNj
N2Y1ZDYwNjk3ZjBiY2I5YWMuLjE1NGFhZjc1MjA3MWI4M2JmZjYzYjg2ZWI0YWE1YjY4Nzc5MDkx
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4uaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAub3BlbjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5s
aW5lLmNhcC5vcGVuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIGRyYXduIGF0
IHRoZSBjb3JuZXJzIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgZHJhd24g
YXQgdGhlIGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyAr
MzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwx
LCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzCmluZGV4IGI2N2RjNTc5OGJkMmQ1Zjc3YjYzM2QxY2Q4
YWM4YzQzOTRjNDMzM2YuLmU2NzFiNTVkMDZkM2QyYTkyOWQxOWZlNTBhNzc2ZWUwYmIyYTM4NzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lcnMgb2YgYW4g
dW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAw
LDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LnJvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQuaHRtbAppbmRl
eCBmYjM4M2NiYTliZGViYzAzZTU5ZmFmOWY4YTc4ZWJjMDU1ZDQ3NTdiLi41ZmM5MDE5OGU4OGMw
YzFlMWE5NjM5ZTBhNjMxMGZlNjRhODAwOTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5jYXAucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAu
cm91bmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQubGluZS5jYXAucm91bmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAucm91bmQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdyb3Vu
ZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUsNyArNTksNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1NSwwLDI1NSwgIjgyLDYiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY3LDQzLCAwLDI1NSwwLDI1
NSwgIjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1LDAsMjU1LCAiODIsNDMiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNh
cC5yb3VuZC53b3JrZXIuanMKaW5kZXggNzU5MjM5M2IzY2I3NTQyOGQzMzE5NTQzNzM4MDNlN2U2
M2RkZGRiZi4uMzhmYWFlNjIzZmE2ODVhNDg2NDE2MWEwN2ZlOGM4YTMyMTc0YWI4ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJsaW5lQ2FwICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNTEsNyArNTUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1
NSwwLDI1NSwgIjgyLDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDY3LDQzLCAwLDI1NSwwLDI1NSwgIjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1
LDAsMjU1LCAiODIsNDMiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sCmluZGV4IGVmOTY0NmU2MzI4MDRlZjA3
MDBlYjRlZjc0ZDE0NTBhMjE3ZjUxMDMuLjhjZDA5YzY4M2ZhZDM0MTVjODZkY2FmMDhmZWQwMzg1
YThjZTFmNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY2FwLnNxdWFy
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5saW5lLmNhcC5zcXVhcmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVDYXAg
J3NxdWFyZScgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUNhcCAnc3F1YXJlJyBpcyByZW5kZXJl
ZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDYsIDAsMjU1LDAsMjU1LCAiNzUsNiIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDQsIDAsMjU1LDAsMjU1LCAiNzUsNDQiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ1LCAwLDI1
NSwwLDI1NSwgIjc1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSw0NiwgMCwyNTUsMCwyNTUsICI3NSw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAu
c3F1YXJlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29y
a2VyLmpzCmluZGV4IDZlMDdhODAxZTEyZTc1OTQ4MzlkY2FiNmE2OGMxYzYwOTc5ZGE4OGMuLmFl
YWMxZTNjMDRmMmU3N2Y2MWY4NjdlZDUzNzM1ZjY3Zjg4N2FlMmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJsaW5lQ2FwICdzcXVhcmUnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcg
KzQ2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNiwgMCwyNTUsMCwyNTUs
ICI3NSw2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSw0NCwgMCwyNTUsMCwyNTUsICI3NSw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsNDUsIDAsMjU1LDAsMjU1LCAiNzUsNDUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ2LCAwLDI1NSwwLDI1NSwg
Ijc1LDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKaW5kZXggMTZhNGY0OGQyMTA3MGZkMWJmNTEyMTA4NDJi
M2Q3NTI3ZTA1MzkwMC4uOWQ0NTQ4NzY3YWU1OGViOGM5NGY1ZjkyMDA2Nzc4MTBmMTgwOWFiMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY2FwLnZhbGlkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxp
bmUuY2FwLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVDYXAgdG8gdmFs
aWQgdmFsdWVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lQ2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogX2Fzc2VydFNhbWUo
Y3R4LmxpbmVDYXAsICdyb3VuZCcsICJjdHgubGluZUNhcCIsICIncm91bmQnIik7CiBjdHgubGlu
ZUNhcCA9ICdzcXVhcmUnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdzcXVhcmUnLCAiY3R4
LmxpbmVDYXAiLCAiJ3NxdWFyZSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMKaW5kZXggYjM2NGYzZDFjNjhlODBiYWY5
ODZhYTgzY2E3OGUzZDIyMDE0MzhmYi4uZGE4NGViOTFkZmVkMmNiOGRiYjlmNTg3OTQzODg1NTc4
Nzg5OTlmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQgdmFsdWVz
IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgubGluZUNhcCA9ICdyb3VuZCc7CiBf
YXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ3JvdW5kJywgImN0eC5saW5lQ2FwIiwgIidyb3VuZCci
KTsKIGN0eC5saW5lQ2FwID0gJ3NxdWFyZSc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ3Nx
dWFyZScsICJjdHgubGluZUNhcCIsICInc3F1YXJlJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY3Jvc3MuaHRtbAppbmRleCAzMWZjM2YzNTAwOTk3MTg1NGIyNjYyOTgy
YjE4YzU4MTU0ODdkYzYyLi43NDc3ODdjN2JhMzc1ZTlhODI5N2E4NjI3NWE1MWM4MTFkYTUzOGRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY3Jvc3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jcm9zczwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
Y3Jvc3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3Mud29ya2VyLmpz
CmluZGV4IGI4NTIzMWU4N2RhZTg5NGIxNDkzMjJkZDg1MjA5MmZlYjFhOGRhNzAuLjJjOGU2OGJm
YmQxYTRmZTRjNmEzODE4MTk0MzRiYWI3NjBkYjM5NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmNyb3NzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5jcm9zcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5kZWZhdWx0cy5odG1sCmluZGV4IGU5ZmM1MDliNWQ4YzAxMTAxMzE2MzljMjFkYWNjMjYy
NmJiZmNmNGMuLjEwNTFkOTk2MDlkNjk1N2VjYjI4Yjk0NmUzYmExNmFhYjI1M2YwMmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5kZWZhdWx0czwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmRlZmF1
bHRzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3Nl
cnRTYW1lKGN0eC5saW5lV2lkdGgsIDEsICJjdHgubGluZVdpZHRoIiwgIjEiKTsKIF9hc3NlcnRT
YW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgubGluZUNhcCIsICInYnV0dCciKTsKIF9hc3Nl
cnRTYW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0eC5saW5lSm9pbiIsICInbWl0ZXInIik7
CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMTAsICJjdHgubWl0ZXJMaW1pdCIsICIxMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5kZWZhdWx0cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy53
b3JrZXIuanMKaW5kZXggNjcyYmVlNTRlZmY3NmU4NDEzOWQzZGFjMzY2MzA4OTJhY2RjYTg2ZS4u
ZTkwNGQzOTExMmRkNjc1NDllMWY2NTIwOTY4MzgxNGFmOGFiOGUxYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmRlZmF1bHRzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLCAi
Y3R4LmxpbmVXaWR0aCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAi
Y3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdtaXRl
cicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGlt
aXQsIDEwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sCmluZGV4IGM3MjFkMjliOTAwNmFiY2Nl
ZDk3YmQwMTZlY2ZjNzVhNzA2OTY4MzIuLjBlNGRkMTNiZjRkNDQ1YmVjYmMxYzI4MmMyNzBlODUx
Y2NiYTc2OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5iZXZl
bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5saW5lLmpvaW4uYmV2ZWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVKb2lu
ICdiZXZlbCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJl
ZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01OSw3ICs2Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDg0LDE1LCAwLDI1NSwwLDI1NSwgIjg0LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwxNSwgMCwyNTUsMCwyNTUsICI4NSwxNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTUsIDAs
MjU1LDAsMjU1LCAiODYsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDg2LDE0LCAwLDI1NSwwLDI1NSwgIjg2LDE0IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpv
aW4uYmV2ZWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53
b3JrZXIuanMKaW5kZXggOTRkOWVmYjcyZWZhZDYzZDY0MGFiYTEyYTAyZTA4MTE3MmVlMTZmNy4u
ZDY4YjQ5MTFhYzUzMTlhOTE5MGQ4NWQ1YjdlZDFlNzIyN2ZmM2U5OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImxpbmVKb2luICdiZXZlbCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUs
NyArNTksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwxNSwgMCwyNTUsMCwy
NTUsICI4NCwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgODUsMTUsIDAsMjU1LDAsMjU1LCAiODUsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDE1LCAwLDI1NSwwLDI1NSwgIjg2LDE1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxNCwgMCwyNTUsMCwy
NTUsICI4NiwxNCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQuaHRtbAppbmRleCA4NzRlZjgzM2RlZDEwN2M0Nzgw
MTc4NGZiZjM3YjI1OWY4OTIwZjY0Li5iYTkyYjRjNTNmZTZmZWI1Y2UzOWQ0ZjlhMjEyMGE5NWZh
ZDAzMzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5jbG9z
ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQubGluZS5qb2luLmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBq
b2lucyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhIGNsb3NlZCByZWN0YW5nbGU8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpv
aW5zIGFyZSBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcwppbmRleCAxOTVmNTAwMDI2
ODk4NmYzZjcwY2U4M2RkMWVhZWViOGU2NGNlOTAzLi5mYWIxYzYzZWNlNTM3ZWE5YTU5ZWMwNjYy
ZDAyODA5Zjc2NGVmNjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5jbG9z
ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBkcmF3
biBhdCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMy
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuam9pbi5pbnZhbGlkLmh0bWwKaW5kZXggZTE1MzM2ODk1MTljNDBkYTJiZGZmNTkwZTJkYTJj
NzBjMTI4MDgwYS4uMGQwN2JmYTY4Y2ExYzAzODM2MGI5Mjk4ZTNlNzEzYTFkNDViMjIxMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5pbnZhbGlkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUuam9pbi5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVK
b2luIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVKb2luIHRvIGludmFs
aWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNiw3ICs0MCw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5saW5lSm9pbiwgJ2JldmVsJywgImN0eC5saW5lSm9pbiIsICInYmV2ZWwnIik7CiBjdHgu
bGluZUpvaW4gPSAnYmV2ZWwnOwogY3R4LmxpbmVKb2luID0gJ2J1dHQnOwogX2Fzc2VydFNhbWUo
Y3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4LmxpbmVKb2luIiwgIidiZXZlbCciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5p
bnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC53
b3JrZXIuanMKaW5kZXggMWYzZmI0YWU5Y2NhNzJlZDRkNmNmMzRlMTdmMzlkNGViMjUyOTRmOS4u
MDQ4NjNlNWYwZGNhZmU1ZjUyYjY2YmUwYWUwYzBjZDc4ZTEzNTI2MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTZXR0aW5nIGxpbmVKb2luIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ2JldmVsJywg
ImN0eC5saW5lSm9pbiIsICInYmV2ZWwnIik7CiBjdHgubGluZUpvaW4gPSAnYmV2ZWwnOwogY3R4
LmxpbmVKb2luID0gJ2J1dHQnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAi
Y3R4LmxpbmVKb2luIiwgIidiZXZlbCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5taXRlci5odG1sCmluZGV4IDlhNDYzZWQ3YzQ3ZDMyZGM4ZDE2MDEw
NzhmZGI4MjU4YTM0YjEzMWMuLjQ1ZWI0N2NmMzExZWMyZTU3ZDJlZWYwN2RlMjE5ZTM5ZWI0ODc1
YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5taXRlcjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5saW5lLmpvaW4ubWl0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVKb2luICdtaXRl
cicgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ21pdGVyJyBpcyByZW5kZXJlZCBjb3Jy
ZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC01MCw3ICs1NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDg5LDExLCAwLDI1NSwwLDI1NSwgIjg5LDExIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwyNTUsICI5MCwxMCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTEsOSwgMCwyNTUsMCwy
NTUsICI5MSw5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5Miw4LCAwLDI1NSwwLDI1NSwgIjkyLDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLndvcmtlci5qcwpp
bmRleCAyZDQzMmZjYTk5YWFjM2U3YWY5NDM1ZTAzYmFmNjNhZTU1YmU4OWVjLi4xNzA3MzAxZDEz
Njk2MjEwNDNmNzJlMDUwNWIwODFmNjRiMWFkMWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLm1pdGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5qb2luLm1pdGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpv
aW4gJ21pdGVyJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg5LDExLCAwLDI1NSwwLDI1NSwgIjg5LDEx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwg
MCwyNTUsMCwyNTUsICI5MCwxMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTEsOSwgMCwyNTUsMCwyNTUsICI5MSw5IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5Miw4LCAwLDI1NSwwLDI1NSwgIjkyLDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLm9wZW4uaHRtbAppbmRleCA4M2I1NWI1MTE2YzNmZTc0NzQwNzVjNDc3ZGYwZTdlMDhjYjM0
MmRiLi4xOTQxYjFhYmY1ODQzNDQ1MzYzYTI5MWU3ZmE5MDUwZDMwZGU2MmI2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLm9wZW48L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5qb2luLm9w
ZW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBhdCB0aGUg
Y29ybmVyIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBh
dCB0aGUgY29ybmVyIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ub3Blbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5qb2luLm9wZW4ud29ya2VyLmpzCmluZGV4IGY4NDY2MzExZTJhYWY3NGFhMTJlZmVmYTcy
NmFkM2E1YjY0NjFmOGYuLjNjYWQ3NGU5ZWEzYzUwYzA2YjU0N2YzMjU5ZmFiZmMzZGUwMzExMGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ub3Blbi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXIg
b2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwg
IjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4
LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuam9pbi5wYXJhbGxlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJh
bGxlbC5odG1sCmluZGV4IDUyZmEzOTgxMTQ5ZGJjNzllYTk3MTY5NTUxNWM1YTVmZTM4MDIxZGYu
LmRjN2M4YzJiZDY0NWI3NGNiNTk0OGRmNjg1ZDMxZTU3MGYzMTA2MzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxsZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5wYXJhbGxlbDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5l
LmpvaW4ucGFyYWxsZWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgam9pbnMgYXJlIGRyYXdu
IGF0IDE4MC1kZWdyZWUgam9pbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBkcmF3biBhdCAxODAtZGVncmVlIGpv
aW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcwpp
bmRleCBlMTNiMzJkNzU2MWFhMWIwNGQwZDVjMzA5NjQ3OWNmZDA3ZTVlY2IwLi40OWNkYTc2MTNl
MWE2ZmY2NzYzZjZkNGJiOWViZTI4YzhhNjFhMGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
TGluZSBqb2lucyBhcmUgZHJhd24gYXQgMTgwLWRlZ3JlZSBqb2lucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
MSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmpvaW4ucm91bmQuaHRtbAppbmRleCAyNmNlMmQ5MzgwMjkxYjlmNDhlY2Y4ZGFhNmU3OTJk
YTE5NGNhYTljLi41NGE5ZWYyODBmNzYxYzRkMjdlNTBmMmM0ZTY5NzczYzUwNzhmZDZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4ucm91bmQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGlu
ZS5qb2luLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lSm9pbiAncm91bmQnIGlzIHJl
bmRlcmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtNTcsNyArNjEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Niwx
MywgMCwyNTUsMCwyNTUsICI4NiwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgODcsMTMsIDAsMjU1LDAsMjU1LCAiODcsMTMiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg4LDEzLCAwLDI1NSwwLDI1NSwgIjg4
LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4OCwx
MiwgMCwyNTUsMCwyNTUsICI4OCwxMiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQud29ya2VyLmpzCmluZGV4
IDBjNTE2NjMxOGVmMDJhZWRlODA5MWYwMzJlODBiMzlkZDIzMjQzOGIuLmNjZTg4OGNlOTQ2ODc4
MTg5NTNkOGI0N2ZmMmIyNzMxNjA5YzU1OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4ucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4ucm91bmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAn
cm91bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTUzLDcgKzU3LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTMsIDAsMjU1LDAsMjU1LCAiODYsMTMiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg3LDEzLCAwLDI1
NSwwLDI1NSwgIjg3LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4OCwxMywgMCwyNTUsMCwyNTUsICI4OCwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODgsMTIsIDAsMjU1LDAsMjU1LCAiODgsMTIiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi52YWxpZC5odG1sCmluZGV4IDE2Y2UwMzUxNzhlYTljMzQ1MzE2ZTg2MjIwMDNmMmExMzU2
ZmVjYmIuLjczN2ViNDg2NDE0OWQ2OWQ0NzE0MzhiODBkZDE3MzY5YjA4MDdiNjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi52YWxpZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpv
aW4udmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQg
dmFsdWVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShj
dHgubGluZUpvaW4sICdyb3VuZCcsICJjdHgubGluZUpvaW4iLCAiJ3JvdW5kJyIpOwogY3R4Lmxp
bmVKb2luID0gJ21pdGVyJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0
eC5saW5lSm9pbiIsICInbWl0ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53b3JrZXIuanMKaW5kZXggMTYxODAzYjgwMzQ0OGI2
OTRmNzNjODhlNDNlZGUyZWU0M2QzYmNjMi4uNzhmMGE0NTU5YTQ5NjY1NzdlMjNkZWU4MTg0OTMz
YjI5NDNiMDBlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxp
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQg
dmFsdWVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgubGluZUpvaW4gPSAncm91
bmQnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAncm91bmQnLCAiY3R4LmxpbmVKb2luIiwg
Iidyb3VuZCciKTsKIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBfYXNzZXJ0U2FtZShjdHgubGlu
ZUpvaW4sICdtaXRlcicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUuaHRtbAppbmRleCA2MmRl
NTMyMjdmMDBjMTlhNGJiNzRjZDRiYzQ4YzU4OGEwMjdjZjVmLi4xNGE2NWVhNDZlM2FmNTI1M2Jh
NTdmYzAwMjg4OTgwYmNjYjAxYTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5hY3V0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFj
dXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmxpbmUubWl0ZXIuYWN1dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5hY3V0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+TWl0ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xl
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
Ik1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zOCw3ICs0Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS53b3JrZXIuanMKaW5kZXggNjNmOTA5ZTU2
NTI1OTE5OGJhMmVmNTg3MDdlZjJmOWMxZGU0NmQ1NC4uMDg1YTRmMDdjNDRlNmViM2QwM2ZiZjMw
MTZiNjRiMTZiZjM5M2ZiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0
ZXIuYWN1dGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFj
dXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRy
YXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUs
MCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5leGNlZWRlZC5odG1sCmluZGV4IGYxNTMwOWIyZDBkYjc1MTdlNDc1MGRiZmU2MjU0NjFk
MjllZTQ1MzQuLjg5ZWI1MDkxOGNiZmIxOTIyMWVjN2ZlY2I4YTRmZDM0ZGQxNjQzNjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5taXRlci5leGNlZWRlZDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5saW5lLm1pdGVyLmV4Y2VlZGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBq
b2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIg
am9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcwppbmRleCAw
MmIxNjUzZmRlY2I5N2E4YzJmNWY4Yjc2MjYzNDYzZGU0ZTExODZmLi4zZmNlN2I4NTNkZGNjZGFl
NGVjNjVlZDYyMDdjMDA3MGZhOWVkNWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5taXRlci5leGNlZWRlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUubWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRl
ciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC5odG1sCmluZGV4IGU4ZDg4NjNhOWU3
YTk5OGUyZDA0ZGVhOGQzZjJkMzcwNjEzYjJlYTUuLmM3Y2JkODIzNDQ4ZGQ4Mzg4NWIyNjc1YWYx
ZGIwZDNjMDM0YWQzZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxp
bmUubWl0ZXIuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmludmFsaWQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2V0dGluZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMyw3ICszNyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLjUsICJjdHgubWl0
ZXJMaW1pdCIsICIxLjUiKTsKIGN0eC5taXRlckxpbWl0ID0gMS41OwogY3R4Lm1pdGVyTGltaXQg
PSBOYU47CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQi
LCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUubWl0ZXIuaW52YWxpZC53b3JrZXIuanMKaW5kZXggMTYyOGY3ODZkMzQ0NGVjYzg2NmQzYTEx
MTQzOGQwOGI4NGY5YzAxOS4uYmQwNWU1Nzc1YzBmNDcyMmVhZDVmMzY0NmU5YmRkNDAxMDE0Mzkx
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlk
IHZhbHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0U2FtZShj
dHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41Iik7CiBjdHgubWl0ZXJM
aW1pdCA9IDEuNTsKIGN0eC5taXRlckxpbWl0ID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVy
TGltaXQsIDEuNSwgImN0eC5taXRlckxpbWl0IiwgIjEuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVkZ2UuaHRtbAppbmRleCBkNmY4
YTYwNzcyMDY5YTA1MzdhZTlkMmRjMWE5YTQwMDM0ODM1NWRmLi5mNTA5YzViYWU2NmMzYTg1Mzc1
YjY1MjJkMDYzNTRlNWMwMTdkYWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5saW5lZWRnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LmxpbmVlZGdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmxpbmUubWl0ZXIubGluZWVkZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5saW5lZWRnZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+TWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBt
aXRlciBsaW1pdCBpcyBleGNlZWRlZCBhdCB0aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJl
Y3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMg
ZXhjZWVkZWQgYXQgdGhlIGNvcm5lcnMgb2YgYSB6ZXJvLWhlaWdodCByZWN0YW5nbGUiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS53b3JrZXIuanMKaW5kZXggYTBk
MWFhYWM3NmY1MzdkMzQyOGFkNjIzODAwOTlhNTlkMWNkYjBkZS4uZDA0ZmEzOWU0MTZlZjNmNjJm
ZjRjYWQzZTRmNjAzNTBjOGJmNmEwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUubWl0ZXIubGluZWVkZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIg
am9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCBhdCB0
aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLm1pdGVyLm9idHVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUubWl0ZXIub2J0dXNlLmh0bWwKaW5kZXggMmU4N2E4NzMwNzIwYjZkM2IwNDZiMjM0NzJmNTAz
MDM2ZTJkNzRlNC4uNmU0NDBhOWNkZTFkMzE2ZmRlMGJjOGNkZGQ4OTVlMWZiOWVkZGIxMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIub2J0dXNlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUubWl0ZXIub2J0dXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBh
cmUgZHJhd24gY29ycmVjdGx5IHdpdGggb2J0dXNlIGFuZ2xlczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3
biBjb3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsNyArNDIsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSww
LDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLm9idHVzZS53b3JrZXIuanMKaW5kZXggNTc5NjM1MmM5YjRlNWU5ZThlZTQwMDZhNTJl
NWRjMmU2MjdlYmMyYy4uNTBjMjJhZjRkYzdhNGYwODlkZGRlZGM1ZmU1MTM4NmExNjQwZTE1ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdp
dGggb2J0dXNlIGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwy
NTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LnJpZ2h0YW5nbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5n
bGUuaHRtbAppbmRleCBhNzEyMWY1NTBkZDczZTQxZjFkM2ZiZTM0MTYzMmE1ZjZmMzY0YTMwLi42
ZTJhOTZiYmU1NDIxZWFlNTQ2MDgyZDY1NDNkNzVlYWM3NWVkNTRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQubGluZS5taXRlci5yaWdodGFuZ2xlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFj
dCByaWdodCBhbmdsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxp
bWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCByaWdodCBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICsz
NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUud29ya2VyLmpzCmluZGV4IDcxN2Q3ZjIzMDdk
Yjc2YWZkMzc1NTMyMzU1YTc2M2IyYWM5NGI1ZGYuLjM2ZTI1ZmIyMmI4YWNlNmYwYzdiZWY3N2Iy
MGIwMzNlN2RiMzNkNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LnJpZ2h0YW5nbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LnJpZ2h0YW5nbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFj
dCByaWdodCBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52
YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQuaHRtbAppbmRl
eCA4Y2Q4NmI4NDdhYWIwNDgyMjI4OWYyMDdmZGYzOTFlNjk4ZDRhYmQwLi5jMGU2ZWUyYmViOTQ2
OWM4ODdiOGMwODAxODZmZGIyYmE3YzIwNGZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5taXRlci52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmxpbmUubWl0ZXIudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci52YWxpZDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3Jrczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNl
dHRpbmcgbWl0ZXJMaW1pdCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5taXRlckxpbWl0ID0gMS8xMDI0OwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGlt
aXQsIDEvMTAyNCwgImN0eC5taXRlckxpbWl0IiwgIjEvMTAyNCIpOwogY3R4Lm1pdGVyTGltaXQg
PSAxMDAwOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEwMDAsICJjdHgubWl0ZXJMaW1p
dCIsICIxMDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLm1pdGVyLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLnZhbGlkLndvcmtlci5qcwppbmRleCA2MGFmMTk1M2JlN2E3NDUxZjBmZjkwYzg0
YTdkYWNiOTgwNjc1ZjUxLi45OTJkMzdkMjFhZTA5Njg2MjQ0ZmVhOGMzNTIzZGJlYzgyMWU1Y2Ni
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIG1pdGVyTGltaXQgdG8gdmFsaWQgdmFsdWVz
IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubWl0ZXJMaW1pdCA9IDEvMTAyNDsK
IF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLzEwMjQsICJjdHgubWl0ZXJMaW1pdCIsICIx
LzEwMjQiKTsKIGN0eC5taXRlckxpbWl0ID0gMTAwMDsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxp
bWl0LCAxMDAwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5odG1sCmluZGV4IDEyZjEwYjI2
OGNiZDI4ZGY5YTAxNTg1ZWVhZjM1ZjUxZWJlMTNjNmQuLmI4ZTBhZTIxZmZiZGNkNzY2Y2QwMjU1
NDAxMGU4N2QxMjM5NzZjY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLndpdGhpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhp
bi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5s
aW5lLm1pdGVyLndpdGhpbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLndpdGhpbjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+TWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIG5v
dCBxdWl0ZSBleGNlZWRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1p
dCBpcyBub3QgcXVpdGUgZXhjZWVkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAi
NDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
NDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci53aXRoaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
d2l0aGluLndvcmtlci5qcwppbmRleCBjMmU5NDYzNWI2ZTdmZmRhYTgwMjAwZGE2NzIyZDAyM2Yy
MzU0NzZlLi4yMDJjNGVmNTczMTA2YjBlYzNhNjI3NTY5NGY2YjI4NzZiOTZiYTgzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4ud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1p
dCBpcyBub3QgcXVpdGUgZXhjZWVkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAi
NDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
NDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS51bmlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24uaHRtbAppbmRleCA2
MjZhMWE1ODUyZTY5MWY0MDQ0MjkwNzdmNjljMWEzYjRlOWYzZjZjLi4xNzg1MjdjNTJiODc5OWU4
NDM5MTIzZWEwZWRhNDFiYjhhZDE4ZmM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS51bmlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUudW5p
b248L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQubGluZS51bmlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSww
LDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUsMCwyNTUsICIyNSwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUs
ICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMKaW5kZXggZTJjNjY2ODliODRhYzRjMTJhNDYyMzEz
ZjIzYzQwYjI1NmY4MzUyNC4uNDNjZTZiN2QwNjhiNWM4NTUyZjdmMzI5Y2Q2MTM4Zjg0ZDk1MzFm
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUs
MCwyNTUsICIyNSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5i
YXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMuaHRtbAppbmRl
eCAxZGQxYmJmN2JkZGQzN2QxNzExYjI4YzQ4NmRmM2IyYzAxODBlMmMzLi5iNmI5MGExMjAwYjMx
N2JjZGM5Y2VkODY2YmNhMjFjMTk0Mjc2ZTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndp
ZHRoLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmxpbmUud2lkdGguYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS53aWR0aC5iYXNpYzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+bGluZVdpZHRoIGRldGVybWluZXMgdGhlIHdpZHRoIG9mIGxpbmUgc3Ry
b2tlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImxpbmVXaWR0aCBkZXRlcm1pbmVzIHRoZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC00OSw3ICs1Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAsMjU1LDAsMjU1LCAiODUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDI1LCAw
LDI1NSwwLDI1NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2ljLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2ljLndvcmtlci5qcwppbmRleCBl
MWU4YTA1ZDQwZWQxMWVhZWUyOGZhZWFhNDE4ODY3NjgwMGMzMWE5Li5mMzEyMGI2YjU4NjY4ZWQ0
NTJhZTJkNGNlZTViMWU0NjhiYjcxMmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS53aWR0aC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGguYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lV2lkdGgg
ZGV0ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDUsNyArNDks
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODQs
MjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwyNTUsMCwyNTUsICI4
NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwKaW5kZXggMmY3MmM4ZDA3YWU5MjQ1ZjdkZTZm
ZDg0N2IzOWQ3ZDNkM2Q2NWFiOC4uNmM2MDkxNDJmMDg4NWY4ZWUwYzlhODk0MWU4ZTZkM2E5MDM4
YmQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0aC5p
bnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGguaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U2V0dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGlu
ZVdpZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2
IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41
Iik7CiBjdHgubGluZVdpZHRoID0gMS41OwogY3R4LmxpbmVXaWR0aCA9IE5hTjsKIF9hc3NlcnRT
YW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmlu
dmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53
b3JrZXIuanMKaW5kZXggMmMzYmU4MmE4ZTI4ODc0NjE0ODMwMDYyODE1YjgxODU2Y2M5YWM2Zi4u
MzdlMjcwNzM0YTZmMTVkOGZjNGI3OGRiZjBmMzQ2MjYyMjdkNmFiNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNldHRpbmcgbGluZVdpZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwg
ImN0eC5saW5lV2lkdGgiLCAiMS41Iik7CiBjdHgubGluZVdpZHRoID0gMS41OwogY3R4LmxpbmVX
aWR0aCA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lk
dGgiLCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lmh0bWwKaW5kZXggYmI0NjA3ZmZjMThmODdlNmU4ZDBm
NWRhZmM1Yjk5NDYzY2RiNWNiNi4uZTJlMzZjOGM2ZDQxMjQ2OGQxYzU1OWRjOTMwYWYxNzY1NWNl
ODgyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZh
dWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxp
bmUud2lkdGguc2NhbGVkZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5EZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBhZmZlY3Rl
ZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJEZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBh
ZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNSwgMCwyNTUsMCwyNTUsICI1MCw1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcwppbmRleCA3ZmVkYWVk
YWU0YzdiM2ZjMmQyNDBiMzBiN2JiODJmNDdlNDYzODkxLi5jZmY2OTMwMmFiODYyNGJjMmQ2NTcz
OTJmY2VhNDE2ZjUyMjY0ODY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53
aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LndpZHRoLnNjYWxlZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRl
ZmF1bHQgbGluZVdpZHRoIHN0cm9rZXMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0
aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw1LCAwLDI1NSwwLDI1
NSwgIjUwLDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5z
Zm9ybWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5o
dG1sCmluZGV4IDcyMzcwZjU5MjY2YzM4NjlkMGFlZjI4NjdmNDNiYTRmN2Q0N2UzYzMuLmU5OTc3
MGQxNzkwYjc3ZjdmYjIwMGExYjZmNjcxMDU5OTAzYzNlZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIHN0cm9r
ZSB3aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9uczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgc3Ryb2tl
IHdpZHRocyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NTUsNyArNTksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODQsMjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwyNTUs
MCwyNTUsICI4NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC53b3JrZXIuanMK
aW5kZXggN2JkNGVmYmFkZmY5YjQzYzIwNmUwMWJjNmI2NTBjNjc1NzdkMjY2ZS4uY2JkY2EzN2Fk
MzEwOWFmZjc0MDI5NWY4Njc2ZDU3OTcwZThhYjdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiTGluZSBzdHJva2Ugd2lkdGhzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zv
cm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC01MSw3ICs1NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAsMjU1
LDAsMjU1LCAiODUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg2LDI1LCAwLDI1NSwwLDI1NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRo
LnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC5odG1sCmlu
ZGV4IDZjZmIxOTliYzVmY2UwZWMxNWNmYTEwNjJlMjdkZmZlN2QyNGZiOGIuLjg5YTk2YWIyNzgx
YzIwM2JlY2UxZTU4ZWM5ODBjMmMyZDg4OWNiYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLndpZHRoLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
d2lkdGgudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQubGluZS53aWR0aC52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLnZhbGlkPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3M8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
ZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5saW5lV2lkdGggPSAxLzEwMjQ7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRo
LCAxLzEwMjQsICJjdHgubGluZVdpZHRoIiwgIjEvMTAyNCIpOwogY3R4LmxpbmVXaWR0aCA9IDEw
MDA7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxMDAwLCAiY3R4LmxpbmVXaWR0aCIsICIx
MDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndp
ZHRoLnZhbGlkLndvcmtlci5qcwppbmRleCA4ZTc0OThmZjI1ZmUyN2U2NTBhN2Y5MDY4NjNjZTQ2
ZWI2YTA1ZTEwLi43ZmE3ZmU1MDc1YWI1MGU3NWViZTU1Y2VkNGRkZDlkYzdhYWIyYWE4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFsaWQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3Mi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5saW5lV2lkdGggPSAxLzEwMjQ7CiBfYXNzZXJ0
U2FtZShjdHgubGluZVdpZHRoLCAxLzEwMjQsICJjdHgubGluZVdpZHRoIiwgIjEvMTAyNCIpOwog
Y3R4LmxpbmVXaWR0aCA9IDEwMDA7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxMDAwLCAi
Y3R4LmxpbmVXaWR0aCIsICIxMDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwKaW5kZXggMWE0Y2ZlOWNjNjY4NDUwNmRiZTUy
NmViNGRmOTA0Y2NlOWIxYzFkZC4uMDAwZmI1NTM1ZGMyMjg0MjljMjQ2YzJjZGZlNjg2NDVlMDRj
OWVlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xl
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkg
ZHJhd3MgcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBwaS8y
IC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAtTWF0
aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIu
anMKaW5kZXggMTg1MzZjOTg4ZWI5ZTE0YTg3MjA1Y2E1NTA1MmU2NzA5MmZjZmFhNC4uZGEwNTdl
ZDM3ODI5YWE5OTU3ZjUxMmMyODNhZTNiNzM1ZGU2NDBjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSBkcmF3cyBwaS8yIC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1
MCwgTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5hbmdsZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFu
Z2xlLjIuaHRtbAppbmRleCBhYzFhNWE2NjI5NjFiMDQ3YmViYmZlNzg5YWI3MmNlMzBmNDExM2Jj
Li45YTljNmNkMjBkOGRlNTY4ODg2YTM2NTEzYjQ5YTA3OGU4Nzc1MTRlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFy
Yy5hbmdsZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyAtM3BpLzIgLi4gLXBp
IGFudGljbG9ja3dpc2UgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgLTNwaS8yIC4uIC1waSBhbnRpY2xv
Y2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAs
IDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7
CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi53b3JrZXIuanMKaW5kZXggN2E3
ZGVmOTc4YTZhNDNkMzExODc5YjZmY2QwZGM4ZmMzNWY2Y2VkZS4uZjFiMDdlYWQ1ZGEyZDBmY2I0
NzM5ZWVkZTk5NDdmZjg1YjQ2Yzg2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLmFuZ2xlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3
cyAtM3BpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAtMypNYXRo
LlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLmFuZ2xlLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5o
dG1sCmluZGV4IDA2ODQwMjQwNzgwZGYzNThiMmY2ZDZhZWM5OTRlOTVkNzQ1Y2U0MzUuLmYwNmQ3
MDBhNmZkZDgxMTcwOTViNTBhMjMwOTI1NjdkMWRlMzc2ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuYW5nbGUuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmFuZ2xl
LjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdoZW4g
YW50aWNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAy
cGkgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3
ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsICg1MTIr
MS8yKSpNYXRoLlBJLCAoMTAyNC0xKSpNYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5hbmdsZS4zLndvcmtlci5qcwppbmRleCA0YzRiZmE4OTkyY2UwZWY5MDU0ZTdj
OTUwNWVlM2M4NzZjMzcwZmY0Li4wZWE2N2M1OGU0MGRhOTliNzk2MjFiYWM4YWIxYTU2YjVlMTRj
YWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdo
ZW4gYW50aWNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoNTEyKzEvMikq
TWF0aC5QSSwgKDEwMjQtMSkqTWF0aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5hbmdsZS40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjQuaHRtbAppbmRleCBmNDc2NjljY2Y5ZmFiMjE2YTUyYzRiMDU4NWQxMzIwODAwOTJl
NDVmLi5iMDc2YzU5YzU0ZGVhYzY3ZDc5ZjBjZGNmOTk3NGM0ODczNzRiODBmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmFyYy5hbmdsZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2ly
Y2xlIHdoZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGk8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwg
Y2lyY2xlIHdoZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3
ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS40Lndvcmtlci5qcwppbmRleCA2NzU4MDhjOTczNWNhYjYw
MmVjYmMxNmI1MDNjNDMwOTFlMmE4ZGZkLi5jNmQxOWM2MGMwMmU2ZTQwMmQyY2NkNmYyNjAxZjY2
MWE4YzcyMDgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJj
bGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS41Lmh0bWwKaW5kZXggOTAyMGZmMTllOGM3MThiMjliNWI5NTJjMTdmYmRi
ZGMxNzczZTQ5Mi4uNDg2OTMxZjAzZTNjYmQ0NTM4NWY1M2YxZDc5ZWU4ODZjOWYzMzM5ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5hcmMuYW5nbGUuNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd3JhcHMgYW5n
bGVzIG1vZCAycGkgd2hlbiBjbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdyYXBz
IGFuZ2xlcyBtb2QgMnBpIHdoZW4gY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAx
NTAsICgxMDI0LTEpKk1hdGguUEksICg1MTIrMS8yKSpNYXRoLlBJLCBmYWxzZSk7CiBjdHguZmls
bCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS53b3JrZXIuanMKaW5kZXggYmE1YzUyMTk4Yzlh
ZTliZjlmNDg2NjNhOGYxYmYyNGFkOWI0ZmE3Ni4uZGMzMjAwZDIzYWE2YmYwZWMyOTExOGUwNjI1
OTA0Zjg3ZmUxMDY4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5h
bmdsZS41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMg
bW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoMTAy
NC0xKSpNYXRoLlBJLCAoNTEyKzEvMikqTWF0aC5QSSwgZmFsc2UpOwogY3R4LmZpbGwoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS42Lmh0bWwKaW5kZXggOWE5ZDlkZDVjYmM5ZDY3NDg1NTBlNTY3NDJhMjkw
YTc4MDBkODM1Zi4uN2ViNDY2YWY0YmUwYmNhZDUzYjBmMjI1YmEzNjk2NWEzODA1MjFmNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjY8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5hcmMuYW5nbGUuNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBm
dWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRy
YXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lndvcmtlci5qcwppbmRleCA3
MjAxYjY5ZGJhMWNkMjUwZmI0MTM5NDEyNjYyN2UwZmUzY2YxNjcyLi40ODYwMjdlMmU0MTY0ZDM3
NGY3NzhhMWE1ZTUwYzhlMDEwNGQ2MmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuYW5nbGUuNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRy
YXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1sCmluZGV4IDA3N2ZlODg4Mzcz
NTMxY2JiY2U4Nzg2NzZlYTljZDJiN2Y3MGViMjEuLmVkMjcwNDA4OTZlMDRmYmEyMzJlZDY5ODUw
MjJmYTcwNDY1MTllMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
ZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmFyYygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lz
ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyYygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lzZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAs
IDAsIDE1MCwgLU1hdGguUEksIE1hdGguUEkvMik7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuZGVmYXVsdC53b3JrZXIuanMKaW5kZXggZjZkYjQ5ZjBkMmQ4YmE5N2JiMmE5MjM2MDRjNTgy
MGVmNWYyYjRhZi4uMGVhZjhiYWM2ZGJkZGIzMGIyNjdlYzVjYzNmNGU5NDllOGFkNDY5NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZhdWx0Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1bWVudCBkZWZh
dWx0cyB0byBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5tb3ZlVG8oMTAw
LCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbAppbmRleCBlYzY2OWIwNDllNWI1MjY0NjU4NjdkNTY1
NWQxNmNjNzE3MTI3YzA1Li45OWI0M2UwN2M0NTllNThlNTRkN2YyNWUxYWM4ZmEyNzQ2M2EyOTMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5lbXB0eTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmFyYy5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBhbiBlbXB0
eSBwYXRoIGRvZXMgbm90IGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
YygpIHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5vdCBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0
aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMKaW5kZXggZjc4ZTRhOTJhM2FjODU5N2I1YTA4
ODI3OWQ0ZWVlZGY5YzE3ZGUyNy4uYmRhZDc3Nzk4MDc5OWFlNGQzOGUyOGRhOGIxN2ExYjlkYjM5
OGI4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5v
dCBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRo
LlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC5odG1sCmluZGV4IDY0OWMzMDQz
Njk2OWVmMDdlNjUwMjcxMmU0ZjZjMDFmMmU5YTNmYmMuLjJhOTA4YWYwNzdlOGZiZDI1ZTIzNTIx
ZjE1YmJiODU0MzAwYmRiZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMu
ZW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguYXJjLmVuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgYWRk
cyB0aGUgZW5kIHBvaW50IG9mIHRoZSBhcmMgdG8gdGhlIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBhZGRzIHRoZSBl
bmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYg
QEAgY3R4LmFyYygtMTAwLCAwLCAyNSwgLU1hdGguUEkvMiwgTWF0aC5QSS8yLCB0cnVlKTsKIGN0
eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmVuZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC53b3JrZXIu
anMKaW5kZXggMzc4MmE2ZDgyY2ZiMTEyNTAzYTc1MDBkN2ExZWJiYzE3ZTQwZGMyOC4uZWRiYjcz
MjQ5OTdlMGJmNjUwN2Q4MzlhODE5NzY4MWQ2OGFmMTE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuZW5kLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkg
YWRkcyB0aGUgZW5kIHBvaW50IG9mIHRoZSBhcmMgdG8gdGhlIHN1YnBhdGgiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5hcmMoLTEwMCwgMCwgMjUsIC1NYXRoLlBJLzIsIE1hdGguUEkvMiwg
dHJ1ZSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5u
ZWdhdGl2ZS5odG1sCmluZGV4IGM0NmQ1NmNlODE5OTgyMDU2ZWQyOTkzZDk3MDAxNmVhYjQ1M2Vm
ZjUuLjM4YjdiODY3OWVhZTg0ZTdiNDQ3MjgxN2QxYTU3MGI2ZjUxNTZlYTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLm5lZ2F0aXZlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIG5lZ2F0aXZl
IHJhZGl1cyB0aHJvd3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMg
dGhyb3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguYXJjKDAsIDAsIC0xLCAwLCAwLCB0cnVlKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIu
anMKaW5kZXggZTM4OWFhZmJmODZhZTk5YzE2ODNhNDdkNDU2NGI2NTdkYzQwNjgzMi4uZTg0ODhh
MGFiYmEyM2UxODFiZjJiYTZhMTA0Zjk4MTg4NDM2M2QwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2Vy
dF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5hcmMoMCwgMCwgLTEs
IDAsIDAsIHRydWUpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sCmluZGV4IDc1YzcwZGE0MjY1MDQ1MDA2NTVhMTM2N2Ri
ZjJjZDU2ODc2MGJjYTUuLjBmODkyZDg2OTJmZTFiNGVhZTZlNTZiZjU1NzgxNGU5NDMxYzkyZDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1wdHkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLm5vbmVtcHR5
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguYXJjLm5vbmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3
aXRoIGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3Rh
cnQgcG9pbnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJhcmMoKSB3aXRoIGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQg
bGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5tb3Zl
VG8oMCwgMjUpOwogY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndvcmtlci5qcwppbmRleCA0NDQ2
NjU0ZGFjYzU5OGE3Y2Q3YmMyZDk4NDUxN2IxNmQ1ZDFlYTIyLi4wMmRjZDdiOGJkNmVhOGRjZDY1
NTk1NTcyMDRlNmNjOWQzM2IzODRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLm5vbmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLm5vbmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0
aCBhIG5vbi1lbXB0eSBwYXRoIGRvZXMgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0
IHBvaW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5h
cmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLm5vbmZpbml0ZS5odG1sCmluZGV4IGU2NzQzZTQxZmM2Y2Y3ZjRhNTM4OTc1NDE4NmY5
MjhiODEzM2Q2NTUuLjI4ZTRhOGQzNzY1YmZkNmI2Yzg0NTIwZDZiZDlmN2NiNTRjZTE1OTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMubm9uZmluaXRl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguYXJjLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkg
d2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC02Nyw3ICs3MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9u
ZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRl
Lndvcmtlci5qcwppbmRleCA2YTgxY2ZlYzUwM2MzMGQ3ZTgzZmRkOTcyODUwNDhjZTUxZTYwZGRk
Li5jZTNmODJhMDIyODJmODg0NzMwZjIyNTM2NzQwZjc2YTg4OTAwMDk0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNjMsNyArNjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwy
NTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1sCmluZGV4IGQ2ZGQ3OTMwOWRk
MjExZDZjZTExZDEwNDhiYzljMTdjNjk5MTllMWQuLjZlOTczYzM0OGVmYTliOGQxZjg0MzhhMDBk
ODQwYjYzNjBjNjFhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2NhbGUuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy5zY2FsZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNjYWxlLjE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPk5vbi11bmlmb3JtbHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi11bmlm
b3JtbHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAi
OTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAs
NDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5
LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEud29ya2VyLmpzCmluZGV4IGYzNWJhNDU5YWZkZjM1
ODkzNzUyMGYyNTg1ZjM0NDVhYzc0ZWNiZTcuLjI3ZWQ4NDRhOWVmMjkzY2NiNGExMzlkMzcxN2Q2
ZmU1MzhjMzI0OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Nh
bGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4x
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTm9uLXVuaWZvcm1seSBzY2FsZWQg
YXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzksNyArNDMsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwy
NTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zY2FsZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnNjYWxlLjIuaHRtbAppbmRleCBjM2RmZGRlZjEyYzQ0YzNmNWZmNDkzOWRlNjFhNzI3OTQ0MmFl
YjM1Li44ZTU3YjBjNmIwYzlmZGE0YmYxYTZjMGE3ZjdmOWMxZGUxZDJiOTYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2NhbGUuMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmFyYy5zY2FsZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5IaWdobHkgc2NhbGVkIGFyY3MgYXJl
IHRoZSByaWdodCBzaGFwZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkhpZ2hseSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwy
NSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi53b3JrZXIuanMKaW5k
ZXggNGFjZTAyMThhZjczZWVjOGRiY2EzNmUzNjYwNjI0OTFkNjk5YmM5Yi4uOGNiMTRlYjk0YzEy
ZTg0OWFhYTNjMmQxZTBkMGY5ZTU5ZTg1OTg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJIaWdo
bHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS5odG1sCmluZGV4IGZiYWI1ZDExZjIw
Y2RmZTMwZDJiZDk2MTNhZDgxOWI1ODA0NDlhNmQuLjk1YmQ4N2EyMjAyOGEwYjVkYTVhYzZhYTAw
MTA2NTZhYTkyMjRjNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2VsZmludGVyc2VjdC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5z
ZWxmaW50ZXJzZWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNl
bGZpbnRlcnNlY3QuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBsaW5lV2lkdGgg
PiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRp
dXMgaXMgZHJhd24gc2Vuc2libHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5hcmMoMCwg
MCwgMjUsIDAsIC1NYXRoLlBJLzIsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzCmluZGV4
IDMxNDgzNTQyMzU2MmM3MGFmYmM5MDMzNmJjODJkOGE5MzMyMGVlZGIuLjJiMmI0NzZiNTk3MGE3
NWU4YzlhYmFiMGZlMzU2MjA4MDE1NjA1YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2li
bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5hcmMoMCwgMCwgMjUsIDAsIC1NYXRoLlBJ
LzIsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuc2VsZmludGVyc2VjdC4yLmh0bWwKaW5kZXggZTk2YjhmMmJjOGJiYzE4ZWE5ODJkNjA3NzBm
MmQ3ODViYWVlYTUyNi4uODU3YjdjMTA1ZDQzN2E5NDc0MDIxNTllMjc2NDQ4MTIxYTc4NDM5YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy5zZWxmaW50ZXJzZWN0LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRy
YXduIHNlbnNpYmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5z
aWJseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTcsMSwgMCwyNTUsMCwyNTUsICI5NywxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywyLCAwLDI1NSwwLDI1NSwgIjk3LDIiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDMsIDAsMjU1LDAsMjU1LCAi
OTcsMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMiw0
OCwgMCwyNTUsMCwyNTUsICIyLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2Vj
dC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2Vj
dC4yLndvcmtlci5qcwppbmRleCBiZjI5Y2QxMmRkYzUzMmVmNGZiNTJhOTFhYmYzNjQyNDZlYmVm
ZWVkLi5iMmViM2UzMDcwMTBmNzlkNDRhNjNmMjM5NjJkOGU2ODU2MWJlZTc5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFk
aXVzIGlzIGRyYXduIHNlbnNpYmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywxLCAwLDI1NSwwLDI1NSwgIjk3LDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDIsIDAsMjU1LDAsMjU1LCAi
OTcsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcs
MywgMCwyNTUsMCwyNTUsICI5NywzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyLDQ4LCAwLDI1NSwwLDI1NSwgIjIsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEu
aHRtbAppbmRleCA4YmU2MmExZGJhMDliMzAwM2Q3YjhlZjYwNjRmNzUwNGNmY2FjY2I1Li40YTUw
NDFhOTA0NmIzZjY2ZjQxNmQ2ZGI3NDQzM2IyMWM3NjljYjJiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zaGFw
ZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gcGkgZG9lcyBub3QgZHJh
dyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5vdCBk
cmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjAsNDgsIDAsMjU1LDAsMjU1LCAiMjAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjEud29ya2VyLmpzCmluZGV4IDNiZTZiYzZmZDQ1ZWE0OWViOTA5ZjZh
ZGJkOTUyODNjN2NlZmY4ZjkuLjQ1YmYzYjFkZWYzNzk4M2NhNGQ5MjExYzNmZDM0NmY4ZDYyMTcx
MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIHBpIGRvZXMgbm90IGRy
YXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyMCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNoYXBlLjIuaHRtbAppbmRleCBkOWI1M2Q5ZGI3N2Q0NWRkNGRlZjZjMWU4ODJiMDM3ZDli
ZWUxODBiLi40MmZhNDA4YjQxNDJiZjI4ZmVlMzFhYWEwZWMxZmFmOGUzNmFlOGYxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5zaGFwZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gcGkg
ZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IGhhbGY8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1
ZmYgaW4gdGhlIHJpZ2h0IGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCw0
OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuMi53b3JrZXIuanMKaW5kZXggOThlN2IxZGRjNWZkNzA4ZTc3ZGRhNTgxNWY5OWZjMzY0
NDEyNDUzZC4uNWU4OTUzMjBlYjU4ZGQxZDA0NGQzN2FkNTJjODc0OWY2NTdmYmY1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJp
Z2h0IGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCw0OCwgMCwyNTUsMCwy
NTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFw
ZS4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMuaHRtbAppbmRl
eCAwM2I0NGQ3NzJhYzVmMmQ4ZjU2OWQwNjYwNjkzMjVmZmMxOWJiYjVkLi5kZDUxZGExMDIzOWFk
NDQ4M2ZiYTA2NTYxNWQ3NTY2N2IzMmMyNTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNoYXBlLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zaGFwZS4zPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gLXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0
aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gLXBpLzIgZG9lcyBub3Qg
ZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zaGFwZS4zLndvcmtlci5qcwppbmRleCAxZjA5ZjU4NmFlZWZjZjQyMDk2ZmVi
NzE1YjVlNGZjZWI3Y2Q2MGMyLi41ODNjZjZkYWQ4N2NkYjYzOWMzYWY0ODkzYzRlYmMzNWM3MGJi
MTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5v
dCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS40Lmh0bWwKaW5kZXggNjg3NjdkZTUyNWY4YWU5OTA0YzNmZmQxNDQzYzQz
MzZkOGE0OTU5MS4uYTY2YWQxMWJiODAwNDA4NjAwZTdhMjk2NTc3MDcxNDhiMTcwZDcxZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBlLjQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5hcmMuc2hhcGUuNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZnJvbSAwIHRv
IC1waS8yIGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBxdWFkcmFudDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAt
cGkvMiBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICsz
Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zaGFwZS40Lndvcmtlci5qcwppbmRleCBkMjk5YzViNjc1Y2UzMDBjMmI2
N2Y0YjgwMTM1Mzg4OTA4ZTAxY2JmLi41Zjg2ZjJjMDIzY2Q4MTdhNjE1ZWY5NjQ1ZmFhNjY1ZDIx
ZWFmNTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkcmF3
cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuNS5odG1sCmluZGV4IGU2YTJhYWRiYzgyZDZjZGNjYjRiMjhmNWY5NmMwMTUyMGY2ZjYy
YmQuLmE0YTlkY2ZkMjExY2JjZmQ1NjQwNDEzNjJmMWI5YmM2MjhkMTM5ZDUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS41PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YXJjLnNoYXBlLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byA1cGkgZG9l
cyBub3QgZHJhdyBjcmF6eSB0aGluZ3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcg
Y3JhenkgdGhpbmdzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFw
ZS41Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3Jr
ZXIuanMKaW5kZXggMjFhMGNhM2M3N2Q5YjE5Y2YwNTdkYzk1YThlZjRhNmU5Y2ZmZGU4Yi4uMmM3
N2JlNjQ0OWVlOGQwMmZjNzdlODIxOGYwMjlkYzRjZTNlMGExZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcgY3JhenkgdGhpbmdzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sCmluZGV4IDU1OTVlMzI4NGE2ZTkz
MDA2NzgxZDI1M2Q0YjgxNGY2YjVjZDdhYWQuLjQwYmI1NzY0YWM0NjcyOTlkMjg2YmY1NGZhYTBi
NDUyYzc5OTNiN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdv
cGllLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
YXJjLnR3b3BpZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgYW50
aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFu
ZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQsIHRydWUpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1
LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLndvcmtlci5qcwppbmRleCA1NTI1NTcx
NTRhMjEwZjRhNWU2MDUyNWI1YzA2NjBkOTI0YmQwN2VlLi5jMjg1MmYzODdhZDE1YTBhMjY4NWFk
NDAxYzY2NDBlZDFjZWRiYmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnR3b3BpZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mg
bm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9ja3dpc2UiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwg
MCwgMipNYXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnR3b3BpZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS4yLmh0bWwKaW5kZXggNGVhNDJiMmQzZWNmMGFmMzg1MDJlMzgxMTc3OWU0MWY4YjNiODU3
Yi4uMDkwMTRlN2M3YzAyZTllMzhmM2U5NTg4MjAyOThmYzUzOTdiZDIzZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMudHdvcGllLjI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5hcmMudHdvcGllLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIGEgZnVsbCBj
aXJjbGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBh
IGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgY2xvY2t3aXNlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAs
IDAsIDIqTWF0aC5QSSAtIDFlLTQsIGZhbHNlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMudHdvcGllLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy50d29waWUuMi53b3JrZXIuanMKaW5kZXggZDlmNDFkODVkYThjYmE3MGM2NTc0MzBlNjQ3
NTMwYTczMjFkMWUyOS4uYzA3ZmQxY2ViMTIwYTI0YzExZTJlMGIyZDI5MmYzMWQ1Mjc1OGRkMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBl
bmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJIC0gMWUt
NCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
My5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy5odG1sCmluZGV4
IDAxYmFlMDc0ZGI4MDYyNjEwMDYwODc4Nzc4N2RiNzY5ZWNiMDFkYWQuLjJiYzAwMDg3N2Y0MDg5
OGZlZDE2ZGY4Zjc2ODBmYjM3YmNkZDE5ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMudHdvcGllLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnR3b3BpZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjLnR3b3BpZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4zPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0g
c3RhcnQgKyAycGkrZSBhbmQgYW50aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUg
d2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0
aC5QSSArIDFlLTQsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy50d29waWUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3Bp
ZS4zLndvcmtlci5qcwppbmRleCA0MWM0MDBlN2YxMzEyMTc1ZWFmMWJmOWU4ZjhjNjc5NmZmMzk0
ZWRlLi5lZWNjZTA1YjhjNDQzZDE3NmI4M2UwZTVjNjU3ODZjMjYyYjBkNTFkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9IHN0YXJ0
ICsgMnBpK2UgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5i
ZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJICsgMWUtNCwgdHJ1
ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwg
MCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lmh0bWwKaW5kZXggOTkwNjM3
NzA0NWE5MWY2ZGRlN2VkYTY4MTAyZjc1ZGY2MmY4ZDEyZC4uZjVmMDVmYzhhM2Q3OWY1ZjU3ZTU3
MGEyZWIwZDE2NGI4NWJkM2IyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy50d29waWUuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdv
cGllLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5hcmMudHdvcGllLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMudHdvcGllLjQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStl
IGFuZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGkr
ZSBhbmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFlLTQsIGZhbHNlKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1
NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC53b3JrZXIuanMKaW5kZXggMjQxMDcx
ZmQ4MzUwNjA0NWY2ZTAwNTM5Mzg2NDRkMGRhOTNlZjdhYy4uNjE4ZmQ0MjY1ZGFjZThjOGIxYjBi
Yjg1ZTUxMTcxZDQ4YTJkMjNiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy50d29waWUuNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy50d29waWUuNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdz
IG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwg
MipNYXRoLlBJICsgMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy56ZXJvLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4x
Lmh0bWwKaW5kZXggNjBiNzNlMDQxZmQwMmQzMjJjZjkwM2E4NmVmMjhmZmEzZGNjODhjNi4uYmY3
NzQ4NmVmYWU0ZWIxNzFlOTcwY2I5YmQ2ZTlmNzNhNTI1NmY0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnplcm8uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy56ZXJvLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyby4x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmds
ZSA9IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0
YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCB0cnVlKTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1
NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLndvcmtlci5qcwppbmRleCA5MWYx
NWQ0ZTk1Njc5NGVjZjU1MWNlMzdhNjk5YTk0NTgyOTgxNmMwLi40ODljMWU5NTA2ZTI0MDJhZmVi
MGI5NDFmYjU4ZDZmMmNjYzMyZmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnplcm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy56ZXJvLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBu
b3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAs
IDAsIDAsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJv
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLmh0bWwKaW5kZXgg
MzA2ZTUzMTI4MDdiOGU2OGRiNzNhYWFhNDhhNjA0NGJjYzEwZmY0ZS4uNzMwZTJmNjVjMDkwOTEx
ZWVjZDI0N2I5YTRlMTc4YWExYzI0N2FlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy56ZXJvLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
Lnplcm8uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmFyYy56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyby4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xl
IGFuZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFu
Z2xlIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgo
KTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy56ZXJvLjIud29ya2VyLmpzCmluZGV4IDQyMzhiN2RhYzg2OTM2YjcyN2RjOWNi
YzFiNDI0YTgwMzE1ZWI2MjcuLmRhZDI1ZmJmZWU1YjRhMTA4YjhiMTg2ODY5Y2IyNjJiOGRkZjli
NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFu
Z2xlID0gZW5kQW5nbGUgYW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4
LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUs
ICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy5odG1sCmluZGV4IGVkNzdjM2I3YTg2ZjJj
N2MwNWNlZWZhZjRjZGNmZjJlN2QzM2VjNTkuLmM0OTUzZGZlZWYxN2M5NzU0OWEyODZiNGUzZjRi
ZDBhNGE5MDlmYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVy
b3JhZGl1cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1
cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmFyYy56ZXJvcmFkaXVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnplcm9yYWRpdXM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBz
dGFydCBwb2ludDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFy
dCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgu
YXJjKDIwMCwgMjUsIDAsIDAsIE1hdGguUEksIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuemVyb3JhZGl1cy53b3JrZXIuanMKaW5kZXggZmIxMmE4ZjQzOGM0ZDZhNjc0
YzMyMGE1OTU1OWYzMTAyNjMzNjZiNy4uNTg5ODgwNzEzYWIzOTZjZjY0MTJkODAwZTRiZTYyYWIz
YTRkZTc2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFk
aXVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRp
dXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIHplcm8gcmFk
aXVzIGRyYXdzIGEgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyYygyMDAsIDI1LCAwLCAwLCBNYXRoLlBJLCB0
cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS5odG1sCmlu
ZGV4IDFmNzMwMjU2ODNiMzlhMGUxODhiY2ZiOGUwMzkyYmY0NTcxNjZkMTguLjIwODJkZWVlY2Zl
YzViNWFjODc0MTJjYjZhN2MzNTE4NDkxMTc4MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5jb2luY2lkZS4xPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YXJjVG8uY29pbmNpZGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBoYXMgbm8gZWZm
ZWN0IGlmIFAwID0gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQMSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMzLDcgKzM3LDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1
LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEud29ya2VyLmpzCmluZGV4
IGE2NDZjMzY0MDE5ZTY4ZjIyZTQ3YWE1OTRlM2YxNmViNzAzZjg3MWYuLjI0MDhlMTRkYWE3MDA3
YzA3YTAyNDA1NjUzNWJjYjkwZTdjYzJhMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAw
LDI1NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIuaHRtbAppbmRleCBkNzdkNWRlNjJiYTJiZmJmZDJm
Y2EzNzVhZjk3ZDYxYTVlZGRlNzY1Li5jZjY0YWU3MmFlMzhmOGM1NzhkNTYzMjM3ZmNhNGY4YzFm
ZTczZDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNp
ZGUuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguYXJjVG8uY29pbmNpZGUuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAx
ID0gUDI8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSBpZiBQMSA9IFAyIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmNUbygxMDAsIDI1
LCAxMDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5j
b2luY2lkZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2lu
Y2lkZS4yLndvcmtlci5qcwppbmRleCA1NDU5NjE5ZjM0MjQwMTIxN2U2ODQzMmQyOWMzYTg3Mzg0
MDEwYTI3Li4zM2M2NDYyNGIyOTliZWM4YmJlNTU5NzNlMWQ0YjA4ZTMwOTQ2OWJiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0
byBQMSBpZiBQMSA9IFAyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1
KTsKIGN0eC5hcmNUbygxMDAsIDI1LCAxMDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLmh0bWwKaW5kZXggZTFjZDE0OTVlY2ExNWJiZDdjMjU2
ZGU3M2Y3MDA0OGEyNjVjNmI5MC4uMWY4MTU2NWU1NDFjYjQyM2YyNDFiZTE4OGNhMzg3NjE0YzJl
MTgxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVh
ci4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4x
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguYXJjVG8uY29sbGluZWFyLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQg
UDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRo
IGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJh
aWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKC0xMDAs
IDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLndvcmtlci5qcwppbmRleCA1ODBjYWM4ZGJm
MTEwMTgwNDcwN2QzY2I0Y2I0NjZjZGQyNjIyODQ0Li43MTI2NGFhYzE1OWFmYmFlMmUyNWE0MGQz
NDZkOWIwMzhjOGY5ZWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uY29sbGluZWFyLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5jb2xsaW5lYXIuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1Rv
KCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdz
IGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVU
bygtMTAwLCAyNSk7CiBjdHguYXJjVG8oMCwgMjUsIDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIuaHRtbAppbmRleCAxMjg3YjU3ZmY4OTU1
ZjFlMGYyM2U2NDFhODJlNGIyNDgyYzMxMWUwLi40NzQ3OTVjMjcxN2U5MTM4NzY4NTE2YzZmNjlk
ZTNjNDViNjljMjljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
Y29sbGluZWFyLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29s
bGluZWFyLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvbGxpbmVh
ci4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxp
bmUsIGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDE8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNU
bygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5tb3Zl
VG8oMTAwLCAyNSk7CiBjdHguYXJjVG8oMjAwLCAyNSwgMTEwLCAyNSwgMSk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLndvcmtlci5qcwppbmRleCBj
ZWVhZTQ5MmUwYWE0MTZhNWVkMTU4ZjFiMzBjMGI1MTRkM2E0ZDAwLi44MTBkMjdjYzVkYWRlNTZk
YTBkYzJjNDBjY2Y2ZTEyOTYxOWNmOTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAyIGJldHdlZW4gUDAv
UDEsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAg
Y3R4Lm1vdmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCAxMTAsIDI1LCAxKTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKaW5kZXggMGM1
NmU0ZGJhZGU3ZjViZTkxY2Q1NzI1MGRiMjk5Y2QyNTFkOTU5OC4uYjlhMDNhZGQyNmRjNTE5OTQ1
YTljYzVhNmRiZWVkNjg4MjAwM2M4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNU
by5jb2xsaW5lYXIuMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2lu
dHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQMS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5l
IHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQ
MS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBA
QCBjdHgubW92ZVRvKC0xMDAsIDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy53b3JrZXIu
anMKaW5kZXggNTM2YmQwZDgzNjM3ZTA4NjI5NzhmZmZlNjg4ZWUxZjZhNTAzMjdmNC4uZGY4OTll
ODA0NjM0NzAzNTZmY2ZiYjJkNjI3ZjQ3NzUxN2I3ZTljNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMCBi
ZXR3ZWVuIFAxL1AyLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3
ICszNCw2IEBAIGN0eC5tb3ZlVG8oLTEwMCwgMjUpOwogY3R4LmFyY1RvKDAsIDI1LCAtMjAwLCAy
NSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3Vi
cGF0aC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0
aC4xLmh0bWwKaW5kZXggOGI1NDkwNjM3N2M0MDM0ODRiMTg4Mjk4NWZhNjgzN2I5OTdmZjFiOC4u
YjQzODMxODg2MjBmNDkzZjhlNDRjMjU1YThjOGU0NTI2ZmM4Yzg2ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5lbnN1
cmVzdWJwYXRoLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBv
aW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBu
byBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcg
aXMgZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRo
KCk7CiBjdHguYXJjVG8oMTAwLCA1MCwgMjAwLCA1MCwgMC4xKTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXgg
Y2VmY2YxMWU4ZDFlMTNkZTgxODQzMDM2Zjk0MTA5NDVmMjgxZGY4Ni4uOWE4YWUwNTdlNmEzZWJm
MzEzNzU4ODc4YTllM2Q1MTJhOWY5MDQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBv
aW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmNUbygxMDAsIDUwLCAyMDAsIDUw
LCAwLjEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1
YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMi5odG1sCmluZGV4IDgwNTYzODlhMzExMDA4NTdmNjczZGEyYjFkMWZmNTdjOTU2OTI1YTgu
LjViNTRiZDI5YjZlY2M3ZDM5NjE5ZmVhOWFiNjY0OWUzODQyZjhmZGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uZW5z
dXJlc3VicGF0aC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBw
b2ludCBpcyBhZGRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBv
aW50IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguYXJjVG8oMCwgMjUsIDUw
LCAyNTAsIDAuMSk7IC8vIGFkZHMgKHgxLHkxKSwgZHJhd3Mgbm90aGluZwogY3R4LmxpbmVUbygx
MDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVz
dWJwYXRoLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3Vy
ZXN1YnBhdGguMi53b3JrZXIuanMKaW5kZXggZDZhYjA0ZTFkMzlhZDMyYWFhMWU3YWYwZGNiOTg0
ZTg3YWU5NGJiYS4uYzdmNzQ0MDgxNzUyNjYxZDc4MmZkNTEwMmNjZDc5NWRjZjM2ZmVhYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguYXJjVG8oMCwgMjUsIDUwLCAyNTAsIDAuMSk7IC8vIGFkZHMgKHgxLHkxKSwg
ZHJhd3Mgbm90aGluZwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwKaW5kZXggZDI1OGQwYmQ2NTk0YWM3ZjczYWZiN2ViYmJh
ZWRmNDdhODg3YzJmMi4uMGJkNmViMmRiYjU3YTQzOGZlZGY3OTg0OTgwODAwYTVlNjNlNmEwZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8ubmVn
YXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
YXJjVG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uPC9wPgpAQCAt
MTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkg
d2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIGFuIGV4Y2VwdGlvbiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5E
RVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsgfSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8ubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGI5NWY0YzUxNjVhZmVjZTBhYjkzZDVhNDhjYWMw
NGQzOTU3Y2U2MTQuLjU1ZWNmNTRjMzgxYmY1NjY1NGYxMGE4YWNjYzAyOTFiNjQ3ZjQxZGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLndvcmtlci5q
cwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMg
dGhyb3dzIGFuIGV4Y2VwdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUuaHRtbAppbmRleCAy
MjI2ZjU3MTM5YmEwMjU4ZGZiODBjZGEwZTQ1MDk4YzAwOGE4NmQ4Li40MzdlODA1YjBhOWE2YjNj
YWI0ZWRlZDIwOTI3OWM5MzM2ZmRjNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8ubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLm5v
bmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBp
cyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NjUsNyArNjksNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUs
MCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubm9uZmluaXRlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCmlu
ZGV4IGM4YjAwNzU5MWNlNzQzYTY4NTczZmNkZmIxMGU5ZTg0OWY2YjZmZWIuLmM5YWE2ODI0YzEw
NjhmYTllZWJhNjMxN2VhMzk5OGFkMDhmY2Y2M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmNUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02MSw3
ICs2NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1
NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwKaW5kZXggNjk0OTBlYTU4MTdlMmRiYTlk
MjY3NjVmMjU1ZTA0M2QxNmMzMmUwMi4uMGMxNTNiZDAyZWUwMzg0ZTQ1MjA2YWNkOTcxNDI3YmE2
NzkxMmZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8u
c2NhbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zY2FsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJj
VG8gc2NhbGVzIHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8gc2Nh
bGVzIHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUs
NyArMzksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwy
NTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1
LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS53b3JrZXIuanMKaW5kZXggODBiMzQxOWYy
MGRkMWVkOGI5YTJhMTc2ZTA2NWI0ODFmZGUyY2FlOS4uZGViMmU3NWFhOTVjYzUxZTIwMjI2ODc0
NDU4ODY5ZGIzOTk2ZjllNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnNjYWxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
c2NhbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBzY2FsZXMgdGhl
IGN1cnZlLCBub3QganVzdCB0aGUgY29udHJvbCBwb2ludHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5
LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwKaW5kZXggZmU5NDQxMzdjYjI4
NjEwZDJlMjY1MTJjNTJlMTRjNTMzYmJlNzVmYi4uYzExOTFiMTJmNjA0MGFkYzc0NDUwMDIzMGY2
ZmFmYTkxYTg5YjkwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
LnNoYXBlLmN1cnZlMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5z
aGFwZS5jdXJ2ZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFw
ZS5jdXJ2ZTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdo
dCBraW5kIG9mIHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgw
LDQ0LCAwLDI1NSwwLDI1NSwgIjgwLDQ0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA4MCw0NSwgMCwyNTUsMCwyNTUsICI4MCw0NSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDYsIDAsMjU1LDAsMjU1LCAi
ODAsNDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY1
LDQ1LCAwLDI1NSwwLDI1NSwgIjY1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5j
dXJ2ZTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1
cnZlMS53b3JrZXIuanMKaW5kZXggMmU3ZTNkOWMxMThmYTdmNjFjMDYwZjNkYjBhNzZjYjg1OThj
ZDhhZS4uMDhjMjkxMTJhNTY2NDZhOGY5OGFiMmM1MDE2YmVkM2MzNWIyN2EyOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBr
aW5kIG9mIHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA4MCw0NCwgMCwyNTUsMCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAw
LDI1NSwwLDI1NSwgIjgwLDQ2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA2NSw0NSwgMCwyNTUsMCwyNTUsICI2NSw0NSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2hhcGUuY3VydmUyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
c2hhcGUuY3VydmUyLmh0bWwKaW5kZXggOTI2YjA0M2Y2NTE5M2NlNDg4NDEyNzJhMzE1MzQxODE1
ZjcyN2JmYy4uZjA1MmE3ODk4NWZlZjkwNGMwNGQwMGM2ZWYwMzM3MzU2ZDQzOWYzMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5z
aGFwZS5jdXJ2ZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8o
KSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NSw3ICs0OSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc5LDM1LCAwLDI1NSwwLDI1NSwgIjc5
LDM1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0
NCwgMCwyNTUsMCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1NSwwLDI1NSwgIjgw
LDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKaW5kZXgg
ZjJmYWZiMDY0NzQ0YWFkNzk1MjZlMjBkN2M5NjVjYmU4MzU4NjFhNS4uNGFjYjk0YTYwYjg3YTA5
ZTVlNWI1YTczZDA2NGFiNDk2MDViMmJkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtNDEsNyArNDUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3OSwzNSwgMCwy
NTUsMCwyNTUsICI3OSwzNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgODAsNDQsIDAsMjU1LDAsMjU1LCAiODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NiwgMCwy
NTUsMCwyNTUsICI4MCw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwKaW5kZXggYTMz
NDFjMDRmMWM0YzQ4YjE1ZGM4YWNhNTZiZmQ5ZjYyMDcwNThlNC4uNTAyOTYyMzdlZGJlNWNmMGIw
NzdiZmE1MzcwNDNkNTgyNDVjY2Y1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnNoYXBlLmVuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5zaGFwZS5lbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5lbmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFw
ZS5lbmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgZG9lcyBub3QgZHJhdyBhbnl0aGlu
ZyBmcm9tIFAxIHRvIFAyPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8g
UDIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVu
ZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndv
cmtlci5qcwppbmRleCA1MjcxNjc1MzE5NDMzNjcyNTI1YWU5ZTQzZGIxYjZkZWQ5ODlkYmIxLi41
OGM0MDcwNGVjMjZmNTA2NWNiZjVhMTdjMDM1YTgwZjg2MjA0ZGQ0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8g
UDIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0
YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRt
bAppbmRleCA1MDcxNTI2ZTQ5YzJkNTJhM2VjMzQ0Zjk0MGYxMDI2MjczYjY5MGNhLi43NWExZThj
YmZjYWFiNzJkMWU2ZTUwZDUzOTc3YzAxMjZiMmMzNzAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIGRy
YXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0
IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uc2hhcGUuc3RhcnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnNoYXBlLnN0YXJ0Lndvcmtlci5qcwppbmRleCA4NDgzNTY4NmQxNjQwYzA0MTc3MWZl
MTYwNmZjYWFlMjMxMTk1NTE3Li44OGQ3NzRiNzVmMGNmNGYyODk0YTg3YWE3YWI4MjkzY2EwMWY5
YjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3Rh
cnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5z
dGFydC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbAppbmRleCBhNjk4OWQwZGZlYzE4YmFiZDc0
ZjEwZWVkMmEwNzQ5NTQ4NjZlMTNmLi5kNTMzNWU4ZjI3OTFjM2Q3MDcyYWVlNDM1ZjJkZGNmZGU2
MTU4MmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNm
b3JtYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNm
b3JtYXRpb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnRyYW5z
Zm9ybWF0aW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbyBqb2lucyB1cCB0byB0aGUgbGFz
dCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIGpvaW5zIHVwIHRvIHRoZSBsYXN0IHN1YnBh
dGggcG9pbnQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMKaW5kZXggYTU0NWJkM2Q1MWY0M2Nj
MDNlOWNhOWI2ODkwNDcxNTRiM2ViNTEwMC4uNDg5ZTA2ZjZhM2MzNGRjNjAyYjBkYTY4OWUwYzg3
ZDQyOTMyYWJlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnRy
YW5zZm9ybWF0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8udHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNU
byBqb2lucyB1cCB0byB0aGUgbGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1
LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSww
LDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbAppbmRleCA3N2Y2OWY1OTM1ODU3
NzQ3ZDA1NzkxYWQ0ZWM5ZTJkMDYyMDZmMjMwLi45ZTY4ZTVjZDQ3MGNjYzAyYjcxNDlmMzc0M2Ji
YjAxOGU0YzczY2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
emVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyY1RvLnplcm8uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnplcm8uMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+YXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9t
IFAwIHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBm
cm9tIFAwIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKDAsIC0yNSk7
CiBjdHguYXJjVG8oNTAsIC0yNSwgNTAsIDUwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMKaW5kZXggZDFkMmU4N2I0Y2EwZTFiZDI2ZDgyYjAz
ZjA0MWUxNGRhZTFkNGY3Ni4uZDJiNjIzODhlYzhhNjBjNWM4ZjViNzg1NzVmMzhhYjJlODA3MjYw
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAg
Y3R4Lm1vdmVUbygwLCAtMjUpOwogY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwgMCk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLmh0bWwKaW5kZXggZGViZTNkMzE0ODJjNDEw
MGE1NTQzZmQ5YmYxMmI3OTk2MGJmM2NkYy4uNjA0MThlNzdmYWQ3MDZiNzRmMDNlNjFlMjY5Y2Yy
Zjc4MjY4ZDJlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnpl
cm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5h
cmNUby56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby56ZXJvLjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQ
MCB0byBQMSwgZXZlbiB3aGVuIGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhcjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6
ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSwgZXZlbiB3aGVu
IGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1v
dmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCA1MCwgMjUsIDApOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLndvcmtlci5qcwppbmRleCAzZmY1NWNlNTBj
OTdlYjMzNGQ4NWIyYzk3NTMwNzdlMDJiY2YzZTU1Li40MTc0ZTMwODUyNGZkNjViNjhjZTBmNzRm
NjBlZjI0MGMyZTgyMDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uemVyby4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
emVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHpl
cm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4g
YWxsIHBvaW50cyBhcmUgY29sbGluZWFyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92
ZVRvKDEwMCwgMjUpOwogY3R4LmFyY1RvKDIwMCwgMjUsIDUwLCAyNSwgMCk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYmVnaW5QYXRoLmh0bWwKaW5kZXggNDZjNDdkNzRiZGNkNThkNTlhNjQ4ZGViODVj
MjY0Y2Y3Y2JhMzlkOC4uYmUxYWRjMzBkMWQxNzgxYzY4MjU1NWM2ZWM0NjdkMTFhYmZkMDM3MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZWdpblBhdGg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5iZWdpblBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3
LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZWdpblBhdGgud29ya2VyLmpzCmluZGV4IDMwMDY5ZTM2OTkyZGQyNzNl
NTljYzVkMGVlYmQ5NDk1YmVjODc0ZDguLjI3MWI2ODliY2U1NTY0MzI4YmM5MWRjOGFjNTQ0NTkw
N2Q0Nzc1MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5iZWdpblBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLmh0bWwKaW5kZXggNDJmMmYwNDZiMGUwOGNj
ODEwNzdjMTNhODdmM2VmYzBkMTVjNGRmNC4uNTZmMDk4Mzg0YzViNTVmNDk3ZmNiMDExZGJiNzY4
MDIyZTdhZDg2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1
cnZlVG8uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmJlemllckN1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSwg
MTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5iYXNpYy53b3JrZXIuanMKaW5kZXggNTdlMTA4NDRmZWE0NTE0Mzk5NmM5YmIyOGFhOWE1YTI1
OWUyMDAzZC4uNTZiMGQ3NzE5MTU5NjgwZWE5YjM4NjVjNDMyNWQzNjMzMTQ1NTNhYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5iZXppZXJDdXJ2ZVRvKDEwMCwgMjUsIDEwMCwgMjUs
IDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZl
VG8uZW5zdXJlc3VicGF0aC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCAyOWNlYjBkNTE4OTFkOWVjMGM3NzI5
MmIyOTc4NmUyZDc5Yjc2NDYwLi4wNDY0YmJkNDlmMTFhNzBhN2FkMjgwZDQ0NDNiNzcyNmIxNmU5
YjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBp
cyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3Vi
cGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRy
YXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmJlemllckN1cnZlVG8o
MTAwLCA1MCwgMjAwLCA1MCwgMjAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAi
OTUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMS53b3JrZXIuanMKaW5kZXggNWM5NDIyNjcwNDY4NzkyZTUwMzQ3YTg3YzQ5YmRhOGJh
NTI5YmRlYi4uZTFiY2Y4MWNlNGRmYWZmZmNmMTdlZTY5Y2E0NTg5NDM1YjU4ZWY2NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0
aC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0
aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5k
IG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
YmV6aWVyQ3VydmVUbygxMDAsIDUwLCAyMDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwg
MCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1
cmVzdWJwYXRoLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMi5odG1sCmluZGV4IDkzNzc3M2IxNzYzMzRiOGRkOWFhZTRjMzI2MDg4
MWFjMDQ2ZjIzZWIuLmRiZThjZDJhYzYxNTBkY2QzNjc3NGJlYmFkY2JjNjcyNWJjYzBlYzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5iZXppZXJDdXJ2ZVRvKDAsIDI1LCAxMDAsIDI1
LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMK
aW5kZXggZDQ0MTE0NTA2NzA2NTU5MjM2M2RhMjVkNzY3ZTcxMmQ5NmU3YmM3MC4uMjY4OGQ2YjUy
ZWQ2MTNkYmIyNjE4NjFmNzMzOTRjN2FhMjYzZDk1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmJlemllckN1cnZlVG8oMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUs
NDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5u
b25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5v
bmZpbml0ZS5odG1sCmluZGV4IDU4ZGU3MDA3MjZlOTdhNTEwNTVkN2RlYjk2MTlhMzFhM2I5YmJi
YTMuLjMxMTM5MGVkNWIzODA1MzkxNzI4ZWY2MGUxOTlmYmM1Y2Y5MGNkYTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJl
emllckN1cnZlVG8ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25maW5p
dGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmJlemllckN1cnZlVG8oKSB3aXRoIEluZmluaXR5L05h
TiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC05OSw3ICsxMDMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1
cnZlVG8ubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA2YjE5OWRkZTE4MGMwYzhhMGIwMzU2MDNh
OGNjMGUxMWZmNTdiMzNhLi5jNjM2ZjY4NGNkZmIyMGU1M2Y5OWY5Zjg2N2NlYTAzNWM3OTllOWFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25m
aW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImJlemllckN1
cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTUsNyArOTks
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5
MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCmluZGV4IDJlOTYy
MzU4NGE3NDA0YmFiZDlhN2VmNzQ5YzY2ZTgwNTFkZDBlMGUuLjk3NjE0YjJkNDMyOTI5MzEyMjQx
NWRlZjQ4ZDYyYzZhZDlmMzNiNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYmV6aWVyQ3VydmVUby5zY2FsZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpz
CmluZGV4IDdjMDVkZTEyZTZlMWI4ZjE5Zjk1NjA0ZmRkNTYxNTZlYzI5OTlmMTguLmExOGRhODQx
OWQxOThkZjMwZGJjZTZjMDhmYzIxZjQ5NDY0MjU2ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJl
emllckN1cnZlVG8uc2hhcGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJD
dXJ2ZVRvLnNoYXBlLmh0bWwKaW5kZXggYzYwMWI2YmE1NjdmYmJlNzE5YTU0MWVmN2Q0Y2VkNzE3
MmJmMDhhMC4uMWY5MzY3ODkxMTczN2Y1NzdjY2U2ZWNkMzg3MWM4NjMwOWFkOGI1YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemll
ckN1cnZlVG8uc2hhcGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5zaGFwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5zaGFwZS53b3JrZXIuanMKaW5kZXggZWJkZWRhMTRhMjc5ZDY4MjdhZjcwMzUzODBl
YWRkMTg5MzkxNGQ1MS4uM2FjMjMyNzMxODViNGYxYTQyNWU0MTBmMDAxYTcyYWMzNjdhNjk5ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNo
YXBlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyAr
MjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sCmluZGV4IDRkNjFlM2Q4ZTg0ODhlNDNmMzE5Y2I0Yzlm
ZTUzZDU1NmQ4Y2ZjZjIuLjdjZTQ1MjAyZjg1YzFmM2MzN2YwNmI2NWY2OWJmNzRlZjIzZDE1OTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC5iYXNpYy4x
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguY2xpcC5iYXNpYy4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFz
aWMuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndv
cmtlci5qcwppbmRleCAzOTFkNzQ1ZjY1ZTdlNGM1ZTZkNWQ5ODEzZDQ2NzQ4ZTUzMjI1NGZlLi41
NTdkZTFhYTZlNjUzZDJiNTJmZGNhNzdiY2M3YWViMGMyNGUwZDVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLmJhc2ljLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LmJhc2ljLjIuaHRtbAppbmRleCA0NTkxZjc3NDU3ZTZjMzUxNTZhOTM1NmI5NjdmZjNkMWQ5ZGFj
ZTdmLi4zOTAzYTMwOGNlNzE4N2FkNjZjNmQxZjliZjhhZWI4Mjk2NGI2N2FmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAuYmFzaWMuMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmNsaXAuYmFzaWMuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKaW5k
ZXggOTY1YTMyODQ1MGZlMDlmOWRjYmI3MjZiYzEzOThkNWQyMGJjMDlkYi4uNjAwM2ZjNGE5OTRj
NDMzZGZjODkzN2YyOWE2MDZhOTFkZDdjMDQxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkuaHRtbApp
bmRleCAzOTU1NWE5N2E3Nzc5ZWYzYWU5MGYyMTY4NzM3NDU4Nzk3MTVlNzJjLi43OGVlNTIyOWRi
MDM4Mjg4MGY2NTVmNmExMWE1YTAxZTBkYThiMDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguY2xpcC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuZW1wdHk8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmNsaXAoKTsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMKaW5kZXggZDIyYjI3ZWMyMmNjMDU3N2Y4Zjc4MzUx
NzM3MDc5YjM3NDUzMDMxYS4uMzE0OGM3NWI1ZGFkOGU4MTMwZGJhMGJhYWNmMmFkNzRiN2VmZmIy
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVtcHR5Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguY2xp
cCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0bWwKaW5kZXggZDdiYzNiZDI0NTlkYjI2Y2Rh
NjQ4ZGUyM2MwMTgyNTkxZjgxMzVhMS4uNjZlNzQwNDM5YjZkZWFkZjIzMTRlMzViZDkxMTkzYmM4
NWRhZDA1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJz
ZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
Y2xpcC5pbnRlcnNlY3Q8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5jbGlwLmludGVyc2VjdDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLmludGVyc2VjdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xpcC5pbnRlcnNlY3Qud29ya2VyLmpzCmluZGV4IDZkZDAyMWNkZmE3MThmYmFmOGQxZDY5
MTRiYzkxZjJhY2U2NzU4NTYuLmQ4Y2IwNTVjODllNTAzYTIzNmMwZmVjNDZmZjYxNDkyOWE1YmIz
MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbAppbmRleCBiZjVkNTQx
ODM1YjU1MzdhMDc0YjliYjJkMjAyMDA4Y2IwOTRmNzYyLi40ZDEwYzJjMDAyZmEyYjFiNjM4YTlk
Yzg5ZTcwZWU0MjUyOGZkYTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xpcC51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAu
dW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmNsaXAudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAudW5hZmZlY3Rl
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xp
cCgpOwogY3R4LmxpbmVUbygwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xpcC51bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IGNlNmJiZDAwZTA3NmQzY2FjOWEwNDcwMTYxYWVk
ODI3ZGY2ZWI4YzcuLjM3Mzc1YmNhZjM0NmM1YmUxNWExYzA4NDU3MTVhNWI5NzFjNGZkOGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0
eC5jbGlwKCk7CiBjdHgubGluZVRvKDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5jbGlwLndpbmRpbmcuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAu
d2luZGluZy4xLmh0bWwKaW5kZXggYmFlOGU5NGNkMzdjNzMwMDlkMTVhMTk1NTNiMjFkMjgzZmY2
MzY0MC4uNDUxNGRhZTcxZTJmYjFiNzg1MTEwYTA0MGNmMjM2NjQzZDAzZDM4YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC53aW5kaW5nLjE8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5jbGlwLndpbmRpbmcuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzIsNyArMzYsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRp
bmcuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEu
d29ya2VyLmpzCmluZGV4IDU4NjUxNDdjMDlkZGEyNjhhZmNiZWMyODdiNGRhYTVjYWVjYjYxODIu
LjE4NTEyZTBkY2FkODA2NzI1YWYwYWQ4NTEzZjhlY2E0NzRkMDg5YTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xpcCgpOwogY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAud2luZGluZy4yLmh0bWwKaW5kZXggZWMyNTY4OTcwY2ZmNzU1NWNjMjE1ZTBjNjE5
ZmNjYmZhZTFhZmYzYi4uMjFjZDYzYzk0YTlhNWQ3OGIyOGVkNDkwNDJlM2QwYzY1MWUzYjZjNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC53aW5k
aW5nLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5jbGlwLndpbmRpbmcuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzUsNyArMzksNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bGlwLndpbmRpbmcuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53
aW5kaW5nLjIud29ya2VyLmpzCmluZGV4IDY0OWM0MzQ2YWQwN2ZkZmE0MWNkNjE5NjMxNWVlYjJh
ODU5OTg0ZmQuLjk0N2Q4ZmY0NDY2MGQ4OTA3ZDE1ODIwNTdlYTI3ZWI3MTE2Njg5NzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHguY2xp
cCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbAppbmRleCA4Y2M1MTY4ZDM1ODI1YTI1
MTNjYTNjMWY3OGJiZTQwYTA0ZTE0NGE0Li4yYWEwZmYzYTA0NGU4ZTI4MTBjNmY2YTIxMDVkZDcw
NGEyZTJlMzUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRo
LmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0
eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmNsb3NlUGF0aC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguY2xvc2VQYXRoKCk7
CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbG9zZVBhdGguZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
b3NlUGF0aC5lbXB0eS53b3JrZXIuanMKaW5kZXggYmUwOWZmZjVlYmRkMWUyNThhODg3NjVkZTgy
NDc5MGU2ZGUzZmE2Mi4uMWQwMjZmOWJiNjNjNjQzMGE4ZmNhNjFmMGI5YjI5OWZiNDg4ZDc2NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
Y3R4LmNsb3NlUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS5odG1sCmluZGV4IDNmNGYxODM5ZjdlM2Q0MWE3
OTkzNGE0ZTJkOGM3MzcyMDllZGQzZmYuLjU2MWE4M2JiNmQxMjIwZmQxZjQ1NDNkYmNiZmE3MGZi
YmE0M2I1ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgu
bmV3bGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3
bGluZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmxpbmVU
bygyMDAsIDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xvc2VQYXRoLm5ld2xpbmUud29ya2VyLmpzCmluZGV4IDA0ZjMzOTJlNjg4OWYzNDlm
YTFkOGIxYWFjMzcwMjRmYjg5YmRlOTguLmI2NWFjOGQzZmRiZGMwNGUzMmYyYjQ5NTdjZmZhMTQ4
ZDBkMWE1ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgu
bmV3bGluZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0
aC5uZXdsaW5lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBjdHgubGluZVRvKDIwMCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lmh0bWwKaW5kZXgg
YjMwZmJkNjk4NjI2MDU0MGM0ZGRhNzJkZmE4NDNhMTEwMWVhNDJkZS4uNTc2MzJmMWVlMDNjYTZh
NDgwODhiZjIxOTg4YmI3ZGYyZGNmNTZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5jbG9zZVBhdGgubmV4dHBvaW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5saW5lVG8oMTAwMCwgMjUpOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQud29y
a2VyLmpzCmluZGV4IGY1OTBlNzZmZmQ1YmVkOWM3NjBlOTkxMzc2NDlhMmNiZjNmNGJmMDAuLmEy
ZGE0OWJkODA1YjA5MjM4NGMyOTg4MDM5MDg4YmMzYjg5YWU2ODEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmNsb3Nl
UGF0aCgpOwogY3R4LmxpbmVUbygxMDAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5maWxsLmNsb3NlZC5iYXNpYy5odG1sCmluZGV4IGUxM2VhNmY3NjBlMTIyYTcwNzE4MGY5NDlj
MmViZGQ0YzA4OTg2MGUuLjE1OGQ1Mjg4MGU3M2Q1MGNiMTExNjY0NDgxNjUyMmY0OGM2Mzc4NWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZp
bGwuY2xvc2VkLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUw
KTsKIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5m
aWxsLmNsb3NlZC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmls
bC5jbG9zZWQuYmFzaWMud29ya2VyLmpzCmluZGV4IDNkM2MzYzcyMzI2YTg0NDBmYmVjZDQ3YzFk
NTg4YjQzZmNhYmI2NmQuLjdhMWNjMzdkZmRlNTIxOWIyZmJlY2I5NjBlMDEwMmRiZDdjNjE4ZGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2lj
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLmh0bWwKaW5kZXggN2Zk
YmU0N2E5NDYyZDFjNTgxMWM1NDBiODNmODQxN2EyMzU4NGQzZS4uMzIyYzkxNzM3ODRkYWMwNDVk
ODkwNmYzM2NmZDc1NmFjYThhZTQ0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAi
OTAsMTAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEw
LDQwLCAwLDI1NSwwLDI1NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51
bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3Nl
ZC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCA0NzNkYWQ2NGFmM2EzNTMzYjZlOTYwMzI4NGM2
YTUzNDE0MWUyOTc0Li43NWNhODdlNmNjNjFmNzcxNGQzMGFiOTQ2NjljNjJiZDUyY2ExMzE0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3Rl
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVu
YWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAiOTAsMTAiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEwLDQwLCAwLDI1NSww
LDI1NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbAppbmRleCBiOGM2ZjJhZDRhNjcz
MzBkZDg1YjM2ZjExMzExNzdmYmEzMzNhZTU1Li42NjJiYmJmMTNmNThhYjQxYzMwNjEyMWMyOWNl
NDY5MjA1YTUwNTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5v
dmVybGFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmZpbGwub3ZlcmxhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwub3ZlcmxhcDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHgucmVj
dCgxMCwgMTAsIDgwLCAzMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAx
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwub3ZlcmxhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmls
bC5vdmVybGFwLndvcmtlci5qcwppbmRleCA1ZTUzMDFiODIwM2VmM2M5ZjIwNTAzZWM1MjFhMWJi
NDIxYTNjNzVhLi5mYzE2Njg3YjlkN2ZjZTMwM2Y1ZGE1NDE1YjM5YTY2ZTZhMzI2MDQ3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xvc2VQ
YXRoKCk7CiBjdHgucmVjdCgxMCwgMTAsIDgwLCAzMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAi
MCwxMjcsMCwyNTUiLCAxKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRkLmh0bWwKaW5kZXggZDAxYzVkZjhmNDg4YzU0MjEx
ZjExYzdlY2Y0ZWU2ZDE1MzBiYzk5NS4uZTI3MjRhMWZkYTQ2NDEzMmIyMjg3ZTc2MTNlMTA0NTRj
NjMyMzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGlu
Zy5hZGQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFk
ZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmZpbGwud2luZGluZy5hZGQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5maWxsLndpbmRpbmcuYWRkPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5lVG8oMTAw
LCA1MCk7CiBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMKaW5kZXggMzdkZjNkNWE5YTgyZmJlZTdmZjZjZmVl
MTUwNmFjNjBmOThiNjk0OC4uZWU5NzE1N2VhMjY2N2I5ODdhNDJmMDUzMWE0Y2FjNmY2MTNkMmZk
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRk
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAs
NiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbAppbmRleCAz
MmFmYmY2MDMyN2Y4N2I3NWIzODQwMDMyYmVkODdlYzg1MmNmYTEzLi40ZGM0NDIyMmJkMzAxMGYy
YWMxNGNiNDgzYjBmM2JlYzIxODhmMjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3Qu
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgu
bGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2lu
ZGluZy5zdWJ0cmFjdC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxs
LndpbmRpbmcuc3VidHJhY3QuMS53b3JrZXIuanMKaW5kZXggMzdmNmM3MTE3MWIyNWQ2NzAxYzMx
MDIyNWEwZWRlM2E2ZDQ2ZWZmMy4uNTU4YTM1ODIxZGFkYjU1NzUyY2MyMmFjZTY5NmJmMDM4MTg2
MjRkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5z
dWJ0cmFjdC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53
aW5kaW5nLnN1YnRyYWN0LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEw
MCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0
cmFjdC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRy
YWN0LjIuaHRtbAppbmRleCAzNzQyNjMyZjIxYTY5Njg1NDhjZTRkZDc4YjdhMmJmMjgwMjU2ODAy
Li5mNGMzNzVhYmYxMDI1OWM5ZWE0ZjlkZjIxODdlMGNiYmI0MTE1NmFjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxs
LndpbmRpbmcuc3VidHJhY3QuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5saW5l
VG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi53b3JrZXIuanMKaW5kZXggODY0
Y2ZkNWYzZTg3YjZjYTBiNjZkYTNjYzMyYjA3ZjNjZjc0YjBkZC4uOTRiMGEzOGQyYjBhYzJkZWZl
MGQ1OTA2YzViZGU4NzdjMWM1YzBlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1
MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMuaHRtbAppbmRleCA2OTM4MDZhMDRkN2ZkODdhMTc5MjBm
OGZjZTNiZmY3ZTE0NWYxODNkLi5jNmJkZjk5YmQ0NmUyOGMyZmUxNzEyMWY2YzA5YTIxZTM3OWVh
YTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1
YnRyYWN0LjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5n
LnN1YnRyYWN0LjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwu
d2luZGluZy5zdWJ0cmFjdC4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3
ICszOSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy53
b3JrZXIuanMKaW5kZXggMjc2YjBjYmM3YzM5M2QxNjAwODE3MjhkYzUzNTljMTBiM2M2MGVkNC4u
OTEyNzQ0NmQ1YjNlNmIwMDgzMGNiNGFjMGUwMTMwZTdkMTM2NTA0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBA
IGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pbml0aWFsLmh0bWwKaW5kZXggZDQ2NzQ0ZDAwZWM4ZTA3NDU5NTdlN2E4YjhkOWQyNzUxNGVl
ZWEzOS4uYjk3MTZjZTU2ZmYxZWMxMTIwODNkNzhjMzIwN2RkYmJjYTRlODNmMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pbml0aWFsPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBh
dGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRp
YWwud29ya2VyLmpzCmluZGV4IDU4NTY3MTQ4NzZlYTA4YTdiNDlmNDVkYmQ5NzI2YWRhMjkyODEx
NGIuLjQzOGI3NzFkZTQ4NmNkMmQzNWMyMzYwMDkzZmRiMDQwMjMwZTk4OTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5hcmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFy
Yy5odG1sCmluZGV4IDQ1NThhZjE2OGIwYWQwNzIzMjNiN2NiZDc0M2VjNTE2Yjk2NjUzMjIuLjcx
YWYzNjllZWQ3NmY3ZmMxYmRkNjBlYzZhYzY1MmEwNjM2NGFkMDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5hcmM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9p
bnRJblBhdGgoKSB3b3JrcyBvbiBhcmNzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIGFyY3MiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAy
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcw
LCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3
MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5hcmMud29ya2VyLmpzCmluZGV4IDlhNmU3
NmUwNWJiNGM2MjQyM2I1MWI0OTc5MGQ2NDBmMjJkNTdmY2EuLjMxZWI1NDU1ZTEzNzBkZGI2ZDll
MDQ5MjhhNGIwZTliMDc5ODg0ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGguYXJjLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
aXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIGFyY3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoMzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwg
MjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDMwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAs
IDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLmJhc2ljLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJhc2ljLjEuaHRtbAppbmRleCA3NzRlZjc2NjRmNzY4YTU0ZTA1NTJhNWYwMDhmMDhj
M2VmZGZhODZjLi4yNzU4Y2FkZmQwMDI1MGRlNWJiZWY5NTE2NjllMjZlYTgxNjZiYzU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmlzUG9pbnRJblBhdGguYmFzaWMuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMu
MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0
aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhl
ciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgwLCAw
LCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwg
ImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKaW5kZXggOGUyZmJl
ZTQ5NjBlNmY2Y2E0Mzg2ODJlMjc2ZGVlNjhjNDc5YzY4NC4uZjNiZjhkYWFkMmRkY2I1NjRhODhl
NTRmZWM4ZGEwNjFjZmU2NjM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lk
ZSB0aGUgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LnJlY3QoMCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgx
MCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iYXNpYy4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5iYXNpYy4yLmh0bWwKaW5kZXggOTIxNmM3M2ZkNGQ2NjE2MjliMjQyNjE5MjZlYjJiMTY5Zjlk
N2UyYS4uMzNkMjMxY2IzZTY2YTAxY2ZiMmI1NGVkODc3NmU4MjFiZWY0NzIwMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1Bv
aW50SW5QYXRoLmJhc2ljLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBv
aW50IGlzIGluc2lkZSB0aGUgcGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhl
IHBvaW50IGlzIGluc2lkZSB0aGUgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LnJlY3QoMjAsIDAsIDIw
LCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCBmYWxzZSwgImN0
eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDMwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgInRy
dWUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcwppbmRleCBiMmJmOTQxMGJh
NzBhZDkwNjIzOTIxMWY1YjJlM2RhZTY2ODU4MjhiLi5iYzFhYzAxZDJlN2E0MjU3MzBiMTNkOWEy
NjQzODExYjdlY2M1NTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRo
ZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgyMCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAs
IDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5iZXppZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJl
emllci5odG1sCmluZGV4IDUxOTAxODQ2NjIyYzk4YjE0YWUxZWMwNDcyMjI2ZWE5OTliZDkzZTku
LmVlM2EyMWRmYjE0Yzc3ZThiZDRhYmVkOGQ2ODA2MjhkYTNhNjEwYTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBh
dGguYmV6aWVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5iZXppZXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIgY3VydmVzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludElu
UGF0aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoNzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwg
MzApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJ0cnVlIik7CiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCg3NSwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDc1LCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDc1LCAz
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5iZXppZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGguYmV6aWVyLndvcmtlci5qcwppbmRleCA1ZDJmOWUwMDg5ZjJkNTAwOWIwYzBjNGNl
Yjg2MGFhZDM1OTk4NzQ3Li4yMDNiMWM4NDA2MjhkZTg0MjM5N2I2YjQwZmViNDk5NmI1ZWM1ODQw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iZXpp
ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmJlemllci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgo
KSB3b3JrcyBvbiBCZXppZXIgY3VydmVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDcwLCAyMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNzUsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwg
MjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3NSwgMzApLCBm
YWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1LCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGguYmlnYXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
aWdhcmMuaHRtbAppbmRleCA4NzAzZWVmZmU1MDMwODAwOTZhYjA0NGNmY2M1MzE2YWFkZjIyMjU5
Li4yZDRhMmQ0YzA5ODc5NDkwNWIxNjU2MDRkNjBiZTgyOTQ1MmEwYjBkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJpZ2FyYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJnZXIg
dGhhbiAycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJnZXIgdGhh
biAycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzCiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50
SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIpOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2lu
dEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMud29ya2Vy
LmpzCmluZGV4IDk3NGZmNzU5MjM0NmI5NWE3MzhiNDRmYWQ5NjQzZjI1MTU0MjY0ZTMuLjYzMmI3
ZWEyNTExZjM3NDE1OTNlNmM1OWIwYmFjZDJhMjAxYTFiOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHVuY2xvc2VkIGFy
Y3MgbGFyZ2VyIHRoYW4gMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgzMCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAy
MCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCg3MCwgMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCgzMCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCki
LCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCksIGZhbHNl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5l
ZGdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLmh0
bWwKaW5kZXggNmQ2ZDg3ZDAwMWYxNDZjNmZjNGVhZTZlYzdmYjkxMWMxNjdmOWMwYS4uNjY2MDAz
MDdhNDQxMTdmOTQ1NDgzOTg0NzIyOWQyOTE1ZTg5ZWYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2U8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9p
bnRJblBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRoIGFzIGJlaW5nIGluc2lkZTwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRoIGFzIGJlaW5nIGluc2lkZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC0w
LjAxKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEpIiwKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDEwLCAyMC4wMSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MTAsIDIwLjAxKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoLTAu
MDEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApIiwgImZhbHNlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgyMC4wMSwgMTApLCBmYWxzZSwgImN0eC5p
c1BvaW50SW5QYXRoKDIwLjAxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndv
cmtlci5qcwppbmRleCA4YmY5YjE5YjJhMTdiMjczNDBjMjAyODI3NmZkYTYyMDc1Zjg2OWY3Li5k
N2QxZTNmOTA5OWY1NmUyMWM5Nzc5MzgxMTNjZWM3MzZhNzM1MTYwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhl
IHBhdGggYXMgYmVpbmcgaW5zaWRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDEwLCAtMC4wMSkiLAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpIiwgImZhbHNlIik7CiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKC0wLjAxLCAxMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDIwLjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZW1wdHkuaHRtbAppbmRleCA5MjE5ZDUwZGQwZDhiOWYwMWQ5ZjhkZTc5
NjZlZWNmNWY5MzJhYmYxLi41MDYxZjdmNDcxMWRkOTViZDZhMDFhZTgwMWY1NjA3NzY3MzZhYzE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0
eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguaXNQb2ludEluUGF0aC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyB3aGVuIHRoZXJlIGlz
IG5vIHBhdGg8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8gcGF0aCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MCwgMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzCmluZGV4IDgy
MjgzODQwMGI0NjExZWI5NmRmNDc1ZTI4NDBiMGY2ZWUzNjY2ODkuLjc5NTIzODM1N2M0NjA0ZmNm
MGJmNGE3ZTQzYzhjMzRmMzlmMzlkZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCAwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgw
LCAwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCmluZGV4IDZlNmJk
MmVmMzZmYjgwOWVlNTdiZmYwNjczODFhYjYzZjYyZmExMTYuLmRlYzQ3YjIwNWFhMzgxZGNlNzNm
YzI1YTM0YzUyNjZmMjMzNzkyMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmlzUG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50czwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlz
UG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50cyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5m
aW5pdHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXQKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMCwgLUluZmluaXR5KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMCwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pIiwgImZhbHNlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTiksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoTmFOLCBOYU4pIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25m
aW5pdGUud29ya2VyLmpzCmluZGV4IDkxYzJkMzZjNWExYzczYjM3NmNiOWY3MTM1NDZkNTIxNGFh
OWM3MDMuLjg2ZjI5MmM0Njk2YTcxMDE1MjllZmU2ZGZiYTkzNjBhNzY1OWY0NGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmlu
aXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHJl
dHVybnMgZmFsc2UgZm9yIG5vbi1maW5pdGUgYXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCBJbmZpbml0eSksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoMCwgSW5maW5pdAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMCwgLUluZmluaXR5KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCAtSW5maW5pdHkp
IiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pLCBmYWxz
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTikiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKE5hTiwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aChOYU4s
IE5hTikiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZS5odG1sCmluZGV4IGMzMTc1OTg5
YjZkOWYwMDhiNTEyZjM4MDhkOTAyYmI2YTg4NGZmYzQuLjJjM2U0MDNhMjQ3NzBiZjBkZTU3M2Y1
YTMwN2RmOTI0OWY4ZWYyM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguaXNQb2ludEluUGF0aC5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5Q
YXRoKCkgd29ya3Mgb24gcGF0aHMgb3V0c2lkZSB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdv
cmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoMTAsIC03MCkiLCAiZmEKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMw
LCAtMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjApIiwgImZhbHNlIik7CiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMCksIHRydWUsICJjdHguaXNQb2ludElu
UGF0aCgzMCwgMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHNlIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGgub3V0c2lkZS53b3JrZXIuanMKaW5kZXggMTFiODFkMjE1Y2FlYmY4NWI0MDFj
ODhkMDdhMDM1ZGY5ODM3NTc2ZS4uNmZkZDcyZmM3OGY3NTFlOWZhZGIzNDNkNmU3ZDBiOTEyYmY2
MjA2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
b3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJ
blBhdGgoKSB3b3JrcyBvbiBwYXRocyBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApIiwgImZhCiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCgzMCwgLTIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgLTIwKSIsICJm
YWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDApLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoMzAsIDApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwKaW5kZXggZGRmN2IyNzkzZjQ1NjcwZjRkMDBl
ZDRjMjE2NzQxZTc2MjM4ZjdkZi4uMzBiMDQ1OTBmNTQ1OTAwZjliYTJjZjFjOTUzMjQ2Mjg4YWIx
MDRhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
c3VicGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LnN1YnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5Q
YXRoLnN1YnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB1c2VzIHRo
ZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHVzZXMg
dGhlIGN1cnJlbnQgcGF0aCwgbm90IGp1c3QgdGhlIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5yZWN0KDQwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoMTAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMTApIiwgImZhbHNl
Iik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTApLCB0cnVlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludElu
UGF0aCg1MCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSIsICJ0cnVlIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLnN1YnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKaW5kZXggYTQ1M2M4MDVkYjgxOTIz
MzM1NDI2YWI2OWY4NTI4ODg0YjlmZjZmMy4uY2YzNDE2OWQ2MDNjOWJhZGUxM2RjYTAxZTE0OGI3
ODkxMTI5MjFlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGguc3VicGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlz
UG9pbnRJblBhdGgoKSB1c2VzIHRoZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRo
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCg0MCwgMCwgMjAsIDIwKTsKIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMTAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRo
KDUwLCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEuaHRtbAppbmRl
eCBhMWU4NzY2MGRiNzFlZGRhYmE1YWYwMzMxNGMxNjM0NWJjMTYxMGIyLi5hMmNlMGZiZmM3YWJj
OTc1ZTkxNWVmMjMzMGNkZDRiNTJhNzZiYmU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50
cmFuc2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBj
b3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0
OSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFscwogX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRo
KDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjksIDEw
KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3
MSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtl
ci5qcwppbmRleCBiZWJjNmQ2Mzk1NTNkNTRhYjdlNmE2NTA0MjIwNzBjYTM5MTMzMWU5Li5hMDg2
YThlMjIyM2VhODAxOGQ5ZGM1OTQyYjY3ZTFjZmM2MGRhMGQyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0
cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCg0OSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KDQ5LCAxMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAx
MCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCg3MSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC50cmFuc2Zvcm0uMi5odG1sCmluZGV4IDE5OTUyOTVmYWIyYjI5M2E5ZDJhMGEzMGQ1ZDFjM2Jk
MjM0MWNkYzAuLjIwY2YyNmU0NGRhNTRkNGQwMjVhYWQ1NzIyNjE4MWYzNTZkOTkyNzYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNm
b3JtLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludElu
UGF0aC50cmFuc2Zvcm0uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhh
bmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRy
YW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
NDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0
cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEw
KSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxz
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
dHJhbnNmb3JtLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGEwOTJjYjlhNjczZmJhMzg1NzU5MmI2
ZWM1NWI2MmRlZjBjYjI5M2EuLjc1OTYxNTk2MmFhZGVjOTY0ODk2YmY1ZjQyZWY0YWNmOWM4MTEz
ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC50cmFuc2Zvcm0uMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlz
UG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIs
ICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAi
ZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLmh0bWwKaW5kZXggYjQzZTEwNDJk
ZDhjZjJiMTU4ZGM0YzAxNDhkMDRhZDRmZmQ0Yzg3Yi4uMmMxMGE3YjI3NzViZmNhOTJhMGQ0Zjgx
NzcyYWI0MjFiZDhkZDdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5pc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQ
b2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwg
InRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJj
dHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJm
YWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMKaW5kZXgg
Y2QyNDRhNjhiMmQ0Mjg5OWYyZWU1NjAxZmUyOTU1YmIwY2QzMTkxMy4uNjk0YjA3MzgzNDc0ZDQ5
NDAwN2M4YTFlN2EzZWVmMjI5N2ExOWVmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRp
b25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwg
ImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHgu
aXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUi
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjQuaHRtbAppbmRleCBlNzk1NjI0MDBiNTJjMWYwNzU3ZjMzMWE4MTM3MmM5NzI3MjM3YjIyLi42
MmY4ZWRmOTU3MTFmNDFkYzVkOWUxZjFlOWIyMDA4NTQwZDk0NTFlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQ
b2ludEluUGF0aC50cmFuc2Zvcm0uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNm
b3JtLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5z
Zm9ybWF0aW9ucyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlv
bnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUw
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoNjAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoMTEwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgxMTAsIDEwKSIsICJ0cnVl
Iik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSwgZmFsc2UsICJjdHgu
aXNQb2ludEluUGF0aCgxMTAsIDYwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zv
cm0uNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50
cmFuc2Zvcm0uNC53b3JrZXIuanMKaW5kZXggNmVjMjAxMzYxNjExZTFmN2MzZjgyYTI5NjYyZmEx
NjQyMjk1NmMzZi4uYTQxYjRhZWU1YjQzMDc4ZjFlNjBlOWExZjE4NjI4NmU2MTJjNzcyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LnRyYW5zZm9ybS40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludElu
UGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgY3R4LnRyYW5zbGF0ZSgwLCA1MCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludElu
UGF0aCg2MCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCkiLCAiZmFsc2Ui
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDExMCwgMTApLCB0cnVlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoMTEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoMTEwLCA2MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTEwLCA2MCkiLCAiZmFs
c2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLmh0bWwKaW5kZXggZjA1YTM5ZDdhZDY2YWMyN2Nh
MDE1MTZkZGJhOWViMmE4OTA1ZDMxMC4uMzJlNTc0Mjg1NWEyNzE3MDgyMzQyOWFlYjUxOWM2NTcx
NTEyNDIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgudW5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC51bmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1Bv
aW50SW5QYXRoLnVuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkg
d29ya3Mgb24gdW5jbG9zZWQgc3VicGF0aHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9z
ZWQgc3VicGF0aHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMjAsIDIwKTsK
IGN0eC5saW5lVG8oMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEw
KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgz
MCwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcwpp
bmRleCAzMTZlNzkxYjJmNDQ0YWIxZTM5N2E2YTE5YmNlMzYwNGViNThiMGYyLi5iOGNlODMzNGU0
ODk5NDA2YzI4Y2U4NzcxYTM5MjM2NWVkMTE1ZDIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgc3Vi
cGF0aHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5saW5lVG8oMjAsIDIwKTsKIGN0eC5s
aW5lVG8oMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTAp
IiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcuaHRtbAppbmRleCA4YjBlMDdmMTAxZThj
NmJiMGU2ZGE4ZmU3ZWVlMzdkZmRiMzVhMmFmLi4xNmIxOGQ3N2U2MTVlOTgzNzNiMWM4N2Y4MzNi
ZTJiNGYxZGRjODEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC53aW5kaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgud2luZGluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlz
UG9pbnRJblBhdGgud2luZGluZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgp
IHVzZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVtYmVyIHJ1bGU8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgdXNl
cyB0aGUgbm9uLXplcm8gd2luZGluZyBudW1iZXIgcnVsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDcgKzQwLDYg
QEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSwgdHJ1ZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDQ1LCAyNSkiLCAidHJ1ZSIKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDUsIDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUsIDQ1KSIsICJ0cnVlIik7CiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgyNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMjUsIDQ1KSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwg
NDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDUsIDQ1KSIsICJ0cnVlIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLndpbmRpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgud2luZGluZy53b3JrZXIuanMKaW5kZXggZmRlMGExN2VkZDZkNjk3MjMyZDQwMDVi
MGZjZWE1ZmYyZWIyZTVmNi4uYjFlOGZkZDQ5ZWRmYjdkN2ZlMzgwM2Y5ZDJjNDA1MTUwY2U2OGIw
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2lu
ZGluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgud2luZGluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBh
dGgoKSB1c2VzIHRoZSBub24temVybyB3aW5kaW5nIG51bWJlciBydWxlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIs
NyArMzYsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgMjUpLCB0cnVlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSIsICJ0cnVlIgogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNSwgNDUpIiwgInRydWUi
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0NSksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCgyNSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDQ1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpIiwgInRydWUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmxpbmVUby5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNp
Yy5odG1sCmluZGV4IGZlNGZmZWMzZmU4NGE5MTM5ZWFmMDYxNzhiNThiZWQwNjA0MTU5YzUuLmZm
ODI0MWIxNTYxMWFkOTAwZTIyMGNhNmViODlkY2NhNGQzYWYzZmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGlu
ZVRvLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy53b3JrZXIuanMKaW5kZXggYzA3MDk3NWIyMWQyMGZi
OGZiMDViYzJlNTk1NjM4MDAxYjU2YmRmNS4uZWEyZmY4MzcxZmNlMmJiM2UxZjE0MTNjMDY1YWZm
MTMwNjlhM2FmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5i
YXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNp
Yy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKaW5kZXgg
OTIxNjgxOWE1NGMzZWZlODcwMGRmNzgwMzQwOTc3NzM1ZjdlM2JjMS4uOWE4ZmViMWFkNzI4YjAx
OWUwNzkwM2Y1ZDFiNTJiOTYzZDY1NGFkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhpbmcg
aXMgZHJhd248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5v
dGhpbmcgaXMgZHJhd24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bGluZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggNzAxZmZkZDQxZDIzMDlk
OGFjNDY1ZWE4NTA2MGQ3MGYyMzk4MTA4OC4uZGMzZDUwMDgwNzA2N2YwOTQ5NjdjNmJlNzgwNWE3
OGExMjI1NjU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5l
bnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlz
IGRyYXduIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgubGlu
ZVRvKDEwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5l
bnN1cmVzdWJwYXRoLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5z
dXJlc3VicGF0aC4yLmh0bWwKaW5kZXggZmI5YjA0ZDVhNWQzMzliYTkyYjJkOTZlYWRiZDhlOWJj
ZDIyYWRjMS4uZGJjMjFmMzA2YjRkNDcxOGU4OWYwMzZkZmYxZWI1ZjI2YTYxMmZjYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmxpbmVUby5lbnN1cmVzdWJwYXRoLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0
aC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9p
bnQgaXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1YnNlcXVlbnQgZHJhd2luZzwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5v
IHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vic2VxdWVudCBkcmF3
aW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5saW5l
VG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVu
c3VyZXN1YnBhdGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRv
LmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKaW5kZXggNjk5ZTQ0MDQ4Y2JhMzlmMTcyNWIzZDQ3
ZWI1ZmYxMzhiNDg4OWM2Yy4uYTM0Mzc2NmNhMjk2NTg3NDFlODg5ZjhjMzVhODQ4YjMyOWI2YjZh
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJw
YXRoLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5z
dXJlc3VicGF0aC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUg
aXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50
IGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4
LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5l
VG8ubmV4dHBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRw
b2ludC5odG1sCmluZGV4IDA1NzY4YzBjZDg1N2ZhMzRiMGZmZDRlMDcyZjRkNWUxNGVjYTQ2YjEu
LjhmM2U3NGE4NjVjNzQ4M2Y2OWIxZmM1YzRmYjQ2YTVlNmUyMzVmNjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5lVG8ubmV4dHBvaW50PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGgubGluZVRvLm5leHRwb2ludDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8oMTAwLCAy
NSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3Jr
ZXIuanMKaW5kZXggMjI2MmI4YmMxMDI1NDE1ZjMzZDNmYTE0MmQ0Y2M1NDgzYWNkYWMwMy4uOTY4
ZmQ0N2M5MmIzMGU0YzIwZGY0MjQzMTVhMTVhZjgyMmIwYWNlNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZVRvKDAsIDI1
KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwKaW5kZXggNGVhMjA5Mzc5NTQxNDAwMGI5
ZTRjOTU0OWI2YTVjMmNjZDA5ZjhlZi4uNTA0MjdiNDMwYTBlMzBkNDQ4NzZjYjBlNTgwNGY1ZmM2
YzFiY2M2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25m
aW5pdGUuZGV0YWlscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8u
bm9uZmluaXRlLmRldGFpbHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHM8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVUbygp
IHdpdGggSW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMgdGhlIHNlY29u
ZCBhcmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJsaW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBmb3IgZmlyc3QgYXJnIHN0aWxsIGNvbnZl
cnRzIHRoZSBzZWNvbmQgYXJnIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3IgKHZhciBhcmcx
IG9mIFtJbmZpbml0eSwgLUluZmluaXR5LCBOYU5dKSB7CiAgIGN0eC5saW5lVG8oYXJnMSwgeyB2
YWx1ZU9mOiBmdW5jdGlvbigpIHsgY29udmVydGVkID0gdHJ1ZTsgcmV0dXJuIDA7IH0gfSk7CiAg
IF9hc3NlcnQoY29udmVydGVkLCAiY29udmVydGVkIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRl
dGFpbHMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5p
dGUuZGV0YWlscy53b3JrZXIuanMKaW5kZXggMTNkNjE1MzA2Y2VlOTQ5OTg2MjBlZGJkMTJhODEx
OTM4N2FmOTJiYS4uMzc2NTFiYzJmODY4NzVlOTRhZGNmOGFiMzNhY2Y1ZGEzZjBiM2I1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWls
cy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5p
dGUuZGV0YWlscy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVUbygpIHdp
dGggSW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMgdGhlIHNlY29uZCBh
cmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGZvciAodmFyIGFyZzEgb2YgW0luZmluaXR5LCAt
SW5maW5pdHksIE5hTl0pIHsKICAgY3R4LmxpbmVUbyhhcmcxLCB7IHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgeyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1cm4gMDsgfSB9KTsKICAgX2Fzc2VydChjb252ZXJ0
ZWQsICJjb252ZXJ0ZWQiKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggOGRkNzczZTgyMDcyNjkz
MzUzY2E0ODNlODdkZDNhMjY1NzBhNDJkZC4uNzI4MjMxNjc3NmRjYzJkNTg3YTcyNGI1MWYyZjRi
NTg2MjFjZmU0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5u
b25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZp
bml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmxpbmVUby5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8ubm9uZmluaXRlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVk
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
bGluZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAi
OTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDRm
OTdiOWIyZGEyM2RhMTdmNGJhZWEzOTcyZWYwMTUyZTYwMjViMmQuLjA3OGYxYjNlOTE3MGEyOWQ4
NTQ4ODhkY2U4OGI5MjM5MDUzNDRjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5saW5lVG8ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgubGluZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICsz
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwg
IjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbAppbmRleCAzNmUxNGFjMTE0YjI2NTRlZGJh
YmVmY2FmZDgyMjk1MDYxYzAyMTBiLi5jYzM4ZTkyMjI3MTg2ZDc2ZGY4NmNhM2YxM2EzODMyNGU0
NGEzNDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2lj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVU
by5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5MCwyNSwgMCwyNTUsMCwyNTUsICI5MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJh
c2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29y
a2VyLmpzCmluZGV4IGQ0YjkyOGE2NmM5MWY3YmY4OGU5OTEwM2MzNDE4ODFmYTA1YmNkNmYuLmVm
YTdiZTRiNDNhMTA5Mzc2MDIwZmQxYTkxNGQwYmJiMWExNGMwMTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDkwLDI1LCAwLDI1NSwwLDI1NSwgIjkwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5t
b3ZlVG8ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVs
dGlwbGUuaHRtbAppbmRleCA0MWY0NTE0Mzg2OWUxYWYxN2JkNmJmOTQ0ODZmYmNmNjM1NzY5NGQ0
Li5mNjI0NDA5NWRhZDgwOGM2MTI0OTM5YTEwMGQ3Njg4MmY3NGE0OTEwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5tdWx0aXBsZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLm1vdmVUby5tdWx0aXBsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsNyArMzAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRo
ID0gNTA7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29y
a2VyLmpzCmluZGV4IDdkNjQ4ODQ5NjFhZTY0ODNhNGE2OWNjZTQ1MjRmZTk4ZTQyMWY5YzAuLjgz
ZDhkNjc4MzczZjU4NzQwMmJkOGQ5ZDc3NjA1Njk4YzdiNTM2NzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zdHJva2VTdHlsZSA9
ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
Lm1vdmVUby5uZXdzdWJwYXRoLmh0bWwKaW5kZXggMzkwYTI2MTU0YTU2NzU4YjJiMzFkMzc5NTE4
MDIyN2JiMjliYzhmYS4uOTZkMjdiNjUwODNiNGFlYTNiMDhlN2VhN2FiNTlkZjc5ODhlZGJmZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92
ZVRvLm5ld3N1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRvKDAsIDUwKTsK
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
Lm1vdmVUby5uZXdzdWJwYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5t
b3ZlVG8ubmV3c3VicGF0aC53b3JrZXIuanMKaW5kZXggM2RhYzYwODExMjA1NGRiMGI2YzFiOThh
OGQ0NjQ0MDMzNWE1ZjkzNi4uOTE4OGM2NjA1NzE0NmE3ZjkzODI4N2E1ZDZmMzU4NGIxODRlYTg3
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRo
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBh
dGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIGN0eC5tb3ZlVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUuaHRtbAppbmRleCAxMDAyNTlhNGE0
MDBiM2I3YjQ0Y2EwNjEzNGM2OGVjYjVhY2M4ODQ2Li5kNzU1YTQ2NmI2NDRiYTYyODFkMGNmMWVi
Yjc3NDhhZjYzNzA4NDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92
ZVRvLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8u
bm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5ub25maW5p
dGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPm1vdmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJtb3ZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAs
NyArMzQsNiBAQCBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpzCmlu
ZGV4IDg0ZDg5NzIwNzY3Yjc3NzZhZmYzNmEzODhmN2QzYzFjYjA3ZjhmMzIuLjY0NzUyNGYxNGU1
MzUzOGViZWZiZDc1NmFiM2I2MTQwN2E5Nzg1YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIm1vdmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMuaHRt
bAppbmRleCA5NTdiODkwMTM3ZWE1MGZiMWI4NzIwNTI0YjA4Mjg2N2YxMzdlYTk2Li5mMDAxZjlk
MWUyNWU2OWRiYTExZjJiOTRkNzFkZjM0NWMwZjczYzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBj
dHgucXVhZHJhdGljQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcwppbmRl
eCBkMDc0ZGZhNTdjNmU0N2U5Zjc1N2ZhYTJhYzVhN2EwYTAyMGFkYjY2Li40NzNlYTlkMDBhZjIy
NTUwNjM2MzhjMGUxNTNjZDM1ZmZkZjBkZmUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwg
MjUpOwogY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMS5odG1sCmluZGV4IDhmM2MxMGY5MGMyNWE4MzUzYzc4NDUwMDU5ODBlYTY4MTI0Y2Qz
NmEuLmVkOTQ3ODlmZTZmNDJkM2JkOTI1OGJkNWY0NGM3ZGI5N2Y0YjZjZGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGgu
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVu
c3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFk
ZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24g
dXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygx
MDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0
aC4xLndvcmtlci5qcwppbmRleCA2N2IwYmIyMjI4OTI3NWU3Y2UzYmQ4YTZkNzQxYTUzMzRhNDhj
YWQxLi42ZjY3NWE2ZWEyMmYwNDA4NzhkODdmZmUyOTYyMWUyNTIzNDQ1ODY5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2
ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChh
bmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5xdWFkcmF0aWNDdXJ2ZVRvKDEwMCwgNTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1
NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3Vy
ZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZl
VG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKaW5kZXggMGE2MWVjZDgzYzE1OTQ4NWEzYjIwZDE2YjRk
ZTQ5Y2IzM2MyMTExNi4uNTc5YzMzNTA0N2EyYzI2NjViMTA3NWZmN2VlZmQ1Yjc0ODI0ODY5OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5z
dXJlc3VicGF0aC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wg
cG9pbnQgaXMgYWRkZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBw
b2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnF1YWRyYXRpY0N1cnZl
VG8oMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0
aC4yLndvcmtlci5qcwppbmRleCBhOGI4N2NjY2M4NGMxOGI2OTFjYTdjMmNkZTQxY2YxYjU4NGJj
ZWNiLi5iZWYwNjNjMWRlMTFkMzJlYWZiYTAxNGZmNDBhMzFlZDM4OWVlZTRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRo
LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2
ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygwLCAyNSwgMTAwLCAy
NSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5x
dWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggOTgwNmNhMDhjNmRkNjAyNzNh
ODI1Y2I5ZTU1YTg3OWVmMjg4Zjk1NS4uYzBjNjZmZjIzNmZhZjM4MjdiZjAyOTk2NTY0Y2MxOTlh
Y2ZhZmEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1
cnZlVG8ubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRy
YXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
cXVhZHJhdGljQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0aWND
dXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ3LDcgKzUx
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAi
OTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0
ZS53b3JrZXIuanMKaW5kZXggNDg0MTA1MzI1NTU2MGE0NWEwNjYzZjE4MGMzYTg3YzA2Zjg2NzI4
NC4uMjYzZTg0MjhhM2FjZjdiM2I2NDRjZmJmODA1NWMyMjkwMDFhYjU1OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25m
aW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0aWNDdXJ2ZVRv
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbAppbmRleCA5ZDFl
YzRmZDRiY2FkNzU0ZjE4MTE0YzU4OTNjZGEwZjE1MTZkYzRmLi4zNDEzOWE2ODk3NTAzY2ZjMWYx
MmRmNjkyNzAwNTQ2NDNlMGVjMDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5z
Y2FsZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZl
VG8uc2NhbGVkLndvcmtlci5qcwppbmRleCAyZTQxMDZlZDljNzlmN2JiZmZlMWJhMWE0YTUwZTc4
N2U4NDQ3ZDUwLi43NzBhYjkzOGY3YWViYTU3ZGNjMzE3ODQ1ZDNjMjY0MGEwMDA2YTgwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LnNjYWxlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS5odG1sCmluZGV4IDQw
ZTQ1NGE3ZTQxNDE4N2MyNDIzOWVjMDgzNDAzNmE0Nzc0NWJmMjQuLmY1ZTU1ZTNmMWRmMTI3ZDFi
M2ZiYTVhMTFhNmI0Zjc0OTc5MTBmMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hh
cGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
c2hhcGUud29ya2VyLmpzCmluZGV4IGU4NzEwZjlhZGIwZTBlOWU1MmZhZWM5ZjE4ZTEwYWIwYTE0
NTJkN2IuLjlmZjg0ZTIyZjFjN2VlNjA3NzgzN2Y2YWYzMWQ3YzU1YTMzMTU5MzcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFw
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5iYXNpYy5odG1sCmluZGV4IDA1OTY2OGFiOWRiNGM4NTY0YWM5ZDAyODZiMWNhNzk5
MWIzMzcwMmYuLjAxZWUwMjU1YzMxYjc3NjI2ZjlmZDVkNjMzYzIwODI0OTY1YWRlZjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0LmJhc2ljPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGgucmVjdC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMud29ya2VyLmpzCmluZGV4IGFiY2FjYWQ1
YmZiNmRhNGVmM2Q5YmM5ZjRkZjIyM2YxYzIwYzY5YzIuLmQ2M2I3NTIwY2M2NjM1ZjAxZGU4YzM2
ZGFiYjJhMjYxN2JiOWU4NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5i
YXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTAp
OwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0bWwKaW5kZXggOTQzZDdjOTE5Mzgw
YjUzZDZjOGQ2MjllMTU3YWRjMGVkYmExMWViZC4uZDJhODMyYTkxNDI5ZTk4ZDBiNzc2ZmRlZDU1
ZDVmYTZmMGUzOWZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
Y2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
cmVjdC5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0LmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubGluZUpvaW4gPSAnbWl0ZXInOwogY3R4
LnJlY3QoMTAwLCA1MCwgMTAwLCAxMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmNsb3NlZC53b3JrZXIuanMKaW5kZXggOWEyYjdlNTYyM2NiYTI3ZTI1MDFlZGI2MmIzNTg5MWFm
MDViZGYxMC4uYjc3MmZiMGU5NGQ1ZWEzNjcyZmQ3ZWViNDE2NzkzYzgzZWE0MzhmZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5saW5lSm9pbiA9
ICdtaXRlcic7CiBjdHgucmVjdCgxMDAsIDUwLCAxMDAsIDEwMCk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuZW5kLjEuaHRtbAppbmRleCBiNDRjNmE4NGEzMWUxOGMxYTdjMTVlMjUyZjQzZGVl
Y2Y0YjA2ZTYxLi41OTIzNjIwYjY4NGJkMWQ5M2ViOWM1MjBiNDExMTgyYWNmMTVjMGViIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5lbmQuMTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLnJlY3QuZW5kLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LnJlY3QoMjAwLCAxMDAsIDQwMCwgMTAwMCk7CiBjdHgubGluZVRvKC0yMDAwLCAt
MTAwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKaW5k
ZXggNzJiMmQ4YWZmMWM1NWQwZjg1ZThlNmMzNzM5ZjI3ZTdjMjc4OWI4Mi4uZDI3NTdlZTQ5MWFk
ODYyYmVhNDcyMWI1MDA0NGU0YmM4MjVjMGMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuZW5kLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LmVuZC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCgyMDAsIDEwMCwgNDAwLCAxMDAwKTsKIGN0eC5s
aW5lVG8oLTIwMDAsIC0xMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LmVuZC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi5odG1s
CmluZGV4IGE0OGIyN2Q2MWI5NzI1YmExZGE1ZDRlMzMyNzc4OGM0YzZkOGVjMjEuLjA2NWIwYTBl
YmNmMzgzM2FlNzRlZjI1NDg5YTMwNjgxZjYwNTg1NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuZW5kLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5yZWN0LmVuZC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5lbmQuMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuZW5kLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIu
d29ya2VyLmpzCmluZGV4IGE5NzE4NzQ1YTM5MDA5ZjJlMzY1MjI4YmRhYzNiNTI1YjdhZGE4YWEu
LjA0MDE2ZTE5YWM1NTA3YjA1MGQ0MTUwY2ZkN2JlODZmOTNiNDFlN2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS5odG1sCmluZGV4
IDU1ZWRiYWJkMzFlYjI4MzI3NWUwMmNhMmNhZTY3NjM0MGUyZGVjZDcuLmQ5ZTY4ZDE5MTM4MGZk
NjFmNDc1N2UzNzY2NWQxN2ZiNzZkMjJlOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5yZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5uZWdhdGl2
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAs
MjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggNGVlMGI3MzBmZDI3MTRkZTA4NWY4
YWQ5ZGQ2ZDgxMTNlMGRmOGNjNS4uNGUyOTAwZjM2ZjgwNDk3ZjZlZWI1MTdiMThmYzNmOGRhNGJj
YjdmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwx
MiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIs
IDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwz
NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwKaW5kZXggOTgyZThiOWMxODkyYTJiMjAy
NWNiM2VhNzRiNTMxYWNjMjUwODBmMi4uYjdiYjc4NDViYTc0NjcxN2ViMTE5YTNjODliYzZhMzgw
OWZiOGQ5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmV3c3Vi
cGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5yZWN0Lm5ld3N1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5ld3N1YnBhdGg8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtNTAsIDI1
KTsKIGN0eC5yZWN0KDIwMCwgMjUsIDEsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QubmV3c3VicGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5uZXdzdWJwYXRoLndvcmtlci5qcwppbmRleCAxYmFjZGFhZDBjNjVlMGE3YmQ3MDU4
NWMzMGYzMDlkOWYxYjY5NjY0Li4wNzQ1ZWJmMjNmYWRkOWI1OTJiZjdlMDE4Mzc0YjdkYjg5N2U3
ZjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRo
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRo
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYs
NiBAQCBjdHgubGluZVRvKC01MCwgMjUpOwogY3R4LnJlY3QoMjAwLCAyNSwgMSwgMSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGQzYzYyZTVlNjky
MDNhOGE3NTRjYTRhMmRjZGMzYTlmZTA4NjA4YTguLjQ1ZmQ1NWRkYWM2Y2QzYzMzZGQxOGEzOTVk
YjdkNGJmMjUxMTYwOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZp
bml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLnJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5ub25maW5pdGU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicmVjdCgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Nyw3ICs1MSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDM1NTgyZmQ2NjRiM2Uw
ODM4YjE2MGM3ZTkwYTFmNTVhY2RlNjE4ZDcuLjE0NDIzMmU2NDVmMGY3YjUyZWJlYzFkNTc2YTVl
ZGQ0N2M3ZjE4ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5v
bmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9u
ZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicmVjdCgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0LnNlbGZpbnRlcnNlY3QuaHRtbAppbmRleCA3Y2ExYWY1OWQ1MGIwNmY2YTBhOTI3ZGI5
ZTcyNjdmZDIyYzhjYjdlLi5jZjM3Zjc2MjE1ZjQwNjk0MjkzNzczNzE4YmQ1ZjY1YjQ4M2E1ODdm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LnJlY3Quc2VsZmludGVyc2VjdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRo
KCk7CiBjdHgucmVjdCg0NSwgMjAsIDEwLCAxMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzCmluZGV4IDBjMjYxYjY0M2Q2NDdk
NDc1ZDk2N2M5ZmEwODdhMjYwZTUxZDI0ZmMuLmNjYzgwNmU1OWVlYjA4YzdiYTkyNThkZDQ5ZDQx
ODdmMzZiMjZiNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNl
bGZpbnRlcnNlY3Qud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDQ1LCAyMCwgMTAs
IDEwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRtbAppbmRleCA0NTMy
ZGRiOWVkZjE3MmFkNDdiZWRhYjFiM2RiMTY2NDMxYmMwYWU1Li41ZGYzOGMxMDY1YTk3MzRkNTBl
M2YyY2Q4MzkwOTAxNTMzMzllOTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC53aW5kaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
d2luZGluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLnJlY3Qud2luZGluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Qud2luZGluZzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUs
MTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3
LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC53aW5kaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LndpbmRpbmcud29ya2VyLmpzCmluZGV4IDcyZjNlM2EwMTllZjI5MzkzZWFjN2YzODIwZDI4N2Q5
NGNiY2U5MDAuLmJmZjAzYTQxMDRkZjkyMzE3YWYwN2FhM2I4YmRjMzNlYjk4ZTM1NTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUs
ICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
emVyby4xLmh0bWwKaW5kZXggMjg3M2E1Mjg5NThmOTYwNGEzYzMzZDVjY2U3ZmRjMWUzZGQ4YjI1
NC4uZjNmNDIyMWEzNzIzOGU4NTYwMmVlZDRlYzA2MmEwYzdlZWFiZGQ3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5y
ZWN0Lnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEud29ya2VyLmpzCmluZGV4IDdhZDY0MDRiMWNhOTU2
YTM3MzU1ZDZjMTRiZTk1NmU0NTNkZDdhOTkuLjM5N2NhZTE5NzAzMmM3N2Q4YjQ5ZDYzMGMzMTQ1
OTI2NzRhMjUzZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnpl
cm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4x
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwKaW5kZXggMGJkZWFkMDcwZDMxNTY4ZmUxYWI1
MWU5Mzk4MjM3MTVmYzVmZTA4YS4uZTg2YWE1MzJhZWVlZTQ3ZmM5YTk4Yzc5NjQxODQ3ZDYyZjMw
NTQwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJv
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1MCwgLTEwMCwg
MCwgMjUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIud29ya2VyLmpz
CmluZGV4IGNkNDM3MDFhYjQ5NWMwZDBhNzkxOTUwY2QwYjhjNmYwNzE1OTVhYTUuLjhhODdkZThl
NGM1MDRjNWI0YjZiMzYyYTA2ZThlMDU2MTgxZDA4MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1MCwg
LTEwMCwgMCwgMjUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnpl
cm8uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLmh0bWwKaW5k
ZXggMDJhODRlM2U4NDAwZDY2MDY5YzlmNWQ1MTRiOTNmMjNiYzA5ZDM5NC4uNWM3ZTgxZjQzZTVi
MmQ2YmUwMjczNGQzMTg4Y2JjNTBkYTNiZjc1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuemVyby4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uMzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRo
KCk7CiBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuemVyby4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0Lnplcm8uMy53b3JrZXIuanMKaW5kZXggMTkxNzY4MzhkNTJjN2EyYmI1MmY4OWY4ZGM5OTY4
NDJiNGQ0MjRiMS4uOTc5OWFlMjk5OTAxYjg3NzY1ZjNjYjU4ZDZjMTVlNzRkMjNiNzBlNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBh
dGgoKTsKIGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
Lnplcm8uNC5odG1sCmluZGV4IDdjODA3ODA1ODhmNmY5YjFmNWQyMDQ2Mjc0ZmEwOTY3NGRjMmVm
YTYuLjQ0NDVhNTBjMjM3YjZmNTk0MWYwZmI1MWNiOGRiNjA5NTk3YWJhOGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby40PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
cmVjdC56ZXJvLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnJlY3QoMTAwLCAyNSwgMCwgMCk7CiBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjQud29ya2VyLmpzCmluZGV4IDdjOTEyMzZjNzQ4
MDg0M2RjZmYwOGEzMGZhY2Q1YmJmNWU2N2UyZDUuLmYxMzdjMDc1ZmFmNDlkYzQ1YTgyMTc4OWVi
ZDBmYjQ4YjY0YjQ1OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
Lnplcm8uNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVy
by40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHgucmVjdCgxMDAsIDI1LCAwLCAwKTsKIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbAppbmRleCAzZmM2MzQ1NzdhNWFmMTFi
YzdiMjg0MTkzNTVmZjViYzhiZWFjOTZiLi5hYjQ2ZDRkODRhZTFiYmJjZDE5NWFiODFhZTEzMGM4
YzE5NWVhZGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0
Lnplcm8uNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuemVyby41PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMCwgMCk7CiBjdHgucmVjdCgxMDAs
IDI1LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
NS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUud29ya2Vy
LmpzCmluZGV4IDFlODM5MDE2ZjI2NTNjNGZkZWMyNGVjOTM3Mjg5NzUyZDMzOTczMTIuLmMzZGIw
YWVhODgzMjJkNjFlM2JiZjY2MjNhODlhOGRjYWRhODU2MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubW92ZVRvKDAsIDApOwogY3R4LnJlY3Qo
MTAwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56
ZXJvLjYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCmlu
ZGV4IDQ1MGVmM2MzNjY4NGVjMDkzYzVjNmM3Y2E0ODM5OWExM2VkMzIxYzUuLjczNmRhZjlmOTZj
ZGEzYzE0ZjZmMWNlYTE1MDQyMTgyYjYzNWNiMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lnplcm8uNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby42PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjY8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmJlZ2luUGF0
aCgpOwogY3R4LnJlY3QoMTAwLCAyNSwgMTAwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC56ZXJvLjYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuemVyby42Lndvcmtlci5qcwppbmRleCA0NGJkYTdlZTcxZjA0MDk2ZTgyZjhkNGNl
OGM0Mjc5NGVlMzk0NmY3Li4zYjBjYTY0ZDJhZTMyYWE1MWRlODM1MGM4NjA5ZTQ3YzBlY2Y2MzQ4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmJl
Z2luUGF0aCgpOwogY3R4LnJlY3QoMTAwLCAyNSwgMTAwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLmVtcHR5Lmh0bWwKaW5kZXggMTRlNDg5YWJmNTMyNzI1MzZkZTAyZWUyMTJl
MzM3YjlmYjk1ZmU1Yy4uYzI5NDc3ZTJkZWU0NDQ3ZWY4YmM2M2RiOGQyMmViYTYwYjM3OWY3ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UuZW1wdHk8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5zdHJva2UuZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkVtcHR5IHN1
YnBhdGhzIGFyZSBub3Qgc3Ryb2tlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkVtcHR5IHN1YnBhdGhzIGFyZSBub3Qgc3Ryb2tlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg0MCwgMjUpOwogY3R4Lm1vdmVUbyg2MCwg
MjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcwpp
bmRleCBkNmRiMmEwMWI2ZDIxMjZkYWJjZWQ4ZDE4ZWYyYWQ5ZDU1MGZlZmRhLi4yMzUwMzgwNDc4
NzBmOTY5YjExODQ5YWZlYjZkZTRmMjc5MWUwMjA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
RW1wdHkgc3VicGF0aHMgYXJlIG5vdCBzdHJva2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBj
dHgubW92ZVRvKDQwLCAyNSk7CiBjdHgubW92ZVRvKDYwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sCmluZGV4IGM3Mjc3YjkxY2FkZDk1MDczM2I5YTY4
YmI3OWY2MmNhODNhMGUwMmYuLmFlYTIwYjJiYjMxMjllMGU2MDllOTdmNWVlNWFmYjZkNTI3ODk2
OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9r
ZS5vdmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLm92ZXJsYXA8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlN0cm9rZWQgc3VicGF0aHMgYXJlIGNvbWJpbmVkIGJlZm9yZSBiZWluZyBkcmF3bjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9r
ZWQgc3VicGF0aHMgYXJlIGNvbWJpbmVkIGJlZm9yZSBiZWluZyBkcmF3biIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygwLCAzMCk7CiBjdHgubGluZVRvKDEwMCwgMzApOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAxKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC53b3JrZXIu
anMKaW5kZXggNTE2MDg0NzkxYzg3NjVkNmFjZDFjN2E5YWU4MTlhNWVjYjczY2FlZi4uZDk3Y2Zi
Y2E4MGZkZGQzOTQ1ZTVhZGE5MWI0OGRjOGE0MzI5MTE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTdHJva2VkIHN1YnBhdGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd24i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5tb3ZlVG8oMCwgMzApOwogY3R4LmxpbmVUbygx
MDAsIDMwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDEyNywwLDI1NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuYXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmFyYy5odG1sCmluZGV4IDA2NTMxNGU4MjA1NmQ5YzUwYWMzMGMzNWU0NzI3ZDZjZGFjZjQyMDcu
LmUzMjNjZTE3OTQ4YTQ2NzBiZmI0OWJkNDA3ZjMxNTE1MTMyYjFlODEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1s
ZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3Jl
IHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJl
IHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubW92
ZVRvKDYwLCAyNSk7CiBjdHguYXJjKDUwLCAyNSwgMTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5qcwppbmRleCBl
YmE1MjMzNTIyZmRkNThmNjFkZGU4Mzk5MTE1MDYwOTNhOTVhOGYwLi44MTJkNzEwZGFlNWZkNDI4
NzdjYmQwZWI1ODg0NDE2MTFmYzI1ODFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnBydW5lLmFyYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3Zl
ZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5tb3ZlVG8oNjAs
IDI1KTsKIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLmh0bWwKaW5kZXggN2M4ZmZlMTI3ZDBh
MDA1ZDVjMmRhMjRlZWQ4M2E4YzQzY2ZiYWQwOS4uZGE3MmM2OTE3N2JjYTJlMzk4OTUzNjg3MmIz
ZjI1MzE0ZGI5NzVhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnBydW5lLmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uu
cHJ1bmUuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21l
bnRzIGZyb20gY2xvc2VkIHBhdGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZzwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVu
Z3RoIGxpbmUgc2VnbWVudHMgZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0
cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHgubGluZVRvKDUwLCAyNSk7CiBjdHgu
Y2xvc2VQYXRoKCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNsb3NlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNsb3NlZC53b3JrZXIuanMKaW5kZXggOGIyZTkyMGU3ZjQzMGIzYTNkNTAzZmVmYTRjN2Rk
Y2ZlNTYyMmNiOS4uNDA3OTg0Y2EyYTQ2MTk3NGZkNjUxYTQ3ZmZkNzM5NzY0Zjk2NDA1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2Vk
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdt
ZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lci5odG1sCmlu
ZGV4IGVmMDkxOTYzNGI3MDc0YTlkNjVmOTkyMWU3YTViOTc5YzVlNGY3ODguLjI3OTYyY2IyM2Ew
YTIyODcyNGUxNmE0Y2M0MDIyZDRlYTk0NWYwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1s
ZW5ndGggbGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcgd2l0aCBtaXRl
cnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3
aXRoIG1pdGVycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmxpbmVUbygtMTAwLCAyMDAp
OwogY3R4LmxpbmVUbygtMTAwLCAxMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLndvcmtlci5qcwppbmRleCBlMGIwYWQ1NTY3ZTkyMmZh
Yzc0ZDk3NjlhZjlhMWFjNTRkOGJmMzMzLi4yMGU5ZTRiMjM1ZDQyYWJlODQ2NDljNjA0NzFkZTE5
OWJiNzhlM2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNvcm5lci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5jb3JuZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxl
bmd0aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRoIG1pdGVy
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtMTAwLCAyMDApOwogY3R4Lmxp
bmVUbygtMTAwLCAxMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUuY3VydmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1
bmUuY3VydmUuaHRtbAppbmRleCAyZjBkZDFlNjU4YmI4NTM1MmNmZDA2YmY1YjY3MzNjNzk5ZGEz
NzM1Li42MmEzOWJmOTkzNGEyMGFlODhlZjMxMDM2NjEwMGY3YjU3Njk5MzZkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVu
ZS5jdXJ2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5k
IGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGlu
ZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJl
bW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubW92ZVRv
KDUwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbyg1MCwgMjUsIDUwLCAyNSwgNTAsIDI1KTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIu
anMKaW5kZXggNTRkNjk1NWMzNTNjZDUzMGViMzI3NTA5NTdmZWYzOWE3ZDcxYjkzYy4uMWFkNmQ5
YTYxMDkwNjIxODcwOTNlMGY4MmFiZWQ2ZWJmMTE4ZDZiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBxdWFkcmF0aWND
dXJ2ZVRvIGFuZCBiZXppZXJDdXJ2ZVRvIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg1MCwgMjUpOwogY3R4LmJlemllckN1cnZl
VG8oNTAsIDI1LCA1MCwgMjUsIDUwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnBydW5lLmxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2UucHJ1bmUubGluZS5odG1sCmluZGV4IDJhNjU5ZWFiZTBhYTdhZmQ3ODVkYmMyZDljMGYw
MDZjNzFjOTFlYWUuLjE4MThjNzJhODFhZjdkZTdlZmM4ZjIyODRlNzI2ODI3ZmVmNTJmNGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9r
ZS5wcnVuZS5saW5lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92
ZWQgYmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBh
cmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5t
b3ZlVG8oNTAsIDI1KTsKIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUud29ya2VyLmpzCmluZGV4IDgyMjlmMzQxN2Ey
ZjRiM2Q1YTkxODA3YmY5YzIxMWVlNWJiM2Q4ZTguLmFkMWNhODMwODA2NzJmNTBjMTI3YTFjMTk5
MjFiNTZmODMzNjBiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUubGluZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5wcnVuZS5saW5lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1s
ZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tp
bmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5tb3ZlVG8oNTAsIDI1KTsKIGN0eC5saW5l
VG8oNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1
bmUucmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0
Lmh0bWwKaW5kZXggYjRiNGFlYjBiNjUzZjMwOWU4OWU2ZWMwM2I0ZjRkZTAyNjFiNGQ4Yy4uZDI2
NTZhYjM5NTNlN2MwN2FlOGM1Zjg2Yjc1MjZlOTk0YzcyNjk1OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Q8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5zdHJva2UucHJ1bmUucmVjdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1s
ZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0cm9rZVJlY3QgYXJlIHJlbW92ZWQg
YmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0
cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEs
NiBAQCBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogY3R4LnN0cm9rZVJl
Y3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Qud29y
a2VyLmpzCmluZGV4IGUzYjJmZjgzNzJmM2YzZmRhZGZlMzJiODFkMDE0MDc0MjA2YTI4OWYuLjEw
MmI2YzE0MjkyMzFiNmZmZGI1NzJlNDNiZGM5MzllMjVlYjk1ZDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5k
IHN0cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyAr
MjcsNiBAQCBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogY3R4LnN0cm9r
ZVJlY3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS5odG1sCmluZGV4IDYx
ZTlhN2VhODIxMjgwMWUyNDU5MTY0M2QwMGQ3ZGUyYTYxMzIwZDkuLjU5YjRlMGUwYTI2NmYwZjRi
NDNmOWI5MmYxZWU2NDkxMzljMTEzYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2Uuc2NhbGUxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5zY2FsZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5zdHJva2Uuc2NhbGUxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnNjYWxlMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhl
IGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2Fs
ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDEsNyAr
NDUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUs
ICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAi
OTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzCmluZGV4IGU1ZmM4YmNj
OTIzODVkNDIzNGEyYjU4NGNkMTMzNDY0OWIzODMyZGUuLjI0NTM0MjZjZmViNjllYmE3ODI0MGE3
ZmNiNjg4NzRlNDlkYTM3NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2Uuc2NhbGUxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnNjYWxlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZSBsaW5l
IHdpZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM3LDcgKzQxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTks
MjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi5odG1sCmluZGV4IDBi
YzRjMjZkMDQwYWIzYTY2YjY3YjIwYjEyNGI5ZmQ0NmM1ZDYwYWYuLjkwNWMwNGFiNDFjZWU5ZmZj
YTdkYmU3OWUyNjJjODNhYTM1MjVlMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5zY2FsZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5zdHJva2Uuc2NhbGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnNjYWxlMjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhl
IGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2Fs
ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyAr
NDcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUs
ICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAi
OTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIud29ya2VyLmpzCmluZGV4IGI1MzJmYjdh
M2Q4ZDBmM2FkYzk4MTA2ZjRhODczZmJiZmUwMDFlZmEuLjMzZTFkY2RjMTU3NzhmZmIyMTkwN2Nm
NWIyZWY0MjEzMzQ5MTQ1NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2Uuc2NhbGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnNjYWxlMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZSBsaW5l
IHdpZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTks
MjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lmh0bWwKaW5kZXggNjIyMGU3
YzU0ZmNjNjYwOTI1NWNhYTM3YTQ3ODI1MGVhYzU0NzVkNC4uNjg5Njk2NTcyMTE1Y2Q2YzUxZGY1
YTdlNjAyMDQ3MDRiOTg2MTVkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5za2V3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5z
a2V3Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguc3Ryb2tlLnNrZXc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uuc2tldzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+U3Ryb2tlcyBsaW5lcyBhcmUgc2tld2VkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9y
bWF0aW9uIG1hdHJpeDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlN0cm9rZXMgbGluZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFu
c2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01Niw3ICs2MCw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5
LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnNrZXcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5za2V3Lndvcmtlci5qcwppbmRleCAxMjVjNzBjOGVkZDYwYjdmZjEyMjQwN2U1OGM2ZjZiZDFj
Y2EzNDhmLi5iMjA0YmVkMWMxZGY2NDdhNmM4YWM1MDQyZmQ3N2M5N2M3ZDRlN2Q3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgbGluZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0
cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01Miw3ICs1Niw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwg
IjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2UudW5hZmZlY3RlZC5odG1sCmluZGV4IGZjMmRmZjk0MWJhYjIwZDg0NzM5ZjQzOTBkYjVi
OGJmZGNlNmZkOTUuLjAyZDk3YTY1NTc5YjRkN2U0NDU4N2EwMWYzZmRiNzk5ZmI5NzI5ZmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9r
ZS51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0
cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5
LDcgKzMzLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwog
Y3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIu
anMKaW5kZXggNmMzYzE2NTU5Yjg2NjI1Y2IyZTViODI4MWIyMGMzZWY4YzQ3YmQ3ZS4uZDkyOTY5
N2U1ODMwZjM5ODQ0ZWZmZWFjZTg1MmI0NjQ1MmU1NzUyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTdHJva2luZyBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBh
dGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2VT
dHlsZSA9ICcjMGYwJzsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
dW5pb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5pb24uaHRtbApp
bmRleCA3Njg4NGNhNTQ2N2Q0NjdlODc2MTlhYTljNWYxOTE0NjQ1YTNhNDAyLi5kYTUyMjZiZWNm
MDk3MTg4M2MyMzFmMDliNzg0MmI2NWY5MzM2ODA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS51bmlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS51bmlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS51bmlv
bjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFy
ZSB1bmlvbmVkLCBub3Qgc3VidHJhY3RlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucyBh
cmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5t
b3ZlVG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAsIDQwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UudW5pb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS51bmlvbi53b3JrZXIuanMKaW5kZXggMDU5NGIyOGNiZjY4MjYzNzU5NmZl
OThjOTI1ZTVkMWExMjQ2NDJhOC4uZTg0Y2VlMTczZjkzZjIzNDE2NTA1NTkxNGEyMTZhNWExZmNl
YmUxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0
aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5tb3ZlVG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAsIDQwKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwKaW5kZXggZTdjYjhlY2U0
ZjE0Mjc4ZDk0NDVlMmEwYzM0MzkxZWNkZWEwOWQ4Zi4uZDhkZjBlNTBjMDlkOWQ5MmI2Y2M2NmI2
ODhkNGZmYmMxNmYxNjAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRy
YW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRy
YW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC50
cmFuc2Zvcm1hdGlvbi5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBjdHgudHJhbnNsYXRlKDAsIC0xMDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2lj
Lndvcmtlci5qcwppbmRleCBhYzliYzFiYjE2YTdhODlmZTMzMjZkYTc4YjhlNzNiOGQxY2JmZWVi
Li5hODQ4OWIwNDk5NGVmZWY1MTM3Zjc5Mzk1MzkwN2I1NjQ1NTE1NWJhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4
LnRyYW5zbGF0ZSgwLCAtMTAwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbAppbmRleCBh
YmE1NDZiODY3ZTdmOTUzNjFhZTk5YTJjYWQ5YmIwMzA4YzFkOTA3Li5iYmQxZTQxMTRiODAyNWI5
OTNjMTVhNGU2MGJmM2JhYjU2ZDI1NmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2lu
ZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5v
dCB3aGVuIGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcg
cGF0aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5yb3Rh
dGUoTWF0aC5QSS8yKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3JrZXIuanMKaW5kZXgg
MmY4NDE4ZGJlZGZlYTg4ZTg3ZjE3NGRkZTkxYTM2OTVmMWNjMzg2OS4uZmY3MGNjNGQ5YzBlOGM5
MzBkMjI3OTBiNTY4MWEzOGZlNGVmMTcyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRp
bmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5y
b3RhdGUoTWF0aC5QSS8yKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHguZmlsbCgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbAppbmRleCA3ZjM4ZGFl
ZDhhODkxNWFkYTlmMjY1ZmEzYzA0NzgwYTgxMmQ4YzNkLi4wMDExMWVjNzUzZGFlZGU5OWY3Nzdl
NGVkMzAzMzFlODNhYjViODFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
dHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5U
cmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3aGVu
IGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMs
IG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0eC5zdHJva2UoKTsK
IGN0eC50cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggNjJiZGU2M2U5MTVl
NjM5NzM5YWIyYTEwMDc1MmM3ZDQ0YzExNjg3Mi4uYThmMjM3OWQ2NTFlNDc0YmUwODJhMTg5NGEx
ZjMxNzYwNWFhZmU5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5z
Zm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5v
dCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5zdHJva2UoKTsKIGN0
eC50cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sCmluZGV4IDgxNTJjZmM5NzMyZjdjNGRhNTlmZGFl
YTkxZDNmNzQ1ZjEwMWNlYWUuLjhkNGZiMjlkMGY4YzA0YzU4MTc5ZjkzMTA1MTY0MjE1NTkxYTJi
MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0
ZTEuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5j
cmVhdGUxLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVh
dGUxLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkg
ZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZzwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgZXhp
c3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VE
YXRhKGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0
YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0
ZTEuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMS5iYXNpYy53b3JrZXIuanMKaW5kZXggMjUwYTE2MWYzMjI1OGRhZGM0OThhODI0OWMy
NWRlNGQzNDcwOGRhMi4uOGQ3OTVlYzFmZmU5YzA0ZTcyODkyZjQ1ZDkyMzQ5ZmJlMGUwNjAzZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5i
YXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMS5iYXNpYy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJ
bWFnZURhdGEoaW1nZGF0YSkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZl
cmVudChjdHguY3JlYXRlSW1hZ2VEYXRhKGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpLCBudWxs
LCAiY3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSIsICJudWxs
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKaW5kZXggYTM4NWQ3MmUzOTcw
YzMwYWY5MjcyZGM3ZmJmYTM0YTBhYmM4ODE1OS4uY2M4OTViNzE0NGM3NWIyYTIzOTJmNjQ2ZTMw
ZTQ5Yjg0OTUwZTYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWw8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRl
SW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUg
cmlnaHQgc2l6ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJs
YWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0
YTIuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBf
YXNzZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcwppbmRleCBkYTA1NDNjNDQ5NTJm
MzMzZDQ5ZTE1ZTc3YWVkZGU2NTFmZjRmMjJhLi4yNTdiYmQ4YzU3OTgzMjZiMzBmYmVjZmExODUw
YWE0Mjk3MTllM2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJs
YWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0
YTIuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBf
YXNzZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTEuemVyby5odG1sCmluZGV4IGJiY2FkYWQzMWM1MmI3MjFmZjBjMmVkMTkwMTRh
OGRkMGQxMDE3MDguLjEwMDBlNDRjODYzMjA0MzE5MmEzNTAzMGQyN2Q1ZWJhYjQwOTUyZGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVy
by5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEu
emVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm88
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVy
cm9yPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEobnVsbCk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcwppbmRleCBmM2JlZDg0ODhl
NmM0Yzg0ZjY1NmNiOTcwMjEwZGQ0MDVmZTM3YzVmLi42OTNmYzU5MjdiZmQ1ODQ0MGQ3MDI3YWYz
Yzc3MzUzNDgxYmY3ZWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJjcmVhdGVJbWFnZURhdGEobnVsbCkgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKG51bGwp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sCmluZGV4IDEzY2I1ZGU0Y2NkMjRk
Yjg4Zjg2NjkzYzFhOTM2MDQxMmNkMDQxMWEuLjMzNzFiOWRhY2I0ODcwYzk5MjU5NDIyZDZlOTgz
MDU5ZjYxMTZlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5jcmVhdGUyLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEo
c3csIHNoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nPC9wPgpAQCAtMTEsMTMgKzExLDE2
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywg
c2gpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmNyZWF0
ZUltYWdlRGF0YSgxLCAxKSwgbnVsbCwgImN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkiLCAibnVs
bCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCmluZGV4IDgyMTkw
ZDZjYjBiMTcyMWI1Y2U0NzlmMzlmZjZjOGQ3NmEzMDNmY2YuLjM2MTI4ZDk4YTQwMzE5NmM1NmZk
MTVhNWU5MWEzZGVlZmM2Y2RlMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCkBAIC00LDE2ICs0
LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5z
IHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpLCBudWxs
LCAiY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0
ZTIuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMi5pbml0aWFsLmh0bWwKaW5kZXggZTdjZWQ5ZDIxNjY3ZmM4NWUzNjNmZGQ2YmFjYmYwZjQy
ZjU0Y2ZiNi4uYzdjMDgwODIzNmVhNDdmNzE2Mzk1MzUwODU0NTZkMGExOGE4ZGMwYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFs
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5p
bml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
aW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgcmV0
dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VE
YXRhKHN3LCBzaCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBz
aXplIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEu
ZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAg
ICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNr
LCAiaXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRp
YWwud29ya2VyLmpzCmluZGV4IGQzZmVhMjRkNTg2ZThjYTY2OTlkZGQ0M2QwZjMwN2IzNTY5OTc4
YzMuLjE1MTIyMTA2NThlOGNiZDFmM2UxM2IxMDI0NTg4YjMxZTNiMTAwOTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5p
bml0aWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXpl
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0
YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICBp
c1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAi
aXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbAppbmRl
eCAyNWQ0OTA1MmJiNGNhZGM2YmFjNDYxYTRjMDYzZTFmMWUyZjYyYjI4Li41ZDRiMWQwZjMzOWIx
NjgwNTI1MGI3NTRhNDEzMGMxMmU2MzJhZWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJn
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFyZ2VyIHRoYW4g
dGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHdvcmtzIGZvciBzaXplcyBtdWNoIGxh
cmdlciB0aGFuIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGZvciAodmFyIGkg
PSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsgaSArPSA3ODEzKSAvLyBjaGVjayB+MTAyNCBw
b2ludHMgKGFzc3VtCiAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNU
cmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNzZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlz
VHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2Vy
LmpzCmluZGV4IGQ4YWUxNGNmNGIyZjMyN2M0NTlmMDczZWYwNjRkMGMwNWEyZjg2NTYuLmFkMzRl
NmQwMmMwZjNiYjVhYjg1Y2JjNGQ4NTM4M2EzM2U3MTg2MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB3b3Jr
cyBmb3Igc2l6ZXMgbXVjaCBsYXJnZXIgdGhhbiB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0YS5sZW5ndGg7IGkgKz0gNzgx
MykgLy8gY2hlY2sgfjEwMjQgcG9pbnRzIChhc3N1bQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0g
IT09IDApCiAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1Ry
YW5zcGFyZW50QmxhY2ssICJpc1RyYW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMi5uZWdhdGl2ZS5odG1sCmluZGV4IGQ1YzQyZWZlYTdiYjU3ZjE5Y2Y3MmMwNjBmMTM1ZGEx
MzZmZTdlYWEuLjRjNDJjNmI4ZGQ3ODZlYzYwMWI2ZmU0MDhiMzM4ZTZhNjlmZjYyOGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRp
dmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVh
dGUyLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3csIHNo
KSB0YWtlcyB0aGUgYWJzb2x1dGUgbWFnbml0dWRlIG9mIHRoZSBzaXplIGFyZ3VtZW50czwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0
ZUltYWdlRGF0YShzdywgc2gpIHRha2VzIHRoZSBhYnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNp
emUgYXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCB2YXIgaW1nZGF0YTQgPSBjdHgu
Y3JlYXRlSW1hZ2VEYXRhKC0xMCwgLTIwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRhdGEubGVu
Z3RoLCBpbWdkYXRhMi5kYXRhLmxlbmd0aCwgImltZ2RhdGExLmRhdGEubGVuZ3RoIiwgImltZ2Rh
dGEyLmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhLmxlbmd0aCwgaW1n
ZGF0YTMuZGF0YS5sZW5ndGgsICJpbWdkYXRhMi5kYXRhLmxlbmd0aCIsICJpbWdkYXRhMy5kYXRh
Lmxlbmd0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTMuZGF0YS5sZW5ndGgsIGltZ2RhdGE0LmRh
dGEubGVuZ3RoLCAiaW1nZGF0YTMuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTQuZGF0YS5sZW5ndGgi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCAx
MWYxNjQxYWI1OWQyYzc1OGY2YjgyNTQyY2NjNjc5ZjA1NWU2ZWRiLi41YjJmOGViNTQ4YzNiYzBh
Mzc2ZDFhMTU5MTAxYmY0ZjQ4Mjg4Mjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGFrZXMgdGhl
IGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVudHMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3
ICsyMyw2IEBAIHZhciBpbWdkYXRhNCA9IGN0eC5jcmVhdGVJbWFnZURhdGEoLTEwLCAtMjApOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTEuZGF0YS5sZW5ndGgsIGltZ2RhdGEyLmRhdGEubGVuZ3RoLCAi
aW1nZGF0YTEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTIuZGF0YS5sZW5ndGgiKTsKIF9hc3NlcnRT
YW1lKGltZ2RhdGEyLmRhdGEubGVuZ3RoLCBpbWdkYXRhMy5kYXRhLmxlbmd0aCwgImltZ2RhdGEy
LmRhdGEubGVuZ3RoIiwgImltZ2RhdGEzLmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhMy5kYXRhLmxlbmd0aCwgaW1nZGF0YTQuZGF0YS5sZW5ndGgsICJpbWdkYXRhMy5kYXRhLmxl
bmd0aCIsICJpbWdkYXRhNC5kYXRhLmxlbmd0aCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZp
bml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5u
b25maW5pdGUuaHRtbAppbmRleCBhZTM2ZmM3MmFhNDg4ZDhjMDAyNTAwZGE5ZGExMjliNGJlYTcw
ZmYzLi42ZjhhZmMwMzAzZmExZDMzNjJmZDBkYWI3ZmUwYjM2NjgzMTljNmI2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9u
ZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRl
Mi5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YSgpIHRocm93
cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKCkg
dGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
Myw3ICszNyw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgcG9zaW5mb2JqKTsKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgbmVnaW5mb2Jq
KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVJbWFnZURhdGEoMTAsIG5hbm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKHBvc2luZm9iaiwgcG9zaW5m
b2JqKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5q
cwppbmRleCAwNjA5ZDA1OTUxZDRjNGRiMDdlZWJiMzcyOGNhMmU3NGI0Y2ZiNjA0Li4zZjU4OGIw
YWQ2YmRlZTFkNzgwYWQzYWNhMGFhNjdmOTFiYmIzM2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoKSB0aHJv
d3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
Y3JlYXRlSW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmopOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBuZWdpbmZvYmopOyB9
KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZUltYWdlRGF0YSgxMCwgbmFub2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEocG9zaW5mb2JqLCBwb3NpbmZvYmop
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC5odG1sCmluZGV4IDJkNTllZmYzOGIxMGFl
ZWZiZDdhYWEyYzkxOWU2MjE4ZTBhN2I0OTkuLmIxYTEyM2FmNWU2OTcwYjliY2MyYTU2YWIzZjM0
NjE2NTJjNzU1MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5jcmVhdGUyLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEo
dywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCk8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVh
dGVJbWFnZURhdGEodywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwg
MCwgdywgaCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5jcmVh
dGVJbWFnZURhdGEoMTAuMDEsIDEwLjk5KTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAuMDEsIDEwLjk5KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLndpZHRoLCBpbWdk
YXRhMi53aWR0aCwgImltZ2RhdGExLndpZHRoIiwgImltZ2RhdGEyLndpZHRoIik7CiBfYXNzZXJ0
U2FtZShpbWdkYXRhMS5oZWlnaHQsIGltZ2RhdGEyLmhlaWdodCwgImltZ2RhdGExLmhlaWdodCIs
ICJpbWdkYXRhMi5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtl
ci5qcwppbmRleCBiMGM0YTAzY2NiNmY3MTBiYzVkNzdmN2M1NTZmYzZlNTIyYmIwODU3Li43YTRk
N2QwODUzZjMxZmI1NDQzOTcyZTJmYjVhMTVkYzA2NzllYzc1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGlzIHJv
dW5kZWQgdGhlIHNhbWUgYXMgZ2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYs
NyArMjAsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLjAxLCAxMC45
OSk7CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLjAxLCAxMC45OSk7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS53aWR0aCwgaW1nZGF0YTIud2lkdGgsICJpbWdkYXRhMS53
aWR0aCIsICJpbWdkYXRhMi53aWR0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuaGVpZ2h0LCBp
bWdkYXRhMi5oZWlnaHQsICJpbWdkYXRhMS5oZWlnaHQiLCAiaW1nZGF0YTIuaGVpZ2h0Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi56ZXJvLmh0bWwKaW5kZXggOGM4OGNjOWI2ZmI3YWM3MzVhZjlhZDNm
OWE0NGUxYTQyNzNjYjg5NS4uNDNhMjE2Y2RjNjBjMmZmOTYwYmFkZjYzOGFmMDFiMjRhMmYxZjIz
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMi56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
emVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dz
IElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRo
cm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEo
MTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJ
WkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMCk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJvLndvcmtlci5qcwppbmRleCBjZjU0YjNjNmVmYjM3YmNh
NjBlNDVmZmM1MGQ3NGFhNTI1MDExMDFiLi5lNjQ5NzdjYTE2MTc3OGVkZDRmNTVjMzc1YjdmMGFk
NGNkODE3M2VhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlz
IHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rp
b24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOyB9
KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVJbWFnZURhdGEoMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCmluZGV4IGNmYjVl
M2MyYmE1N2M4MjQyMGNmYzBjYjY5YWE1MmY1ZmNjYmEzZjYuLmY5ZTczMGE5YmEzYmE2OGYxNTNh
YzA0N2M0NGM5NzcyZmE3MzE4OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5nZXQuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGV4aXN0cyBh
bmQgcmV0dXJucyBzb21ldGhpbmc8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFuZCByZXR1cm5zIHNv
bWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApLCBu
dWxsLCAiY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDUwKSIsICJudWxsIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQuYmFzaWMud29ya2VyLmpzCmluZGV4IDY4MjQ5NDVkOWY4MzM4MWZkMmUyN2ZjZDVj
ZjlmM2U0YmI1YmFlYjAuLmQ0ZjRlNTFmZGMzNGViYzYyOGFiZTA4NzAyNjEzZTMxODAyMjVmMmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
LmJhc2ljLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmdldEltYWdl
RGF0YSgwLCAwLCAxMDAsIDUwKSwgbnVsbCwgImN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCA1
MCkiLCAibnVsbCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC5odG1sCmluZGV4IGM1ZTE4OWI3YmY1OGY3
NDU3YzliOTU3NGYwYzcyOWEwNTJiNDViMjkuLmFiNTQ0YTk3ZTU3MjEwNGU0ZTQ5NGM4YjE2NGEx
MTM4MzczNDNjN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5jbGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5jbGFtcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LmNsYW1wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuY2xh
bXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRv
IHRoZSByYW5nZSBbMCwgMjU1XTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSBy
YW5nZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4
LmdldEltYWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsw
XSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhMi5kYXRhWzFdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIy
NTUiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFb
XCIiKygyKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcwpp
bmRleCA5N2EyYTE0Nzc3NjBmM2FkOGRmOWU2OGRlYWRlNGIyYzk3Nzk0MGM1Li4xNDgyOTZlYTli
ZjFjMzQxYzI0ZjViZjNiYjE4ODEyNTI4MTM0MzAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5n
ZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4Lmdl
dEltYWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwg
MjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhMi5kYXRhWzFdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIyNTUi
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIi
KygyKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwKaW5kZXggYzk1MTZk
N2E3MzVlOWY4M2UwM2I3ODQzOGYyNmFhY2QyZGQ5ZjhmOC4uNmRiZDk1MzJhYTY3YmU0ZTViYjQ1
M2JiMjkwMmIxZDc1NTY0OTk2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGg8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VE
YXRhLmdldC5sZW5ndGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVy
bnMgYSBjb3JyZWN0bHktc2l6ZWQgVWludDhDbGFtcGVkQXJyYXk8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1
cm5zIGEgY29ycmVjdGx5LXNpemVkIFVpbnQ4Q2xhbXBlZEFycmF5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZh
ciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0LCAiaW1n
ZGF0YS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lmxlbmd0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQubGVuZ3RoLndvcmtlci5qcwppbmRleCBmOGEwOGUyODY0MmRkNmYwNWYz
MDlhMjk5ZDJiMWZlODU4MjAyMzcxLi5lYmI4Mjc5ZjczYjJjOTBlMGQ5MWRkMGZmYTZkNjdjMTI5
ZTBjYzI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQubGVuZ3RoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQubGVuZ3RoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1h
Z2VEYXRhKCkgcmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsK
IF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5o
ZWlnaHQqNCwgImltZ2RhdGEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhl
aWdodCo0Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbAppbmRleCBhYjkwYTgzMWY5
YzUzNGNlNTBmNDQ4YmQxZTkyNTc4ZTZkNzA4OGUzLi44ZDMwYjU1MmE0YTEwYWYzY2I5OGExZGJl
ZmJhMGRjZTAyMDRlZjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5p
bWFnZURhdGEuZ2V0Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRh
KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURh
dGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTY1LDcgKzY5LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIHBvc2kKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9zaW5m
b2JqLCBwb3NpbmZvYmosIHBvc2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIDEwLCBw
b3NpbmZvYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggYmZkNWZiMDM4YWZk
YzM0ZTJhZmRmNjMyNGIzNDFiOTljOTY4MGUyNC4uYjcwOWNhNmU5OWZjZTcyNTA5MmUxMGQ1YTI4
MjliMjJkMTU5YmFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImdldEltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBu
b3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtNjEsNyArNjUsNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgcG9z
aQogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1h
Z2VEYXRhKDEwLCBwb3NpbmZvYmosIHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAs
IHBvc2luZm9iaiwgMTAsIHBvc2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgcG9zaW5mb2JqLCBw
b3NpbmZvYmopOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC5odG1sCmluZGV4IDQ3M2Q2
ZjZlZmFhZmJmZDYwNjg4Zjg0NTkxYWZmMWYyNTMyNzMzMzguLjMyZjhkNTJmMzU4NzM5NGU5NGFl
Y2U1ODc3YjhiYTU0YTFhY2VlMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFn
ZURhdGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBy
ZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBA
IF9hc3NlcnQoaW1nZGF0YS5kYXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwi
XSA+IDIwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJpbWdkYXRhLmRhdGFb
XCIiKygyKSsiXCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNd
IDwgMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQubm9ucHJlbXVsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5ub25wcmVtdWwud29ya2VyLmpzCmluZGV4IDZkODVhNWMxMjhlYjc4N2ZjZmMzYzIz
NDA3MDkzNTRkYTQzMGQzYmMuLjI2OTY4NWVjYjc2ZGQ4ZjAwNmJmOWY1YjJkNmQ2YWZmNWQ2YTFl
MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5u
b25wcmVtdWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5ub25wcmVtdWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJ
bWFnZURhdGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRh
W1wiIisoMSkrIlwiXSA+IDIwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJp
bWdkYXRhLmRhdGFbXCIiKygyKSsiXCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsz
XSA+IDEwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1n
ZGF0YS5kYXRhWzNdIDwgMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYS5odG1sCmluZGV4IDRiZjMwYzA4ZGY0ZDNhMzlk
ZTc4NDI5OWY5MzdhZWEwYjRmZGNjZWYuLjk2ZTc4YmNhYjhmMjE3NjQxZTUwNGY5OWMxNmRjMzZh
ZTE5Mjg1NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5vcmRlci5hbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0
YSgpIHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVy
bnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRh
KDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA8IDIwMCwgImltZ2RhdGEu
ZGF0YVtcIiIrKDMpKyJcIl0gPCAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdID4gMTAw
LCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmFscGhhLndvcmtlci5qcwppbmRleCA2MTFhOWM3NzgxZmJlYTI3OTU1MDZmMjQ4
ZTBhMzRiOTQwY2E2NDkyLi5hOTcyNTFmNjU3OGE4Y2U0NjRiOGRlZTMzY2JlNDdkNDYxMTZlYWI1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdl
dEltYWdlRGF0YSgpIHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogdmFyIGltZ2RhdGEg
PSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsz
XSA8IDIwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPCAyMDAiKTsKIF9hc3NlcnQoaW1n
ZGF0YS5kYXRhWzNdID4gMTAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQub3JkZXIuY29scy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMuaHRtbAppbmRleCBkM2FiZWMzOGEyNGZhZGY0ZjRm
Zjc5YTNkNmFkNTY3NWRmNWNkMzk1Li44OTIyYzMyNDliMzVhMTJlNDM4OGRkODgzOTI0OGU0OWY2
YjVhNDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuY29scy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5jb2xzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29sczwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURh
dGEuZ2V0Lm9yZGVyLmNvbHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJl
dHVybnMgbGVmdG1vc3QgY29sdW1ucyBmaXJzdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1v
c3QgY29sdW1ucyBmaXJzdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEgPSBj
dHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFb
MF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEuZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0sIDI1NSwgImltZ2RhdGEu
ZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMjU1Iik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0
aCo0KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1n
ZGF0YS53aWR0aCo0KV0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53
b3JrZXIuanMKaW5kZXggYzNhN2QyNTA0NjQ0YzdjNGRiYTBlZTEwZjJkM2I4MTVhYzJmNzZkYi4u
NzFhZWRiNTk1ODgxNzc0NGRhZDk3NjI1MzdkY2FmNDIxNTdhNmRmNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xz
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJu
cyBsZWZ0bW9zdCBjb2x1bW5zIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1n
ZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhW01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSwgMjU1LCAi
aW1nZGF0YS5kYXRhW01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIyNTUiKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdk
YXRhLndpZHRoKjQpXSwgMCwgImltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdo
dC8yKSppbWdkYXRhLndpZHRoKjQpXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iu
aHRtbAppbmRleCBjZTgxNTIxYmNjYzY2YWQxMGYxZDY0MDQ2ZjU0ZTFiODNlMmQ2M2JiLi5mNmE4
NTkzODE1MGQ1MjQxMmEwMGUyMmYzYzkwNjc1NTNkZjNjMjc0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLnJnYjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEI8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURh
dGEoKSByZXR1cm5zIFIgdGhlbiBHIHRoZW4gQiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fz
c2VydFNhbWUoaW1nZGF0YS5kYXRhWzRdLCAweDQ0LCAiaW1nZGF0YS5kYXRhW1wiIisoNCkrIlwi
XSIsICIweDQ0Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNV0sIDB4ODgsICJpbWdkYXRh
LmRhdGFbXCIiKyg1KSsiXCJdIiwgIjB4ODgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs2
XSwgMHhDQywgImltZ2RhdGEuZGF0YVtcIiIrKDYpKyJcIl0iLCAiMHhDQyIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhWzddLCAyNTUsICJpbWdkYXRhLmRhdGFbXCIiKyg3KSsiXCJdIiwgIjI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCmluZGV4IDY1NGVh
MTlmNmRjNDNlYjM4MzdhZDU3MmQ0MWY0ZjE0NjlkZGI0MjQuLjBjYzViOGJmODcwZDkzY2M4OTVh
MDU5ODNlY2VmZGQ2MWM5NzZlNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIFIgdGhlbiBHIHRoZW4gQiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzRdLCAweDQ0LCAi
aW1nZGF0YS5kYXRhW1wiIisoNCkrIlwiXSIsICIweDQ0Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGFbNV0sIDB4ODgsICJpbWdkYXRhLmRhdGFbXCIiKyg1KSsiXCJdIiwgIjB4ODgiKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs2XSwgMHhDQywgImltZ2RhdGEuZGF0YVtcIiIrKDYpKyJc
Il0iLCAiMHhDQyIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzddLCAyNTUsICJpbWdkYXRh
LmRhdGFbXCIiKyg3KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mu
aHRtbAppbmRleCBiYThhNzQwY2Y0OWViOWM4ZGY1MmQ1NDhmNGNhNjAyMmE1YzdmMjExLi5lY2Jj
MGE2ZTIyNWYwMTcyZTJlODU0MTVjYjRhYjU1NTQzM2Y4MzBhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5n
ZXQub3JkZXIucm93czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3M8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCByb3dzIGZpcnN0PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0
SW1hZ2VEYXRhKCkgcmV0dXJucyB0b3Btb3N0IHJvd3MgZmlyc3QiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fz
c2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRo
LzIqNCldLCAwLCAiaW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2Rh
dGEud2lkdGgqNF0sIDI1NSwgImltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0
YS53aWR0aCo0XSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mud29y
a2VyLmpzCmluZGV4IDlmYjIzZTZhMDQ2NTk3NDlhNzAyNjUwMzkxZmJiMmQ1NWIzOGM0OWUuLjA4
OTNmNWU1YTdmMmU5OWM0NjgzODFhYjI2ZmIyYzE0NDE1ZTI0NjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMg
dG9wbW9zdCByb3dzIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9
IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSwgMCwgImltZ2RhdGEu
ZGF0YVtNYXRoLmZsb29yKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdLCAyNTUsICJp
bWdkYXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNF0iLCAiMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5yYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJhbmdlLmh0bWwKaW5kZXggOWExOWI2NTFmN2E0ZWZkNDMxNDMzYmMwNTg1
NTYyMmI5NjE1ZDQ1NS4uZWYxNjhlYmYxODc1N2ZmYmE0ZWEwOTBhMDc3YTk1NGE0NWRkZjFmMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmlt
YWdlRGF0YS5nZXQucmFuZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5yYW5nZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFsw
LCAyNTVdPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAyNTVd
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguZ2V0SW1hZ2VEYXRh
KDEwLCA1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRhdGFbMF0sIDAsICJpbWdkYXRh
MS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VE
YXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAyNTUsICJp
bWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5yYW5n
ZS53b3JrZXIuanMKaW5kZXggNWNhYzcwN2FjOTY5OWIyZmI5M2FkZGMzNTM3NjUwZjE0ODU1N2Rm
YS4uY2VjNTk3NDg1ZGJkMDgyYWY3MzUyNjIzZTMzOTMxMDZjOGZhMDY2ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2Uud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHZhbHVl
cyBpbiB0aGUgcmFuZ2UgWzAsIDI1NV0iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdk
YXRhMSA9IGN0eC5nZXRJbWFnZURhdGEoMTAsIDUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YTEuZGF0YVswXSwgMCwgImltZ2RhdGExLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIHZhciBp
bWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEyLmRhdGFbMF0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygwKSsiXCJdIiwgIjI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLmh0bWwKaW5kZXggYjZkNDdh
MjI4ZTc4NmNmNmZiMWNhZjUzMzM4ZjhkOGJiNzI1ZjkxOS4uNjA1ZmQyNGQ1NmQyMTExZWI0ZWUx
YWYwZjllZDZjMGE0ZmQ0YjY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5zb3Vy
Y2UubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUgd2lkdGgg
YW5kIGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1h
Z2VEYXRhKCkgd29ya3Mgd2l0aCBuZWdhdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0LCBhbmQgcmV0dXJu
cyB0b3AtdG8tYm90dG9tIGxlZnQtdG8tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9h
c3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwi
XSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzFdLCAwLCAiaW1nZGF0YTIuZGF0
YVtcIiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMCwg
ImltZ2RhdGEyLmRhdGFbXCIiKygyKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEy
LmRhdGFbM10sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5zb3VyY2UubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggZWQ4M2Vl
NTcwODJkYzZlNjU3ODk4OTk3MDZlNGI5NjRhNjcyM2QxZi4uY2VmMWM0MzBmZTEwZmM2ODI2Nzgy
ZTk4MTEwZjRmODZhNDJiMzFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRp
dmUgd2lkdGggYW5kIGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJp
Z2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBd
LCAwLCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YTIuZGF0YVsxXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjAiKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMikrIlwi
XSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzNdLCAwLCAiaW1nZGF0YTIuZGF0
YVtcIiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lk
ZS5odG1sCmluZGV4IDAxOTBhMWYyMmMzYzVlOTc1YzY5OWUwMGU4ZTAzMzIxZDRiODk2NTUuLjRl
NGVkYThmMWE2ZmZmODM3NWI0MDFmNWFmYmFjM2I2MDMzODAyMTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lk
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuc291cmNl
Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgdHJh
bnNwYXJlbnQgYmxhY2sgb3V0c2lkZSB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0
cmFuc3BhcmVudCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02OSw3ICs3Myw2
IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCswXSwgMCwgImltZ2RhdGE3LmRhdGFb
MjAqNCswXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMV0sIDAsICJp
bWdkYXRhNy5kYXRhWzIwKjQrMV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsy
MCo0KzJdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGE3LmRhdGFbMjAqNCszXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCszXSIsICIwIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUud29ya2VyLmpzCmluZGV4IDBj
YzVmZDRhMjRlMDI4MDFlNTgxZTVmMGJmZDkzMDVkYjJmYjJjZTIuLjc2MzcwMGEwZDk4OGQ2NTU3
MmJiZDhmODhjZDZkZGFmODc2ZDE1NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0cmFuc3Bh
cmVudCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02NSw3ICs2OSw2IEBAIF9h
c3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCswXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCsw
XSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMV0sIDAsICJpbWdkYXRh
Ny5kYXRhWzIwKjQrMV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzJd
LCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3
LmRhdGFbMjAqNCszXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCszXSIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5zb3VyY2Uuc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5zaXplLmh0bWwKaW5kZXggZTk1ZGQ1NTY1ZWJmYzIyMGY4NGY0Njgx
NmU1M2ExZjlkODcxZjllMy4uZTJjM2ExZDg4YzkyNWFiM2Q4ODA0MmQyNmQ0MzZkM2NjNTE2NzZm
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNv
dXJjZS5zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnNvdXJjZS5zaXplLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemU8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LmdldC5zb3VyY2Uuc2l6ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0
dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdl
RGF0YSgpIHJldHVybnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJjZSByZWN0YW5n
bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAsIDEwKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwg
MjAsIDIwKTsKIF9hc3NlcnQoaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aCwgImltZ2Rh
dGEyLndpZHRoID4gaW1nZGF0YTEud2lkdGgiKTsKIF9hc3NlcnQoaW1nZGF0YTIuaGVpZ2h0ID4g
aW1nZGF0YTEuaGVpZ2h0LCAiaW1nZGF0YTIuaGVpZ2h0ID4gaW1nZGF0YTEuaGVpZ2h0Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUud29ya2VyLmpzCmluZGV4IGJiOGMxMDVh
Njg1ODNiYmUzYmZmNzc1ZjRhOWM2OTJjMDlmZjE2ZjEuLjljMzBiMjg0MmFhYjk2YzNhMDI1MDA3
Nzc5YzRkM2IyYmZiY2MxZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZv
ciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGlt
Z2RhdGExID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogdmFyIGltZ2RhdGEyID0g
Y3R4LmdldEltYWdlRGF0YSgwLCAwLCAyMCwgMjApOwogX2Fzc2VydChpbWdkYXRhMi53aWR0aCA+
IGltZ2RhdGExLndpZHRoLCAiaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aCIpOwogX2Fz
c2VydChpbWdkYXRhMi5oZWlnaHQgPiBpbWdkYXRhMS5oZWlnaHQsICJpbWdkYXRhMi5oZWlnaHQg
PiBpbWdkYXRhMS5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC50aW55Lmh0bWwKaW5kZXggYWM5NTYzYjVm
MzFiNWRlMDNiNDlhNTdlZTZkY2YwZmRmNjdjY2M3Zi4uMzcxZTcyOGQ4NmZkYTUyZjg4YTAyYzZh
ZTFlNzg1NjhmMWEzYTk0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnRpbnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQudGlueS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LnRpbnk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC50
aW55PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMg
c21hbGxlciB0aGFuIG9uZSBwaXhlbDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdvcmtzIGZvciBzaXplcyBzbWFs
bGVyIHRoYW4gb25lIHBpeGVsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9
IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMC4wMDAxLCAwLjAwMDEpOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0LCAiaW1nZGF0
YS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEud2lkdGgsIDEsICJpbWdkYXRhLndpZHRoIiwgIjEiKTsKIF9hc3NlcnRT
YW1lKGltZ2RhdGEuaGVpZ2h0LCAxLCAiaW1nZGF0YS5oZWlnaHQiLCAiMSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQudGlueS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQudGlueS53b3JrZXIuanMKaW5kZXggMzE2N2U0NjVkNjlmYjdhYWEzMTVlMzE1OGYxZjRh
MTM5MTU0MWNlNC4uZWE5MTM2ZDJjMDM3NzY1M2U0ODNmNjljOGUwMTgwZThlYzQzMTE2MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC50aW55
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3Mg
Zm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWwiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBA
IHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAwLjAwMDEsIDAuMDAwMSk7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGEubGVuZ3RoLCBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVp
Z2h0KjQsICJpbWdkYXRhLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWln
aHQqNCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS53aWR0aCwgMSwgImltZ2RhdGEud2lkdGgiLCAi
MSIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5oZWlnaHQsIDEsICJpbWdkYXRhLmhlaWdodCIsICIx
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCmluZGV4IGFmZDc1OWI1ZGE1Njg5
ODIyMzU1MTM4MTRhMzg0ZTI3ZjM0NzBmZjguLjBkNGIwNmE1M2ZhZDE2YjcxYmY3M2QzYzg4ZmFj
Y2E3ZjkzMjA5ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmlt
YWdlRGF0YS5nZXQudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRh
KCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBpcyBub3Qg
YWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LnJl
c3RvcmUoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAsIDApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC51bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCAwNDkwNDJmNWQ1ZmY1ZjY2YzUzNmNh
Zjk2ZjEwNmQ5MTlmZTQ2Njc3Li4xN2MzMTAzOTY5ZTMxM2Q4NGMyNjVlMGYxOTdkNzYxZDkzOTc3
NGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
dW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJn
ZXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDcgKzMyLDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
NTAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQuemVyby5odG1sCmluZGV4IDQyZDcxZmM5NjQyNzkyZjkyZjc5YzVk
MmMwMjRjNDg1YzRiNWExY2UuLjNjNDYxMzU4MjIyYTkwODQ1OGUzMmRlZjI0ZTBkZWJjYjNkZmMy
NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56
ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnpl
cm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLmdldC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuemVybzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUg
aXMgemVybzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHpl
cm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMTAp
OyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5n
ZXRJbWFnZURhdGEoMSwgMSwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIu
anMKaW5kZXggNTg4NmI4OGU4NzNiMTUwMjdkNjBmN2I4OWQzODJkNGYyZWE1Y2NkZC4uYTVhOTYz
ZGI2YzFkNDE0ZjJmYTg1NjY5MWM1NGUzYmRhNjdkNGQxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlm
IHNpemUgaXMgemVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwgMCk7IH0pOwogYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgx
LCAxLCAwLCAxMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5jbGFtcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0
LmNsYW1wLmh0bWwKaW5kZXggYjM2NzgyMWMyY2VjNjVlZjA1ODg0M2RkOGEyNzhiMTdhY2NkOGJk
My4uMzUwNjhlZjFjOTA2ZTdjODg2OTVlMDZmNTE1Nzc1OWZkMzk5YmEyMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0
YS5vYmplY3QuY2xhbXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+SW1hZ2VEYXRhLmRhdGEgY2xhbXBzIG51bWJlcnMgdG8gWzAsIDI1NV08L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFn
ZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1
LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIiso
MCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0g
PSBJbmZpbml0eTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5k
YXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53
b3JrZXIuanMKaW5kZXggMDA0MDBiZjQ1NDY4YTZiYzU3OThlYmEyYmI1MWE0OTFiNzRkZmU0YS4u
OWRhNTNlYWQ4ZmEwZTZjYTJkZGUzYmZkMDYyMDQ2N2ViNDBkMDEzYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVt
YmVycyB0byBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDcgKzQxLDYgQEAgX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdk
YXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSBJbmZpbml0eTsKIF9hc3NlcnRT
YW1lKGltZ2RhdGEuZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sCmluZGV4IDMxMjI0YmFhYzk0MzhhYjE0NjMy
ZTgyMTIyM2MyM2Y4NjNjMTczZDIuLmI0NGFiMmIyZGFkMTY5OGRmY2JlYjIzZDgwNTEyZTQ0Yjdh
NWI4NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9i
amVjdC5uYW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QubmFuLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5vYmplY3QubmFuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3QubmFu
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBOYU4gdG8gMDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklt
YWdlRGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJd
IiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9ICJjaGVl
c2UiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIiso
MCkrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW4ud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKaW5kZXgg
ZWY2NjVlNzA2YWM4MWZjNzVlZTIwMTExNGY3ZWJlMjQ5NTAzNjhiZC4uNTk1MDJlZDVhZjJjMTI0
YzU0NTBmN2Q0ZTA2YzZmYTI0OTcyYTQ2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAwIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTksNyArMjMsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRh
dGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEu
ZGF0YVswXSA9ICJjaGVlc2UiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1n
ZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0
aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucHJv
cGVydGllcy5odG1sCmluZGV4IDA0YjliMDJjZWZjNTg4ZmFkY2JmNThjZGMxZjg1YmE2M2RlODIy
MTEuLmE2ZjBjOTc3YTY5NzMxZGVkZTUyYWYzMjYzYTY3NDVkOWZkN2ZlOWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3Bl
cnRpZXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3Qu
cHJvcGVydGllczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0
aGUgcmlnaHQgcHJvcGVydGllczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHByb3Bl
cnRpZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdl
RGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEud2lkdGgpLCAn
bnVtYmVyJywgInR5cGVvZihpbWdkYXRhLndpZHRoKSIsICInbnVtYmVyJyIpOwogX2Fzc2VydFNh
bWUodHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSwgJ251bWJlcicsICJ0eXBlb2YoaW1nZGF0YS5oZWln
aHQpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS5kYXRhKSwgJ29i
amVjdCcsICJ0eXBlb2YoaW1nZGF0YS5kYXRhKSIsICInb2JqZWN0JyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QucHJvcGVydGllcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QucHJvcGVydGllcy53b3JrZXIuanMKaW5kZXggMTA5NGM2NjBmY2IyYmE3
NzIxYjFiYjRkZjJhZmY3ZjU1ZTc4YWNjMS4uZjgyNDFjZWRkYWRkODZkYzQwYmExNDgwYjE0N2Qy
NWNlMWM5NGRlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LnByb3BlcnRpZXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgcHJvcGVydGllcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS53aWR0aCksICdudW1iZXIn
LCAidHlwZW9mKGltZ2RhdGEud2lkdGgpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBl
b2YoaW1nZGF0YS5oZWlnaHQpLCAnbnVtYmVyJywgInR5cGVvZihpbWdkYXRhLmhlaWdodCkiLCAi
J251bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihpbWdkYXRhLmRhdGEpLCAnb2JqZWN0Jywg
InR5cGVvZihpbWdkYXRhLmRhdGEpIiwgIidvYmplY3QnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5y
ZWFkb25seS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0
LnJlYWRvbmx5Lmh0bWwKaW5kZXggN2FkM2I2YjFhN2NmOThhOTgzYTEwMDUxMWEwZjc2ZmM2ZWIx
YWUxMy4uYzU2YmU1YmJiM2NmMWE1OTY2M2ZiMDY1NTZkOGZlYzUzYzlmMTA1YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRv
bmx5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFk
b25seTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGllcyBh
cmUgcmVhZC1vbmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJp
bWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVsxXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzJdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMikrIlwiXSIsICIwIik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbM10sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJd
IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS53b3JrZXIuanMKaW5k
ZXggNzcwZGY4OTgwODNlZjc3ODI3ODYzMzFkMTI1NmZmZTQwYzRmNjA1ZS4uMmJiNmQxZjEzMzc4
NGU0NDAwMmM2NTAyYTVjMmVlMDAyMjFkMWMzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFy
ZSByZWFkLW9ubHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhWzFdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSIsICIwIik7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMl0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsi
XCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVszXSwgMCwgImltZ2RhdGEuZGF0
YVtcIiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCmluZGV4
IGNiYjc1MTlhNjFhNDc3MjkzNWVjNWUzNWVkMjBiYzEzN2YwZmQwZDIuLjM5MDFmYWM3ZjlhMmFj
N2M3MDFkYzUyN2YxZWYwMTI4OGJlNGFmZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdl
RGF0YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8temVybzwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRh
IHJvdW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8temVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ1LDcgKzQ5LDYg
QEAgaW1nZGF0YS5kYXRhWzBdID0gLTAuNTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwg
MCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0g
LTEuNTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLndvcmtlci5qcwpp
bmRleCA2OTI0ZTZjMTE0ZDgyOGEwYzU1MGU2NWFkYjhjMzM2MGJmNTZjOTI2Li4xZjc2YWJiMTE5
ZmNjNzYxZGFhZWIzZDAyYTZlZDIxODA1MDkzZTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGgg
cm91bmQtdG8temVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1LDYgQEAgaW1nZGF0YS5kYXRhWzBdID0g
LTAuNTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gLTEuNTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3Quc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3Quc2V0Lmh0bWwKaW5kZXggZjM5MjQwZTcyNzViODNiZWM4OTE3ZjdmNDA0ODIx
MTMxNTZhM2NiNy4uYWFkNzdkZjE1YTg4OGJmNzJkMDEyOTRkYzg1NzUyNGIxMDU3ZjRlNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLm9iamVjdC5zZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRh
IGNhbiBiZSBtb2RpZmllZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgaW1nZGF0YS5kYXRhWzBd
ID0gMTAwOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMDAsICJpbWdkYXRhLmRhdGFb
XCIiKygwKSsiXCJdIiwgIjEwMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMjAwOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhWzBdLCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjIw
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCmluZGV4IDZhYjZmZTE2ZThk
ZjYyMGZmNzY1ZTY0MTZhZWU5YjQ2YTdkZTBiY2QuLjhlYjU0MzgxMjQzODRlN2Y1OGNlODg0YzBk
Y2E0OTFlOTYwNzAyMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJJbWFnZURhdGEuZGF0YSBjYW4gYmUgbW9kaWZpZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMTAw
LCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMDAiKTsKIGltZ2RhdGEuZGF0YVswXSA9
IDIwMDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMjAwLCAiaW1nZGF0YS5kYXRhW1wi
IisoMCkrIlwiXSIsICIyMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sCmluZGV4
IDdkOTQ0ZDAwM2MxYzcyYmRiZjY2MGJlYTRhMTQxZWEwMTEwMDk3ZDcuLmE4NTAyODc1MGVkZGYy
N2E5N2VmYzRkNjA1ODIxMGZlMzVjZjVkMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5n
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5J
bWFnZURhdGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJlcjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklt
YWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVtYmVyIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDEyMCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAx
MDA7CiBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5k
YXRhWzBdLCAxMzAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEzMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3Quc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzCmluZGV4IDQxYTM4Mzk1MjU3OWZkNTU2
ZDE0MDk4NWRmMmE0NWY4NThmNDZlNGQuLmRlOGIyMTI4ZTlhMzE5Y2Y4YzU1OTgyZmQ0OGRjNzk4
MGM5Njk2NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC5zdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJJbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJl
ciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAx
MjAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEyMCIpOwogaW1nZGF0YS5kYXRhWzBd
ID0gMTAwOwogaW1nZGF0YS5kYXRhWzBdID0gIiArMTMwZTAgIjsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEuZGF0YVswXSwgMTMwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMzAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sCmluZGV4IDgxYzI5NTlhMGI1ZWE2NzAy
NTRmZTZjNDQwYmIxOWJlMzk4MTk4NWIuLjY1ODU4ZTZkZDMwOGFkZDY3NmM2YWMwNTU3YjJiMGIz
OGM4NGVjZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC51bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURh
dGEuZGF0YSBjb252ZXJ0cyB1bmRlZmluZWQgdG8gMDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHVu
ZGVmaW5lZCB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5n
ZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2Rh
dGEuZGF0YVswXSA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QudW5k
ZWZpbmVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9i
amVjdC51bmRlZmluZWQud29ya2VyLmpzCmluZGV4IGJjZGVkMzNkZDgyNDc3MWVkOWY4ZmNjNDg3
MjhiODM3M2NhZTNhMmMuLmZhZjhiNDU3MjVjYjhkMzBlNGE3YmZlODYwYmQ2MTRjMWUyOWMzZDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC51
bmRlZmluZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLm9iamVjdC51bmRlZmluZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJ
bWFnZURhdGEuZGF0YSBjb252ZXJ0cyB1bmRlZmluZWQgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIw
LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBpbWdk
YXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7CiBfYXNzZXJ0
U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuYWxwaGEuaHRtbAppbmRleCA1MjM2NzE3ZTViYzg5YWM2YTgwM2I5OTVl
ZGJiYzEyZGI5NmMyOGY2Li5kNzc3MWRiZWZlNTU4NzdjYzcxNWRkZGIzZDUzN2E4NGEwMjY4Y2Vj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxw
aGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxw
aGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLnB1dC5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmFscGhhPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNv
cnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGltYWdlIGRhdGEgY29ycmVjdGx5
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNjQsICI1
MCwyNSIsICIwLDI1NSwwLDY0IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpz
CmluZGV4IGExMDIwZmQ4Yjg2OTRmZDYyYmVjMzg2NTE3MDU3NzAxMjE2ODcxNzIuLjFhZDdmNjI0
N2E4MTA0Mjg1YjViNTNmNjk5ZTNlZDNmOGQzNWNjMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBub24tc29saWQgaW1hZ2UgZGF0
YSBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0
YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCw2NCwgIjUwLDI1IiwgIjAsMjU1LDAsNjQiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2lj
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRt
bAppbmRleCA5MTIzNDYwYzIzZmEyODRkNzAyM2Y0N2I3ZWViZDVhZTFiZjM3ZWNjLi5mYzMxZjg5
YTAyMmQyMTFmMTVlMGM5ZmU3MGVmYTFhZmQ0ZjUyZDQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5pbWFnZURhdGEucHV0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURh
dGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJw
dXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRo
ZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2lj
Lndvcmtlci5qcwppbmRleCAzOTU5MzQ4YjkzNWFmOThjNTVhMTc4ODcxY2M5MDliYzBmN2VjMDBm
Li5jMjA4ZGY5ODBjMDg4YzE4NjEyOTE3YTg0MWM5ZGQyMmJjNzNkZmE1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0
YSBmcm9tIGdldEltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIz
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuY2xpcC5odG1sCmluZGV4IDNkZjY1ZTAwNTMwZTlhNzQwYzU5Mjdi
YTUzZjRjMWJjNDBjNTdmZGMuLmFiNDNkYjBkYWU5NDk1NGIxODkyYWYzM2QyODhmOTNlMGJhYWE5
NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5j
bGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNs
aXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLnB1dC5jbGlwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY2xpcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJl
Z2lvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1n
ZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAud29ya2VyLmpzCmluZGV4IGUwMzhlNDFl
ZmVjY2EzZDZlNzA5YTVlMWQxMGY5NzFiZTU1YjgwNTYuLmJiNjY5NzBkMWZmZjNjYWJhZmYyOGZi
YThjNDdhZGU1ZDBkOTMxYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjMsNyArMjcsNiBAQCBjdHguY2xpcCgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRh
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQuaHRtbAppbmRleCA3ZjU1ZjE3NTJmY2EzNjNj
NTk2OGIzM2M1NDcwZjdmZmU2OGZlZjY0Li5lNzAxNDIzYWIzZTY2YjM2NjgxYmI4NWUyMjg3N2Zm
NzBhYzUxMWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQuY3JlYXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5jcmVhdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0
LmNyZWF0ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2Ug
ZGF0YSBmcm9tIGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgp
IHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtl
ci5qcwppbmRleCBhZWRlODUxYzQ4NzM0MmE1ZWI4ZGE0Zjk0ZWQyM2VlOTAwMGM4YmY0Li44ZGQ3
MDk0YTEyN2E0ZDBmOTc2ODAyNjRmNzJmYmRlM2RkNTg4YjdjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEg
ZnJvbSBjcmVhdGVJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsy
Nyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5jcm9zcy5odG1sCmluZGV4IGE3YWY1ZjI5ZjZmYjg2ZmExNDgz
ZmU4MGQwNWE4YmZkOWZmMjkxYTEuLmU5OWU5NzgxZWYwMGIyNmE4ZTk2ZmMxZjU3MzE4ZGUxYjdh
ZDYwMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcm9zcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcm9zcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5pbWFnZURhdGEucHV0LmNyb3NzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY3Jvc3M8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3Qg
ZnJvbSBhIGRpZmZlcmVudCBjYW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRhdGEg
Z290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0
SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LmNyb3NzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jcm9zcy53b3JrZXIuanMKaW5kZXggZDgxMTU2MDY4YTkxZTAwZGIzMzQ0
ZDVmMDEyZWUzZDRiMDczNzhjNi4uMzlkYzkyZGJiNDBjOWM2ODRlODMxOTZmOTU5ZDAzNGY3NThl
NDZjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmNyb3NzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQuY3Jvc3Mud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURh
dGEoKSBhY2NlcHRzIGltYWdlIGRhdGEgZ290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUu
aHRtbAppbmRleCAzYjVmNDM3ZTQ0MTZmZmQ1NDgyOTY2ZjI3NjIyNjM4ZGNmNTZmODNlLi43NjJm
NGJhNTYzZWFmMzVmM2E1NjQyOWYxODcwYzk5YWUwZjIyNjI4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5l
Z2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0
aXZlLXNpemVkIGRpcnR5IHJlY3RhbmdsZXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxl
cyBuZWdhdGl2ZS1zaXplZCBkaXJ0eSByZWN0YW5nbGVzIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMx
LDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAs
MjU1LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSww
LDI1NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLndvcmtlci5qcwpp
bmRleCA0NjBlNzk3NzE0MDY2N2Y2YWFiZDkzMGJjODg1ODdjNTI2OTE3M2NlLi5jYjllNDAyMWU2
MTU3MWFhMTAwYzZiMGY5Y2M2MDBiMGFlYjAyOTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMg
bmVnYXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3
ICszMSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1
NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwy
NTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwKaW5kZXggMWFkYTg1YmRl
YzFiYTBlNzg3ODgyMjgzNTY3ZTUwYTdmNjVhMjc4ZC4uYTFjNDViOTVmZmY1MWUwOWVlNmY3YjYy
OThjY2RjMmVmODlkZDQxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNp
ZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5wdXRJbWFnZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUg
Y2FudmFzIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBv
dXRzaWRlIHRoZSBjYW52YXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0NSwgMCwyNTUsMCwyNTUsICI5OCw0
NSIsICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDUsIDAsMjU1LDAsMjU1LCAiMSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDUsIDAs
MjU1LDAsMjU1LCAiMSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGly
dHkub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQuZGlydHkub3V0c2lkZS53b3JrZXIuanMKaW5kZXggN2ExOTRmOWMxNWNkMTM1NmI3OGEw
NGExODhjOTEwZmY0NTZkZmM1OS4uODdjZTIxYjQyY2Y4ZGZmNjM1NGNkZDBkZmU3YTI4ZjQ5MmU3
ODc3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmRpcnR5Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBkaXJ0eSByZWN0YW5nbGVzIG91dHNpZGUgdGhl
IGNhbnZhcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ1LCAwLDI1NSwwLDI1NSwgIjk4LDQ1IiwgIjAsMjU1
LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNSwgMCwyNTUs
MCwyNTUsICIxLDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0NSwgMCwyNTUsMCwyNTUs
ICIxLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3Qx
Lmh0bWwKaW5kZXggNWUxMzJkNjkzY2E4Y2IyZjhiMmYxN2MxMWUxMGY5NzcyMmY4NGRiNC4uZjVm
OTNmNWM2ZmQyMWYzMWE3YWQzY2Y5NjcwMmIwYzZiNThhMjk4OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0
YS5wdXQuZGlydHkucmVjdDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNp
ZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lkdGggYW5kIGhlaWdodDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5n
IHdpZHRoIGFuZCBoZWlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1
LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1
NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1
LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5yZWN0MS53b3JrZXIuanMKaW5kZXggN2Q5Y2E0NjVmM2UxYjY1MjYyNTc5ZTJjNWQ0
MzMzZmU1ODVkN2Q4YS4uMTRjYTQ4NWQ0YTE5ZTgyNWYyMzNjNGY5NjM0NzgzZGY0NzU5MDYxYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQuZGlydHkucmVjdDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJ
bWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xl
LCB1c2luZyB3aWR0aCBhbmQgaGVpZ2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIs
ICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwy
NSwgMCwyNTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1
LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5yZWN0Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LmRpcnR5LnJlY3QyLmh0bWwKaW5kZXggOTYwNTZkMTkwODM2YzkwYjA3YmY1ZjRhMjAzY2U0
N2I4MGYyMDBhOC4uMWZlNzJiODg3Y2QxNDEzM2Y4MGNkZDBiODEwNTgwMzhiZTVmMzZmOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJl
Y3QyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRp
cnR5LnJlY3QyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0MjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgb25seSBtb2Rp
ZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgeCBhbmQgeTwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dElt
YWdlRGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUs
IHVzaW5nIHggYW5kIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAs
MjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSww
LDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAs
MjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJl
Y3QyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0Mi53b3JrZXIuanMKaW5kZXggNTI0YTZkNzc2OWQ5NWJmNTU5NGFhZjI0OGI2M2Qw
Yzc4MTgyNDAwNC4uZGM4ZjA3ZGQ1YmRiMGU4Yjg1YTAyZGNkMjM1ODZlNjg2ZjhkZjhmOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJl
Y3QyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuZGlydHkucmVjdDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFn
ZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1
c2luZyB4IGFuZCB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1
NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwy
NTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1
NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJv
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVy
by5odG1sCmluZGV4IGMxN2RmOTJkZTRiM2NkYWFiODdjODcwZDg5YTE4ZDJkZWQ1MjkyMDYuLjlj
MGVjYzU5MTA3NzI0MWQ3ZTZiZGQxM2RlZTM2YjM3MmY3OWQ4OTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRh
LnB1dC5kaXJ0eS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVybzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgd2l0aCB6ZXJvLXNpemVkIGRpcnR5IHJlY3Rh
bmdsZSBwdXRzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVj
dGFuZ2xlIHB1dHMgbm90aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCAwLCAwLCAwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcwppbmRleCBlOWJiNGFj
NjBiMzZiOTM5ZTM0YzdiNTRhZTQ4YzNiMDI1YzUyZmE0Li5mNGE2MzlhMTVmYTg0Yjk5YjQzODk4
MWEyNzE4NmIyZWQ1OWQwNDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuZGlydHkuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFu
Z2xlIHB1dHMgbm90aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShp
bWdkYXRhLCAwLCAwLCAwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0Lm1vZGlmaWVkLmh0bWwKaW5kZXggZGRmZTYzNGYxYjIzYTAyOWEzYmM3MTQw
N2M4OTA5MGU0ZGVlYTc5MC4uMWIwNzBiZTA3MzU4ODZhZmEyNmM5NTU2ODE5Yjg1YWEwMTYyYWM0
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1v
ZGlmaWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
Lm1vZGlmaWVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5tb2Rp
ZmllZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBp
bWFnZSBkYXRhIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbW9kaWZpZWQgaW1hZ2UgZGF0
YSBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAodmFyIGkgPSAwLCBsZW4g
PSBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7IGkgPCBsZW47IGkgKz0gNCkKIH0KIGN0
eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNDUsIDIwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQud29ya2VyLmpzCmluZGV4IGQyMjU4OGRj
YTZhMjc5M2E0ZDcxNGY4ZDU2MGYwODIxMjJjNmEwMWUuLmU4MTQ0MjIwZDE2NjMzY2UyNTZhMWE3
NWNjMjc0NTFhZjNiMDA4MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNvcnJlY3Rs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGltZ2RhdGEu
d2lkdGgqaW1nZGF0YS5oZWlnaHQqNDsgaSA8IGxlbjsgaSArPSA0KQogfQogY3R4LnB1dEltYWdl
RGF0YShpbWdkYXRhLCA0NSwgMjApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGQyZjE3NGFmMGJiOTZjOGIxYTIyZDM2Mzli
NWRhYzExZGUyY2M4OTkuLjk1MTk2OTFiOTkxZjdhNzhjYzBkMDA3ZmQ4MTIzOWYyOGYxNWU5MDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25m
aW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
bm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQubm9u
ZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVy
cm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHRocm93cyBUeXBl
RXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTksNyArMTAzLDYg
QEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1h
Z2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwg
SW5maW5pdHksIDEwLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIDEw
LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRl
Lndvcmtlci5qcwppbmRleCA1YmEzOWQ2YjI4ZDg1Nzk3ZjI3ZmNkZWM3YzExZTJiMWQ4ZTRiN2Iw
Li45N2I4MWQ3MWVhY2NhYTVmZWE4MDYwNzk1MzE5MzM5OWIyNWM5YzYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgdGhyb3dz
IFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05NSw3ICs5
OSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1
dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwg
MTAsIEluZmluaXR5LCAxMCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEw
LCAxMCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC5odG1sCmluZGV4
IGEwZjcwMTcxMTg2YjU0MGE4MzYxZDcwZWVlMTEzOWU5ZTVjMDEzZGIuLmYzNmY5M2VlZGRkMTli
MzkxZjc1NmU5NDNmMjdiYmFiNzRkOTgxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5udWxsPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5wdXQubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgd2l0aCBu
dWxsIGltYWdlZGF0YSB0aHJvd3MgVHlwZUVycm9yPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggbnVsbCBp
bWFnZWRhdGEgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKG51bGwsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0Lm51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0Lm51bGwud29ya2VyLmpzCmluZGV4IDI1MzUwOGZjOTFiOGFmYTgwYzNhYzE1MWI5MzViMmRi
ZWNkZGUyNTkuLmU3YzRiM2JjMDExOGJiNGM4OTkxMDEwYWU5Y2Q2YzYyNjc1ODEwZWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC53
b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIG51
bGwgaW1hZ2VkYXRhIHRocm93cyBUeXBlRXJyb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShudWxsLCAwLCAwKTsgfSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLnB1dC5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQucGF0aC5odG1sCmluZGV4IDQ3YWUyMGEyOTk2NDkxZjU0YTUxNzhhMTQ5NmM1NjhiYTZkNDk2
YTUuLjE2MzU3Njc4YTdmOTVhMzQwNWYyMjkyMWY1NDI4NGQwNjc3OGYxZTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5w
YXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0
SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LnBhdGgud29ya2VyLmpzCmluZGV4IGMyZWYxNDUxY2Y5MThjYjJlNzJjNDJkMzZlNzAwZTc5
M2FkNGQ4OWMuLjA3ZDNhOGE3ZmVjZWIwYmIwMmM3MzY0MmY2ZWZiNDJkODc5NWFjNmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQucGF0aC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucHV0
SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZm
ZWN0ZWQuaHRtbAppbmRleCAzZjgwNzA5YzZhODE5YWFjMjA5ZDJlYTRlYTBlNDRjOGYyNmE3ODEx
Li42YTMxNzBkZGI4YjlkOTEzZmM0NzBkOGM2OGZkZjUwYzQxYzIwNzhkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5wdXQudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250
ZXh0IHN0YXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC50cmFuc2xhdGUoMTAwLCA1MCk7CiBjdHguc2Nh
bGUoMC4xLCAwLjEpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLndvcmtl
ci5qcwppbmRleCAyM2U0Y2VhMWVlZWMyNTQ2MzZiYTg3MWJhZjNjMzYyZDA3Zjc1NGY5Li5lNzE0
ZjQxODM4NmQ4NjZkZDY1NWY2OWQxOWM3Y2IxMGRkZTYzNWQ0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZm
ZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnRyYW5z
bGF0ZSgxMDAsIDUwKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHgucHV0SW1hZ2VEYXRhKGlt
Z2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LnVuY2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LnVuY2hhbmdlZC5odG1sCmluZGV4IDcyNjQwYmZiMmQ3ODAxYjRmZDYzODY5MDljYTU5YWJiYTdj
Yjg2ODIuLjJkMDg1NDI1NTA2NzJjNTFjM2RhYmEyZDIxM2RlZjA1NDQyYzNlZmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2Vk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmlt
YWdlRGF0YS5wdXQudW5jaGFuZ2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoZ2V0SW1hZ2VEYXRhKC4uLiksIC4uLikg
aGFzIG5vIGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8g
ZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1h
Z2VEYXRhKDAuMSwgMC4yLCAxNS44LCAxNS45KTsKIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0
YTIuZGF0YS5sZW5ndGg7ICsraSkgewogICAgIF9hc3NlcnRTYW1lKG9sZGRhdGFbaV0sIGltZ2Rh
dGEyLmRhdGFbaV0sICJvbGRkYXRhW1wiIisoaSkrIlwiXSIsICJpbWdkYXRhMi5kYXRhW1wiIiso
aSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCmlu
ZGV4IDQxOGU0NmNjZjg3ZDhjOTliNzZhOTVlYjgzNDZkODkzYmU1MmQ2OGUuLjBhZjkwNTgzMmU2
MDViMDg1Mzc5MmE4YzYwNDU2NDA3YmYyOWU1N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoZ2V0SW1hZ2VEYXRhKC4uLiksIC4u
LikgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgdmFyIGltZ2RhdGEyID0g
Y3R4LmdldEltYWdlRGF0YSgwLjEsIDAuMiwgMTUuOCwgMTUuOSk7CiBmb3IgKHZhciBpID0gMDsg
aSA8IGltZ2RhdGEyLmRhdGEubGVuZ3RoOyArK2kpIHsKICAgICBfYXNzZXJ0U2FtZShvbGRkYXRh
W2ldLCBpbWdkYXRhMi5kYXRhW2ldLCAib2xkZGF0YVtcIiIrKGkpKyJcIl0iLCAiaW1nZGF0YTIu
ZGF0YVtcIiIrKGkpKyJcIl0iKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sCmlu
ZGV4IDFhMzE4NzlmMDY5OTYyNTE4YjQ2YmExYWNmZTJjY2ViZjE3OTBhMzguLjkwNzAwNTUyMzcx
ZDM0MzViNGJlZDIwMGQ1YWZjNTA4ZDExOGY1OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQud3Jvbmd0
eXBlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5wdXRJbWFnZURhdGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0
SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWNjZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGEgPSB7IHdpZHRoOiAxLCBoZWlnaHQ6IDEsIGRh
dGE6IFsyNTUsIDAsIDAsIDI1NV0gfTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsgfSk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoImNo
ZWVzZSIsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlv
bigpIHsgY3R4LnB1dEltYWdlRGF0YSg0MiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jv
bmd0eXBlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC53cm9uZ3R5cGUud29ya2VyLmpzCmluZGV4IDE4ZDczN2M3MDcyMTdhZWZiY2EwYjhlNzMzNjVm
MDc3M2UyYmQ1ODkuLjkzZGMzM2MwNzk1NWNmYjhlNWVlYjg3YzJhZWRmZDg0MThiYmE3N2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5
cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC53cm9uZ3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURh
dGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYs
NyArMjAsNiBAQCB2YXIgaW1nZGF0YSA9IHsgd2lkdGg6IDEsIGhlaWdodDogMSwgZGF0YTogWzI1
NSwgMCwgMCwgMjU1XSB9OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YSgiY2hlZXNlIiwg
MCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHgucHV0SW1hZ2VEYXRhKDQyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuMS5odG1sCmluZGV4IGMyMjNlMjUwOTBhMmRiNWZiNThkM2QxOGJlODk0
MTlkMjUzMjA3N2EuLjRhODk2OTM0YjI1MjdkNjZjMWM2MmMxMzI4NzBmNjNhMjA2NDQyMzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmFscGhhLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhh
LjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBh
cmUgdXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMjU1LCAwLCAwLCAwLjAxKSc7
CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDQpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMKaW5kZXggOTg1MjAzM2VlZDcwY2ZhYzZlNGI4
OGM1Y2JhOGY2NmNhYzdkYmJiYy4uNmRiNzQzMjU1ZmFmZDZhZDUxNzA3NjMwY2FlMGExZGJkMTZk
NWE2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAs
IDAuMDEpJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgNCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1sCmluZGV4IDUzZGQwMTUyMzBjMjU2YjJhOTM4Mjkx
OWYyNDk0ZmZhY2I3Y2YwZjEuLjdkZjBlYjU0MTJiOWMwMmQ5YTdhYzRhZDYwYWNhOGY4OGI5NjZh
NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LmFscGhhLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9u
ZW50cyBhcmUgdXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMCwgMCwgMjU1LCAw
LjUpJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwx
MjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMKaW5kZXggNDkxMzk3YThhMWFi
NjhkZWE5YjdiMGVlZTU3MjIwMWMzNTFjNWMzMi4uNDdjNWNiOTM1ZjRiZjBmMWQ1M2U5NzAzMjNh
NDk0YTJjYmRlYjdhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFy
ZSB1c2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgw
LCAwLCAyNTUsIDAuNSknOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy5odG1sCmluZGV4IDVjYWM2NGQ4ZGQ2
ODdhMzdiMzljNmYzNjhjNWY0NmNiY2I3OWI4ZTUuLjJkOTA5ZjZlYmE2M2M2ZDY4MjE3ODg1ZTRl
MTE5YTIzMWU3OWNlMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc2hhZG93LmFscGhhLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGFm
ZmVjdGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xv
YmFsQWxwaGEgPSAwLjU7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUi
LCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYWxwaGEuMy53b3JrZXIuanMKaW5kZXggZjMwY2JhMjAxNDcyM2EyMmFjYTJmNDIwZDRl
YWIyN2RlNjljMzI0Mi4uYmJiYTVlNzU0MmQxN2MzZTA3NWQyODJhZDFhMWYzMjQ3NzI5YzQ4NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEgPSAw
LjU7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQuaHRt
bAppbmRleCBlN2FhZDRmM2UwOGM0ZWVlZjNhZDYxZjI0MTNiYjgwMTFiODNhMmU1Li42ZTM4MDgx
N2FjODNlZTdlOGM4YjVhNjg4ZmE5YjdmMThlYzc1NzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYWxwaGEuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBo
YS40Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnNoYWRvdy5hbHBoYS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hbHBoYS40PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgY29ycmVjdGx5IGFmZmVjdGVk
IGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiU2hhZG93cyB3aXRoIGFscGhhIGNvbXBvbmVudHMgYXJlIGNvcnJlY3Rs
eSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNo
YWRvd09mZnNldFkgPSA1MDsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuNzA3OwogY3R4LmZpbGxSZWN0
KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQud29ya2VyLmpzCmluZGV4
IDFjMWI2MTllY2NjYjExNDhmOWNkNTc3NWY5ZTdkN2YxOTEzNjJjNzQuLjgzOGZiNWJmMmMwMzIx
YTdkNDI2MDM5NWI0NDg3OTJkOTIwMWNjZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hbHBoYS40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEu
NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgd2l0aCBhbHBoYSBj
b21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEg
PSAwLjcwNzsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcs
MCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEu
NS5odG1sCmluZGV4IGRiMzFmNzExOWFiMzhhMTVmMjFiYzQ2OTE1NmQwOTczNTNhNTAzNTMuLmU0
NjVkM2RhZmQyMzJkOGIzNzlmZDE1OGI1ZGJiNjQxNTA2MzY2MzIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmFscGhhLjUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LmFscGhhLjU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNoYWRvd3Mgb2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgZHJh
d24gY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBk
cmF3biBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9
ICcjMDBmJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcs
MCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIuanMKaW5kZXggZGQ3Njk5ZmJl
MjE5ZWY5MzZmN2QxYWY2ZTliNjQwNDJkODI4YzU0ZS4uNzQ3YWJhNzExMjdmODBkMTgwZWFmMzcy
YTZiY2FhYWNiN2U2YjMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhh
LjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBj
b21wb25lbnRzIGFyZSBkcmF3biBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCmluZGV4IDI5MGZmYmJlOGY2NmRlNTRk
OGZmNzc2NjU5NThkYjNmNjYzNmM5ZDIuLmExNmY5OWY0YmFjYmE2N2JmY2E4OGRjNmE3N2E1NWFi
MjZiZGJiZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0JsdXIuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWw8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwgImN0eC5zaGFkb3dCbHVy
IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC53b3JrZXIuanMKaW5k
ZXggMDQwNmU1ZjljN2I0MmQzOWZlN2ViZjZkNmU1NmZjMzE3ZTVmMzVjNS4uNWE2NDMyMzQzNDc5
MGI4Y2E5N2UyMjdjZDZkNDhhODgyM2NmMmZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwg
ImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRt
bAppbmRleCAxMDhjMGQwZGE0MDk3YjZkN2NhODFjZDVlOGVmYWE3NzUwYTczMTg4Li4xMGNmOTcx
Zjc0MmJlOTc0MzBjMTNkYTQzZmM0YmNhYTQ0ZWE5OTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0JsdXIuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIs
NiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEi
KTsKIGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogX2Fzc2VydFNh
bWUoY3R4LnNoYWRvd0JsdXIsIDEsICJjdHguc2hhZG93Qmx1ciIsICIxIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmludmFsaWQud29ya2VyLmpzCmluZGV4IGQ0ZTM3YTFjY2RhNGIxOWZk
NWQ3N2IyMGY3MDU0ZGEzZmFjZWUxZWQuLmYwOTQ3NzRlMTE5NWI1OGQ0MzFjYWM2ODhmMjFiZDJl
NTNlMGJiOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0
dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1
ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsKIGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5z
aGFkb3dCbHVyID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDEsICJjdHguc2hh
ZG93Qmx1ciIsICIxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbAppbmRleCA0NWE4
Mzk1Yzg1NDgyYThhZjJkNTMxZjZiZjNkZjljZTI0NzAzMzUxLi5kZjM4Nzc2M2MzOGNjNjg4Njlj
Y2JlYmI1NmFiZTFjNDlhZDY4NWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVy
LnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd0JsdXIg
PSAxZTY7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMWU2LCAiY3R4LnNoYWRvd0JsdXIi
LCAiMWU2Iik7CiBjdHguc2hhZG93Qmx1ciA9IDA7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1
ciwgMCwgImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZh
bGlkLndvcmtlci5qcwppbmRleCBhYWRhNjA4MjRkZTAwMTQ5ZmE5ZTA4YWZlYTAxODdhOWIxZjE4
NTVhLi42M2U5MDk5ZGI3NmU4ZTBkYTljYTliMWJmZDBmNDc5MDE5ZGE5ODJjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZh
bGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHguc2hhZG93Qmx1ciA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVy
LCAxZTYsICJjdHguc2hhZG93Qmx1ciIsICIxZTYiKTsKIGN0eC5zaGFkb3dCbHVyID0gMDsKIF9h
c3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLmh0bWwKaW5kZXggODNjNzYyOGRmOTlmNGZlZTcx
MTAyOTM3M2U0MTI0YzEzMzhkNzEzMi4uMWJmYzNlNWM2NzBhOTZhNmQ4MDU0M2RlNzMwODgyNDdi
ODJiN2EyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Q29sb3IuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlh
bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICdyZ2JhKDAsIDAsIDAs
IDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93Q29sb3IuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwppbmRleCA1ZTEzYjliMzU3NTdm
MzQzZGE1OTVjNzA5NDlhNmQxNDg1ZDQzZDg5Li5iZmVhYWMwMTE2NDA3YTAzYjY5NTk1ODQ1ZGZl
ODNmNWQ1YjU5YTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdiYSgwLCAwLCAwLCAw
KScsICJjdHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0NvbG9yLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0NvbG9yLmludmFsaWQuaHRtbAppbmRleCBiNGQ2NjFkZjgzNzliY2Q2NDM0ZDA3OTdh
ODMxM2YzMmUxZWY3NWVkLi5jNDI5ZWVlYmRiOWY3MjYxNDhlNGFhNGQ3MDVmNDE3YzQzY2FhZmY1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xv
ci5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Q29sb3IuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0Nv
bG9yLCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7CiBjdHguc2hh
ZG93Q29sb3IgPSAnIzAwZmYwMCc7CiBjdHguc2hhZG93Q29sb3IgPSB1bmRlZmluZWQ7CiBfYXNz
ZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICIn
IzAwZmYwMCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5q
cwppbmRleCBhYWQyM2JkNzliNjJiMWVjMWNjZWRkODZiZDIyNGMwNGJjNWQ0MDIyLi5kMTFlMGZi
OTJlMjc4ZjBhOTE3YjhjZDM0ZTM0YjE0YWI4OTFkMTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xv
ciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmZjAwJzsKIGN0eC5zaGFk
b3dDb2xvciA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJyMwMGZm
MDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xv
ci52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29s
b3IudmFsaWQuaHRtbAppbmRleCAzMThhNGVjODhjZDRkOTMzMmRjZTBiYmNkY2I3NDU1NmQyZTdm
ZGZiLi5lODkyZjRiMGJjNTM0MTA4M2Q3ZTIyNGM2MzU2MWVhN2U5OWMzZDI2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0NvbG9yLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICdsaW1lJzsKIF9hc3NlcnRTYW1lKGN0eC5z
aGFkb3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwog
Y3R4LnNoYWRvd0NvbG9yID0gJ1JHQkEoMCwyNTUsIDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LnNo
YWRvd0NvbG9yLCAncmdiYSgwLCAyNTUsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdi
YSgwLCAyNTUsIDAsIDApJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3Jr
ZXIuanMKaW5kZXggYjVhNzExZmE5YTA0MWU1NWU3YWFiOGMyY2UzNmE4NTQxMjQ3MDRlNy4uNGI2
NjQ0Njc3NDU4ZjBjNmQ3MzYzYzhiNWU1ZTE3YTNhYmQ1Y2Y0OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBA
QCBjdHguc2hhZG93Q29sb3IgPSAnbGltZSc7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3Is
ICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dD
b2xvciA9ICdSR0JBKDAsMjU1LCAwLDApJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwg
J3JnYmEoMCwgMjU1LCAwLCAwKScsICJjdHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMjU1LCAw
LCAwKSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLmh0bWwKaW5kZXggN2Vm
ZDQ1ZTA4ZjA2ZDlkNThiZTU5NWZlZDdlYTJmOGU2NzMyYjg0Mi4uNDNiMjY5YWQzNWRhYWNlMWEy
NzlmMTJlMTg1NGVlNWY2NzgwMzIyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZz
ZXQuaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRT
YW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAwLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMCIpOwogX2Fz
c2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFksIDAsICJjdHguc2hhZG93T2Zmc2V0WSIsICIwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcwppbmRleCAw
OGUyYmY0MDliNWU2OTAzZDZjNmU0ODQ3MjY4ZmU1OTdjMDFkMmUzLi5kMzFjYmE0ZmRjMWY5Njgx
MDc0NTQzNTcxOTU1MjEyNzkzMmI3M2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4
LnNoYWRvd09mZnNldFgsIDAsICJjdHguc2hhZG93T2Zmc2V0WCIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShjdHguc2hhZG93T2Zmc2V0WSwgMCwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLmh0bWwKaW5kZXggOGRiMGNkNTU2Zjk4OGM0NGJk
NjJmNGU4NzhlMDU5YzQyMjU2ZThlNS4uMTc2NmZlMGEwMmM5MDg1YWI5MTFhM2JjOTExZjRkMmQ2
Y2JjNGVjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93T2Zmc2V0LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52
YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBjdHguc2hhZG93T2Zm
c2V0WCA9IE5hTjsKIGN0eC5zaGFkb3dPZmZzZXRZID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNo
YWRvd09mZnNldFgsIDEsICJjdHguc2hhZG93T2Zmc2V0WCIsICIxIik7CiBfYXNzZXJ0U2FtZShj
dHguc2hhZG93T2Zmc2V0WSwgMiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjIiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0
dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzCmluZGV4IDJiMDJlOTQ2Yjlm
NWE0NmIyMjUwZjU0OTUzNDYyYTZkMzRhYjAyOGYuLjQyZTUxYTJjNWJjMzJjN2E4NGNmNTgyZWEy
YjhkYWFmOGY5MTRhNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnNoYWRvd09mZnNl
dFggPSBOYU47CiBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFk
b3dPZmZzZXRYLCAxLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMSIpOwogX2Fzc2VydFNhbWUoY3R4
LnNoYWRvd09mZnNldFksIDIsICJjdHguc2hhZG93T2Zmc2V0WSIsICIyIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd09mZnNldC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93T2Zmc2V0LnZhbGlkLmh0bWwKaW5kZXggMTlmZGU4NTY2NGZmYzBlZTRkMmY1YzMyODU4
YzFmZWQzNTdlNTJmMC4uMjU4ZjA0ODZkN2ZiYjYzNTQ2MGViYjkyYWI3ZDNjNDI0MTE5ZTVhZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0
LnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxpZDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTM2LDcgKzQwLDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxZTY7CiBjdHgu
c2hhZG93T2Zmc2V0WSA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAxZTYs
ICJjdHguc2hhZG93T2Zmc2V0WCIsICIxZTYiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZz
ZXRZLCAxZTYsICJjdHguc2hhZG93T2Zmc2V0WSIsICIxZTYiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zm
c2V0LnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd09mZnNldC52YWxpZC53b3JrZXIuanMKaW5kZXggYjZkYWNiNGUxNmIyYTY2YTJiM2QyZmFk
ZGY5MGUxNWNmNjdhMGRhZC4uY2ViMGMyN2U2NWRlODMzMGVhMzFmYTNhNGYwNDU5MjYyYjkyOWMz
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zm
c2V0LnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dPZmZzZXQudmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMWU2OwogY3R4LnNo
YWRvd09mZnNldFkgPSAxZTY7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WCwgMWU2LCAi
Y3R4LnNoYWRvd09mZnNldFgiLCAiMWU2Iik7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0
WSwgMWU2LCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMWU2Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEuaHRtbAppbmRleCA5ZjZkYWZiM2RmNDRm
MDg1MGE5YTdjNDM4NDk3MWJiZDU0YzFlZTgwLi42OGE0NmYzYzg1YmQxMzgyOGZlMGNmOWUxYTA1
NDMxNWFhYWFmZGQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFs
cGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2Fu
dmFzLmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jYW52YXMuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50
IGNhbnZhc2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNw
YXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZ
ID0gNTA7CiBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5h
bHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtl
ci5qcwppbmRleCBhMGI5ZWVlZDcxMzgwMjQzYTAxNjE4YWIwOTBhODBiMzJmODRlZjU2Li45ZDJl
MjFlNTJkOTEzMGNmNDgxMDkyYWQ4NjFkNzdlZjlkZTdlYjgxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgY2Fu
dmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBj
dHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3
LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1sCmluZGV4IGMzNzJlZjRj
MTA4NTIzZDRiNTZiNDY5Mjg4NmE1ODc3YmNlZGI4NmUuLmQ2MGJmZTlmOGU1OTAyYWQzYmU4ZTZk
NmYxZWE0ZDk1NjE5ZmE4OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52
YXMuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5jYW52YXMuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy5iYXNpYzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGNhbnZhc2VzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24g
Zm9yIGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAn
IzBmMCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLndvcmtlci5qcwppbmRleCAzZDk1
NDk5ZjM5NTAwYTc0ODc1ZDZhYzJjOTkyNTIwNzQ0NjM3ZTEwLi44ZTM1Nzc0MjBiNWI2YmZhZTVk
NDU5MGNmZTQyYzcwZWQzN2M2YWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y2FudmFzLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gZm9yIGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3Ig
PSAnIzBmMCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbApp
bmRleCA0MzUwNTE2ZWVlZmM4NDlhN2EyZjlkMGQxYzVjMzYzMmNmMWUwNThiLi5lZGFiZjk5MGVh
NTM3MGIyZmIwYWZjMzJiMzFhYjU4YmE1ZGQ1NmU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hh
ZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNlczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5v
dCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBA
IGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHgu
ZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2Fu
dmFzLnRyYW5zcGFyZW50LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZh
cy50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCA3YmE2OTdiNWY0YzhjOTAzNzY5NDZkOTZm
NzNkYzRlOGRiODdmMWVhLi5mYTU4MTJmMTZjMzc0OWQzM2IyNmU4ZDdlMjk5NjE1MTNkNDQ4N2M4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQu
MS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgdHJhbnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5z
aGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJhd0lt
YWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRy
YW5zcGFyZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJl
bnQuMi5odG1sCmluZGV4IGRlZDE4Zjc2OTc3Y2JjZDU3NGExNjQzMjFhNjVmMmVkYTE5NDhlNWUu
LjI2MTJiZGNiNzRkYWExOWFlNTc3NTFmNWRmN2VlYjNiMTBjNzI3OTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFy
ZW50LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNh
bnZhc2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52
YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAtNTAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCmluZGV4IGQ5MWZhMTY5
NGJmMmNmMDA2Y2UzOGUyOGI1MWRmOWJhOGRiODU5YzkuLmM4MTBlNDc1ODFmYmM1NTZlNzI5ZjI4
NWYwY2FjNWRhZWJkOWM3NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52
YXMudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNh
bnZhcy50cmFuc3BhcmVudC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAtNTAs
IC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jbGlwLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbAppbmRl
eCA5ZDVlMzNhMDA4ZjEwOTk1ODUyMGQwNGNmMjhjNDQ2OGI4NzdiNTY4Li5jYmMyNjcwYTJiMjgx
ODZiN2UwY2U0OWI2Yjg1Mzg2Yzg5NGM2YTFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2xpcC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
Y2xpcC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jbGlwLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRv
d3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcg
cmVnaW9uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRo
ZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY2xpcC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEu
d29ya2VyLmpzCmluZGV4IGQ2YTQ0NGQ1N2ZkMTU2Y2QwYjZiNDU2OGNiMzYzYjQxZjFmNjE3ZDEu
LjcyMjE5NGY2ZGNkMDk1MjUzNjBmYzhkODJhNGE0MDA3MmU1MzQ0YmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5jbGlwLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IG9mIGNsaXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJl
Z2lvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7
CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlw
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIuaHRtbAppbmRleCA1ODZmYTll
NjVlNTdjZmY3YmFkNTU1OWRhMzFhYzYyYzVkYzliMGZjLi45ZGEyY2U0NzI2MzQxYWQ5YTc0ZjM5
Yzg4YzI3MjFkNjlkZTcwYTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xp
cC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5jbGlwLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5v
dCBkcmF3biBvdXRzaWRlIHRoZSBjbGlwcGluZyByZWdpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24g
b3V0c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuY2xpcC4yLndvcmtlci5qcwppbmRleCBlYWM2YmMzMWIyMmQyMTNjMTMxYTQxNmMyM2QzN2I4
ZTQ3MzljYjU2Li43NjVkYzZjMWVlOGJmMWQ5MjViNTIwNDNmM2Q4NDk0ZmQ4MjlhNTEzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIG91dHNpZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBjdHgucmVz
dG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMuaHRtbAppbmRleCA3N2JiNDFjY2MzMjMyZDY0
YmNmN2MzZjEwZDY1NjIwMDliMjJkMWViLi4wN2MxZmMwNjgwMzBlZGU1MDMxNGY4MzcyZjVmZDhl
NTQ5NWRhYzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4zPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5jbGlwLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFw
ZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBj
bGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5maWxsUmVjdCgtNTAsIDAsIDUwLCA1MCk7CiBj
dHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3JrZXIuanMKaW5kZXgg
ODA5ZWUwYjFhNDQ1MjJkZDk5ZTMxYTk2NDBkOTk2OWM2YWU0YWM2NS4uM2Q5MmQyYWFmMmYyMGY0
NjgzNmQ1ZjdjNzU3ODRkOGU1MjhiZDIyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNsaXAuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFw
ZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjcsNyArMzEsNiBAQCBjdHguZmlsbFJlY3QoLTUwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sCmluZGV4IDUxYzQ1OGM2NWU0
MDQ1YWJhMjZiZTJiNGEyOTg0ODI1MzU3ZWNiZDEuLjNhMjliZThjZGEwYzA3YWE3YjhhZTBkZjg0
YTlmYmZlMWVjN2RmNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3Np
dGUuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY29t
cG9zaXRlLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNvbXBvc2l0ZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TaGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3
ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMTAwOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jb21wb3NpdGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9z
aXRlLjEud29ya2VyLmpzCmluZGV4IDVjODFhMmMzNDk4MTA3NDI5YTBiYzFkN2U3YjBkMjU5MmEw
NDMxNjcuLmI0NjQ0NTA2Y2NhZGY1MzMxNDU5OWM4NmE4ZjNmZWVmYzE3ZmJiYTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDEwMDsKIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMjAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jb21wb3NpdGUuMi5odG1sCmluZGV4IGEwMzU1YzYzZmE1YWM2ZjMwMDc2NGZjMGUzYmMy
YTRkYThhYTc3ZTYuLjY3YmI5ZDA1NjY2NGRhMjM3Mzc5Nzc2ZDdlMTI1M2FjY2FjYjE5YTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY29tcG9zaXRlLjI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LmNvbXBvc2l0ZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3
biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biB1c2luZyBn
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFk
b3dCbHVyID0gMTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwLCAt
MTAsIDEyMCwgNzApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi53b3JrZXIuanMKaW5kZXgg
MmFiOTFiN2E3YzZkODhhYjZmZjdhZTcwN2I3OWJmYWIzNjExMzQ3NC4uN2MxYTQwOGEyZTk1MzRl
YThiNWYxYzlhZDQyMDExZmI4NGNhNGM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNvbXBvc2l0ZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29t
cG9zaXRlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBk
cmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFJlY3QoLTEwLCAtMTAsIDEyMCwgNzApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBv
c2l0ZS4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMuaHRtbAppbmRl
eCA0Y2JmMTkwMmQ1ZjIyZmQ1MWUxMjE0NTAxZDlkMDU2MzM0NjdhODM0Li5mOTM3MjkyNmRjZmQx
NTM4Y2U1NWNmZmY3MjAzMmEyMzNmMTE0NDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY29tcG9zaXRlLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9z
aXRlLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LmNvbXBvc2l0ZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jb21wb3NpdGUuMzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+QXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkg
d2l0aCBkZXN0aW5hdGlvbi1vdXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJBcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJl
Y3RseSB3aXRoIGRlc3RpbmF0aW9uLW91dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgyMDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy53b3JrZXIuanMKaW5k
ZXggODU3MzAyMjIyMjVhOTI3ODNkZDVlNTBjMjY4NTZkMThjMjIwNTc5ZS4uYTRhNmFiOTUwNTQ0
OGRkMDU4ZWIwYmJiODZhMTYzYjU0MTZiZGQ1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmNvbXBvc2l0ZS4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y29tcG9zaXRlLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJBcmVhcyBvdXRz
aWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGRlc3RpbmF0aW9uLW91dCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVj
dCgyMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLmJsdXIuaHRtbAppbmRleCBlNmFkMjkzNzg4MDBiMjRjN2U2M2EwMTIyOTdmZWM1Y2RlMDVl
OTE5Li5jNTVjMTllZDdhOTlhNmU2YzBiNDk2YWFlMDk2ODUwM2VmOTkyNjkzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS5ibHVyPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5l
bmFibGUuYmx1cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gaWYgc2hh
ZG93Qmx1ciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAwLjE7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmVuYWJsZS5ibHVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1
ci53b3JrZXIuanMKaW5kZXggNjEwYTM4Yjk5NGQ0ZTQ4NGQ0ZWZhNGJjMWVkZTgxYzE2MzBmMTYy
ZS4uZDE1MDE4MjEyN2RkNTIxMWFiMzU2MmZmNWM4MDQ4NDNjYzVkZGRkMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4
LDcgKzIyLDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5v
ZmYuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS5odG1sCmluZGV4
IGY4ZWNmODVmMWNjMjk2Nzg3ZDVlMDMyMmIwMTAwYzYzZjkzNWQwNTEuLmY5YTI4NGRkOWI5YTBm
ZjQxYmRiN2NlYjJkODBkNDVmZTM5ODhmYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5lbmFibGUub2ZmLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxl
Lm9mZi4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnNoYWRvdy5lbmFibGUub2ZmLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS5vZmYuMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dD
b2xvciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlz
IHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMKaW5kZXggZGFkNWMwZTU4YjM1ZDhjMjYxODM3Nzdk
OWRmZGYxYmNhNGNiNDg2Ny4uODYzZjFjNjgyZGFiNDhlZDYxOGU3YTM2ZDZkYTY3MTFkYzFiODBj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hh
ZG93Q29sb3IgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc2hhZG93Q29sb3Ig
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmVuYWJsZS5vZmYuMi5odG1sCmluZGV4IDNhMjNjOGJjZmNmNjU1ZGY1NGU3OWZh
YWYzNzhhNjkxMDI4MDE5ZjkuLjkyNGZjZWQ5YTAyNTEzNmFkODc5MDM1MTA2NjNlZmZhMGVkNGUx
NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93LmVuYWJsZS5vZmYuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93
cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQ8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBu
b3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2Zm
LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIu
anMKaW5kZXggMzcxZjU4MjJlOWM0ZmU3YjVmMzg0ZWY5Nzc3OWQyYWZmOWZiNGEwOC4uY2IxMGY1
MjJjNjJjMzdjZmNhNTkzMGE2YjdiNGZjNzY0YzBhZTIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNo
YWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmVuYWJsZS54Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnguaHRtbAppbmRl
eCBiMmYxNDdiNGM2ZmM3OGRkOWRhYTc1MzAxMzMzNDZjMzVlNTUzZWRiLi5kMzRhMmNiZGM0Y2Jm
OGMwM2RiOGU5NTU2ZjQxNTQzOGU1NWRkYTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuZW5hYmxlLnguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hh
ZG93LmVuYWJsZS54PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFibGUueDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WCBpcyBzZXQ8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBk
cmF3biBpZiBzaGFkb3dPZmZzZXRYIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4
LnNoYWRvd09mZnNldFggPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC53b3JrZXIuanMKaW5kZXggMWY3MDYzNWUy
MDI5MzM1N2RlM2RmMzg3MTE0MDY5NTk3NDgxNmU2MC4uYzQxOWNhYmJjMDBmYmNjN2VhNGUwZDI1
NTlmYmY0NTRlNmEwZmZjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJs
ZS54Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dP
ZmZzZXRYIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNoYWRvd09mZnNldFgg
PSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZW5hYmxlLnkuaHRtbAppbmRleCBhMDFkNjFmMjJmMjYxYmQyYjU1ZGE5YTk5ZDNhM2U4M2Y1
MmE4N2I1Li44ZDdiMjY3MTg1NTU0NGEyZTExZDBhY2I2MzdkYTkwN2M4ZGYwOTg0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS55PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFibGUu
eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0
WSBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlzIHNldCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAwLjE7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmVuYWJsZS55Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS53b3Jr
ZXIuanMKaW5kZXggZjFkMGYyN2JkZGY5NWEyNjhhZDZjOWEyMjNlNjc4OWMxYmYxY2M3ZS4uNjEx
N2Q5OTZkYTkwNjBjNTY2YTRjMDBmN2YzMjZjNDI1NzlmMmM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuZW5hYmxlLnkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LnNoYWRvd09mZnNldFkgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhh
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEuaHRtbAppbmRleCA1
MGU3ODE2NzVhYTc1MTA5ZGJhNDRlMjUyNzFiZDdhMTZkYTlkMDYwLi4wYmUzNzgxZWNhYmRhYWRl
NjY2YjNkNGE2M2Q5OTIwZWU5MmJiNzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZ3JhZGllbnQuYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGll
bnQuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LmdyYWRpZW50LmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC5hbHBo
YTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBw
YXJ0aWFsbHktdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3Jy
ZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDcgKzMwLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LmZpbGxTdHlsZSA9
IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEy
NywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5ncmFkaWVudC5hbHBoYS53b3JrZXIuanMKaW5kZXggMDdjMDJjZDI5Y2Q0ODAzZjE2
NDc3NDcxYzk3NjUyNGFhYjBhMzNkNC4uNjM3Y2M5MjA2OWZhNjliZjliNzNhN2U5MGY2MDcyZmJi
MTM2ZGY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhh
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0
bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LmZpbGxTdHlsZSA9IGdy
YWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNyww
LDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQuYmFzaWMuaHRtbAppbmRleCA1ZmY3ZTY2ZjM2Y2VkZTk1ODAyNjJkZWIxZWUzMDQx
OTc2OWEwZWFkLi5mNTZjZTZjMjNiYzQ0NTE5MmQ3ZTc1OGYyMTZkNDdhYTA5ZjQzZDkyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93
cyBhcmUgZHJhd24gZm9yIGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIGdyYWRp
ZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUw
OwogY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLndvcmtlci5qcwppbmRleCA5MGYyNGJkYTFmODg3
NjJiZjZhN2I5NjdiMTVhY2Y0NGJjMjg3YWQ0Li44MDBmYzMxNTM1NjFiZGY0OWM4Y2NiNmRhNWU5
MTEzODgxNDJjOWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQu
YmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNp
Yy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZv
ciBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNl
dFkgPSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLmh0bWwKaW5kZXgg
ODBiNTliYWNlM2JlNDA0ZGFjMThjYTgyNGNhOTgyODBlODBjMzNlOC4uNmU3OWE2NDE2NDhhMmZi
OTE1ZmQ1NmMyNGQ1ZTYyNTEwNzVjZTRkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBncmFkaWVudCBmaWxsczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
d3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0eWxlID0g
Z3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5ncmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCA5ZTEyY2U4MzUxMDNmNzM3
MDY5NDdlZGIxMTk4Y2Q2ZDc0MGM4NmM0Li4wZjBmYWI4NWU1YjI2YTMwNWYyNWQ1MWQ0NzBkMDg3
MWQ4Mjg0MmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJh
bnNwYXJlbnQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50
LnRyYW5zcGFyZW50LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxTdHlsZSA9IGdy
YWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQudHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRp
ZW50LnRyYW5zcGFyZW50LjIuaHRtbAppbmRleCA3YzFmNTY3ODYwYTExMjZjYmNkOWQwOTNlOTJi
YmEyYjVmMTQ3NTA1Li41ZTdkNDBkYjEyMWZmYzJhYTIwZTkxMjk4NjUxODVlOTdkMTU0OWU3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5ncmFkaWVudC50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3Bh
cmVudC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2
LDYgQEAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4y
Lndvcmtlci5qcwppbmRleCAwOGY0NmZkYjQ5YzljOWI5OWQyMjkwODRlNjdjYTBjNzdlZWU5OGMx
Li42MDZlODUyYTFmMzZhZDhjNTFlMmQ1MjI2NmRkMDJiODRlNzdjNzc3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBj
dHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAs
MjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbAppbmRleCA4NjQ4M2UzOTAwMjgzNTZiNDRiYjc0
NzA2YjJlMTU0MGIyNWQxZGFkLi4yNWNlMWMxYjEwN2JhM2VhMjYzOWUzZTUxYzc2ZWU1ZDBjNjky
ODJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLmFscGhhPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5pbWFnZS5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBh
cmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwg
IjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1
IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhh
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS53b3JrZXIuanMK
aW5kZXggYTYyNGJlODBkZGFkMjU5MjdmY2M0YmI5MTA0N2MzZDg3MWM4ZWIxYy4uMTdmYzVhN2Rh
ZDMzN2VlZjY4MGZiMzdiZjRhN2U3NDRiYWM5NWMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuaW1hZ2UuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAi
NTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUi
LCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbAppbmRleCA1ZmZkOGM2
YTMwMTlmNDRiZjM3YmViMmYwOTM1YWI0MGY1ZWYzNDY3Li5lMTE5OGFjZDEwYzE4ZWUwN2VkNGI5
YjBlZDRkYTAwZjU5MGI1MWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1h
Z2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93
LmltYWdlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBp
bWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTAp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIC01MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIuanMKaW5kZXggMDY4NTA0M2FkM2Y5
ZTdiYzk2NWFkMTE3MDBjOTc1YjVjNzI5ZDU2OS4uNDUxMjZhMjE4Zjk1YWUyOGEzNWQzMTg2MTVi
NTdhNDBhZjBlYzdjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJh
c2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1h
Z2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCmluZGV4IGQ0MzhmM2YzNDg2NWIyNWRjNjMyNTM2Yzc1
ODM4NTczOTVmNmE2NjYuLjdmMzA1N2I2MDIyMGQyM2Y0ZTE0MWUxYTI5ZTRlYTcyNjIxMzg1ZGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2Uuc2NhbGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmltYWdlLnNjYWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBk
cmF3biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0
bHkgZm9yIHNjYWxlZCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMyArMzQsMTMgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAtMTAsIC01MCwgMjQwLCA1MCk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAsIDUwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLnNjYWxlLndvcmtlci5qcwppbmRleCA2ZjA4NGU5YjQyYTA1NGZiNzZm
NjRiNTA5YjlhZjdhOTY5N2JkNGZkLi45Y2ExZDc5NDhhMDVlYjMzNTUwNDMxZjY3NDRjN2U1YjE4
ZTdlYThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3Ig
c2NhbGVkIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEzICszMCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCA1MCwgLTEwLCAtNTAsIDI0MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lmlt
YWdlLnNlY3Rpb24uaHRtbAppbmRleCAxZjI5NzYwMWZhM2NlMzg1MmEwM2IzM2Q1Nzc2ZWEwMGU4
OTU5MmEzLi4xYWJjNzU1OGUxMjEzNDgyMWUwMDgyMDk0ODFlYmI2NDE4OTUzNDI4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5pbWFnZS5zZWN0aW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBu
b3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgaW1hZ2Ugc291cmNlIHJlY3RhbmdsZXM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgaW1hZ2Ugc291cmNlIHJlY3RhbmdsZXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMCwxMyArMzQsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA1MCwgMCwgNTAsIDUw
LCAwLCAtNTAsIDUwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDUwLCAwLCA1MCwgNTAs
IDAsIC01MCwgNTAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
c2VjdGlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi53
b3JrZXIuanMKaW5kZXggYWQ5MjNlMGYwNTgzMTNhMzc5M2IzMWJkZDA5Y2Y2MjVlMGNhZDdlZi4u
M2I0ZGVhYTY1N2Q5MjVmNWFjM2NiMTI2ZmQzNDY1MGNlMjg0NmU2NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJj
ZSByZWN0YW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMwLDEzIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
NTAsIDAsIDUwLCA1MCwgMCwgLTUwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA1
MCwgMCwgNTAsIDUwLCAwLCAtNTAsIDUwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS50cmFuc3BhcmVudC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1h
Z2UudHJhbnNwYXJlbnQuMS5odG1sCmluZGV4IGYyYjI4OTllYTQyOWE2YjAyNWFkOTBlZDFjMTlm
MzM0ZjczNWUwMTUuLjFkNTRhZTU5OWI3ZWRjZjNlOTJhYmRjYzg2Y2E5Nzc5OGE3M2MwM2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4xLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdl
LnRyYW5zcGFyZW50LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgaW1h
Z2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC01
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IGFmMmQ4NjlmNDZk
YjJmM2UwMTRlNjhkMDhhZGY4Y2JkNTFjNjEwZDYuLjc2ZGM4ZmY1OGY2NDFiMzg0Zjg4NTgwZTRj
YjA2OTBjMDY5MjBjODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50
cmFuc3BhcmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
dHJhbnNwYXJlbnQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMw
LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UudHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRy
YW5zcGFyZW50LjIuaHRtbAppbmRleCA1YjIzZGRmZTg4ZTIyNjUyZGY5NGEzZjM0ZmRjYjMzYmQ3
MTM2YTc4Li4yZTIyMzBiMDJiZjU2ODY3OTc4MjY1YTdkYTAxNzY4MzQ0MDBiNDZhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5pbWFnZS50cmFu
c3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9m
IGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgaW1h
Z2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsMTUgKzM2LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNTAsIC01MCk7
Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIC01MCwgLTUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgNTAsIC01MCk7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC01MCwgLTUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJh
bnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNw
YXJlbnQuMi53b3JrZXIuanMKaW5kZXggMGI5OWYzNjI3ZThiODJkYjhjMGViZDNmZGI4YzY5Mjg4
ZmVmN2YzOC4uNWY1NDc2M2QxMjlmNDIwMDVjZDY0ZDE4NTg0NWJiZWJlMGJlYTM2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFu
c3BhcmVudCBwYXJ0cyBvZiBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxNSArMzIsMTUgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCA1MCwgLTUwKTsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgLTUwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA1MCwgLTUwKTsKKyAgICAgICAgY3R4LnNo
YWRvd0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLTUwLCAt
NTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9m
ZnNldC5uZWdhdGl2ZVguaHRtbAppbmRleCA4ZjhmYWQ3YmU0NDRmZDgyOTlmYjIxNzk0ZTY2MTlj
OGNhOWM1ZmE5Li43ODcyOGUwYTQ3MGNiMmE0ZmM1ZjY3ZGIyZGMzNDJjMzY0MTUwMDU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQubmVnYXRp
dmVYPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB4PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zm
c2V0IHdpdGggbmVnYXRpdmUgeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09m
ZnNldFggPSAtNTA7CiBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgud29ya2VyLmpzCmluZGV4IDk5MDgxMjM5
ZTMyMjEyYzkzMDIzNmUzYjQ0OGM1NzMyNTQxMWRjNTEuLmIwNjc5YTYwMTRlYmExMjI1YjQ5MjBk
NjZmODE3MWIzZDQyOGJkMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZz
ZXQubmVnYXRpdmVYLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
Lm5lZ2F0aXZlWC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2Fu
IGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5z
aGFkb3dPZmZzZXRYID0gLTUwOwogY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5odG1sCmluZGV4IDQ3YzM5MTA4N2Ez
NTY4Y2ViMDg2ZmEwNGY0ZGFjMWY5NTg1ZTliN2MuLjUxMjNhZjg3MmY0ZmRjMzBhNDE0NjA1OWQ2
OWQ1M2Q1MjEzMzM1NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQu
bmVnYXRpdmVZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2
ZVkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
c2hhZG93Lm9mZnNldC5uZWdhdGl2ZVk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZl
IHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IC0yNTsKIGN0eC5maWxsUmVjdCgwLCAyNSwgMTAw
LCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUs
ICI1MCwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMzcsIDAsMjU1LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2
ZVkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29y
a2VyLmpzCmluZGV4IDk5OGU0YWQxNmM0YzI2NmJhM2U2MzQ4NTc4MDI1MzNmNGNiMjVmYWIuLmQ1
ZGQ1YjZmMWYyMTMzYjBjYmQ3YjAwMGZiM2ZhMGU5MWVlMzc4NzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gLTI1OwogY3R4LmZpbGxSZWN0KDAs
IDI1LCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1
NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
LnBvc2l0aXZlWC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgu
aHRtbAppbmRleCBkNjY0MTRiNjcyZjcxZjY2MmViYTgyMDAwZWFiYmIxMGM0NTQ4ZjgwLi4yNzZj
MTBkOGRlOWUwOGUzNDFkYWRjY2ZmNDZlYjUwNjIxYjJjY2FjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5vZmZzZXQucG9zaXRpdmVYPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGNhbiBi
ZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRp
dmUgeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSA1MDsKIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vZmZzZXQucG9zaXRpdmVYLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5v
ZmZzZXQucG9zaXRpdmVYLndvcmtlci5qcwppbmRleCBlMDAzNzlmYmUwYWI5MmQ5ZGQxZjA2OGE2
MzA2ZDk5YmQzZThhZmE0Li5kNGM0MTMwYTkyYzQwZTA3YTI4NjU1YmZlN2Y3ODg3MzUyODYwNTE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBw
b3NpdGl2ZSB4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDUw
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5v
ZmZzZXQucG9zaXRpdmVZLmh0bWwKaW5kZXggNjkxNDQxNGU5MjY0YWY5YzA5YjM4YTI4MzNiMTNi
Y2QyNDgxMjM3MS4uNTNhZTJlYTU1M2YwNWYxNzFjYjhjMTExZDAzYjI3YThiNjhiNDk4ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cub2Zmc2V0LnBvc2l0
aXZlWTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9m
ZnNldCB3aXRoIHBvc2l0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dP
ZmZzZXRZID0gMjU7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1LDAsMjU1LCAi
NTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkud29ya2VyLmpzCmluZGV4IGU3ZGY2ODk3
NWZkNTczN2IzYzFmNzVlNDFjZWQxMDM5ZmNiNmRkZGUuLjA4NmQ3Y2ViN2Q3ZjhhYmY1ODI1YjI1
YmQ2YmM1NGY5NDQzZWFmODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZz
ZXQucG9zaXRpdmVZLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
LnBvc2l0aXZlWS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2Fu
IGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5z
aGFkb3dPZmZzZXRZID0gMjU7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1LDAs
MjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5vdXRzaWRlLmh0bWwKaW5kZXggNjY0ZTUwOTM4YjI2Yjg5YjkyYmJlNzEyNjE4NTUx
NWZmZjA5ZDU5Yy4uZjljYTZiNDllZjYyZGE5MWU2ODdjNTY0MDRiMDUzYzBlYTJhNWRiMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub3V0c2lk
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBvZiBzaGFwZXMgb3V0c2lkZSB0aGUgdmlz
aWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVhPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBz
aGFwZXMgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlz
aWJsZSBhcmVhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxMiwyNSwgMCwyNTUsMCwyNTUsICIxMiwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODcsMjUsIDAsMjU1LDAsMjU1LCAiODcsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1
NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lk
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS53b3JrZXIuanMKaW5k
ZXggNmQyM2M3MmM4YmJmYjFlZDI3YTU1MzQyYTBmMTU4ZWUyMzM0NTdmNy4uZjRjN2M1YmFkOGZk
NTI0OTZkNmZlZmQwOTFkOTBkMWU0Y2FlN2M2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRz
aWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMg
b3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBh
cmVhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxMiwyNSwgMCwyNTUsMCwyNTUsICIxMiwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgODcsMjUsIDAsMjU1LDAsMjU1LCAiODcsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1
NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBo
YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEuaHRtbAppbmRleCAz
NzFmMzJhNGZlOWFlNWJhNDJkOWMwNzhhMDM3YmQyYjNkNDE4YjFmLi4zZjExNzg5Yzg4YWRiZWMx
NjlhOTE4NTY3YjExYjBkMmY4ZTJiMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cucGF0dGVybi5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRp
YWxseS10cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5
IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2
ICszMCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5zaGFkb3dDb2xvciA9
ICcjMDBmJzsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFs
cGhhLndvcmtlci5qcwppbmRleCA2MzYyNTNhN2FiNWRmMjBlNmM1MjFlZTczZmM4YzZlMmY3ZjRm
NDEyLi42MTYxNjlmODIzY2YxMGJlMGZlNGZjZDU5MzE3YWQxN2MxNDQ2ZjA3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFu
c3BhcmVudCBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwotICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1
MDsKKyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy5odG1sCmluZGV4IGNhYjc2NDg1N2Q0
OGExNDYzNTIwMDM1MmUyNzMwMzQ0MDE1ZWUxNTAuLjhjNGZmOTM0YjkzMzE1NjkyZWRhZjIxZDc4
ZDFiZTNmN2U5Y2Y3ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93
LnBhdHRlcm4uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4uYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
ZHJhd24gZm9yIGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNo
YWRvd0NvbG9yID0gJyMwZjAnOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRt
YXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAn
IzBmMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53b3JrZXIuanMKaW5k
ZXggZThiNjAzM2QzOTA4YjllYjExMDMxMmIxNjI4OWJmYzhlMmYyZmViNC4uOTFlOWZlOWYxODA4
NTY2ZjdmNGU4YjY0NzJhNzkwNTY0OTNkZTczNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5wYXR0ZXJuLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgZHJhd24gZm9yIGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0
dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
Y3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAw
LCA1MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93Q29s
b3IgPSAnIzBmMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNw
YXJlbnQuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQu
MS5odG1sCmluZGV4IDMxNTcyNGEyYjBkNDExZGFlMzM3NGRlNDZiM2IwNzg3YWFmNGNjN2QuLjI2
YjUwNTc4YzFlMzgwMWNiNTdjOWU0Njg2MTQxMTZmN2YyNmIyZWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFy
ZW50LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRl
cm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKLSAgICBj
dHguc2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAg
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguc2hhZG93
T2Zmc2V0WSA9IDUwOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCAzNDAwMjc5
MzE1M2FmYjVkNTRjYTA4NWFlMzRjMzEwMjdkYzVkYTNlLi43MGNhOWE4MTI4ZGFjOGJhZjk2NjA4
MDQ5NDIyNWZlODY3N2JhYjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0
dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
cGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwg
J3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKLSAgICBjdHgu
c2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0
eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0
ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguc2hhZG93T2Zm
c2V0WSA9IDUwOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbAppbmRleCA2NjhlMDdmODMzYjRiOWIzM2JkNDVl
ZGE2NzA1OGQ5ZWZjYTAxMTQ4Li45ODNiOWZmMWZhYzJlY2RlNGY4NjllOWM3N2VjN2Q0OTZmZDhh
ZjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVu
dC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQu
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
aGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5z
cGFyZW50LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3Ig
dHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJuczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBm
b3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDIxICsz
MCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDUwLCAwLCA1
MCwgNTApOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9y
ID0gJyMwZjAnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3Qo
NTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAg
IGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LnRyYW5zcGFyZW50LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4u
dHJhbnNwYXJlbnQuMi53b3JrZXIuanMKaW5kZXggMTU3ZmJlMmE4ZGJjOTU5ZmMxM2JmY2M0OTE3
YmUyYzk4YzdlNzVmNi4uZGI4ODE4MGZjMzBkNTc1OGI5OWM4OTE1ODZmYzljYmZjNjIxOGI1NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQu
Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3
biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDIx
ICsyNiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwg
NTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDUwLCAw
LCA1MCwgNTApOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0Nv
bG9yID0gJyMwZjAnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxs
UmVjdCgwLCAtNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwg
NTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJl
Y3QoNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAg
ICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tl
LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljLmh0bWwKaW5k
ZXggYmU2NmYzYTlhOTI5Yjg4M2IwYzA1NWQ3ZjYxZWYyODgwMGYwM2RhMi4uNTE2MzY4MmFmMjQ4
NTc2ZTM3MTRlNzFiNDJkOThkY2Q3ZWEwZWM3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJv
a2UuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LnN0cm9rZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIGRyYXduIGZvciBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFz
aWMud29ya2VyLmpzCmluZGV4IGUxNjUzNmRlZDMxM2Y2ZDUyYmFhYTZmYTJiYWZkYTYwNDRlMzNh
ZjQuLmQxZTU5ZjliMDAyNDdhNzcwZDA4YmQ1MmI5MGYxMWM1NTNmZWRmZmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5
LDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwg
MCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LnN0cm9rZS5jYXAuMS5odG1sCmluZGV4IDJjNDYwZmQ3MGY1OTJiNGY3MTY5Y2UyOTcyN2RiZjRi
ODdhNmZlZDUuLmM3YjA4YWVmZDg1MmRjNTM5OThkZDNlY2E1N2E2ZTMyMjU4MzRjODggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2UuY2FwLjE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LnN0cm9rZS5jYXAuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90
IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXdu
IGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBj
dHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSww
LDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2UuY2FwLjEud29ya2VyLmpzCmluZGV4IDRjNmExYWE0ZDRkNWIyN2ViNjBiMThiODAwYmFl
NTRiMjdjYTEyN2QuLmUyYjY3YzM4NGU4OTJhZDczYzhkZWYyYjg4M2E1YmU4YjVjYzFkYTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUg
c3Ryb2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2Fw
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIuaHRtbAppbmRleCAw
ZTc4YzFhZDMyYTYyNWRiZjEwZDRkYmJiZWI2MDhmMTlkMTY0ZjNhLi43ZDk0ZDNlYmM3OTk2MjA2
MGQ0NmE5OGUwODhiZmFiMTgyYTk5MGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuc3Ryb2tlLmNhcC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5j
YXAuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zaGFkb3cuc3Ryb2tlLmNhcC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2UuY2FwLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2UgY2FwczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIGRyYXduIGZvciBzdHJva2UgY2FwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUs
ICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5jYXAuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tl
LmNhcC4yLndvcmtlci5qcwppbmRleCAwYzNjYWUxMDViYWVjODNkZjljZGJiOTFlNzhmMmY4MGJi
YTM3ZDA2Li42OGRmZDBhZWY4OWIxZjFmZTg1MDgyY2ZjOGJjNGY0NzJlY2NlZTg2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsNyArMzAsNiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUs
ICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnN0cm9rZS5qb2luLjEuaHRtbAppbmRleCAwNGE2MjQ1Njg2Y2NkNTI2ZDhmYmVk
ODFiMjQwZjU3MWNmMzllNjg0Li42MDQzZDA0ZTVjNDRhMmJmZmZhN2U5MTNiOGU0N2E4NThhMTI0
YWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9p
bi4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2Uuam9pbi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMKaW5kZXggOTU4MzcyMDc4
OTQzYmQzMzk2ZDE5NzY5YTNjYjUyMWE0YjQ4OWRhNy4uM2FlYjEyMzlkYThiYWEyNTVlN2IyODM1
M2FiOWE1Y2UwMzczNTE2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9r
ZS5qb2luLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9p
bi4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRy
YXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LnN0cm9rZS5qb2luLjIuaHRtbAppbmRleCA2NjI5MzEzYmFmN2Y2NGY2NTBiYjZjYzNhODFhOGUx
N2IxZjU1MmNiLi4wMzdjMmM3OTNlODAwODUwMmE4OWVhNGE2NTA1MzczZTBiYWNkZmYyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4yPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5zdHJva2Uuam9pbi4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFy
ZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBqb2lu
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi53b3JrZXIuanMKaW5k
ZXggOGI4OWQ3NDA1Y2QxZTUxZTUwN2JkZDgzNjliY2U1MjZkY2I3MDA4Zi4uMzJlMWQzYzJjNDg3
ZTlhMWFkYTdiNmVjMDAzYzJiZWY5ZjRiMTA3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5qb2luLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5zdHJva2Uuam9pbi4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAs
MjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9r
ZS5qb2luLjMuaHRtbAppbmRleCAyZmU2MjNiZTVkYzA0MGViOWExZDgyZTdiMmUyNGNmYWYzNDk2
N2ZmLi43YzIwYTVmODdkNjg3MDc1MzNlZWI2ZWUwZDU0NDlhOTYxZDU3MTc0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4zPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5zdHJva2Uuam9pbi4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3
biBmb3Igc3Ryb2tlIGpvaW5zIHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQ8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biBmb3Igc3Ryb2tlIGpvaW5zIHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3
ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4
LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzCmluZGV4IGE2N2Q3NzA2Y2M3Njhh
YWU3OTlhODMyYmMyZGZmZDU1ZDMxYzA5MzguLjBhOTAyZmEyYWY5M2IzYmNiMmY0YjhiZDEzY2My
MTNlYzFjMTE0NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9p
bi4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBz
dHJva2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50
cmFuc2Zvcm0uMS5odG1sCmluZGV4IGE4NzlhM2I5OTIwOTdmMWIwYTRkZjIwNTFkNTE1OTc4ZGIz
ZGZlMzAuLjFkNjc3YWNmM2QxODI3NDFmYTNiNjhkYTViN2M2NTY4MWEzOTUxNmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LnRyYW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIHRha2UgYWNjb3VudCBv
ZiB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC50
cmFuc2xhdGUoMTAwLCAxMDApOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy50cmFuc2Zvcm0uMS53b3JrZXIuanMKaW5kZXggMTUzODkzNTI5NzllMzEzOGQ1MDBlYmQ5
ZWZjY2NjOWEyOTM5NzI1OC4uOGY4ZDIzZGUzZDM5NGI1M2UzZjU3NWE2NGYxZjJmMmIwZTgwNDBl
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlv
bnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0
eC50cmFuc2xhdGUoMTAwLCAxMDApOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cudHJhbnNmb3JtLjIuaHRtbAppbmRleCBkMjQ1MmI0OGVhOGVkYjBlYTkxMTkzNDUwNzlkMjUy
ZDQxM2NjNTQzLi5hNjkzNTIxZWE5NWQ2NjlmOTA3ZjRiNjUwYzM1NWIxNDQ3YTFmZDhkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnRyYW5zZm9ybS4yPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy50cmFuc2Zvcm0uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93IG9mZnNldHMgYXJl
IG5vdCBhZmZlY3RlZCBieSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgb2Zmc2V0cyBhcmUgbm90IGFm
ZmVjdGVkIGJ5IHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNo
YWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnJvdGF0ZShNYXRoLlBJKQogY3R4LmZpbGxSZWN0KC0x
MDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi53b3JrZXIuanMKaW5kZXggYmM5Yzdj
OGQzYjNhNzgwNzg2NTc0Y2RmMTE4Nzg4ZjcwMTMyNTA4ZC4uMmYxYzg4NjRhMGJmZDFjZWI0MDUx
ZGI0YmNlYzNkYjNhODI5MzhhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRy
YW5zZm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3Jt
LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgb2Zmc2V0cyBhcmUg
bm90IGFmZmVjdGVkIGJ5IHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnJvdGF0ZShNYXRoLlBJKQogY3R4LmZpbGxS
ZWN0KC0xMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbAppbmRleCA5MWY2ZWQzZjZhZjE2ODQ5
YmFmNzlhZmFjMWUwY2Q3NDc1NTFlNzAyLi41ZWI5YzdlYWIxOWM5ODc0NDNhZDhkN2JkN2I1NmYy
ODYyMTVjZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGlnbi5kZWZhdWx0PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnRleHQuYWxpZ24uZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNh
bWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRl
ZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lndvcmtlci5q
cwppbmRleCA3ZjU5YWU5YjUxMDQyNTczOTQwNjliZjM1YjA3ODUwYjJiZjcxYjFjLi45MzM4YTYw
NjM4NmQyMTMyNzEwMTQ1NzY0NDI4N2U0MjBhZjMzNzIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmFsaWduLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxp
Z24uZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KGN0eC50ZXh0QWxpZ24sICdzdGFydCcsICJjdHgudGV4dEFsaWduIiwgIidzdGFydCciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbAppbmRleCBiZWQ0
NWRlNGRiZWZlOWZiODdlNTlmMGJjMjgxYjA4MGY0NjNkNjdhLi5hM2Q3OGQ4ZGUyOTNhNWQwMzli
M2M3NjE4ZjViNTM4NDAwZTgwN2M1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWdu
LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGln
bi5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuYWxpZ24uaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAn
c3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7CiBjdHgudGV4dEFsaWduID0gJ3N0
YXJ0JzsKIGN0eC50ZXh0QWxpZ24gPSAnZW5kXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGln
biwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLndvcmtlci5qcwppbmRleCBhMjY5Nzg1
NmNiMzFkNzUyMzdiZDM1MzM3YTE0YjFlYzIyOGRhYWMxLi42NmNlN2FlYTE1ZmM3ZmMyM2RjNjk4
NDg0ZTI3ODZlNzEzZTcxMDUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmlu
dmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
X2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0
YXJ0JyIpOwogY3R4LnRleHRBbGlnbiA9ICdzdGFydCc7CiBjdHgudGV4dEFsaWduID0gJ2VuZFww
JzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdzdGFydCcsICJjdHgudGV4dEFsaWduIiwg
IidzdGFydCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5hbGlnbi52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1s
CmluZGV4IGQ5NmJkYmYwMjNkMTA0NTI1MGU5NGU5NmYwMjJkMzk2MWE0ZTJjODIuLmMzZjI0ZWNi
YzQ1OGQyMjNmYjQyY2JkMGUzNmE5N2Q4MzRlMDQzZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuYWxpZ24udmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuYWxpZ24udmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5hbGlnbi52YWxpZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWdu
LCAncmlnaHQnLCAiY3R4LnRleHRBbGlnbiIsICIncmlnaHQnIik7CiAKIGN0eC50ZXh0QWxpZ24g
PSAnY2VudGVyJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdjZW50ZXInLCAiY3R4LnRl
eHRBbGlnbiIsICInY2VudGVyJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
YWxpZ24udmFsaWQud29ya2VyLmpzCmluZGV4IDQ3OGQ0NTQzYWUxMjM3YjVmNzUzMjMzZTA2Yzg1
YzRhMWNjNTYzMjEuLjU2OWNiOTFlOTMxNDMwY2I3N2E3M2MyMDg2OTYyYzI4NDNmNzdiODAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24s
ICdyaWdodCcsICJjdHgudGV4dEFsaWduIiwgIidyaWdodCciKTsKIAogY3R4LnRleHRBbGlnbiA9
ICdjZW50ZXInOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ2NlbnRlcicsICJjdHgudGV4
dEFsaWduIiwgIidjZW50ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5i
YXNlbGluZS5kZWZhdWx0Lmh0bWwKaW5kZXggZjJmZTExMDE0NTE3ZDI4ODdhOGVmZGJkY2EyY2Fl
NGVmZWExNDMwYS4uZWYwYWUyMGQxMDAzZjk0Mjk2MjQyZjYxMjhhMTcyZjgwZmNiMDEzNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KGN0eC50ZXh0QmFzZWxpbmUsICdhbHBoYWJldGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2Fs
cGhhYmV0aWMnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2Vs
aW5lLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGE0NzVmYTM0MWY5ZGM5YTRlZDQ3MDdiMTdlYjEx
ODc0MjEzNmYyYjAuLjZkNzZiMzRmMzY1ZmMwZmIwZDBiY2ZmYjBjZmFmODg4NzQzOTMxYTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiAr
NCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2FscGhhYmV0aWMn
LCAiY3R4LnRleHRCYXNlbGluZSIsICInYWxwaGFiZXRpYyciKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbAppbmRleCAwZmYzYjE4ZGQ1Mjc4
NTJkYjI0ZGVlNDQxOWIyN2FkNTA0ODdjMDg4Li45MDhhOWRmNDAzMTJmNjk1ZTNiOTA0MmJiMjMw
MmExN2I2ZWJmNTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFs
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5iYXNlbGlu
ZS5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuYmFzZWxpbmUuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2Vs
aW5lLCAndG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKIGN0eC50ZXh0QmFzZWxp
bmUgPSAndG9wJzsKIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlXDAnOwogX2Fzc2VydFNhbWUo
Y3R4LnRleHRCYXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2VsaW5lIiwgIid0b3AnIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUu
aW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQud29y
a2VyLmpzCmluZGV4IDM3Nzc5OWI1MGJmZmMwMjA2ODQ0OWZjOTUwMzY2OTY5NjRhZGExZTAuLjgw
NWFiY2MwOTM0M2YxMTVlOTMyN2Q5OTY4ZmU3Y2FlY2Q2MDNhNmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5iYXNlbGluZS5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAn
dG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKIGN0eC50ZXh0QmFzZWxpbmUgPSAn
dG9wJzsKIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRl
eHRCYXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2VsaW5lIiwgIid0b3AnIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRtbAppbmRleCBjZDYzNWVj
NDg2NzAxNDQ0ZWM3NjA3YmI1ZjZmY2RmM2QyNjRjNmI1Li5iNjcyZDQxZjRjZjVhYmVhZGQ3YmNh
ZDAxNTE4MDRmZGY3MDI5MGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5l
LnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmJhc2Vs
aW5lLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuYmFzZWxpbmUudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGlu
ZSwgJ2lkZW9ncmFwaGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2lkZW9ncmFwaGljJyIKIAog
Y3R4LnRleHRCYXNlbGluZSA9ICdib3R0b20nOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGlu
ZSwgJ2JvdHRvbScsICJjdHgudGV4dEJhc2VsaW5lIiwgIidib3R0b20nIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIuanMKaW5kZXgg
MTQ0MGMzOGNmZmMwMzM5NzZkYmM5M2E2OTIyM2ZhMDc2MmNhMDllZi4uMzVkYTM1YjRlZTllMWJh
YmU1OTg1N2I2MDg3Nzc0ZDBiY2FkNjhjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5i
YXNlbGluZS52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52
YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2lkZW9ncmFwaGljJywgImN0
eC50ZXh0QmFzZWxpbmUiLCAiJ2lkZW9ncmFwaGljJyIKIAogY3R4LnRleHRCYXNlbGluZSA9ICdi
b3R0b20nOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2JvdHRvbScsICJjdHgudGV4
dEJhc2VsaW5lIiwgIidib3R0b20nIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbAppbmRleCA0OGUwY2IzNmQ4YmMyMzUxYzExODc2OTE0
OWZhZGNhZDk5NDNlMDA4Li5jMjk5Y2NjYjExOGYwMDBhOGU4MmRjMjI2ZTI1MTFiMDk0OGMwNzc4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRl
eHRBbGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1YXJlcyAobm90IHRoZSBi
b3VuZGluZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1
YXJlcyAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUw
MCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci53b3JrZXIuanMKaW5k
ZXggODhkNzdjMWUxODkyY2VlYzY1M2RjMzlmZjNkZDlhODFhNDljMDg4Yi4uMDIxOTQ3YmQyNDY1
OTIzZDUxNWJkMzUzY2I5OTUwZDUyMjljZmVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmFsaWduLmNlbnRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmNlbnRlci53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxp
Z24gY2VudGVyIGlzIHRoZSBjZW50ZXIgb2YgdGhlIGVtIHNxdWFyZXMgKG5vdCB0aGUgYm91bmRp
bmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMw
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1
LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5lbmQubHRyLmh0bWwKaW5kZXggNjM1NmIzYmU4OWY3OWNhMTg2MGM5OWI0NGFh
NjMyYzkzN2NkNmZkYy4uZjdmY2IzNjEyNmQ2NDgxNjkzODI0OTg4YjhjNjAwMzExMGU4ZTk5ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0
cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
dGV4dEFsaWduIGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZTwvcD4KQEAgLTExLDE0ICsx
MSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdp
dGggbHRyIGlzIHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVm
ZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Citu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtlci5qcwppbmRl
eCA1OGU2ZmZhZTk1NTAyZDhmY2Q4ZDQzZWFkMzM1MTdjMGQ2Y2Y1ZjE5Li4xZTUyOWJlMjNkN2U3
NjgzNmFmMmFjOGQ4ZjdmOWI2MTgxYWU3NTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24uZW5kLmx0ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmVuZC5sdHIud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFs
aWduIGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5y
dGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLmh0bWwKaW5kZXgg
YjYwYTg1Y2JhYTM3ZDg1ZTBmMDk4MzY0NDAzNTVmZmE3YTRlNGZmZS4uMDE2ZTFmODkxM2ZmZWQ0
M2NhNGU2MmY2MzlhYzQzMmY2OTIwYjViZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLmVuZC5ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24u
ZW5kLnJ0bC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uZW5k
LnJ0bDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGVuZCB3aXRoIHJ0bCBpcyB0aGUg
bGVmdCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRBbGlnbiBlbmQgd2l0aCBydGwgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwg
MCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24uZW5kLnJ0bC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uZW5kLnJ0bC53b3JrZXIuanMKaW5kZXggNjZmMDNhY2FhNzU3MjAyMzJhMDVhZWJhNWJhMTMy
MzNhMjc0YTNlYS4uZjUwOTg3YzkyOWQ1YTg0Yjc1MGMyNmEzMmVlMjY4NjVmMjc1Yzc0MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLndvcmtlci5qcwpAQCAtNCwx
NyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBlbmQgd2l0aCBydGwgaXMgdGhlIGxlZnQgZWRn
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAg
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5sZWZ0Lmh0bWwKaW5kZXggMTY0YjAyYWY0MzQyNTJmMGZlMjllNzcyYzg4OGIyNWU4ZjUyYzBi
NC4uZDgzYmYwYTczNzhlZTRjMWM2OTA0YjkyZjcyNTA1ZjliYjhjYmY1YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYWxpZ24ubGVmdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24ubGVmdDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcu
YWxpZ24ubGVmdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGxlZnQgaXMgdGhlIGxl
ZnQgb2YgdGhlIGZpcnN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpPC9wPgpAQCAt
MTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGln
biBsZWZ0IGlzIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRp
bmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1
LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMKaW5kZXggNzI1NzYyYThhZGM4YTE2Y2RlN2Yw
ZWQ2YjMzZDBhZDkwMzlmYjdlNi4uMDJlNjg5YTlkN2M2NmRiMzFlOTU4NjMwZDQ3NmNhNmQ5YTYw
NTdiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcwpAQCAt
NCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBsZWZ0IGlzIHRoZSBsZWZ0IG9mIHRoZSBm
aXJzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUs
ICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJp
Z2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQuaHRtbAppbmRleCA1
NjIxMTYxZDRhYWIyZTMyYmNiMzliNGNkZTdjZGYyM2JkMDRlZGYwLi45Zjc1MmU2MzE5MTVmOTJm
ZmJmYWFhMjlhZGE1ZGU1Yjg3ZWRlNGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24ucmlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmln
aHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dGV4dC5kcmF3LmFsaWduLnJpZ2h0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5yaWdodDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHJpZ2h0IGlzIHRoZSByaWdodCBvZiB0aGUgbGFz
dCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gcmlnaHQgaXMgdGhl
IHJpZ2h0IG9mIHRoZSBsYXN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1
LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5hbGlnbi5yaWdodC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24ucmlnaHQud29ya2VyLmpzCmluZGV4IDcwYTM5YTMxODZhYWY1MTQ1ZjkyZTc0MjBiODBlZjBh
MTU4MDlkMTcuLjE3MDY2MWQ4NGEwY2FlNmJhZmY4MGI0MmJlNzNlNmViODg4MTYyMjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcwpAQCAtNCwxNyArNCwy
MSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInRleHRBbGlnbiByaWdodCBpcyB0aGUgcmlnaHQgb2YgdGhlIGxhc3QgZW0g
c3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwg
NTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIuaHRtbAppbmRleCAx
MzA0NzRlNzM2OTU1N2Q0OWIyOTA2MWU4NmRkN2IyYjFlY2VkYzg4Li4zM2MzMTQxYjYyZDQwM2Zm
Y2YwM2YzNWVjNmEwY2M5NzYxMjkxNGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uc3RhcnQubHRyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWdu
LnN0YXJ0Lmx0ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGln
bi5zdGFydC5sdHI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRBbGlnbiBzdGFydCB3aXRoIGx0
ciBpcyB0aGUgbGVmdCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIGx0ciBpcyB0aGUgbGVmdCBl
ZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlv
bigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBA
QCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5
NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMKaW5kZXggZWJjMDY1NDJlMzE2N2Qy
MDM4NDQ4MWUxNWI5YzQ5ZjlhNDc5MzMzOS4uNWEzNDIzY2U4Y2JkYTYzMmRlMGI5ODk4Mjc4MTJk
NmVkNmJkMzk3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0
Lmx0ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0
ci53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gc3RhcnQgd2l0
aCBsdHIgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVy
VGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsg
fSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUs
NDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwot
Ci10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sCmluZGV4IDA1MzcyZWUy
NWFlMzE2ZWExYzE4NzIwZDQxMDk2NDM1YzJkNmViNjkuLmJhNDhmNzBlNGI5YWRmOTEwMDk4ZWE1
ZTg2ODc4ZDZkZWI3MTBhMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGln
bi5zdGFydC5ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQu
cnRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0
LnJ0bDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHN0YXJ0IHdpdGggcnRsIGlzIHRo
ZSByaWdodCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIHJ0bCBpcyB0aGUgcmlnaHQgZWRnZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5zdGFydC5ydGwud29ya2VyLmpzCmluZGV4IGRjNTUxZTRhYmYyZmQyYmZhNGE0
ZTViMjQ3YjkyNTgyOTJiMTFlODQuLjRjNjM1Y2Y0MGU1Yzg4NmM2ZGJkNThjNDIwZTRhMDU2ODZh
MTk0YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29y
a2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggcnRs
IGlzIHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0
KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpA
QCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwg
MCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQu
ZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMuaHRtbAppbmRleCAyNDEz
ZmU1NWVkMmY3OTc5ZjczYzQxOTBhOTdiZDU3YTM4OTMxMDhjLi5mMDk1N2VlOGUzZjY2MTk0M2Iy
NmYxNTRhMWMzMDgwMTY0Njk4ZmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5hbHBoYWJldGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQu
ZHJhdy5iYXNlbGluZS5hbHBoYWJldGljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5iYXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcwppbmRleCAyNjgzMjcyYWE2NzdmZDJjM2Mz
ZmIzM2U2ZTljZTQyZWExZWViYTcwLi40YzE4YzhmYTc3NzcwZmVkMjMxYzA2NDA4ZTI1ZWE5YjI2
N2EzMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFi
ZXRpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhh
YmV0aWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSww
LDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFz
ZWxpbmUuYm90dG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9t
Lmh0bWwKaW5kZXggNWZhOTQxODMzOGZiNzliYTRjNWEwMGQwMmFjM2NkZDU3NDRiOGIzZC4uMjA0
NDdlZGFmYjc1MzliNzM5YjhmMmVjY2IyOTFiNzhiNWFkYjFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5iYXNlbGluZS5ib3R0b20uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QmFzZWxp
bmUgYm90dG9tIGlzIHRoZSBib3R0b20gb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGlu
ZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInRleHRCYXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJl
IChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1
LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcwpp
bmRleCAzYmE2MGM5NjZiZTZmNzU5NjQxYmUwM2MyNWMyNTlkYjA5NjRhODhhLi44NTFlYzc0OWQ0
OTYzMzJkZDUxOWFmNmE4YmRiYjI2YWY4ODZkODA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InRleHRCYXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJlIChub3Qg
dGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3Qo
KTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAw
LDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5k
b25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy5odG1sCmluZGV4IGUzZjljZjM0ZGYy
YTQ3MGExYzVhYTBiNzRiNGZkY2RhNjdiOTMwMzAuLmYzYTc3ODRhZGJmOTI4MjUwMzFlMjYxM2M2
Yjg2MjM2ZTI5NDhjNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS5oYW5naW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdp
bmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLmhh
bmdpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwg
NTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdp
bmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29y
a2VyLmpzCmluZGV4IGI0NzczZThhYjhkN2NmNDM3N2ZmMTlkODFiZmI1NjA5Mjc3OWE2ODkuLjk0
Yjk2Nzg5NThiYmQ0MTYxYjhkOTYxMDA2OTVhYWYxMjMwMDUwYjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVu
KGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5
ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSww
LDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7
CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwKaW5kZXggNTk4NjVjM2Jj
YjgwMmI4NDJiMTQwY2Q5ZWFlMmJjODg0YTMxZGQwYS4uZDZjZTA4ZDdhMjE0ZGFjZjdkMDZmYTJj
NWI2Zjc2MjA2NjZlM2FiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2Vs
aW5lLmlkZW9ncmFwaGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5l
LmlkZW9ncmFwaGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRy
YXcuYmFzZWxpbmUuaWRlb2dyYXBoaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAs
MjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5iYXNlbGluZS5pZGVvZ3JhcGhpYy53b3JrZXIuanMKaW5kZXggYWRhN2ZlOWM1YjYxOGUzMmFh
MWUxYzQwOWRiYTM5ZmI3OGZjNzZkOS4uZThiMWY0OWE1Mjg0MTM5NGYwZTgxYTRlZTQxM2Y5MGM3
YzlkN2NjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9n
cmFwaGljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRl
b2dyYXBoaWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1
NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YmFzZWxpbmUubWlkZGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlk
ZGxlLmh0bWwKaW5kZXggNzE3OTlkYTdiZjM0ZTIyYmViN2RkMTkzOGQ1YzM3M2IwMGZmNjQ1ZC4u
NmQxN2JmMzNjYmI0NWJjNjIxNjE3MjcyZTE0OTEzZDEwZGJlMjRmZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QmFz
ZWxpbmUgbWlkZGxlIGlzIHRoZSBtaWRkbGUgb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3Vu
ZGluZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRCYXNlbGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1
YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5q
cwppbmRleCAxMmM3NjhhNzBkZGYwN2RmOTRkMDk4ZmI3Njc3Y2JjNzcxODlmMzc0Li5lYmYwMTJl
ZGVmZWZmNmIwMDRlOGVlYjcyMGY5OGVjN2U3YmIzNDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInRleHRCYXNlbGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1YXJlIChu
b3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1
LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQot
dC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbAppbmRleCAyZmNjZTRhYzMyZmNjNGMy
NDk4Mzg5ZTQ4YWQ2ZDAwMjg3YTk4NmQyLi45ZGY5MjA2ZTIyYjhiMGJiM2Q1MjgyMzMyYjkzZjBl
NGEzM2YzNjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9w
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFz
ZWxpbmUudG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5iYXNlbGluZS50b3A8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnRleHRCYXNlbGluZSB0b3AgaXMgdGhlIHRvcCBvZiB0aGUgZW0gc3F1YXJlIChub3Qg
dGhlIGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgidGV4dEJhc2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBz
cXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsK
LWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
eworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1
MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3Aud29ya2VyLmpzCmlu
ZGV4IDA3ODI1NWFjZjZjNDI5ODJjMjAyN2JhMGQxOWYwYTU5MWQzOTkyNzEuLjlmYTE0ZTZmMjkx
MDEzMjE4NTc1MjQ5OTM2ZDBmYjNiNzVmY2JlNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5iYXNlbGluZS50b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5iYXNlbGluZS50b3Aud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEJh
c2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcg
Ym94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcg
QEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAi
OTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5maWxsLmJhc2ljLW1hbnVhbC53b3JrZXIuanMKaW5kZXggYmQ3ZjdlMjYzOGJk
MjdlNzRlNzQyNDdmZTlkMjljZjk4MmE3MDYzMC4uMjMxOWI1YzM5MjIzMjhhMmQyZWVmNTVlZGE5
NGRhMTk4NGYyYWU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwuYmFz
aWMtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5iYXNp
Yy1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkcmF3
cyBmaWxsZWQgdGV4dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWws
IHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5O
YU4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi5odG1sCmlu
ZGV4IGY2NmI3MzU3NjE5ZWM4NmZlMjI2OWY2MWIxZTNlNGJiY2ExODNhZjUuLjFlZjA5NWRjZjFi
YTYyYzExOTVmOTVkZGFhODgwMWU2M2ExMTM4OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLk5hTi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU48L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4
dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBo
YW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVj
dGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFp
bCBmYWlsIGZhaWwgZmFpbCcsIDUsIDM1LCBOYU4pOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1
MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLk5hTi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5OYU4ud29ya2VyLmpzCmluZGV4IDQ5YTRmNmJkNWQxZWQ4YjFhOTMyODJjNTRj
MWU5MTI1NmFiODlhZGMuLjcxOTFmYTk2M2MzZGJhODlhYjJlMDg0YjEwNDdiYjlkNTA4OWE1MDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFp
bCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiBfYXNzZXJ0R3JlZW4oY3R4LCAx
MDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmJvdW5kLmh0bWwKaW5kZXggYzc0ODk1NTYzZGY2NTIxODAwYTI0MWU4Zjcx
MDc5MjFlZDQ2NGYzOS4uYmQ5NDFjYmJiZjU4YmNkZmQ2MzBmNWJiY2JiODJiMjk2ZDdlZTAzYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5ib3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3Vu
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBiYXNlZCBv
biBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdp
ZHRoIGJhc2VkIG9uIGxpbmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLmJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmJvdW5kLndvcmtlci5qcwppbmRleCBmZGJhYjViOTg2YjA4M2U4YWQyOThh
OTIwNzI1OTI3MGMwOTM4MDRkLi44NDgyYjI2MjNkYmRjNGZjNGYyY2FmNTg0Yzg1MWM5ZTQyMjI1
NjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3Vu
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91
bmQud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBt
YXhXaWR0aCBiYXNlZCBvbiBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmZvbnRmYWNlLmh0bWwKaW5kZXggOTM2ZGU0NmNjNTk5MDBhODEzOGEyMDBj
NjY5MzdkNzUwYmZiMTYzMi4uYmM4NWM0NWZjOTQ4ZmYxNjVkNGQzYjQ5NmZkOGZjN2U0MjNhYTE1
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguZm9udGZh
Y2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFj
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5mb250ZmFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgd29ya3Mgb24g
QGZvbnQtZmFjZSBmb250czwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCB3b3JrcyBvbiBAZm9udC1mYWNlIGZvbnRzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLndvcmtlci5qcwppbmRleCAzYTViNGI3NDJk
NGZmMGM5NDMxZWIzNWRhYTgwYWM0OTk4MzAzMjdlLi4yZDIwNWE5MmZjNzU4MDUyMzA0YzcxMjVl
NzU1ODRkZDYxYWY2ZWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5mb250ZmFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZmlsbFRleHQgd29ya3Mgb24gQGZvbnQtZmFjZSBmb250cyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lk
dGgubGFyZ2UtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLmxhcmdlLW1hbnVhbC53b3JrZXIuanMKaW5kZXggZTk5ZTU2ZWI1NjY2NWU2NGY4NmVl
ODRhMGNjMGJkOTkwODllYTc3MC4uMzQ1MDQ0NmExMTU4NmJlOTliODNhMWViOWU2N2ZjNTkzNDRh
NzY2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubGFy
Z2UtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5sYXJnZS1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
VGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywg
NSwgMzUsIDIwMCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS5odG1sCmluZGV4IGM1OTQ3ZDg4ODJmYmI2ZWVi
MmFkZDAxM2I4OGEzZTY1NjcyYjA1YmEuLjI5MzlhOTViZWYxYTBiMGM4M2VjYTVhNjQyMzQ1YmRj
MTUzMWU2YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGgubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhh
bmRsZXMgbWF4V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0
bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
Zm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWls
IGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIC0xKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTAp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggNTMwMmZkZTgzNDJmNWM3YmVh
ZDE1YWJmMzQxMmJiZmRmYjdmYmJmMi4uYTdhODlmZTg2Njk1MTEzMjM5NmRmNDY3MzdhNTM3NjY0
ZjFiNTM1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQg
aGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsK
IGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIC0xKTsKIF9h
c3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwuaHRtbAppbmRleCAwNGNiM2VkZjY5
ZWZiYjhjNGYwZGZhODhjMTFmZDJlMDU4M2VjOTczLi4zMTlhMGNjODRlNzVkYmUwZjFiZTdhMjhm
YmY4ZjFmZjdkOTc1YTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5zbWFsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLnNtYWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLnNtYWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVz
IG1heFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQg
PSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWls
IGZhaWwgZmFpbCcsIC0xMDAsIDM1LCA5MCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguc21hbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguc21hbGwud29ya2VyLmpzCmluZGV4IDczYzQ5MjQwNTIxMGEyNjU4ZWU2YWIxMjg0
Zjk5NWMwNTFjZWE1OTcuLjZmMTA3ODg1MzVlM2JjNThmMGFhNDM0MDA5YmViMWMwY2JhY2Y4Y2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lk
dGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQo
J2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIC0xMDAsIDM1LCA5MCk7CiBfYXNzZXJ0R3JlZW4o
Y3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguemVyby5odG1sCmluZGV4IDc3YzlkMDVkODRhNDQ1NmZhZmUzM2I1
ZjBhYThkOGNjM2Q4ZTY2ZTIuLmJmOWIwZjI0OTUxNzExZDIwZWI4ZjdhZjg5ODc2YWNmOTA3MGI0
NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVy
bzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0
bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNh
bnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAz
NSwgMCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5q
cwppbmRleCBkMzIyOTE3NzUxMjZkYTZjZjMzZTY4N2YxMmEzYTY0ZTk3MmZlNjMyLi5lNTI5NDRl
OTU1YTZkZDBlNGMyMTBhYzEwOTc3ZWIwNTE4MTBjZDU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFy
aWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWls
JywgNSwgMzUsIDApOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnJ0bC1tYW51YWwu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIu
anMKaW5kZXggZjViZDI0NzE4ZmIzYjYyOGQ5N2U0YjNlNmVhYzJhZGRkNjJmMGZkYi4uMzQyMmU4
MzVhNjQzN2IzOWU3YTI5YWY1YzA3ZDIzZWVkYmQ4ZTkyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGxUZXh0IHJlc3BlY3RzIFJpZ2h0LVRvLUxlZnQgT3ZlcnJpZGUgY2hhcmFjdGVycyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5zdHJv
a2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwog
Y3R4LmZpbGxUZXh0KCdcdTIwMmVGQUlMIFx4YTAgXHhhMCBTU0FQJywgNSwgMzUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFm
ZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLmh0bWwK
aW5kZXggNWQyZWU3NTZkZTA4NzBiZTEzMWQyOWVkYTdkOTI2ODVkZmYxNGM0Mi4uZTdlNzE3Mjdm
N2Y3ZjhjN2FkMjk4OGY3N2M1ZmVlODNiMTdlZWJlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLnVuYWZmZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRy
YXcuZmlsbC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBkb2VzIG5v
dCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5l
dyBwYXRoIG9yIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5maWxsKCk7CiAK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRl
eCA4YmU5YzBiZGUzMzRmNDVlNGZlNmI5OTI1NWI4OTgzNDFmYWIyYWJlLi5lOTBhYTNiOWY3OTgw
YTkxNWE2YzEyOGUzNjFkYWY5ZjJiZGU3Y2UzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmls
bFRleHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBjdHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5mb250ZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLmh0bWwKaW5k
ZXggZjY2YmU2Y2NmN2M3NWZjOTgyOTU1MWEzODI0YzQ4NTk2YmI1YTczMS4uMDk5MDc0ZmE3MGMy
MWVjYzg4MGFiZWFkMTg2YjU3NzQ2ZTc4MDU5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZvbnRmYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuZHJhdy5mb250ZmFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZm9udGZhY2U8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVu
KGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNyw5
ICszMSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwg
Ijk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7
CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sCmluZGV4IDVlMDg4YzY0ZGU4
MTY0MDhjZWVlYzVjMTA5ZGZiZmNmZjliNWM4OWQuLmRmMzE5Njk2ZTJhZDUwOWQ4NzYwMDQzNWZm
MTExMjc5ZjE3YTI3NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5ub3RpbnBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90
aW5wYWdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZvbnRm
YWNlLm5vdGlucGFnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+QGZvbnQtZmFjZSBmb250cyBzaG91
bGQgd29yayBldmVuIGlmIHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlPC9wPgpAQCAtMTEs
MTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkBmb250LWZhY2Ug
Zm9udHMgc2hvdWxkIHdvcmsgZXZlbiBpZiB0aGV5IGFyZSBub3QgdXNlZCBpbiB0aGUgcGFnZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2Uud29ya2VyLmpzCmluZGV4IDY2ZTY1NDA4ZDdhOTg2
ZTA3MGU2NTdmOGIzNDI0ZWZmOGQwMzNmOGQuLmQ4ZDVhYTFjMmEwZTIyZWNhZjYxMWE0N2ExMzFj
ZGU1OWYxODk4ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5u
b3RpbnBhZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5u
b3RpbnBhZ2Uud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQGZvbnQtZmFjZSBm
b250cyBzaG91bGQgd29yayBldmVuIGlmIHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9u
dGZhY2UucmVwZWF0Lmh0bWwKaW5kZXggOTIyZjc0ZTA3NDE4ZDAxYTVjMmYyYzJlOGU4ZWQ5MDZk
MjYxOWMxYy4uOWJmMzdiODBhZWRkMzM1OGEyMDZlNjUzMGY4NGRlYjY3MmM3ZTI1NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVh
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5EcmF3IHdpdGggdGhlIGZvbnQgaW1tZWRpYXRlbHksIHRoZW4gd2FpdCBhIGJpdCB1bnRpbCBh
bmQgZHJhdyBhZ2Fpbi4gKFRoaXMgY3Jhc2hlcyBzb21lIHZlcnNpb24gb2YgV2ViS2l0Lik8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJEcmF3
IHdpdGggdGhlIGZvbnQgaW1tZWRpYXRlbHksIHRoZW4gd2FpdCBhIGJpdCB1bnRpbCBhbmQgZHJh
dyBhZ2Fpbi4gKFRoaXMgY3Jhc2hlcyBzb21lIHZlcnNpb24gb2YgV2ViS2l0LikiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSwxNiArMjUsMTQgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZvbnQg
PSAnNjdweCBDYW52YXNUZXN0JzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFRl
eHQoJ0FBJywgMCwgNTApOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFRleHQoJ0FBJywgMCwgNTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUsNSwgMCwyNTUsMCwyNTUsICI1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1
LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lndvcmtlci5qcwppbmRleCBjMTVlZTlhZDg1
NzY5YTJmMzJmNjI2YWVhZDVjYjA4MTBmMDIzZWNmLi41ZmRjNWFmNGI3MWRiZjlmNzEwYzQ0ZGZj
OWFlN2M1YzQzZWUyYzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZh
Y2UucmVwZWF0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
cmVwZWF0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRHJhdyB3aXRoIHRoZSBm
b250IGltbWVkaWF0ZWx5LCB0aGVuIHdhaXQgYSBiaXQgdW50aWwgYW5kIGRyYXcgYWdhaW4uIChU
aGlzIGNyYXNoZXMgc29tZSB2ZXJzaW9uIG9mIFdlYktpdC4pIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsMTYgKzIx
LDE0IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5mb250ID0gJzY3cHggQ2Fu
dmFzVGVzdCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxUZXh0KCdBQScsIDAs
IDUwKTsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxUZXh0KCdB
QScsIDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUs
IDAsMjU1LDAsMjU1LCAiNSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZm9udGZhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRm
YWNlLndvcmtlci5qcwppbmRleCAxMzYzN2M3Y2IxMjYwZmU2M2NmYmRmMTI4YmI5OGQ5YmQ2NmM0
ZGY5Li4xMTVjYmYyZDExYjc1YmZkMTk5ZTQ2N2ZmMmZlNTc2NGI0ZmE0OTM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5mb250ZmFjZS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMyw5ICsyNyw3IEBA
IHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQtbWFudWFsLndvcmtlci5qcwppbmRleCA0Njgw
OGE4YjQ3MjYyMGEyM2IwZjM3NDE5ZjdlNTNmZWM5MzVmMGM0Li5mN2YwNDc2NWQwOTM1MWIyZmE4
YmQzOWRhYTE5ZmVhMjBjNDZmOTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
a2Vybi5jb25zaXN0ZW50LW1hbnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3Lmtlcm4uY29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTdHJva2VkIGFuZCBmaWxsZWQgdGV4dCBzaG91bGQgaGF2ZSBleGFjdGx5IHRoZSBzYW1l
IGtlcm5pbmcgc28gaXQgb3ZlcmxhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxs
VGV4dCgnVkFWQVZBVkFWQVZBVkEnLCAtNTAsIDI1KTsKIGN0eC5maWxsVGV4dCgnVG9Ub1RvVG9U
b1RvVG8nLCAtNTAsIDQ1KTsKIGN0eC5zdHJva2VUZXh0KCdWQVZBVkFWQVZBVkFWQScsIC01MCwg
MjUpOwogY3R4LnN0cm9rZVRleHQoJ1RvVG9Ub1RvVG9Ub1RvJywgLTUwLCA0NSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0bWwKaW5kZXggNjBh
Mzg4ZGVlMmMyNzA4MWVmNDc5OWE2NzljMjUyN2EyMDc3YzM5NC4uMjRjYzQyZDYxMzgzN2M0NzY0
ZGFhYTA1YTQwOTA0MDM4NmFhODJjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LnNwYWNlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2lj
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuZHJhdy5zcGFjZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlUrMDAyMCBpcyByZW5kZXJlZCB0aGUgY29ycmVjdCBzaXplICgxZW0g
d2lkZSk8L3A+CkBAIC0xMSwyMyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiVSswMDIwIGlzIHJlbmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3aWRlKSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZv
bnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgRUUn
LCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zcGFjZS5iYXNpYy53b3JrZXIuanMKaW5kZXggM2Q1MzllOWVhOTYwNDY4Njk0M2IzMDk1NmUw
MWUyNjYwMjI0NTUzYi4uNDhiMzdlOTNhOWNkYTIyYjIyODg0OTRiYjZjMTZkOTIzMmNiOThjMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDI2
ICs0LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiVSswMDIwIGlzIHJlbmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFl
bSB3aWRlKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFRleHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7
CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbAppbmRleCAwZDQ0YTBkZjk1ZjNl
ZTM4Mjg0YzEwY2ZiMzdmYzMyOThhMjY0MGQxLi40ODhjNWViZTI1OTdmMDA4N2VjOGNjNzMxYTQ2
YTYyMDQ5YmZhOGFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29s
bGFwc2UuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNl
LmVuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5lbmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXQgdGhl
IGVuZCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwxNCArMTEs
MTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBh
dCB0aGUgZW5kIG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIGN0eC5maWxsVGV4dCgnRUUgJywgMTAw
LCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2UuZW5kLndvcmtlci5qcwppbmRleCA2MDliZmFlY2ZmNjFmMjRmZjZk
ZjJiZGU2ODljZTQwZWQ5MDBhOGU2Li4xYmE0OGNmMzJjNTA5NjI3YWE2OGViNDEyZjFmOWI4Mzg3
NmRjZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uu
ZW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uu
ZW5kLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMg
YXQgdGhlIGVuZCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90
aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMiw5ICsyNiw3IEBAIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEw
MCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS5odG1sCmluZGV4IGE1OTZjNTFjMmI3MjFlYjNiOGU4
NzczMGRkYTU5ZDU0MmQxYWM1OGUuLjVhZGM2Y2U3YmMwNzdjNWMyMTljZTJhM2QyNWM4M2M2MDNm
ZGE3MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5u
b25zcGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5u
b25zcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3
LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Ob24tc3BhY2Ug
Y2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZDwvcD4K
QEAgLTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJOb24t
c3BhY2UgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNl
ZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQo
J0VceDBiIEVFJywgLTE1MCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOwor
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2Uud29ya2VyLmpz
CmluZGV4IDg4MjJkYmZhYzE4MTJiYzFmZWQyZWI0YmQwOTNmNmI1NGRkODdmNjYuLjVjNWRkZDlk
NjljMDQ5ZTExMTE0MTRmZWIwNDJkMzUzNjFlMWM2NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLndvcmtlci5qcwpAQCAtNCwy
NiArNCwyOCBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi1zcGFjZSBjaGFyYWN0ZXJzIGFyZSBub3QgY29udmVydGVk
IHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVm
ZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Citu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5vdGhlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVy
Lmh0bWwKaW5kZXggZDdkYjIzY2I0ZWVmY2NlZjk4MTM2ZWQzMjg3ZDhjODhjMTQzYWFmMS4uMzhi
YWVlMTI5YjdjOWFjYjFiMWE0MzdkN2QyNGQ2MGJlMTMwNTYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5v
dGhlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBj
b2xsYXBzZWQgKHBlciBDU1MpPC9wPgpAQCAtMTEsMjMgKzExLDI1IEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAw
MjAsIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRSBceDA5XHgwYVx4MGNceDBkICBceDA5XHgwYVx4
MGNceDBkRUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlci53b3JrZXIuanMKaW5kZXgg
YzY2MDIzNTBkODE1MmJjNDIwMzY1OTU1MWQ1NTJjZDFhZmM1Njc2OS4uMWI2ODdjN2JmNDkxNWY2
ZjFjMjcwMTAyODEzZGRhZWZlNGI1NWJiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4IEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxh
cHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsK
LXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50
aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAg
Y3R4LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4MDlceDBhXHgwY1x4MGRFRScsIC0x
MDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
c3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRtbAppbmRleCA0YzFhNWE0Yzg1MjYwODgyOGY1MWFlM2Zh
ZTdlMTc0NWVmMmZhNGQ0Li43Zjc3NWE5NTBlYTBkYWQxYmFkZjQwNTliOGQ1NzkwNTU4ZTc5MjM2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5zcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVy
dGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwyMyArMTEs
MjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBh
cmUgY29udmVydGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFICBFRScsIC0x
MDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLndvcmtlci5qcwppbmRleCA5OGQ2OTI0NDgxZjM4
Njg1NDA3ZDYyNjdjMWUyNjNjNGVkZTg0MmJjLi5mNGRmMTZjMjg5N2IzZGQwMGE3YzBiZDI5OWZm
NGNjZTU2ZmEyYmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29s
bGFwc2Uuc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5zcGFjZS53b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBj
aGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NT
KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQo
J0UgIEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sCmluZGV4IDFhNzNiOTQxZDM2OTEx
ZDBlMzBiZmEzZjhmOThiM2Y3YzY2N2Q1MDYuLmVmMjBkMzU3ZDVjODU2NjFkYzBmYjc1MDkzOTll
MWFhM2JiMmMwZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5zdGFydC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNw
YWNlLmNvbGxhcHNlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJz
IGF0IHRoZSBzdGFydCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0x
MSwyMyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hh
cmFjdGVycyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFyZSBjb2xsYXBzZWQgKHBlciBDU1MpIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnIEVF
JywgMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQud29ya2VyLmpzCmluZGV4IGVkZWQxYTg4MDcw
MTQwNWMyNTEyM2E3YWExMzk2NjY0YWRlMTgzYjguLjU0OWZhYjBiNDZlZjFmNGEzYzQyNjZjOWMy
OTUxNGI1YWY5ZjYxNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5zdGFydC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNl
LmNvbGxhcHNlLnN0YXJ0Lndvcmtlci5qcwpAQCAtNCwyNiArNCwyOCBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNl
IGNoYXJhY3RlcnMgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NT
KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQo
JyBFRScsIDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnN0cm9rZS5iYXNpYy1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnN0cm9rZS5iYXNpYy1tYW51YWwud29ya2VyLmpzCmluZGV4IGEwOWExZWFlZWE1
YTVlYWY4YzU3MmNhNzlhZGE5NDM2YWZjNWVmMWMuLjRkYTBiNWRjYTM1ODk2MTc3ZjAwNzJmMzA4
MmNjODQ3NTFmMzhkZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2Uu
YmFzaWMtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tl
LmJhc2ljLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRl
eHQgZHJhd3Mgc3Ryb2tlZCB0ZXh0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDE7CiBjdHguZm9udCA9ICczNXB4IEFyaWFs
LCBzYW5zLXNlcmlmJzsKIGN0eC5zdHJva2VUZXh0KCdQQVNTJywgNSwgMzUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZm
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1s
CmluZGV4IDFjYWM2NWNkNDM3ZGYxMzUwNmQ0MjFkOGY2NTMzMmIxYTFlZDBjNTIuLmIwYzc1NTQ2
OWY5NzgyN2Q2Y2VjZTgwOTA4ZjI4YmY5NjhiZDYxYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
dGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VU
ZXh0IGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRleHQgZG9lcyBu
b3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBj
dHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5h
ZmZlY3RlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0
ZWQud29ya2VyLmpzCmluZGV4IDc5MjFmOGE1OTAwNWUzYjEwMTBmOTgzNGViMWQwNWU1Y2RiMTMy
YWIuLjg3MjM2NTUyZWIxNjVhYWRkY2IwNjhjNmMwNmI4M2VmZDhiNzA2NTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9y
IHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5maWxsKCk7CiAKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1
NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5kZWZhdWx0Lmh0bWwKaW5kZXggNzM2YzFhYjllMjcxMWE2MGQ0MzRlY2Y5MDA1MTE5YTc3
NTc0NzRjNy4uODAwYzdjOThjNzYzZGI5NzQzNDVlZWZkMTAzYmUxZmRmZjBlN2NlZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQuZGVm
YXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcxMHB4IHNh
bnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fucy1zZXJpZiciKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGNhZDY1
NmUyNWQwZmM1ZDJjMWRkNzI5NTNiMTRiY2VjZjdkNjFkMjIuLjEzODY3MGVlNDQzNjZjZmE3Zjk1
ODBiNmFlMTVhZmE1Yzc5NTg3MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5k
ZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC53b3Jr
ZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMTBw
eCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLmh0bWwKaW5kZXggYjM2
OWUwZTM5ZDFmMzlmMjMyNjU5OTI0MDFhZmEzZDFkMTIzODhhMi4uNjg2ODVlMThiNTgzODQyNzI0
Y2MxZDFiMWE4YWZjZDEyMDRmMzBkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LnBhcnNlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2lj
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuZm9udC5wYXJzZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgX2Fzc2VydFNhbWUoY3R4
LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogCiBjdHgu
Zm9udCA9ICcyMFBYICAgU0VSSUYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlm
JywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLndvcmtlci5qcwppbmRleCAyYTNkOTNkN2M5
MGFlMDJmYmNhMTQ4YmIzNzU0YWEwZGNiMWFiYWQ0Li5lMjU5MGRjZmE3NTUyODVhMmI1YjcwNzY4
NDE1NjA5YTViZDkxZGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uu
YmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOwogCiBjdHguZm9udCA9ICcyMFBYICAgU0VSSUYnOwogX2Fzc2VydFNhbWUoY3R4
LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuY29t
cGxleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXguaHRtbAppbmRl
eCBhNDVmNzM3MjlkZjQ3NGFjZjM1NWI5Mzk3MDRlYzBmNjAyZWYzMDllLi5jYjYyZGEwMGVhMTcz
M2ZjODAwNDg2YzBjM2Y5NTMzOGY1MGQ2MDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucGFyc2UuY29tcGxleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJz
ZS5jb21wbGV4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5j
b21wbGV4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAn
c21hbGwtY2FwcyBpdGFsaWMgNDAwIDEycHgvMiBVbmtub3duIEZvbnQsIHNhbnMtc2VyaWYnOwog
X2Fzc2VydFNhbWUoY3R4LmZvbnQsICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4ICJVbmtub3duIEZv
bnQiLCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIidpdGFsaWMgc21hbGwtY2FwcyAxMnB4IFwi
VW5rbm93biBGb250XCIsIHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcwppbmRleCA2MmNjNmVk
ZTI3Mjk5OGY2MjExMDM4N2E2MGNkM2EzOTVmYzJhNGNlLi5jMDk0ZGJhY2YxM2IwMGFkNDNmMDlm
ZTQ1Yzk1MDA3ODEzMTZiNWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFy
c2UuY29tcGxleC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNv
bXBsZXgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3
ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnc21hbGwtY2FwcyBpdGFsaWMgNDAwIDEycHgvMiBVbmtub3duIEZvbnQsIHNh
bnMtc2VyaWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4
ICJVbmtub3duIEZvbnQiLCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIidpdGFsaWMgc21hbGwt
Y2FwcyAxMnB4IFwiVW5rbm93biBGb250XCIsIHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC5odG1sCmluZGV4IGJkNjEw
ZmYzMzQ4YWI4MDA1M2U0NzE5NWIxZWE4MWNjNjYzYmE5ODcuLmI3MmRlYzU4MTZhMDNjYjgzYzJj
MjM3YzAyNTA3M2JjNmIxZDk4ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5w
YXJzZS5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFs
aWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dGV4dC5mb250LnBhcnNlLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250LnBhcnNlLmludmFsaWQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDYgKzIzLDEwIEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5mb250ID0gJzIwcHggc2Vy
aWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicy
MHB4IHNlcmlmJyIpOwogCitjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKK2N0eC5mb250ID0gJyc7
CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHgg
c2VyaWYnIik7CisKIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogY3R4LmZvbnQgPSAnYm9ndXMn
OwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOwpAQCAtNDYsNyArNTQsNiBAQCBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHgg
c2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiBjdHguZm9udCA9ICcyMHB4IHNl
cmlmJzsKIGN0eC5mb250ID0gJzFlbSBzZXJpZjsgYmFja2dyb3VuZDogZ3JlZW47IG1hcmdpbjog
MTBweCc7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAi
JzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
Zm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcwppbmRleCA3MjgxNTk4OGFkZWJiNDdjZjNmOGVl
YzY1NDMyMjlhMzBhMzgxYzYxLi4zZDUyODM3ZmI1ZGUzNjY3NWRlNzNhZmRmNmQwMGFkNzgyNDIy
OWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw2ICsxOSwxMCBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZm9udCA9ICcyMHB4
IHNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIs
ICInMjBweCBzZXJpZiciKTsKIAorY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CitjdHguZm9udCA9
ICcnOworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicy
MHB4IHNlcmlmJyIpOworCiBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250ID0gJ2Jv
Z3VzJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICIn
MjBweCBzZXJpZiciKTsKQEAgLTQyLDcgKzUwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcy
MHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogY3R4LmZvbnQgPSAnMjBw
eCBzZXJpZic7CiBjdHguZm9udCA9ICcxZW0gc2VyaWY7IGJhY2tncm91bmQ6IGdyZWVuOyBtYXJn
aW46IDEwcHgnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250
IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucGFyc2Uuc3lzdGVtLmh0bWwKaW5kZXggYTNkZDQ0OGFhYjVkZWIyOGY4ZWNhMjgwYzBlODY2
YzRhNWZmMWRhNi4uZGY3NzA1YzFjNmNlYzliYjBlZjU5NDM4NDE3ZGQ0ODQ1MWVhNWYyZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TeXN0ZW0g
Zm9udHMgbXVzdCBiZSBjb21wdXRlZCB0byBleHBsaWNpdCB2YWx1ZXM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTeXN0ZW0gZm9udHMgbXVz
dCBiZSBjb21wdXRlZCB0byBleHBsaWNpdCB2YWx1ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnbWVzc2FnZS1ib3gnOwogX2Fzc2VydERpZmZlcmVudChjdHguZm9udCwgJ21lc3NhZ2UtYm94
JywgImN0eC5mb250IiwgIidtZXNzYWdlLWJveCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcwppbmRleCAwYjViY2Zj
MjZjMzA5Y2EzYWVmYmVlZDIxZjU2OWNiMGM3ZmI3NWQ4Li5iZGVjYmIxM2VhNzg0ZmQ3MzM1MzU3
YWJiNTQ0ZTllMDM5ZGM4YTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFy
c2Uuc3lzdGVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lz
dGVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3lzdGVtIGZvbnRzIG11c3Qg
YmUgY29tcHV0ZWQgdG8gZXhwbGljaXQgdmFsdWVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
J21lc3NhZ2UtYm94JzsKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmZvbnQsICdtZXNzYWdlLWJveCcs
ICJjdHguZm9udCIsICInbWVzc2FnZS1ib3gnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQucGFyc2UudGlueS5odG1sCmluZGV4IDM1MGFkMjNjMTVlNTU2OTg0NWMwZWQ5
MmY1Y2U2MTA3MmUzY2ZjOTguLmFiYjFiMWExNTgxMmY2MTNmODA3OGEzMzVkODNhYzI0N2MxN2Fl
MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLnRpbnk8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudGV4dC5mb250LnBhcnNlLnRpbnk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9u
dCwgJzFweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxcHggc2Fucy1zZXJpZiciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNl
LnRpbnkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29ya2Vy
LmpzCmluZGV4IDExYTk2ZGNkNzQ1ZTNjMjgyZjM1MmFkNDRiODQ4NTMxOTg0NmViODkuLmJlMTg0
MWI5ODZiNmNjMjRhM2JlYTEwYzc5MTEzZDY5NzZmMGY1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucGFyc2UudGlueS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHgu
Zm9udCwgJzFweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxcHggc2Fucy1zZXJpZiciKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJl
bGF0aXZlX3NpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWJlM2QyZDQzZTBmMTllOWQ4ZmViODMzMTg5MmY5NzczODhmNmM4Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0
bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZTwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKworPGgxPjJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplPC9oMT4KKzxwIGNsYXNzPSJkZXNj
Ij48L3A+CisKKworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3Zh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCitjdHguZm9udCA9ICcxZW0g
c2Fucy1zZXJpZic7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1zZXJpZicsICJj
dHguZm9udCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwordC5kb25lKCk7CisKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3Jr
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3Jr
ZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2Vi
S2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucmVsYXRpdmVfc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRp
dmVfc2l6ZS53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcwYzU0ZmFhZjA5OTEwOTlhMTc0NWMxZjQ2
OGNjYjA3N2Y0YmY0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5y
ZWxhdGl2ZV9zaXplLndvcmtlci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBETyBOT1QgRURJVCEg
VGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zm
c2NyZWVuQ2FudmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUK
Ky8vIERlc2NyaXB0aW9uOgorLy8gTm90ZToKKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCitjdHguZm9udCA9ICcxZW0gc2Fu
cy1zZXJpZic7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1zZXJpZicsICJjdHgu
Zm9udCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwordC5kb25lKCk7CisKK30pOworZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45NWIyMTE5ZDllMzgzY2ZhOGNlZDRlOWY1NmNiMGMxZDU5NjBkMjQ0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdC
b3g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3g8L2gxPgor
PHAgY2xhc3M9ImRlc2MiPlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNh
bnZhczwvcD4KKworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGFjdHVh
bEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52
YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9u
dHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMu
cmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigp
IHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24g
PSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBjdHguYmFzZWxpbmUgPSAnYWxw
aGFiZXRpYycKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fz
c2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hM
ZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94
TGVmdCkiLCAiMCIpOworICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0
IHNsaWdodGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFj
dHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxC
b3VuZGluZ0JveFJpZ2h0ID49IDUwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0En
KS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmFj
dHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDM1Iik7CisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMo
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSwgMCwgIk1hdGgu
YWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkiLCAiMCIp
OworCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0
dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVU
ZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSAyMDAsICJjdHgubWVhc3VyZVRl
eHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDIwMCIpOworICAgIF9hc3NlcnQo
Y3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODUsICJj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4NSIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNj
ZW50ID49IDM3LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNj
ZW50ID49IDM3Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53
b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53
b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgw
YjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVh
bEJvdW5kaW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIyYTUzNjlhMjBlMmVlNDRkZWE3N2RjYmM3NzRjMzIyZmJlNDI0NmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2Vy
LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBp
biBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gKKy8vIERlc2NyaXB0
aW9uOlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90
ZToKKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0
ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2Fu
dmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAo
ZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwor
Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50
dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZv
bnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xl
ZnQnCisgICAgY3R4LmJhc2VsaW5lID0gJ2FscGhhYmV0aWMnCisgICAgLy8gU29tZSBwbGF0Zm9y
bXMgbWF5IHJldHVybiAnLTAnLgorICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJl
VGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCksIDAsICJNYXRoLmFicyhjdHgubWVhc3Vy
ZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpIiwgIjAiKTsKKyAgICAvLyBEaWZmZXJl
bnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgX2Fz
c2VydChjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwLCAi
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSA1MCIpOworICAg
IF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0g
MzUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSIp
OworICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJv
dW5kaW5nQm94RGVzY2VudCksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1
YWxCb3VuZGluZ0JveERlc2NlbnQpIiwgIjAiKTsKKworICAgIF9hc3NlcnRTYW1lKE1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCksIDAsICJNYXRo
LmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpIiwgIjAi
KTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94
UmlnaHQgPj0gMjAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hS
aWdodCA+PSAyMDAiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVh
bEJvdW5kaW5nQm94QXNjZW50ID49IDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFs
Qm91bmRpbmdCb3hBc2NlbnQgPj0gODUiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCA+PSAzNywgImN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCA+PSAzNyIpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmFkdmFuY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZjRlMjFkZTk1YWUyOTE3YzZiM2IzZjVmMjA3NzRjMDE4MjI3YWNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLmh0
bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L2gxPgorPHAgY2xhc3M9ImRlc2MiPlRl
c3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KKworCis8c2NyaXB0
PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3Jl
ZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Qu
c3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNU
ZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1l
bnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24g
PSAnbGVmdCcKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fz
c2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdKSwg
MCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJc
Il0pIiwgIjAiKTsKKyAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBz
bGlnaHRseSBkaWZmZXJlbnQuCisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbMV0gPj0gMzYsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIi
KygxKSsiXCJdID49IDM2Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbMl0gPj0gNTgsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIi
KygyKSsiXCJdID49IDU4Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbM10gPj0gNzAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIi
KygzKSsiXCJdID49IDcwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbNF0gPj0gODAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIi
Kyg0KSsiXCJdID49IDgwIik7CisKKyAgICB2YXIgdG0gPSBjdHgubWVhc3VyZVRleHQoJ0hlbGxv
Jyk7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBd
LCB0bS5hZHZhbmNlc1swXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIr
KDApKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygwKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUo
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdLCB0bS5hZHZhbmNlc1sxXSwgImN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0iLCAidG0uYWR2YW5j
ZXNbXCIiKygxKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxs
bycpLmFkdmFuY2VzWzJdLCB0bS5hZHZhbmNlc1syXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygyKSsiXCJdIik7Cisg
ICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdLCB0bS5h
ZHZhbmNlc1szXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMpKyJc
Il0iLCAidG0uYWR2YW5jZXNbXCIiKygzKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1l
YXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdLCB0bS5hZHZhbmNlc1s0XSwgImN0eC5tZWFz
dXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDQpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIi
Kyg0KSsiXCJdIik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZh
bmNlcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2Vy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFhMmM2NmYwNTFmZmM4MDk3ODhlNzhjNTcyYzEzZmUzNjMzNzkxNGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29y
a2VyLmpzCkBAIC0wLDAgKzEsNDUgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVz
dCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMKKy8vIERlc2NyaXB0aW9uOlRl
c3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToKKworaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNf
dGVzdCgiVGVzdGluZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7
CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwor
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5l
dyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBm
b250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRz
LmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30p
LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAg
ICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgLy8g
U29tZSBwbGF0Zm9ybXMgbWF5IHJldHVybiAnLTAnLgorICAgIF9hc3NlcnRTYW1lKE1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSksIDAsICJNYXRoLmFicyhjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsiXCJdKSIsICIwIik7CisgICAg
Ly8gRGlmZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlmZmVyZW50
LgorICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID49IDM2
LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMSkrIlwiXSA+PSAzNiIp
OworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdID49IDU4
LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMikrIlwiXSA+PSA1OCIp
OworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdID49IDcw
LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMykrIlwiXSA+PSA3MCIp
OworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdID49IDgw
LCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoNCkrIlwiXSA+PSA4MCIp
OworCisgICAgdmFyIHRtID0gY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpOworICAgIF9hc3NlcnRT
YW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSwgdG0uYWR2YW5jZXNbMF0s
ICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsiXCJdIiwgInRtLmFk
dmFuY2VzW1wiIisoMCkrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgn
SGVsbG8nKS5hZHZhbmNlc1sxXSwgdG0uYWR2YW5jZXNbMV0sICJjdHgubWVhc3VyZVRleHQoJ0hl
bGxvJykuYWR2YW5jZXNbXCIiKygxKSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMSkrIlwiXSIp
OworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1syXSwg
dG0uYWR2YW5jZXNbMl0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygy
KSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMikrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSwgdG0uYWR2YW5jZXNbM10sICJjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygzKSsiXCJdIiwgInRtLmFkdmFuY2Vz
W1wiIisoMykrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1s0XSwgdG0uYWR2YW5jZXNbNF0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbXCIiKyg0KSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoNCkrIlwiXSIpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmJhc2VsaW5lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMjZjNWNiM2QwZGUzZGYyYmIxYTZkM2Ez
ZWY4NDM4ZjAyNmE2YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYmFzZWxpbmVzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0t
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuIC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUu
YmFzZWxpbmVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lczwvaDE+Cis8
cCBjbGFzcz0iZGVzYyI+VGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4K
KworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGJhc2VsaW5lcyBmb3Ig
T2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMv
Q2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6
IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4g
eworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOworICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgY3R4LmFs
aWduID0gJ2xlZnQnCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0En
KS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4
dCgnQScpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJj
dHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsK
KyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdp
bmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2
OCIpOworCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5n
ZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzks
ICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICIt
MzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5l
cygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCku
aGFuZ2luZyIsICI2OCIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYmFzZWxpbmVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGlu
ZXMud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYzJkZmY4YzgwNDNhOWY5NDg2NTY2NTYwNmRjYjY1
ZjU2MDMzMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFz
ZWxpbmVzLndvcmtlci5qcwpAQCAtMCwwICsxLDM4IEBACisvLyBETyBOT1QgRURJVCEgVGhpcyB0
ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2NyZWVu
Q2FudmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcworLy8gRGVz
Y3JpcHRpb246VGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToK
KworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0g
YXN5bmNfdGVzdCgiVGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkg
eworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
K3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBu
ZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQg
Zm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250
cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9
KS50aGVuKGZ1bmN0aW9uKCkgeworICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAg
IGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgX2Fzc2Vy
dFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFi
ZXRpYyksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5h
bHBoYWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5n
ZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0
QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVh
c3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nLCA2OCwgImN0eC5tZWFzdXJlVGV4
dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmciLCAiNjgiKTsKKworICAgX2Fzc2VydFNhbWUo
TWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRp
YyksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5h
bHBoYWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0Qn
KS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7CisgICBfYXNzZXJ0U2FtZShj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nLCA2OCwgImN0eC5t
ZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmciLCAiNjgiKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS5lbUhlaWdodHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5lbUhlaWdodHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDhjMmFlN2RhZTJhYjViZjU4ZTBkNDc3ODU2
YzRiOTE4ZDE5MWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LmVtSGVpZ2h0cy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBE
TyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0
LnB5LiAtLT4KKzx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmVt
SGVpZ2h0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5lbUhlaWdodHM8L2gxPgorPHAg
Y2xhc3M9ImRlc2MiPlRlc3RpbmcgZW1IZWlnaHRzIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisK
KworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBlbUhlaWdodHMgZm9yIE9m
ZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwordC5zdGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0Nh
bnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBk
b2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsK
KyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5h
bGlnbiA9ICdsZWZ0JworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVp
Z2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAi
MzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVz
Y2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCIsICIxMi41
Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50
ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAiY3R4Lm1lYXN1cmVU
ZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRB
c2NlbnQiLCAiNTAiKTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmVtSGVpZ2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRB
c2NlbnQiLCAiMzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmVtSGVpZ2h0RGVzY2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
RGVzY2VudCIsICIxMi41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2Nl
bnQsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1l
YXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAiNTAiKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5lbUhlaWdodHMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
bWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjU3NmYy
YzRjZDY0YTMxMDJjYTgyNTE0MmIzNjM5MWYyYWMwNjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMKQEAgLTAsMCArMSwzOCBA
QAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMv
Z2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQu
bWVhc3VyZS5lbUhlaWdodHMKKy8vIERlc2NyaXB0aW9uOlRlc3RpbmcgZW1IZWlnaHRzIGZvciBP
ZmZzY3JlZW5DYW52YXMKKy8vIE5vdGU6CisKK2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgZW1IZWlnaHRzIGZv
ciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250
cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRz
IDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9
PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBj
dHguYWxpZ24gPSAnbGVmdCcKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5l
bUhlaWdodEFzY2VudCwgMzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50
IiwgIjM3LjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdo
dERlc2NlbnQsIDEyLjUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQiLCAi
MTIuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVz
Y2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50LCA1MCwgImN0eC5tZWFz
dXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVp
Z2h0QXNjZW50IiwgIjUwIik7CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FC
Q0QnKS5lbUhlaWdodEFzY2VudCwgMzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVp
Z2h0QXNjZW50IiwgIjM3LjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FC
Q0QnKS5lbUhlaWdodERlc2NlbnQsIDEyLjUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhl
aWdodERlc2NlbnQiLCAiMTIuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
QXNjZW50LCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVzY2VudCArIGN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNjZW50IiwgIjUwIik7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuZm9udEJvdW5kaW5nQm94Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkwMjc3MjAzNTg5ODBiZTNhYTJk
MWY0Y2VkN2NiNGFmYTJiNTViMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
bWVhc3VyZS5mb250Qm91bmRpbmdCb3guaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
dG9vbHMvZ2VudGVzdC5weS4gLS0+Cis8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUu
Zm9udEJvdW5kaW5nQm94PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5UZXN0aW5nIGZvbnRCb3VuZGlu
Z0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisKKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5j
X3Rlc3QoIlRlc3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigp
IHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0g
bmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0
IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9u
dHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOwor
fSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwor
ICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBf
YXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQsIDg1
LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50IiwgIjg1Iik7Cisg
ICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2Vu
dCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5
Iik7CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRp
bmdCb3hBc2NlbnQsIDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94
QXNjZW50IiwgIjg1Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
Zm9udEJvdW5kaW5nQm94RGVzY2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250
Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKwor
fSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250
Qm91bmRpbmdCb3gud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJv
dW5kaW5nQm94Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2
NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4g
dGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDE4ZmYzM2M3ODgxMmQ1MDc0YTZmOWNlMmYzY2RkNjZjNjQwZjE0OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29y
a2VyLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVz
dCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94CisvLyBEZXNjcmlw
dGlvbjpUZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3Rl
OgorCitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQg
PSBhc3luY190ZXN0KCJUZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVu
Y3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2
YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYi
KTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRz
KTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQn
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNj
ZW50LCA4NSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCIsICI4
NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0Jv
eERlc2NlbnQsIDM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2Vu
dCIsICIzOSIpOworCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9u
dEJvdW5kaW5nQm94QXNjZW50LCA4NSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3Vu
ZGluZ0JveEFzY2VudCIsICI4NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQsIDM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZm9udEJvdW5kaW5nQm94RGVzY2VudCIsICIzOSIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMu
aHRtbAppbmRleCBhMDFjMTA5OWViYzZiNTY4NjRlMzZhMGRkYmNjZmQ1ZTRjZDBhMTgzLi42YWNl
OTQ0OTYyYWNjYWU1YzFiZWQ1NGZjNWM1MTFkMmM0YWJiYzZmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRtbApAQCAtMywyMSArMywyOSBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWM8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4
dC5tZWFzdXJlLndpZHRoLmJhc2ljPC9oMT4KLTxwIGNsYXNzPSJkZXNjIj48L3A+Cis8cCBjbGFz
cz0iZGVzYyI+VGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3Ig
T2Zmc2NyZWVuQ2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHQgPSBhc3luY190ZXN0KCJUaGUgd2lkdGggb2YgY2hhcmFjdGVyIGlzIHNhbWUgYXMg
Zm9udCB1c2VkIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZh
c1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250
cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5y
ZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgi
LCAiNTAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGgsIDEw
MCwgImN0eC5tZWFzdXJlVGV4dCgnQUEnKS53aWR0aCIsICIxMDAiKTsKQEAgLTI1LDkgKzMzLDcg
QEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgY3R4
LmZvbnQgPSAnMTAwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVU
ZXh0KCdBJykud2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoIiwgIjEwMCIp
OwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGgu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndv
cmtlci5qcwppbmRleCBiNGNhMjNiMmE0MGEyM2UzNjE5MmY0Mzk2NTY3NWFmNmJlNmVhMjkxLi5k
YTJlYTcwNWI0ZDlhNzFkNzU2MmE4N2Q1YTFmYmYxNDM0YjZlODQ3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMKQEAgLTEsMTkgKzEsMjcgQEAK
IC8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dl
bnRlc3QucHkuCiAvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1l
YXN1cmUud2lkdGguYmFzaWMKLS8vIERlc2NyaXB0aW9uOgorLy8gRGVzY3JpcHRpb246VGhlIHdp
ZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFz
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKLXZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSB3aWR0aCBvZiBjaGFyYWN0ZXIg
aXMgc2FtZSBhcyBmb250IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250
RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9
IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChm
KTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCwgNTAsICJjdHgubWVhc3VyZVRleHQo
J0EnKS53aWR0aCIsICI1MCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUEn
KS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoIiwgIjEwMCIpOwpAQCAt
MjEsOSArMjksNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CiAKICAgICBjdHguZm9udCA9ICcxMDBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShj
dHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lk
dGgiLCAiMTAwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUud2lkdGguZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0
eS5odG1sCmluZGV4IDYxNzNkMTgzY2EyNjNmNDAwODI0OGE3OTFlZTI0ODA5ZGZkZGNjYzAuLmU4
YzBiNTQ0YWM0NTJjOGEyYTEwZTI4NmY2NzNiZTJiZWYwM2JmOGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQubWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCkBAIC0zLDI2ICszLDMyIEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHk8L2gxPgotPHAgY2xhc3M9ImRlc2MiPlRoZSBlbXB0eSBz
dHJpbmcgaGFzIHplcm8gd2lkdGg8L3A+Cis8cCBjbGFzcz0iZGVzYyI+VGhlIGVtcHR5IHN0cmlu
ZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12
YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgiKTsKK3Zh
ciB0ID0gYXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zm
c2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9D
YW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDog
ZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7
CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgiIiku
d2lkdGgsIDAsICJjdHgubWVhc3VyZVRleHQoXCJcIikud2lkdGgiLCAiMCIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lndvcmtlci5qcwppbmRl
eCBkOWM3MWFmYWZhNmIxNmQxOGIwZjBjYTU1MDgxOGYyYzRiZjc4ZTUwLi4zMmY5MWNkYTk2NjNm
MTEwODhhMWQ0MWE2Y2NjOGEzOTlkYWQ3ZDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5lbXB0eS53b3JrZXIuanMKQEAgLTEsMjQgKzEsMzAgQEAKIC8vIERPIE5PVCBF
RElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAv
LyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGgu
ZW1wdHkKLS8vIERlc2NyaXB0aW9uOlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgKKy8v
IERlc2NyaXB0aW9uOlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGggZm9yIE9mZnNjcmVl
bkNhbnZhcwogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCi12YXIg
dCA9IGFzeW5jX3Rlc3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgiKTsKK3ZhciB0
ID0gYXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2Ny
ZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9j
dW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgiIikud2lk
dGgsIDAsICJjdHgubWVhc3VyZVRleHQoXCJcIikud2lkdGgiLCAiMCIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbAppbmRleCBiNGNkYzhiMGM2YmNm
Y2FmM2JmYzAwNzJmMzY0ZThlOGNhZjE3ODY3Li4zMGE3M2NjYTFhNDJjMWE1NTJjYzAzMWZhZjE0
M2FlY2M4MDdlNjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGgu
c3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRt
bApAQCAtMywyMSArMywyOSBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
Lm1lYXN1cmUud2lkdGguc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlPC9o
MT4KLTxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSsw
MDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpPC9wPgorPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNo
YXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykg
Zm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KIAogCiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0
KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQg
KHBlciBDU1MpIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNv
bnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9mZnNjcmVlbkNh
bnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVz
dC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50
LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRo
LCAxNTAsICJjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoIiwgIjE1MCIpOwogICAgIF9hc3Nl
cnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoLCAxNTAsICJjdHgubWVhc3VyZVRl
eHQoJ0EgIEInKS53aWR0aCIsICIxNTAiKTsKQEAgLTI2LDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1l
YXN1cmVUZXh0KCcgQUInKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCcgQUInKS53aWR0
aCIsICIxMDAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRo
LCAxMDAsICJjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRoIiwgIjEwMCIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLndvcmtlci5qcwppbmRl
eCA1ZmM5MWI4NDg4MjMzZTkxYTAxODJhZjJkMDJlOTdlMjE0MGJiYTc2Li42MGJmZmFhYTc2NzVj
YmRlYmFhOWMyNmYyNjlhODAzYWI3ZGJjMzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5zcGFjZS53b3JrZXIuanMKQEAgLTEsMTkgKzEsMjcgQEAKIC8vIERPIE5PVCBF
RElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAv
LyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGgu
c3BhY2UKLS8vIERlc2NyaXB0aW9uOlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBV
KzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykKKy8vIERlc2NyaXB0aW9uOlNwYWNlIGNoYXJh
Y3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9y
IE9mZnNjcmVlbkNhbnZhcwogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCi12YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0
byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgi
U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChw
ZXIgQ1NTKSBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNU
ZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMg
PyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVh
ZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnQSBCJykud2lkdGgsIDE1MCwgImN0eC5tZWFzdXJlVGV4dCgnQSBCJykud2lk
dGgiLCAiMTUwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBICBCJykud2lk
dGgsIDE1MCwgImN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoIiwgIjE1MCIpOwpAQCAtMjIs
OSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAK
ICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoLCAxMDAsICJjdHgu
bWVhc3VyZVRleHQoJyBBQicpLndpZHRoIiwgIjEwMCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnQUIgJykud2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lk
dGgiLCAiMTAwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCmluZGV4IDk3NTViMzc1YTZjNzcxNzVlOGNhMTkx
MDMxOWJiNjVjN2JkZGJmM2UuLjkwNzQxOWQ5OGUzZGY1MjY3NzFmODE2MTkxNDgzNGIzMzFhNTVk
YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3cz
Yy1pbXBvcnQubG9nCkBAIC0xMDcsNiArMTA3LDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmZvbnQucGFyc2UudGlueS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnku
d29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS5hZHZhbmNlcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndv
cmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5tZWFzdXJlLmVtSGVpZ2h0cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVp
Z2h0cy53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
bWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC5odG1sCmluZGV4IGEzODRlNTZmMjQ4NDNiZTMz
ZTk2NjlmNzkyYjNiN2ViZDNiOTRkNjUuLmI5NTUzODcyZWRhOGI1YjkxNjA1M2U5NjNlMzA3MWRi
YzZiNTNjY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmJpdG1hcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLmJpdG1hcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXA8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2
ZXJlc3RvcmUuYml0bWFwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGRv
ZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBiaXRtYXA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBiaXRtYXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVz
dG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53
b3JrZXIuanMKaW5kZXggYmUyNDBhNGViZmUyZjQyOTFlY2Q5ZWI0YzJhZTRiMDlkODJkNTkzMS4u
NTI3MjI5MjNiNWQzNTYxNjk4MDkzOWYwMGEwMTlkYmFiYzExYzkzYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBiaXRtYXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVz
dG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC5odG1sCmluZGV4
IDBiM2E3ZWFmMzg3MmMzNmI1YjE4MTFhODVhMmRjYWU4YTZjZjAxYjUuLjM4NmMzYzJjODk4ZTVk
NTBjMTFhODU0ZmFhM2ZmNWNhNzQ5NmE5OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXA8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jl
c3RvcmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3Rz
IHRoZSBjbGlwcGluZyBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucmVzdG9yZSgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKaW5k
ZXggY2VlN2RmMDhiZGVhZTI3NjlmYjE1ZWRkMDRjODM2M2JhY2M4OTcyYy4uY2VkMTBhY2EyODg3
NDlkN2VhNGY4ZTVjODIzYjZjODQxYjE2ODVmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0
aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sCmluZGV4IDg2MTMxMmQwZjQ1ZmQw
ZTU3N2MwMzVmNjU2NDRlNDAzNTA5NDgyNTUuLjFkN2U4NjJjMjNlNmZlNDZkMTI1ZDFmNzNiNzVi
MWM1ZGEyNzIwYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZl
KCkvcmVzdG9yZSgpIHdvcmtzIGZvciBmaWxsU3R5bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZv
ciBmaWxsU3R5bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5maWxsU3R5bGU7
CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgb2xkLCAiY3R4LmZpbGxT
dHlsZSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHls
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5m
aWxsU3R5bGUud29ya2VyLmpzCmluZGV4IGE3MjJkZDA0MWY2OGM3YTA4MDA1MjkwZDYyZjkzZDY3
M2FlNDA4YWMuLjQ3Mjc3OThlODZmYWE1YjZhY2Q1MDVkMjg0YjFiMDM4YjU4ZmU4NDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHls
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuZmlsbFN0eWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jl
c3RvcmUoKSB3b3JrcyBmb3IgZmlsbFN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQg
PSBjdHguZmlsbFN0eWxlOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUs
IG9sZCwgImN0eC5maWxsU3R5bGUiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5nbG9iYWxBbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEuaHRtbAppbmRleCBhMjRjM2Q1NjBmYjVmZWM0NTFlZjNm
NTczYjA3MGQ2OThjOTRmMzZjLi5lYzMxYzYzZGFhNTExYjdlZGExNjQ4N2JkMjhiZDE4NDQ0MjM0
YzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5nbG9iYWxBbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLmdsb2JhbEFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZl
KCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxBbHBoYTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3Mg
Zm9yIGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHguZ2xvYmFs
QWxwaGE7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCBvbGQsICJj
dHguZ2xvYmFsQWxwaGEiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5nbG9iYWxBbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5nbG9iYWxBbHBoYS53b3JrZXIuanMKaW5kZXggNjQzMjc4M2M3ZGMwY2IzNDlm
NmY0MjU3MDQ1Zjk5MGQ2Yjk4MjM3OS4uMWUwNGQ4NDVhMzYxYThlMGVkMDVlZWE1MTY4YzdkOTg4
YjM1N2QxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuZ2xvYmFsQWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxBbHBoYTsKIGN0eC5zYXZlKCk7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIG9sZCwgImN0eC5nbG9iYWxBbHBoYSIsICJvbGQiKTsK
IGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKaW5kZXggNWM1MTJmYmRkYTA1ZjNlNTFmY2ZhYTc4YWY2
ZWQ4NGZlY2YwZDcxMy4uMzYwOTA1ZDI2YjUxOGVjZjcwYTQzNDg5OTcwNzhkYzY5MTE1ZDAzMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3Jl
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29y
a3MgZm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAg
b2xkID0gY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0
U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBvbGQsICJjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIuanMK
aW5kZXggZTA2Yzk5NDYyYmM4NTBlNTUyODZkZWZkZmY2N2I3ZWI0ZjAwNWZlYi4uYjhhOTcwZGY3
MzgwNmY3YTE3NTkyMTI3YzI2OGY5MDkwNjk0NDRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb247
CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwg
b2xkLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJvbGQiKTsKIGN0eC5yZXN0b3Jl
KCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbAppbmRleCBhMGUyNDU3NDM2YTZlOTUy
ZjBlNjAyOTk2ODNhMTlhNzMxYjY3ODk1Li42MGMyNDgyYTQxZDhhOTNlMWFmYjQwNzc5OWIwNThh
MDcxZDRmZTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5saW5lQ2FwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUubGluZUNhcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRl
LnNhdmVyZXN0b3JlLmxpbmVDYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIGxpbmVDYXA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHgubGluZUNhcDsKIGN0eC5zYXZlKCk7CiBf
YXNzZXJ0U2FtZShjdHgubGluZUNhcCwgb2xkLCAiY3R4LmxpbmVDYXAiLCAib2xkIik7CiBjdHgu
cmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCmluZGV4
IGZhOTY3NzQzYTAyYjcyOTVjOWQ5NzdhMWZlYTRmZDhlNGJiZjZlZTMuLjkwODJiMDJkNjlhMTRm
YzAyZjVmN2FlMmI2Yjg0NzdkYzY5ZDIzNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgubGluZUNhcDsKIGN0eC5zYXZlKCk7CiBf
YXNzZXJ0U2FtZShjdHgubGluZUNhcCwgb2xkLCAiY3R4LmxpbmVDYXAiLCAib2xkIik7CiBjdHgu
cmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4uaHRtbAppbmRleCA3NWM4YTk0
YzYwNzFjODlmYjMwZDVlYzE2ZWY1MjFiZGE3MDU5NDlmLi4zNDc0MzRhY2I4YTZmYzE3NTRkYzVm
NmVjOGEwMWM0ZTc1ZjgwNDg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5z
YXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lSm9pbjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3Mg
Zm9yIGxpbmVKb2luIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHgubGluZUpvaW47
CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCBvbGQsICJjdHgubGluZUpv
aW4iLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5l
Sm9pbi53b3JrZXIuanMKaW5kZXggMWE0YTM3N2Y1MDRlYzNmYWJjMDI2NmI0Yjg4NGRlNjJlYmEy
NmEzNi4uOTk3Y2U4ODE2YmU0MWIxN2FhYzFjMzI5Y2RlYmJmZDIyNmFmMDZmNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxp
bmVKb2luLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3IgbGluZUpvaW4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5s
aW5lSm9pbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sIG9sZCwgImN0
eC5saW5lSm9pbiIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxp
bmVXaWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
bGluZVdpZHRoLmh0bWwKaW5kZXggNTY1ZmM2M2UzOGE2OGQ2OWQ5OWZiZTU1MDcyZDUyYmJjYzMw
MzI4MS4uZjU0OTdlNmYzM2ZmYTAzYTJlZGQ3ZWJkNTdlYjkxOTA5MDRmNmM0ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdp
ZHRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5s
aW5lV2lkdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IGxpbmVXaWR0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVXaWR0aCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LmxpbmVXaWR0aDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0
U2FtZShjdHgubGluZVdpZHRoLCBvbGQsICJjdHgubGluZVdpZHRoIiwgIm9sZCIpOwogY3R4LnJl
c3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC53b3JrZXIuanMKaW5k
ZXggYjA0ZDRiYjAxYjFhYTM5ODg5NGQxZWM1NDUyOGQxM2EzZjgyMzJkNy4uM2FhOGNhMjBlN2Fk
YTIzZDMyYTdkZDQ4Y2I1NjA5NGNlNGM3NWZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGgud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5l
V2lkdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5saW5lV2lkdGg7CiBjdHgu
c2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgb2xkLCAiY3R4LmxpbmVXaWR0aCIs
ICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQu
aHRtbAppbmRleCAyMTczMzI1ZTI0ODUzNzUwMDQ0MDlhMDQyMGJiZmRkNDkyOTQ4MmQzLi5lYzg2
YzgyNmFhZjJjOWVhMThmMzFlNTZmNDE0MjcyYzQyODc5YzE3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5z
YXZlcmVzdG9yZS5taXRlckxpbWl0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGlt
aXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIG1pdGVy
TGltaXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBtaXRlckxpbWl0Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBvbGQgPSBjdHgubWl0ZXJMaW1pdDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHgubWl0ZXJMaW1pdCwgb2xkLCAiY3R4Lm1pdGVyTGltaXQiLCAib2xkIik7CiBjdHgucmVz
dG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzCmlu
ZGV4IDA1OTFhN2I1OTdlYzc5M2Q0ZDM2Yzc5OGRhNjg4NzcwZGIwZTA5YzEuLmExZWFmZDZkMjcy
Mzk1ZmY4ZWY0ZWMzYjQ2YmNjZTAyYTI0Y2RiZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBt
aXRlckxpbWl0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgubWl0ZXJMaW1pdDsK
IGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgb2xkLCAiY3R4Lm1pdGVy
TGltaXQiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwK
aW5kZXggMmM0OGI5OWVlOTYzYWU1NTI0NzYzYjI0YjJiMmZlYTA0NGNjMGY4NS4uMWVlNWU1YWRi
M2M1M2VjM2NmYzY3MzE3YWJiNTI0M2RlMGVhYjE0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZl
KCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3Rv
cmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcwpp
bmRleCA4MzgzM2U1OTVkY2M3M2YzZjQwMzEzZGY1OTg0MDFjZDFjMTAzNzlmLi4wZGMyZThhOGNj
YTFlYjkwZTg3MGI2OGQxMTI4ZmFmODI4YTQxMjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1
cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci5odG1sCmluZGV4IDBmNGZjY2M5NDg0ZjcyZGEyYTNl
NTRhOWEyNDhiNjFiMTk2YTMxYjAuLjE3MGQzMGVjOGM0ZmJjYjQ2MTE0ZmM3NTg2MzA4ZTBmNTNj
ODc4NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnNoYWRvd0JsdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgp
L3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Qmx1cjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IHNoYWRvd0JsdXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dCbHVy
OwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCBvbGQsICJjdHguc2hh
ZG93Qmx1ciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRv
d0JsdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc2hhZG93Qmx1ci53b3JrZXIuanMKaW5kZXggYzI0ZTY0MzhkNzkzMjk1OTZiNGI0MWZhNWRj
ZjdiNDhmNzNiNTg4OS4uN2FmNTc5OTI0ZGEzNTU5MDk4ZTdkNGYxYTQ5ZjViMTIzNzkwNDVlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hh
ZG93Qmx1ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNh
dmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0JsdXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIG9sZCA9IGN0eC5zaGFkb3dCbHVyOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5z
aGFkb3dCbHVyLCBvbGQsICJjdHguc2hhZG93Qmx1ciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCmluZGV4IDA4NmJhMzAwM2U2
Mzg5MjFlMjUzNmE5YjRlNDE5ZDM5NmE5MzFjOTcuLjkxMDhkMGRkYmNmNmEzYTUxMzc3ZTFiODll
Yjg3MTliMzgxNzViNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29s
b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3I8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0NvbG9yPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3Rv
cmUoKSB3b3JrcyBmb3Igc2hhZG93Q29sb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9
IGN0eC5zaGFkb3dDb2xvcjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29s
b3IsIG9sZCwgImN0eC5zaGFkb3dDb2xvciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtlci5qcwppbmRleCA5NGUyNWJi
OTA4YTgyZDBiMDA3MjA4MDBlNjc2MDgzNDQ5ZTY4MmU5Li5mZDM1ODNjMzM1ZmUzOTI1MGE1MmFk
MjNhOTQxMzQ2NTdlYTJiMDg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dDb2xv
ciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNoYWRvd0NvbG9yOwogY3R4LnNh
dmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgb2xkLCAiY3R4LnNoYWRvd0NvbG9y
IiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0
WC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93
T2Zmc2V0WC5odG1sCmluZGV4IGYyMTFhMDM0OGE1NzJmN2YzMTdiMGZlYmVhMmRiNDFmM2MwMTQw
OTkuLjBkM2JmNTY3MzA5YWI3MmJiMGYyMjZkNWU4NGQ4YTdjZDgzOWY1Y2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFk
b3dPZmZzZXRYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFg8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3Rv
cmUoKSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNo
YWRvd09mZnNldFgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dPZmZz
ZXRYOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCBvbGQsICJj
dHguc2hhZG93T2Zmc2V0WCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLnNoYWRvd09mZnNldFgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKaW5kZXggMzczYWZhMDlmNjFi
NmE4NTE2YmYwOTk3NTUxMzhiZGYxYjVmNDk4MS4uOGM1ODIwMGE5ZDMwZDdkMzQxYzM4ZWFlNmRi
OTNhMzRiMWVhYjJhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09mZnNl
dFgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dPZmZzZXRYOwogY3R4
LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCBvbGQsICJjdHguc2hhZG93
T2Zmc2V0WCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRv
d09mZnNldFkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnNoYWRvd09mZnNldFkuaHRtbAppbmRleCAxYzEwMTNiODgwNjNhYmYwN2VmYmMyNjFmY2M1ODIx
ZTczMzExNTYwLi45ZDZmYjQ4MTlmNDE1MjAwNTkwYWQ2YTJlMDhjNzJjYTE0ZjhjZTMxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dP
ZmZzZXRZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc2hhZG93T2Zmc2V0WS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0
YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUo
KS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09mZnNldFk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtz
IGZvciBzaGFkb3dPZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHguc2hh
ZG93T2Zmc2V0WTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwg
b2xkLCAiY3R4LnNoYWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCmluZGV4IGY4ODNh
OTM1Zjg3MzhiYmI2ZjAxYWQwZmRkYjEzZDUyZWM3MGJlODcuLjI3YjE4MDRlMDBkMjMxY2ZkNDI4
NDg4ZjUwMmUwNzJlZjdmMTMyZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFk
b3dPZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguc2hhZG93T2Zmc2V0
WTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwgb2xkLCAiY3R4
LnNoYWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5zdGFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c3RhY2suaHRtbAppbmRleCA2ZTc0ODI1ZjY2OTcxY2I1NmJjZDA3YzVlM2YwMzlhMDUyYWQyODhm
Li5hNDFkYjllNDk5OGNhM2M5N2VkMTU3N2ZiYjJkYmQxYzRmYjllNDM0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnN0YWNrPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBzdGFjazwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUo
KS9yZXN0b3JlKCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNrIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAs
NiBAQCBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMiwgImN0eC5s
aW5lV2lkdGgiLCAiMiIpOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lk
dGgsIDEsICJjdHgubGluZVdpZHRoIiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2sud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2su
d29ya2VyLmpzCmluZGV4IDVhMGY3NGI4YWI5NmMxYmRkODdkNzVlNTg4OGRmNjdjY2I2NjU0Njgu
LmM0YWIzODhlNjJlMmNlYTFlODAzNmZjZDM4YTJhMzNhNmM0NDBkZTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgY2FuIGJlIG5l
c3RlZCBhcyBhIHN0YWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgucmVzdG9yZSgpOwog
X2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMiwgImN0eC5saW5lV2lkdGgiLCAiMiIpOwogY3R4
LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEsICJjdHgubGluZVdpZHRo
IiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sCmluZGV4IDQwOTdh
ZTllZTBjYzJhMjQ1NzEzNDc4ZjA4N2IyNTU2YTM4YTZjMTcuLjk1NTMxNzdkNGI4MWQ4YzkxMTJk
OWMxODNkMTJkYWI5NzkwNGU3YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNr
ZGVwdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5
IGxpbWl0ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFibHkg
bGltaXRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgZm9yICh2YXIgaSA9IGxpbWl0LTE7IGkg
PiAwOyAtLWkpCiAgICAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgaSwgImN0eC5saW5lV2lk
dGgiLCAiaSIpOwogICAgIGN0eC5yZXN0b3JlKCk7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNr
ZGVwdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc3RhY2tkZXB0aC53b3JrZXIuanMKaW5kZXggNThhMjhlMGVjODg1OGMyZmUyOGI2ODM1NzMw
N2NlOTJkM2Y4MzhiMS4uNjdhZTYyZGFjODExOGNjOGVkZGRiNjg5NTU2YzMzN2Q2NWM5YTdiNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Rh
Y2tkZXB0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc3RhY2tkZXB0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNh
dmUoKS9yZXN0b3JlKCkgc3RhY2sgZGVwdGggaXMgbm90IHVucmVhc29uYWJseSBsaW1pdGVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBmb3IgKHZhciBpID0gbGltaXQtMTsgaSA+IDA7IC0taSkK
ICAgICBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBpLCAiY3R4LmxpbmVXaWR0aCIsICJpIik7
CiAgICAgY3R4LnJlc3RvcmUoKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxl
Lmh0bWwKaW5kZXggMTNjMGM5Zjg2NWM3N2JiZjM3NzMyMjQyODNkYTZjOTZiNjhjZDZjYS4uMDli
OTJiYjc4ZDRkZDAxOTFiNDgyNDdjOTUwNmQwNjRiZjIxMjM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0
ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJv
a2VTdHlsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Ig
c3Ryb2tlU3R5bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzdHJva2VTdHlsZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LnN0cm9rZVN0eWxlOwogY3R4LnNhdmUoKTsKIF9h
c3NlcnRTYW1lKGN0eC5zdHJva2VTdHlsZSwgb2xkLCAiY3R4LnN0cm9rZVN0eWxlIiwgIm9sZCIp
OwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUu
d29ya2VyLmpzCmluZGV4IDFmMTQ5ZWQ5OWRjNDVmODAzMzE5NzBmOTE5MWFkYTc2OTJmYWFhNWQu
LjI0YzQ3ZjdiMGMzNDQ0MzE0MDI4MzdlZTZjZDVlNzA5NTQzZWFiNjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJv
a2VTdHlsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3Jl
KCkgd29ya3MgZm9yIHN0cm9rZVN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBj
dHguc3Ryb2tlU3R5bGU7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxl
LCBvbGQsICJjdHguc3Ryb2tlU3R5bGUiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbAppbmRleCA3ODVjMTI4YzI0OWUy
NjljZjA2YTQ3MGM0OGJlYzdiMTFhZDA3ZjdiLi5iYTFhYWJkOTQwYWExZTVhYzQ4NTg1Y2YxYTMw
OTY2MjM1YmUwNjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5z
Zm9ybWF0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhlIGN1cnJlbnQgdHJh
bnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJyZW50IHRy
YW5zZm9ybWF0aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnJlc3RvcmUo
KTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFu
c2Zvcm1hdGlvbi53b3JrZXIuanMKaW5kZXggZTVjZTQ1ZTNjZGZlZTBmZjY5YzNhY2YwNzg4NDcz
YmVmZWZiZmM4YS4uMjI0MDM5ZTY5OGE4MDA0YzA0N2QzODc5NzkyZTM4YWNjY2QyM2Q4OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNm
b3JtYXRpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1h
dHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCmluZGV4IDQ2YWEyOWU3
MjY5N2Q5MGJhY2RhNDM5Yzk5NGY3NGQzNTM5Njg3ZWMuLjJkYWI2ZThjNzA2Y2EyNDVkZmVkNzYw
ZGFhNjk1ZGZjYTVlYmZmZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3c8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5yZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicmVzdG9yZSgpIHdp
dGggYW4gZW1wdHkgc3RhY2sgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKQogY3R4LmxpbmVXaWR0aCA9IDAuNTsKIGN0eC5y
ZXN0b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAwLjUsICJjdHgubGluZVdpZHRo
IiwgIjAuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcwpp
bmRleCAxNTBhMzFjZjA1MmViZDg0YTZhZjQxODM3OGY2MWQyNDM0Nzg2NjU0Li5mMzhhOTVjNGYx
NjYxYWU2YzgwMWUyMjFmNzAwZTNkN2I3NTAyNTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJlc3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNr
IGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGZvciAodmFyIGkgPSAwOyBp
IDwgMTY7ICsraSkKIGN0eC5saW5lV2lkdGggPSAwLjU7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2Vy
dFNhbWUoY3R4LmxpbmVXaWR0aCwgMC41LCAiY3R4LmxpbmVXaWR0aCIsICIwLjUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNh
bnZhcy5yZWFkb25seS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5y
ZWFkb25seS5odG1sCmluZGV4IDE3YTk4NmMyMzMzYzNlZjdmZGZkNDgxNTY0YzM2Y2RhM2MxOTQ1
ZjIuLmFhZWQ0MDEzNmIxYzZlNzQ3OGE4MmQ0ZTkwNTI2YzI4MDI1ZmRlNzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNhbnZhcy5yZWFkb25seTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jYW52YXMucmVhZG9ubHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNhbnZhcyBpcyBy
ZWFkb25seTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNhbnZhcyBpcyByZWFkb25seSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgdmFyIGQg
PSBjdHguY2FudmFzOwogX2Fzc2VydERpZmZlcmVudChvZmZzY3JlZW5DYW52YXMyLCBkLCAib2Zm
c2NyZWVuQ2FudmFzMiIsICJkIik7CiBjdHguY2FudmFzID0gb2Zmc2NyZWVuQ2FudmFzMjsKIF9h
c3NlcnRTYW1lKGN0eC5jYW52YXMsIGQsICJjdHguY2FudmFzIiwgImQiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5y
ZWFkb25seS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJl
YWRvbmx5Lndvcmtlci5qcwppbmRleCBmZGQ5OWY4NmViN2U1OTAzNzUwM2YzMzEyNWExZmUyZDYz
OTA3N2ZiLi5kOTkxYjE5MjhhMTNmMGRhMzhhZDliNWY0ZWVkYjE0Y2JjNWI1ZWYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIGlzIHJlYWRvbmx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCB2YXIgZCA9IGN0eC5jYW52YXM7CiBfYXNzZXJ0RGlmZmVyZW50KG9m
ZnNjcmVlbkNhbnZhczIsIGQsICJvZmZzY3JlZW5DYW52YXMyIiwgImQiKTsKIGN0eC5jYW52YXMg
PSBvZmZzY3JlZW5DYW52YXMyOwogX2Fzc2VydFNhbWUoY3R4LmNhbnZhcywgZCwgImN0eC5jYW52
YXMiLCAiZCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2UuaHRtbAppbmRleCAxZGI2NDA5NDliMDFhNGUxOWVj
ODRiYzcyNWVkYWZiNjgyY2ZmZGViLi40NThkMzQ5ZDQ3NzhmMTRjNDY3MmZmODZlNjliYTcwZDZm
MTY5YzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJl
ZmVyZW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVm
ZXJlbmNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNhbnZhcy5yZWZlcmVuY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2FudmFzLnJlZmVyZW5jZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Y2FudmFzIHJlZmVycyBiYWNrIHRvIGl0cyBjYW52YXM8L3A+CkBAIC0xMSwx
MyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIHJlZmVy
cyBiYWNrIHRvIGl0cyBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5jYW52YXMsIG9mZnNjcmVlbkNhbnZh
cywgImN0eC5jYW52YXMiLCAib2Zmc2NyZWVuQ2FudmFzIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNl
Lndvcmtlci5qcwppbmRleCBmZjI2NjZiZDNkYTNjZjA5YjVhYjY5OTRmMDk0YjlkNmEwNzY3ZjBh
Li4zZjVmYmUyNjliZjIzMDM5YzFiNmFkMWZjODFjOGMzZTc2ZTFlMWMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2VyLmpz
CkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIHJlZmVycyBiYWNrIHRvIGl0cyBjYW52
YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IF9hc3NlcnRTYW1lKGN0eC5jYW52YXMsIG9mZnNjcmVlbkNhbnZhcywgImN0eC5jYW52YXMiLCAi
b2Zmc2NyZWVuQ2FudmFzIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLmh0bWwKaW5kZXggNjAxMWYyMDVl
ZDFmMTVhMGQzNmYwYTkzNDNiNmFhNzg2YmE3MDIxYS4uNzg3NjVmYWI4MzVmNDM3NDZmZTY3Mzk0
NWQwNjRmYjEyNWExODhkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuZXhpc3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuZXhpc3RzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmdldGNvbnRleHQuZXhpc3RzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXhp
c3RzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpcyBpbXBsZW1lbnRlZDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRo
ZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIF9hc3NlcnREaWZmZXJlbnQo
b2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCcyZCcpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3Jr
ZXIuanMKaW5kZXggYmFlODA4MGRkNzkyYWM0ZDZkNGJlYjY0YmVhN2RiN2E2NWUzYzViZi4uZjYx
Y2FiODMyYzg3YzMwMzI1MGNmMjA0NzI3YjY1MzExNjQxYzE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJUaGUgMkQgY29udGV4dCBpcyBpbXBsZW1lbnRlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQn
KSwgbnVsbCwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIsICJudWxsIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5nZXRjb250ZXh0LmV4dHJhYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuZXh0cmFhcmdzLmh0bWwKaW5kZXggMjRhNjhlNDkxNGQ4YzZiZDQ1NTdmNDFi
YTZiYzk4M2IwMWYxNTg0OC4uZWEyMDlkY2QxMTI0OWJjZGQ5ZjJkNTBmYWE3YzUyZTA3MDdjY2M2
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXh0
cmFhcmdzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQu
ZXh0cmFhcmdzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdldGNvbnRleHQuZXh0cmFhcmdzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXh0cmFhcmdz
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENv
bnRleHQgYXJndW1lbnRzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFy
Z3VtZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0
Q29udGV4dCgnMmQnLCBmYWxzZSwge30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2Fu
dmFzMi5nZXRDb250ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy8yZC5nZXRjb250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvMmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzCmluZGV4IDkzM2FhMjQ5ZDYz
YTdkYzRhYzljZWIxZTE5NzhiZGU0MGIxMDZmMDYuLmM3NTE3NjBhZmQxOGZmNmY4OTBhM2M5NTgw
NTQ1YjUwMjc1NjYyNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5n
ZXRjb250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzLzJkLmdldGNvbnRleHQuZXh0cmFhcmdzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3VtZW50cyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgn
MmQnLCBmYWxzZSwge30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRj
b250ZXh0LnNoYXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuc2hhcmVkLmh0bWwKaW5kZXggOGE5NDg0NzI0NTU2ZjljMjdiMTM0ZGQ5YTQwNDNjMDQ4ZDM1
ODNhYS4uNmI2MTg4YmZjMDk5NjcxOTM3NTUyMmJlZmNhYmE0ZGM1NmMzNGFkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdldGNvbnRleHQu
c2hhcmVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuc2hhcmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5n
ZXRDb250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGU8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJn
ZXRDb250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgyLmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQud29ya2VyLmpzCmluZGV4IGMzZWM2NjQ3
ZGE2ZDlmMTI2ZjBkMWZmY2FiY2JhMDVjYjliMTVjYzUuLjUzY2FiNjI5OTVmYjIxZmU0NTdjNGM3
MTM4ZWI0MDM3M2Q2OTg0MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5nZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0
YXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
Mi5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5odG1sCmluZGV4IDgxMjhjNmVhOWQ2OTRk
NTEzYTI2ZWNjOGQ4N2E3MzMyYWU5NTIzYmMuLjkxMzc5NTgzMmRkOGQxYmU0ODE2NmNhZjFiZDAz
YzU2ZTRlOGUxY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRj
b250ZXh0LnVuaXF1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRj
b250ZXh0LnVuaXF1ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5nZXRjb250ZXh0LnVuaXF1ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5nZXRjb250ZXh0LnVuaXF1ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIHRoZSBzYW1lIG9i
amVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImdldENvbnRleHQoJzJkJykgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoJzJkJyksICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJk
JykiLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0
LnVuaXF1ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4
dC51bmlxdWUud29ya2VyLmpzCmluZGV4IDNlNGQ2YzQ3MzIxNDdjODU5N2UyMWI4ZTQzZjA1NmNk
MjU1ZGFhYmYuLjNiMzExNTI2ZjA2ZDdiMjI4ZmQ5Y2UxY2JjZTE5YmY5M2ExNmQ4NWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29udGV4dCgnMmQnKSByZXR1
cm5zIHRoZSBzYW1lIG9iamVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMyLmdldENvbnRleHQoJzJkJyksIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSwg
Im9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIsICJvZmZzY3JlZW5DYW52YXMyLmdl
dENvbnRleHQoJzJkJykiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLmh0bWwKaW5kZXgg
ZGZiN2IzMDMwNzYwY2U2ZTc5NDQ0NDE4NGI0NjUwMmIyNzIxZjhhYy4uYWU4ZGQ2OTIxNDhiM2M3
NjJhNTgxYjBiNzZlNjAzNTEzYTRiNDcxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LmFyZ3VtZW50cy5taXNzaW5n
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPmNvbnRleHQuYXJndW1lbnRzLm1pc3Npbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9m
ZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Np
bmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRz
Lm1pc3Npbmcud29ya2VyLmpzCmluZGV4IDQ2N2I3OGIwYTkzYWM0YTliMzFmNmI4NmEzY2NhZWI2
N2I3ZDI0MGMuLjlkYmQ5N2M4NjFhMjg1N2EzMDMyNjgwNjM2ZDdkOTI3NDExNTg3YTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5n
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVu
dHMubWlzc2luZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sCmluZGV4IGU1
NzliM2E3MWY4MDllNDEwMTliMzIyODliYmY4ODgwZTQ5MzhiNDcuLjU2NDMxZTJlNGZjNmMyNDQz
MGY1NGE3MzZkY2EyNThiNTdmMTAxODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQuY2FzZXNlbnNpdGl2ZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0
LmNhc2VzZW5zaXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRleHQgbmFtZSAiMkQiIGlz
IHVucmVjb2duaXNlZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmU8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIy
RFwiIGlzIHVucmVjb2duaXNlZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoJzJEJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29y
a2VyLmpzCmluZGV4IDAyYWEzMmZhOTY5YmU0MzUyZTc0ZDBmMWM0YzliM2ZlNTUwNDgyY2IuLmI0
MWMxZjc2N2Y1Mzg4ODgxMDRlY2RjNWIzYjRhOThiYjlkZmY4YjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIyRFwiIGlzIHVucmVjb2du
aXNlZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRl
eHQoJzJEJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2NvbnRleHQuZW1wdHlzdHJpbmcuaHRtbAppbmRleCBkYzA1NzUwOGMyY2EwMzBi
YjUwNDMxYTcwYzUzOGYxZDhkODQ5NWY2Li45MmYzNzUwNmVhYTQ0YzIzYjlhYWU5YmI3NTJlZmYx
MmFmNjlhZGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5l
bXB0eXN0cmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVt
cHR5c3RyaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IGNvbnRleHQuZW1wdHlzdHJpbmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29udGV4dC5lbXB0eXN0cmluZzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+Z2V0Q29udGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGw8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJn
ZXRDb250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIu
Z2V0Q29udGV4dCgiIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMKaW5kZXgg
ZWEzMDhjNTUxOTk4NWVlNjNlYTA2NDczNTM3YzRlYzYxOTk1YmY3OS4uNTQ0MDZiYjViZmUwNmFh
MDFjNzQ4ZjJkMDQ0ZWRjOTE3NDFiZjI1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQuZW1wdHlzdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZ2V0Q29udGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGwiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3Jl
ZW5DYW52YXMyLmdldENvbnRleHQoIiIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5h
bWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5i
YWRuYW1lLmh0bWwKaW5kZXggODljOWZhM2ViMzg5ZTNhMDJjZDUwZjVhODQ5NTE3NmYyODI4NDQ2
Yy4uOGU4NDY3MTRmYWQ4MmEyODI0ZWUyYzYxZDRjZWExYTcxZWZkMDQ3MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFk
bmFtZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBj
b250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQudW5yZWNvZ25pc2VkLmJh
ZG5hbWU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQg
Y29udGV4dCBuYW1lIHJldHVybnMgbnVsbDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29u
dGV4dCBuYW1lIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
MiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnVGhpcyBp
cyBub3QgYW4gaW1wbGVtZW50ZWQgY29udGV4dCBpbiBhbnkgcmVhbCBicm93c2VyJyk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMKaW5kZXggODdm
ZmRjZDI3M2I4NDBiMTRjMzVhZDdjMWJlYWZkZjhhZGFlMzFlNy4uODU1Zjk5NzExOGI4YjM2ZDU3
MWZiNTc2MGY2ODdiMDk1Nzc0MmEzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29udGV4dCB3aXRoIHVucmVjb2duaXNlZCBjb250
ZXh0IG5hbWUgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMy
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlz
IG5vdCBhbiBpbXBsZW1lbnRlZCBjb250ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9j
b250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbAppbmRleCA0ODA2MTU2MWJm
ZGQ0OWUxZjI1MjY4NGM3OTNkZWEwNGJhMTQ3Mjc5Li41NTExYzRmMjFlYzFlYTA5NjkzN2Q2Yzcw
OWMwZGQ3YzlmMjlmZWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29u
dGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LnVucmVjb2duaXNlZC5iYWRz
dWZmaXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+Y29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5Db250ZXh0IG5hbWUgIjJkIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNv
bnRleHQgbmFtZSBcIjJkXCIgcGx1cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoIjJkIyIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1
ZmZpeC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29n
bmlzZWQuYmFkc3VmZml4Lndvcmtlci5qcwppbmRleCAxMzgzM2Y5MTAyZDk4MTExNGRmNWQyZWQ1
MzQ4OTU1OTk4MGY3YzkwLi5jNTZlYTdlYjYxNTM4ZmVmMDBlMGM3NWRkZWVjZjY0MmUyM2I1OWUx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQuYmFkc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29u
dGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiQ29udGV4dCBuYW1lIFwiMmRcIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9m
ZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmQjIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQubnVsbHN1ZmZpeC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5y
ZWNvZ25pc2VkLm51bGxzdWZmaXguaHRtbAppbmRleCA4YmY5OGQ0MTA0N2QzMjEwMGI5ZmMyYWY0
MzZhZmNjZTFmZGE2NmU0Li5iODY2MGFlN2ZjNmRhMjhiZWRiZmMxNGZhZTE4MDhmMjg2ZDg5ODA3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQubnVsbHN1ZmZpeC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXg8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
Y29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29u
dGV4dCBuYW1lICIyZCIgcGx1cyBhICJcMCIgc3VmZml4IGlzIHVucmVjb2duaXNlZDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQg
bmFtZSBcIjJkXCIgcGx1cyBhIFwiXFwwXCIgc3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVl
bkNhbnZhczIuZ2V0Q29udGV4dCgiMmRcMCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51
bGxzdWZmaXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5y
ZWNvZ25pc2VkLm51bGxzdWZmaXgud29ya2VyLmpzCmluZGV4IGZjNjc3ZjgzZDgyYjczMjk0YmVl
NGEyMmEyYzRiODcyNzgyOTI2ZTguLmVmZTQ1YjkxOTZiYWI5MWJlZGM0ZTIzOGI1NDc4ODM3YzZh
NDc0YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVj
b2duaXNlZC5udWxsc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJkXCIgcGx1cyBhIFwiXFwwXCIgc3VmZml4IGlz
IHVucmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmRcMCIpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2Nv
bnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9jb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLmh0bWwKaW5kZXggYzY1N2M4OTZlZTQ4ZTVl
NGJhZjE0MjZlM2VmOWRmNDdjMTQ3Y2JmNi4uODlmMjY1NWQ1NjM2NzQ4YmMwZTEzYzM2MDM1MmFh
NDRkOWRlZDFiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQu
dW5yZWNvZ25pc2VkLnVuaWNvZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PmNvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRl
eHQgbmFtZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgIjJkIiBpcyB1bnJlY29nbmlzZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250
ZXh0IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBsaWtlIFwiMmRcIiBpcyB1bnJlY29nbmlzZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVj
b2duaXNlZC51bmljb2RlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250
ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLndvcmtlci5qcwppbmRleCAzNmJlZmQ5NGE0MWIyMDhk
NGQzMzg1Y2I5ODgzMjUyZGNmMTc5M2Q2Li5hNTMzMTE3NTYyZDY0MDNlNTJkNWQ5YWQzZmVjZDJi
NDk5MzQ0MDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51
bnJlY29nbmlzZWQudW5pY29kZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJDb250ZXh0IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBsaWtlIFwiMmRcIiBp
cyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsgfSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLmNvbG91ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
Y29sb3VyLmh0bWwKaW5kZXggZjAzM2U0ZDI2MDNkZWZiMzY0MmRlZmZjOTU3MjdhZmU1OTI4ZWFm
Ni4uNmRmY2Q3YTJmMGZhZGQzOTQyNTA3MTU1MzllNzMwMzYyOTY3ZjZjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwuY29sb3VyPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwu
Y29sb3VyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Jbml0aWFsIHN0YXRlIGlzIHRyYW5zcGFyZW50
IGJsYWNrPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIkluaXRpYWwgc3RhdGUgaXMgdHJhbnNwYXJlbnQgYmxhY2siKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5jb2xvdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29s
b3VyLndvcmtlci5qcwppbmRleCBmODc4NjFmN2YwOTE4ZDk0NTM0MzQ2MGUyZWVjNDc2Y2ViMWVh
YTYyLi4yNDE0NDY1N2Y4YmFhZDFmMTdkNTJiMWUxYzRkZTc1MjljYTQyZjU0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMKQEAgLTQs
MTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJJbml0aWFsIHN0YXRlIGlzIHRyYW5zcGFyZW50IGJsYWNrIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCww
LDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS5odG1sCmluZGV4IDEzZWYwYzE0MGYxNjlkNTdkZGQ5
NjUwNzlmZTk1ODkyYzcxNDFkMTAuLmQ1NGQwMWIzODYxYWNlZTZiYWQwM2IwMmE3ZjEwMjRjMGFj
NzVlN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0
LjJkc3RhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC4yZHN0YXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IGluaXRpYWwucmVzZXQuMmRzdGF0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LjJkc3RhdGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyAyRCBz
dGF0ZSB2YXJpYWJsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgMkQgc3RhdGUg
dmFyaWFibGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtODAsNiArODQsNSBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGgg
PSAxMDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBkZWZhdWx0
X3ZhbCwgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiZGVmYXVsdF92YWwiKTsKIAog
dC5kb25lKCk7Ci0KIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCmluZGV4IDdlYWI3ZmJi
YTFlYzRhNDdkZDJiNzQzMzFjNDM2ODRlYTdiYTAwYWIuLjdmZjBhMGNhOWRhZjFmMzkwNDI1ZjJj
Y2RkMDQxZWY2ZDYxMDM3ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgMkQgc3RhdGUgdmFyaWFibGVz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtNzYsNiArODAsNSBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBf
YXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBkZWZhdWx0X3ZhbCwgImN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiZGVmYXVsdF92YWwiKTsKIAogdC5kb25lKCk7
Ci0KIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQuY2xpcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuY2xpcC5odG1sCmluZGV4IDA3NmIzZTg5ZDE1MWE0NTlmNmMwM2RmZmExMTUwOWVjZDUx
N2IxZjIuLmI1MzZlOGNlZDhkODU5NDUxODQ2NWFlOWIwZWY3NWRkMGQ5OTFlYzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuY2xp
cDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT5pbml0aWFsLnJlc2V0LmNsaXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGlu
ZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGlu
ZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIzLDcgKzI3LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2luaXRpYWwucmVzZXQuY2xpcC53b3JrZXIuanMKaW5kZXggODNhMWE2OGZiMWIyMzhi
ZGMxZjZlZmFkNTBmNzVhOWI5MmZjZDU4OS4uYzZlMDZjYTBkMDE1ZGViOTBiOGRlOWNmZDViY2E5
NTkzZGI2YTBmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGlu
ZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE5LDcgKzIzLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lmh0bWwKaW5kZXggM2I2ZWQwMTNmZmNjMTU2
NTdmODRlY2JjZjljMmFjOTU4NjcxYWJiYi4uNDVmZmI2OTc0ZTIyNjBkZjc5ZmFlNDQxMjZhMTAy
NDY4M2U5MGNmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuZGlmZmVyZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQuZGlmZmVyZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuZGlmZmVyZW50PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQu
ZGlmZmVyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5DaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52
YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJDaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52YXMgdG8gdHJh
bnNwYXJlbnQgYmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAs
MjU1LCAiMjAsMjAiLCAiMjU1LDAsMCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDUw
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIs
ICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQud29ya2VyLmpzCmluZGV4
IDhiZjU3ODQ5ZDc4MjFlMzllNjhhMTVhNWYwNzFmZjhjZjc0MjYwNTcuLjIwNmJhNjcyZmVkYmFh
YmY3NzI0ODQ4MDk1MDFkNjI5NWI5ZjFhMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiQ2hhbmdpbmcgc2l6ZSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFy
ZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwg
IjIwLDIwIiwgIjI1NSwwLDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSA1MDsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCww
LDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQuaHRtbAppbmRleCBiMDMxODkwMWM4ODAwZDhj
MjQ3Y2ExMjYxMTVjY2NiNGM5MjhkNmUwLi4xZGNlOGRhYmU1ODRkMWRjNzM2N2ZkMmMwZjQ4MjNh
NDIzMTAyOTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5y
ZXNldC5ncmFkaWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFs
LnJlc2V0LmdyYWRpZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuZ3JhZGllbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC5ncmFk
aWVudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9l
cyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52
YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmls
bFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcwppbmRleCA3MGEzYzk5NzU4
NTA2YzM1YTBhZjY2NTA1YzZlMmE4YjI1NWY0MTBiLi45N2IwYjFhNWNjZWUzZTgyMDk5ZTkzNjg1
ZjBiMWEzZDdkNjMzNzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5p
dGlhbC5yZXNldC5ncmFkaWVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBl
eGlzdGluZyBncmFkaWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC5odG1sCmluZGV4IGU0ZGUx
MzM4ODRiZmVlNzNhMWM2YzI5YWFkMGFhNDg0ZmZlOWE5MmUuLmI5YzRhYjU3MTc3YzhmYmJlZTQw
NDgzYWQwNGZkY2I5MDhjOWQ3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LnBhdGg8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJy
ZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9
IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCwwIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQucGF0aC53b3JrZXIuanMKaW5kZXggYTA1MTBmNmZlMDFjZDBjNTFiMzEwNjZi
ODIwM2FlZTY5MjlkZmM5Yi4uMjRlN2QzZDAxZDI4NjQwYzJkZTgzYjc5MWYxMzc5ZjkzMWJjN2Q5
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0
aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQu
cGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2Fu
dmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCww
LCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwKaW5kZXggNjQ2
YjM5OWE4MjUxOThlYTI3ZWQ1ODA1NWExNGJkODlhNGIyZWRmZS4uYThhNGI3NjllMjRhOTc3Njdk
MmVjMzQwMTE4NzI4ZDU4Yzg1ZGQ2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQucGF0dGVybi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5wYXR0ZXJuPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwu
cmVzZXQucGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMg
c3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcg
dGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0ZXJu
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
Y3R4LmZpbGxTdHlsZSA9IHA7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCmluZGV4IDUxYjFk
ZWE5N2QwNGE3MWMwYmFiNmZhNjM3NDljZTMyZDcxZTBhNjAuLjA5YzNkNzU0MGI3MTVlYWRjMGQz
NzE2OWU1YmIzNjZkNzliNzBkYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFu
eSBleGlzdGluZyBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IHA7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLmh0bWwKaW5kZXggMGEy
ZWRmNGI2ZDc3ZTAzYWFlM2Y5Mjg1YzRhNzQ1MDEwZGUzMzM3OS4uMzZjM2ZlYTBmMWViOTlmZGQ5
MzE4MzJjOTlkZmI4MWEwMjQwNGU1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuc2FtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LnNhbWUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5zYW1lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQuc2Ft
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBzaXplIChub3QgY2hhbmdpbmcgdGhlIHZh
bHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBzaXplIChub3Qg
Y2hhbmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1
NSwwLDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQuc2FtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5p
dGlhbC5yZXNldC5zYW1lLndvcmtlci5qcwppbmRleCBkZWRiYzU1MTUwOGFhNDM5MTZkMTJhZjU0
NjY1ODZiODZjZThkYjhlLi5jYzIwMmI0ODViNzE2ZTJlNzI1YjBjZTQxOTYxNzdmYmM2NDExZTgy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1l
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5z
YW1lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBzaXplIChub3Qg
Y2hhbmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1
NSwwLDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQudHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5p
dGlhbC5yZXNldC50cmFuc2Zvcm0uaHRtbAppbmRleCAzNDYyODNmZDEzOWRjMjY0NDU4Y2E3YWI3
MjgzZTYzOTExYjQyOWQ0Li5hMWI1MmU3ZGIwYTkwZjljYWNkOGRhOGE2Yjk2N2U5ZjU4MThkYTk0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFu
c2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50
cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogaW5pdGlhbC5yZXNldC50cmFuc2Zvcm08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC50cmFuc2Zvcm08
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0
ZSByZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMKaW5kZXggZjI0ODdmYmY3Yjk2
YzI0NGFiNTc5MjYzYmQ0Njk4NGEyMjdjZjgwYi4uNGJjNDVkMDAzNjczOTA0YTE2Y2Q4ZmUxODli
ZjdkODY1NTIyYjNmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNm
b3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBvZmZzY3JlZW5DYW52YXMu
d2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAs
MjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0Lmh0bWwK
aW5kZXggZmQ4ZWE1MDkzNGNmNWQ4YWFmNmFhZGIwM2Y3ZWJhOGQ1ZTAwNWZlMS4uY2NlMDk3NjBk
MGMyNDQ3YzdkYmNhMmE2YjM2OTcxZjg3ODdmMjIxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC5odG1sCkBAIC0xLDcgKzEsNyBA
QAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvI29mZnNjcmVlbmNvbnRleHQyZC1jb21taXQiPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1s
CmluZGV4IDcwMTIwOTc4NzIzMDhmZjNlNzViMTk3Y2I2NTc3MjZhYWJlYjQyYTEuLjkwZGUwNzg2
ZTVjNjBlODljYzJmOWVmNWUyMjYyMTQwYjYwNGIxOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0LncuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53Lmh0bWwKQEAgLTEsNyAr
MSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jb2Zmc2NyZWVuY29udGV4dDJkLWNvbW1pdCI+CiAKIDxzY3JpcHQgaWQ9Im15
V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwKaW5kZXggYzEzMDEw
NzE1ZTZkMDllYWQyZDBjYzhlODNhNDI3ODhiOGJlNGIzYS4uYTE3NjA3NjRkZWMyNzY1NTVjOTEy
NWIwNDc3OGQ2YTA2OTcxNmFmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3IuaHRtbApAQCAtMSw3ICsxLDcgQEAK
IDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cu
b3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzIj4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3Iud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci53
b3JrZXIuanMKaW5kZXggN2M3NzNlMDk0ZGU0NDlhMjJjMzQ1N2U1ZTI1NzVjNTNhN2U5ODkzNy4u
Mjg1ZTRlMWQ5NDg3NjRkNTRmZDUxMWI4MWYyZDlkYWMwZWU1YjQ5NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1
Y3Rvci53b3JrZXIuanMKQEAgLTEsNyArMSw3IEBACiAvLyBzcGVjIGxpbms6IGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdDEgPSBhc3luY190ZXN0KCJUZXN0IHRoYXQgY2FsbGluZyBP
ZmZzY3JlZW5DYW52YXMncyBjb25zdHJ1Y3RvciBnZW5lcmF0ZXMgY29ycmVjdCB3aWR0aCBhbmQg
aGVpZ2h0LiIpOwogdDEuc3RlcChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKaW5kZXggNjVm
NjM5MWQzNTc1Y2UwOTIzNmU5YjA5ZWRiMDU2ZmJlNmRkNWNjYy4uN2FhYTBlNmMzNmE3YTE0N2Rl
NjBlNTQxMjRkYzE1YzI2ZmQ0OTI3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKQEAgLTEsNyArMSw3IEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250ZXh0Ij4KIDxzY3JpcHQ+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdl
dGNvbnRleHQud29ya2VyLmpzCmluZGV4IDAwOGUwNGU3NTBlOTBmN2JjM2MwM2MzODU4NmU5MjY3
ZDE4YTNjZjcuLmNlZDQxMmZiODk0NWQxYjE3NzMyZGEwYjE3OTg5Nzk0OGRjNDQ1NjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZh
cy5nZXRjb250ZXh0Lndvcmtlci5qcwpAQCAtMSw3ICsxLDcgQEAKIC8vIHNwZWMgbGluazogaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250ZXh0
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAg
ICB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxLCAxKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5odG1s
CmluZGV4IDU3NzAzMDk5MjVjYjI5ZjcxZGU1ZTQ0MzllZGU2NGUyMDg1YTljZmMuLjA5MjI3Mjdj
NjFlYTJlMTUyZDNiNTJkMzgxYTZhZGIwYmY0YTMxZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5yZXNpemUuaHRtbApAQCAtMiw3ICsyLDcg
QEAKIDx0aXRsZT5UZXN0IHJlc2l6aW5nIGFuIE9mZnNjcmVlbkNhbnZhcyB3aXRoIGEgMmQgY29u
dGV4dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiA8Ym9keT48L2JvZHk+CiA8c2NyaXB0PgogdGVzdChmdW5jdGlvbigpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8u
aW1hZ2ViaXRtYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52
YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAuaHRtbAppbmRleCAzNmZlZjZmNDk4ZjgyMGVhNDRj
NGEwYjNlYTRkMjNmODA2NGFlYTY5Li4zMTE4N2M2NGUzZGQ2NTZhMDAwMDc1YmZkY2Y1ZTIwMzBl
Nzk2YTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2Fu
dmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC5odG1sCkBAIC0x
LDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMtdHJhbnNmZXJ0b2ltYWdlYml0bWFw
Ij4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8u
aW1hZ2ViaXRtYXAudy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLnctZXhwZWN0ZWQudHh0CmluZGV4
IDM0MmQzY2YyYTdhNjU1MTRmYWE2ZTg5OTM2ZmM1N2UwMjE1MTQyMjAuLjlkNmRiZTJlM2M3YzNj
ZTMxZjMyNzI2MmYwMjYyZmYwNWQ5ODI0OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAudy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2Zlci50by5pbWFnZWJpdG1hcC53LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBEYXRhQ2xvbmVFcnJvcjogVGhlIG9iamVjdCBj
YW4gbm90IGJlIGNsb25lZC4KLQogUEFTUyBUZXN0IHRoYXQgdHJhbnNmZXJUb0ltYWdlQml0bWFw
IHJldHVybnMgYW4gSW1hZ2VCaXRtYXAgd2l0aCBjb3JyZWN0IHdpZHRoIGFuZCBoZWlnaHQgaW4g
YSB3b3JrZXIgCiBQQVNTIFRlc3QgdGhhdCB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAgcmV0dXJucyBh
biBJbWFnZUJpdG1hcCB3aXRoIGNvcnJlY3QgY29sb3IgaW4gYSB3b3JrZXIgCiBQQVNTIFRlc3Qg
dGhhdCBjYWxsIHRyYW5zZmVyVG9JbWFnZUJpdG1hcCB0d2ljZSByZXR1cm5zIGFuIEltYWdlQml0
bWFwIHdpdGggY29ycmVjdCBjb2xvciBpbiBhIHdvcmtlciAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAu
dy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
ci50by5pbWFnZWJpdG1hcC53Lmh0bWwKaW5kZXggYzFmYWVjYjg1M2ZkODlhMWI3YWNiZDE0ZDQz
Njg4ZTllMmRhNWJlMi4uNWFjYWQ3ZDBjMDdhMDRhM2VlMTExNmI0ZTU3N2QzODk1MDc2ZDFjNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2Zlci50by5pbWFnZWJpdG1hcC53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0bWwKQEAgLTEsNyAr
MSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy10cmFuc2ZlcnRvaW1hZ2ViaXRtYXAiPgog
CiA8c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wu
dG8ub2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2Fu
dmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbAppbmRleCAyZWFjZjNmMjIwMzgz
NDczNmEzOGZhZTVkYjY3NDU0MzRiOWVjMmM0Li5hMTNlOTg5Y2ZjZWU3NDkwYTlhYzJiYTkxNzk2
YjVmOTI2ZTgzZDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2Ny
ZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZz
Y3JlZW4uaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tY2FudmFzLXRyYW5zZmVyY29udHJv
bHRvb2Zmc2NyZWVuIj4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29u
dHJvbC50by5vZmZzY3JlZW4udy5odG1sCmluZGV4IGVjOGQwNWE0YmEzZTc3MDY5ZGIxMzNiNzNj
N2JkZmRkNmM0NjYzMjkuLjg2MzdjM2Y3MTk0ODc5Nzg1OGRlYWQwODkzM2Y2ZTQyNjgwMWFhZDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJh
bnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLncuaHRt
bApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tY2FudmFzLXRyYW5zZmVyY29udHJvbHRvb2Zmc2Ny
ZWVuIj4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJy
YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2ZlcnJhYmxlLmh0bWwKaW5kZXggZjMyMzA5ZmMxYmJkOTQ3NDkzYjU2M2UxMWRhMjZkYjA4ZTgx
YWM0YS4uYmMyYWMzYWFlMDVkMDQwYTkzNjlhNDQ5M2UwYmE1ODA3Njk2ODYxMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFu
c2ZlcnJhYmxlLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jb2Zmc2NyZWVuY2FudmFzIj4KIAog
PHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJsZS53Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVycmFi
bGUudy5odG1sCmluZGV4IDgxMzI5MGFkYWQxOWRkOTBlY2UyZWI2NWNjMDFhZDNiYmU0MDc0M2Iu
LmMzZjFiMTFmMDY4YzJmYzI1N2M0MjY3ODdiMWQ3OTA4NGRiMTIwYmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJsZS53Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
cnJhYmxlLncuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNvZmZzY3JlZW5jYW52YXMiPgogCiA8
c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbAppbmRleCBi
NWZhM2MwZjExNTdlODVhMzJiMWYwODg4ZjZmYzQ5NTg1MjJjNjJhLi5kYTE5OTdjZmNjMDIzMjZk
ODQxZWJjNzZiNDc2NzY3M2EzOTYyY2QwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
c2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkRlZmF1bHQgd2lk
dGgvaGVpZ2h0IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZzwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgd2lkdGgvaGVpZ2h0
IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAi
KTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lndvcmtlci5q
cwppbmRleCA3MGJiM2EyYzRjZTY4NDAyYzQ3MDhlYTg1OTgxZmI0NzYyYjQ5YjZlLi4wMjA4ODVj
OTcxMTlhOGM5ZjdjNmZiMDc1ODdiYmE5ZDEzOWQwMzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgd2lkdGgvaGVpZ2h0IHdoZW4gYXR0cmli
dXRlcyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIs
ICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwuaHRtbAppbmRleCBjNjcyOGNkMDY5ZjQyMzk4ZDUxMTEy
M2IwZjllYTk5NjAzYWY2NzZmLi5lNGFmOTYyODk2YmE1N2YxNjE4OTBlNTY2MzAwODIzMTczOWM0
YTAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LmlkbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
aWRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNp
emUuYXR0cmlidXRlcy5pZGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLmlkbDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+R2V0dGluZy9zZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkdldHRp
bmcvc2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICsz
Niw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICI0MDB4IjsKIG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPSAiZm9vIjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9m
ZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMuaWRsLnNldC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLmlkbC5zZXQuemVyby5odG1sCmluZGV4IDM0YmNlZjNkMjk0ZjljMTIxNGYzZTgyMjdj
ODQ0ODg4MThmNjk3N2UuLmIwM2FjNjNhN2Y3MzBmYjRmNDJkZGEzMWYxMjg2YjA4MmRkMDhmM2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRs
LnNldC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5pZGwuc2V0Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJp
YnV0ZXMuaWRsLnNldC56ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIHdpZHRoL2hl
aWdodCBJREwgYXR0cmlidXRlcyB0byAwPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0
ZXMgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
MDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzCmluZGV4
IGQzMjEwOTViNDk2NzRiMzhjNGJlZTMxYzdkYWQ3ZWY4NjBjYzZmYmYuLmY3MGI0OTdkZmI2OTRh
YzhjMDA5YWI1MjBkYzE4ZDkyODYzYjQ4YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRy
aWJ1dGVzIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0
aCA9IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIs
ICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcwppbmRleCBkYzc5ZjAxNzU0MDc2
NzliMGRkZjA5YTFjOWNhYTQ2ODVhYTA4ZWExLi43OWU5NTMwZjg5MjkzMzJmMDc4YWMxNTk5ZTY2
NmQzMGZkNGEyYWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLmlkbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJHZXR0
aW5nL3NldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyAr
MzIsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAiNDAweCI7CiBvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0ID0gImZvbyI7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDAsICJv
ZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLmRlY2ltYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCmluZGV4IGI2Y2E1MzQyNmE1MmJmOWQ0OTFmYmMx
ZjNlYjI5NDU4NTk1MjI5YTMuLjc4ZjIxYWEzMDMyMjQ4NzY2ZGUxZTIyZmRlYmU4MGFjZjU1OGUw
NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZGVjaW1hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBv
ZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzEwMC45OTkn
Owogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAuOTk5JzsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1h
bC53b3JrZXIuanMKaW5kZXggMTM0ZWUzOTVlNGNlMDFlODhkMmY0Yjg1ZTgyM2ZiN2MyOThlOTZh
MS4uZTllMWM1Mjg2Mzk1YzBmZjBmZjkzYjkzYzJmMWY5ZmYwNWMzNDZkYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmRlY2ltYWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9m
IG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gJzEwMC45OTknOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAu
OTk5JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVu
Q2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbS5odG1sCmluZGV4IGRkMjQ4ZjNhMWFkYWU1ZjJiMDY5ZmU4ZGQwOTQ0MjA1NWUz
Y2I2ZmEuLjBiYmM1ODg4MTc2OTJmMmY3ODlkNjJiMjlkMzRkZmZmYWQ4ODlhMGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVt
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUu
YXR0cmlidXRlcy5wYXJzZS5lbTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW08L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBv
ZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9ICcxMDBlbSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMGVt
JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLmVtLndvcmtlci5qcwppbmRleCA3NTNkYjlhMTVlMTE0ZWM1NzQ5NTA2MmZmMGFj
NTk0ODFlMDkyODEwLi5lZmE4OGYwZjQzN2RiNzQwMjFkYTk3MWU3ZWU1MjdkZjc3NGVmMjRiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLmVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBv
ZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9ICcxMDBlbSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMGVt
JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbXB0eS5odG1sCmluZGV4IDkxMzRlYzBhOTE5ZTdhMTE2NDY0M2ZjNjZjNWIwMDdl
NDczNjg0MTguLjZiNDAzZTZlNTRlZDkxMjRhMzBlNmZkZmM4MjMyY2JkMTRkMzkzY2UgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW1w
dHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFy
c2UuZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGlu
dGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCA9ICcnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3Jl
ZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcwppbmRleCA5NDBhODlhMDI1NTAzYmE4OTg4
ODdmZGU1ZWJmNTNlMmVmNDc0MWJmLi43MzM3ZWU0MTkzMGI5MzkzNTBhMGIyNTliMzMyNThkOTc3
MTBmOTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsy
MCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCA9ICcnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3Jl
ZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5leHAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UuZXhwLmh0bWwKaW5kZXggMDYxMTA4MDU3OGY1Y2ViOGE1ZjhiODAwY2UyOGNhN2Zi
NjYyMTgzOC4uNDQ1ZDViYTYxZDI3NTI4YmJhYjc4ODJlMmU4ZGY4ZmQwYjQ3ODQwYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmV4cC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBz
aXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5leHA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlMSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
JzEwMGUxJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwMC4wLCAib2Zm
c2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMDAuMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAwLjAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzCmluZGV4IDE3MzAwZjU1
NmI2MWRlNTQ2OWE5MDUxNGY0OGQxYzgxZWFjYzYwOTEuLmNmNTZlYWM2YjNkYmY1YzhkMGJmNjYw
ZDk1OWM5MmIzMTcwMmZhOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwZTEnOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9ICcxMDBlMSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lk
dGgsIDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAwLjAiKTsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWln
aHQiLCAiMTAwMC4wIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCmluZGV4IGZl
ZDg2ZDk2YzViZWI2ODAyNDVlMDZkZjRkMzMzMzY3YzNmMjFjMzcuLmRiN2YzMjE3ZGU1YTRlMTAx
NzgwMWM5YWQyMzJkYzU3Yjg0OWQwYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJz
aW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVn
ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMHgx
MDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcweDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDI1NiwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIyNTYiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDI1NiwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiMjU2Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtl
ci5qcwppbmRleCA3NmI5NzYzZTcxNGM1NWFkYjU0NTZkYTg0ODA1MmViMjdiZDU5NWUzLi4wYzNk
OWI5MjQ0ZDZlYTEzODEyOGZjNTczNWYyZGE3ZjRjODU5OTA0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
JzB4MTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMHgxMDAnOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAyNTYsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMjU2
Iik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAyNTYsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjI1NiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1s
CmluZGV4IDZhMjk4ODcxOGM4ZjZkZTNjMDljMzgwYzdkM2Q4YzFhOWI2OTU3NTUuLjBhOTUzNDI4
YjY1NjZjOTBjNjc0Njc0MDIyMDYwYmRjYjIwMTIwNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMu
cGFyc2UuanVuazwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuazwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1u
ZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFz
LndpZHRoID0gJyMhPyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyMhPyc7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIs
ICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5q
dW5rLndvcmtlci5qcwppbmRleCA5NjMwMWUyZThhNmIwNGMzOGY1MGUyMzM0NWI0NTY3ZWQ3NTg5
OWY3Li5jNTZlNzZkMTEyOGViNWM3NmRjMTQ4NTRjZWYzY2YyZGNiYjFkNzQ1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuanVuay53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9u
LW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52
YXMud2lkdGggPSAnIyE/JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnIyE/JzsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRo
IiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWlu
dXMuaHRtbAppbmRleCBjNDk4MWFhMGNhMWMyZjVlYzEyMTdhODdmNTdjMmIwMGY0Yzk0NmQyLi5k
NWFiODAwZjg5ZDBhN2U4Zjk0MTc4MDFiNTYyMzdlNGE5OWE1YzRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0
dHJpYnV0ZXMucGFyc2UubWludXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNp
bmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZz
Y3JlZW5DYW52YXMud2lkdGggPSAnLTEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJy0x
MDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5D
YW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5taW51cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcwppbmRleCA4MmE0ZGU0N2QxODYwODU3YWFkZWE2
NDE5ODIxNTlkYjNmZmM3ZGJlLi5mNWM4ZWUyNzM3YmM1YjQ5YzJkZWQ3N2E3ODE3OGNlZTRhNGY0
ZGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm1pbnVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICctMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQgPSAnLTEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9m
ZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLm9jdGFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLm9jdGFsLmh0bWwKaW5kZXggZmQ2ZWRkNTdlNDg1OTdlMWY3N2E5MzBm
NWI2N2YyYTI3ZDQ5MTJjZS4uZmZlN2RmMzkwNzE2YjU1MTM4YjA0NjQzYjY2YzM1OTU3MzYzZjJk
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5vY3RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2Uub2N0YWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmli
dXRlcy5wYXJzZS5vY3RhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzAxMDAnOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9ICcwMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0
aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcwppbmRleCAw
YzNiYmMxNzVmMDA0YmNkYzA2NmFhOTkxYTMzNTQxYzFiNjY3Y2QyLi42ZTBhN2IwZjgwMGIzOWVi
ZTRiMjM3NjZlMDEyZTA2OWUzZDYwNDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcwMTAwJzsK
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWln
aHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1s
CmluZGV4IGNjZmE0MWRmNjM1ZWMzNjcyNTAyNTgwYWFmNDllOGRiY2QxZDBiYjguLjQyNGM3N2Vj
ZDJkYTA4ZjRlMDNlNmU2ZTYzNzU2OGM1NGI1Y2E3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2Uu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25s
eXNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRl
Z2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnICAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCA9ICcgICc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMKaW5kZXggZWM1MjYxOWNk
ZDUyZmMxMmU4MjBlZmZiMjViMmRmYzllMTRiZDc0Ny4uMTQ4NjBiZGM2YzdjOTA2YWRmMjk2N2Ey
N2ZjODdhZjU1YWE5NWRlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgICc7CiBv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0Iiwg
IjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKaW5kZXggMTQ0
NjM1NjBjNTBiNTVkYWMzMjgyYTc2OGE0OWNiOWJmNjI1ZGYyMi4uNGU5OGQ3ODcxY2EwMjEwY2Ew
ZmQzOTFlY2VjY2UxZTcxMWQxZTBmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJz
ZS5wZXJjZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9u
LW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52
YXMud2lkdGggPSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCUnOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lk
dGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBl
cmNlbnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5wZXJjZW50Lndvcmtlci5qcwppbmRleCA4M2ZkYTdiOTRhM2MzNGRiODZkYTJmYWU5
YjhkZTNkZmI1NmE0ZmExLi42ZTJiOTk1NDMzZjUzZjU0NDBhNDhjMzFlZDZkY2I4MzMyZjI5YzE2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnBlcmNlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAs
NiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0ID0gJzEwMCUnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLnBsdXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UucGx1cy5odG1sCmluZGV4IGM0YmMwMjk5NTkwZTUyZjk0ZTE4MzBm
YzIwYmQ4Y2M4NzAyOWRhZWYuLjk5YjMxNTVlODU4YzRiNWVmNDNlNTYyNjA1NjI4ZWJkZTk2NGZj
MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UucGx1cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UucGx1cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1czwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0
ZXMucGFyc2UucGx1czwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRp
dmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJysxMDAnOwogb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9ICcrMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1cy53b3JrZXIuanMKaW5kZXggZGVlMTA0
MTI4MDlhYzFhYTNiYTBmMjk1NmIwNzc2ZDIxMDNhNGVlOC4uZGE3MTY2NDFmZjc1ODc3ZWUyY2Ix
MmI5Y2UyMGVhYjY3MDNhMzgyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJysxMDAnOwogb2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCA9ICcrMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53
aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIx
MDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sCmluZGV4IDFiYmZkZWEz
Y2RlZDY4ZTVmZDc4YjcwZjk0YTZhMmI1ZjdiNzM4YjQuLjIwMGYwMjhkY2M3ZjhkZTg4YmNlMWU0
NjQyYjAwNmYyMmY0Y2JhNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBh
cnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50
ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcg
IDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgMTAwJzsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIp
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNl
Lndvcmtlci5qcwppbmRleCBhMGRhOWNlOGQwMWEyMjFhMWQyNDE4ODg4YjY5OTk1MWEwNWMwNWIx
Li44MTJiMjUwM2FlMWMxMDY3ZjVlY2I5MjhjZDc2YmEzZTgxNTI1YjdiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnNwYWNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24t
bmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZh
cy53aWR0aCA9ICcgIDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgMTAwJzsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndp
ZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAi
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50
cmFpbGluZ2p1bmsuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UudHJhaWxpbmdqdW5rLmh0bWwKaW5kZXggZjY4ZTBmYTk0YzQ5NzFkZTRkZGQ0NGVi
ZDRjNDA1NjM5OTU3ZmMzMy4uMzc2OTQ0OGRlM2NkZWZmODNmMDBhNzhhYTEyYmY4YzRmZDYxN2Qw
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS50cmFpbGluZ2p1bmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdq
dW5rPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bms8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24t
bmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZh
cy53aWR0aCA9ICcxMDAjIT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAjIT8nOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMu
d2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAs
ICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnRyYWlsaW5nanVuay53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay53b3JrZXIuanMKaW5kZXggOGUzZmQ1NjlmNzQ3
NjFhY2Y2ZjNkZWMyMThhYTNjNzAzNmUzODlkMy4uMmIzZTBkYjVhMmI0MTU4ZWEzNWVhZGNhMjZj
ZGY0Y2UyMmY4ZTg3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdl
cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAj
IT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAjIT8nOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2UuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVz
cGFjZS5odG1sCmluZGV4IDMwNDZmM2QwMTI3ZjZlZDU2NzI4MGQwNTczNzE5YTA1NjUxNDYwZjIu
LjAwZWY5Y2Y0MWQ5MWNjODRlM2NkNWVlYjQ2YjJlNzA5MzIzMjYzZjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
d2hpdGVzcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0
ZXMucGFyc2Uud2hpdGVzcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24t
bmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJwkMMTAwJzsKIG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPSAnCQwxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0Iiwg
IjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLndv
cmtlci5qcwppbmRleCA1ZTUyNjFkNjA3NjYwZWFiZTdjY2M2ODk4YjE1NzU1OTBlMzQ2OWM3Li5m
NDZiZWIzZjVlNTUzODIzZWUwZGVkNzE1MzJmNDg0ZjdmMWZmZGZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2Uud2hpdGVzcGFjZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnCQwxMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcJDDEw
MCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS56ZXJvLmh0bWwKaW5kZXggNGMzNThjMGJiYTc4MWE2OWIzNDk0OGQzYzEwODk1OGQ5
M2Y4OTFmMy4uMDNiMjBlZWNkMGM0NWNjMmI5ODJiNzc3OTg5MjZhYjk0M2M1YzgwYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJv
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IHNpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS56
ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vy
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
JzAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAs
ICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56
ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuemVyby53b3JrZXIuanMKaW5kZXggZjNkZWI0ODVjYjQ4M2MyNzNhY2JiZTQ4MTQwYjFm
MTYzMTQ1ZWJmZC4uMjZlZWI5ODI2ZGU1MmYyNDM5ODk0YTRlMWRlYTZlOWMzODAwMTgxZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56
ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5n
IG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoID0gJzAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcwJzsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0
aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5z
ZXRpZGwuaHRtbAppbmRleCBiMWZjOWI5YjgzODhkZmNiYjEzMzc1ZTgyOGFhMTEzZGE5ZmJiMDZi
Li4wMDA0OTU4NDQxNjcyMzczNWNkMTU1ZWNlZmMyOTY1ZDUzNmY3NTI0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0
LnNldGlkbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiBzaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnJl
ZmxlY3Quc2V0aWRsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIElETCBhdHRyaWJ1dGVz
IHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIElETCBhdHRyaWJ1dGVz
IHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEyMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PSA2MDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTIwLCAib2Zmc2NyZWVu
Q2FudmFzLndpZHRoIiwgIjEyMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCwgNjAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjYwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cmVmbGVjdC5zZXRpZGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKaW5kZXggZWIyYTQyODgxMTgzZjRi
NmYxYmMyZmY2YmZmNGZkYWQ1YTcwYzE2Ny4uNzU4MDE1ZjQzZmIyZGFmZWZmMTE3Y2NkZWU3ZmEx
NTg0ZDQ2OTEzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBkYXRlcyBJREwgYW5kIGNv
bnRlbnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFz
LndpZHRoID0gMTIwOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDYwOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMjAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTIw
Iik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA2MCwgIm9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQiLCAiNjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5z
ZXRpZGx6ZXJvLmh0bWwKaW5kZXggOWZmZGI2NzcyNzAwNjUzYzYwZDA4YWZjNDgxNDRlODNjMWYx
ZTliOC4uZTg4YTI0MWU0MjFiMzBhY2IzZmNmY2U1MGJkYTE3OTBkMDRlMDdjYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlk
bHplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnJlZmxlY3Quc2V0aWRsemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNp
emUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNl
dHRpbmcgSURMIGF0dHJpYnV0ZXMgdG8gMCB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1
dGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0
dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9
IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndv
cmtlci5qcwppbmRleCA4NzNmYzk0MjJiNGI5MGUwZTc2MjBmYTQwZDY2OTljYzcwMTZhMGQyLi44
M2ZkZDYwZDY0OGQ4ZmI2ODcyN2RkZDIzYTI0ZjliMjBlOTg5NzVhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5y
ZWZsZWN0LnNldGlkbHplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0
aW5nIElETCBhdHRyaWJ1dGVzIHRvIDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsKIG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndp
ZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUubGFyZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLmh0bWwK
aW5kZXggYTIyYzE3ZGZjMTRiY2E1MGEwMmM3ODE5NzMwZjcwMjk0NmEzNTZjOS4uNGZjYWQ0YWI1
M2VkMTRjYTIxMzI0MzdkOWUyMTQ0MmNiYmQzYzc5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUubGFyZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5sYXJnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiBzaXplLmxhcmdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUubGFyZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPk5vdCBzdXJlIGhvdyBy
ZWFzb25hYmxlIHRoaXMgaXMsIGJ1dCB0aGUgc3BlYyBkb2Vzbid0IHNheSB0aGVyZSdzIGFuIHVw
cGVyIGxpbWl0IG9uIHRoZSBzaXplLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSBuOwogb2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCA9IG47CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgs
IG4sICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAibiIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCwgbiwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAibiIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5s
YXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53b3Jr
ZXIuanMKaW5kZXggNzk3ZjRhYjdhMWRkZWZiNDIzMGVhMTNlMDRiNWFkMTQ3NzdmYTFiOS4uYzJh
MDU4MTYwN2ZjZTMxODc4ZjUyMTBhYmQ0ZGU4ZDQ2NzQ5NDJmNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+Tm90IHN1cmUgaG93IHJlYXNvbmFibGUgdGhpcyBpcywgYnV0
IHRoZSBzcGVjIGRvZXNuJ3Qgc2F5IHRoZXJlJ3MgYW4gdXBwZXIgbGltaXQgb24gdGhlIHNpemUu
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IG47CiBvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0ID0gbjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0
aCwgbiwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICJuIik7CiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0LCBuLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICJuIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZW1wbGF0ZXMueWFtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90b29scy90ZW1wbGF0ZXMueWFtbAppbmRleCBlNjZmMTdkZWRkN2FlMjQ1ZDRlZDdkZWM4ZDM2
NzdhMTRkMTQ3MjVkLi4xNWQzNzIzOWNkY2Q1Mzg4OTZlMmNhZTA4N2Q5OGRhOGI1M2I2ZTdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVtcGxhdGVzLnlhbWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBs
YXRlcy55YW1sCkBAIC0xLDEwICsxLDEwIEBACiB3M2M6IHwKICAgICA8IURPQ1RZUEUgaHRtbD4K
ICAgICA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRv
b2xzL2dlbnRlc3QucHkuIC0tPgotICAgIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogJShu
YW1lKXM8L3RpdGxlPgorICAgIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogJShuYW1lKXM8
L3RpdGxlPiUodGltZW91dClzCiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiAgICAgPGgxPiUobmFtZSlzPC9oMT4KICAgICA8
cCBjbGFzcz0iZGVzYyI+JShkZXNjKXM8L3A+CkBAIC0xMiwxNCArMTIsMTYgQEAgdzNjOiB8CiAg
ICAgJShub3RlcylzCiAgICAgPHNjcmlwdD4KICAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIiUoZXNj
YXBlZF9kZXNjKXMiKTsKKyAgICB2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7CisgICAgdmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgICAgICB0aHJvdyBy
ZWFzb247CisgICAgfSk7CiAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgewogCiAgICAgdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiAgICAgJShjb2RlKXMKLSAgICB0
LmRvbmUoKTsKLQogICAgIH0pOwogICAgIDwvc2NyaXB0PgogCkBAIC0zMSwxNiArMzMsMTggQEAg
dzNjd29ya2VyOiB8CiAgICAgLy8gTm90ZTolKG5vdGVzKXMKIAogICAgIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLSAgICBpbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworICAgIGltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiAgICAgdmFyIHQgPSBhc3luY190ZXN0KCIlKGVzY2Fw
ZWRfZGVzYylzIik7CisgICAgdmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOworICAgIHZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICAgICAgdGhyb3cgcmVh
c29uOworICAgIH0pOwogICAgIHQuc3RlcChmdW5jdGlvbigpIHsKIAogICAgIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogICAgICUoY29kZSlzCi0gICAgdC5k
b25lKCk7Ci0KICAgICB9KTsKICAgICBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVz
dHMyZC55YW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3Rlc3RzMmQueWFtbAppbmRleCBhYTgyMDcxZmY4YTcwYmNl
ZTViNDVhMWQzZWI4NTRhMjg2NDliYmY3Li42NjYyNjY4ZjM3Mzk3MTQ1ZTkzZWVlNTFlMGU0YmU4
MGYxNzAyNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVzdHMyZC55YW1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
b29scy90ZXN0czJkLnlhbWwKQEAgLTM0LDYgKzM0LDcgQEAKICAgICBjdHguc2F2ZSgpOwogICAg
IEBhc3NlcnQgY3R4LiUoa2V5KXMgPT09IG9sZDsKICAgICBjdHgucmVzdG9yZSgpOworICAgIHQu
ZG9uZSgpOwogICAgICIiIiAlIHsgJ2tleSc6a2V5LCAndmFsdWUnOnZhbHVlIH0KICAgICAgICAg
fSApCiAKQEAgLTUxLDcgKzUyLDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7
CiAgICAgQGFzc2VydCBjdHguJShrZXkpcyA9PT0gZGVmYXVsdF92YWw7CiAgICAgIiIiICUgeyAn
a2V5JzprZXksICd2YWx1ZSc6dmFsdWUgfQotICAgICAgICBmb3Iga2V5LHZhbHVlIGluIHN0YXRl
KSwKKyAgICAgICAgZm9yIGtleSx2YWx1ZSBpbiBzdGF0ZSkgKyAiXG50LmRvbmUoKTsiLAogICAg
IH0gKQogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uCkBAIC02
Nyw2ICs2OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJl
Y3QoLTIwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlw
CiAgIGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0aApAQCAt
ODIsNiArODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aAog
ICBkZXNjOiBzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRo
CkBAIC05Niw2ICs5OSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwCiAgIGRlc2M6IHNh
dmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IGJpdG1hcApAQCAtMTA5
LDYgKzExMyw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5y
ZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjawogICBkZXNjOiBz
YXZlKCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBzdGFjawpAQCAtMTI2LDYgKzEzMSw3
IEBACiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAyOwogICAgIGN0eC5yZXN0b3JlKCk7
CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAxOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGgKICAgZGVzYzogc2F2ZSgpL3Jlc3Rv
cmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5IGxpbWl0ZWQKQEAgLTE0NCw2ICsx
NTAsNyBAQAogICAgICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IGk7CiAgICAgICAgIGN0
eC5yZXN0b3JlKCk7CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRlLnNh
dmVyZXN0b3JlLnVuZGVyZmxvdwogICBkZXNjOiByZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBzdGFj
ayBoYXMgbm8gZWZmZWN0CkBAIC0xNTUsNiArMTYyLDcgQEAKICAgICBjdHgubGluZVdpZHRoID0g
MC41OwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAw
LjU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ub3JkZXIKICAg
ZGVzYzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlcgpAQCAt
MTY4LDYgKzE3Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCA1MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
YmFzaWMKICAgZGVzYzogc2NhbGUoKSB3b3JrcwpAQCAtMTgwLDYgKzE4OSw3IEBACiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDEyLjUpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVybwogICBkZXNjOiBzY2FsZSgpIHdp
dGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3JrcwpAQCAtMjAxLDYgKzIxMSw3IEBACiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZQogICBkZXNjOiBzY2FsZSgpIHdpdGgg
bmVnYXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcwpAQCAtMjIxLDYgKzIzMiw3IEBACiAgICAgY3R4
LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UKICAgZGVzYzogc2NhbGUoKSB3aXRo
IGxhcmdlIHNjYWxlIGZhY3RvcnMgd29ya3MKQEAgLTIzNCw2ICsyNDYsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlCiAgIGRlc2M6IHNjYWxlKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMjQ3LDYgKzI2MCw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlCiAgIGRlc2M6IE11bHRp
cGxlIHNjYWxlKClzIGNvbWJpbmUKQEAgLTI2MCw2ICsyNzQsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5MCw0MCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6
IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvCkBAIC0yNzMsNiArMjg4LDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zCiAgIGRlc2M6IHJvdGF0
ZSgpIHVzZXMgcmFkaWFucwpAQCAtMjg1LDYgKzMwMSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24KICAgZGVzYzogcm90YXRlKCkgaXMg
Y2xvY2t3aXNlCkBAIC0yOTcsNiArMzE0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwCiAgIGRlc2M6IHJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0
aXZlIHZhbHVlcyBjb3JyZWN0bHkKQEAgLTMxNCw2ICszMzIsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZQog
ICBkZXNjOiByb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29ycmVjdGx5CkBA
IC0zMjgsNiArMzQ3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUKICAgZGVzYzogcm90YXRlKCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzQxLDYgKzM2MSw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYwogICBkZXNjOiB0cmFuc2xhdGUo
KSB3b3JrcwpAQCAtMzUzLDYgKzM3NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
ICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDkwLDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUKICAgZGVzYzogdHJhbnNsYXRlKCkgd2l0aCBJ
bmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzY2LDYgKzM4OCw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAK
IC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5CkBAIC0zNzksNiAr
NDAyLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3
ZWQKICAgZGVzYzogdHJhbnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3Jy
ZWN0bHkKQEAgLTQxMyw2ICs0MzcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjEsMTkgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAzOSwzMSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDYxLDMxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseQogICBkZXNjOiB0cmFuc2Zv
cm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0KQEAgLTQyNiw2ICs0NTEsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZQogICBkZXNjOiB0cmFuc2Zv
cm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC00MzksNiArNDY1LDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEw
MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2Vk
CkBAIC00NzMsNiArNTAwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDYxLDE5ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMzksMzEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA2MSwzMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUKICAgdGVzdGluZzoKQEAgLTQ4
NSw2ICs1MTMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDUwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubm9uZmluaXRlCiAgIGRlc2M6IHNldFRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlz
IGlnbm9yZWQKQEAgLTQ5OCw2ICs1MjcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2UKICAgdGVzdGluZzoKQEAgLTUxMyw2ICs1NDMsNyBAQAog
ICAgIEBhc3NlcnQgY3R4Lmdsb2JhbEFscGhhID09PSAwOwogICAgIGN0eC5nbG9iYWxBbHBoYSA9
IDE7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IDE7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQKICAgdGVzdGluZzoKQEAg
LTUyNiwxMiArNTU3LDE0IEBACiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IGE7CiAg
ICAgY3R4Lmdsb2JhbEFscGhhID0gTmFOOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbEFscGhhID09
PSBhOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5k
ZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVs
dAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IDEuMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbAogICB0ZXN0
aW5nOgpAQCAtNTQzLDYgKzU3Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PX4gMiwyNTMsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlCiAgIHRlc3Rpbmc6CkBAIC01NjMsNyArNTk3LDcgQEAKICAgICBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDIsMjUzLDAsMjU1
OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMKICAgdGVzdGluZzoKQEAgLTU3OCw2ICs2MTIsNyBA
QAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxw
aGE9MCBvcHRpbWlzYXRpb25zCiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuCiAg
IHRlc3Rpbmc6CkBAIC01OTksNyArNjM0LDcgQEAKICAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0g
MC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKICAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAyLDI1MywwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybgogICB0
ZXN0aW5nOgpAQCAtNjE1LDYgKzY1MCw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsg
Ly8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMiwyNTMs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmNhbnZhc2NvcHkKICAgdGVzdGluZzoKQEAgLTYzMCw2ICs2NjYsNyBAQAogICAgIGN0eC5nbG9i
YWxBbHBoYSA9IDAuNTE7CiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDEzMDsKKyAgICB0LmRvbmUo
KTsKIAogCiAtIG1ldGE6IHwKQEAgLTcwMCw2ICs3MzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSVzJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRl
c3QsIG9wLCBzcmMsIHRvX3Rlc3QoZXhwZWN0ZWQpKSwKICAgICAgICAgICAgIH0gKQogCkBAIC03
MjYsNyArNzY0LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZCkpLAogICAgICAgICAg
ICAgfSApCiAKQEAgLTc1Niw3ICs3OTQsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJyVzJzsKICAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0
b190ZXN0KGV4cGVjdGVkKSksCiAgICAgICAgICAgICB9ICkKIApAQCAtNzY0LDcgKzgwMiw3IEBA
CiAgICAgICAgIGZvciBvcCwgRkFfY29kZSwgRkJfY29kZSBpbiBvcHM6CiAgICAgICAgICAgICBp
ZiBvcCBub3QgaW4gb3BzX3RyYW5zOiBjb250aW51ZQogICAgICAgICAgICAgZXhwZWN0ZWQwID0g
Y2FsY19vdXRwdXQoKDAsMCwwLDAuMCksIGRlc3QsIEZBX2NvZGUsIEZCX2NvZGUpCi0gICAgICAg
ICAgICB0ZXN0cy5hcHBlbmQoIHsKKyAgICAgICAgICAgIG5ld190ZXN0ID0gewogICAgICAgICAg
ICAgICAgICduYW1lJzogJzJkLmNvbXBvc2l0ZS4lcy4lcycgJSAobmFtZSwgb3ApLAogICAgICAg
ICAgICAgICAgICdkZXNjJzogJ2ZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuJywKICAgICAgICAgICAgICAgICAndGVzdGluZyc6IFsgJzJkLmNvbXBvc2l0
ZS4lcycgJSBvcCBdLApAQCAtNzc2LDggKzgxNCwxMiBAQAogICAgIGN0eC50cmFuc2xhdGUoMCwg
MjUpOwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRlc3QsIG9w
LCBzcmMsIHRvX3Rlc3QoZXhwZWN0ZWQwKSksCi0gICAgICAgICAgICB9ICkKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGlmIG9wID09ICdkZXN0aW5hdGlvbi1pbic6CisgICAgICAgICAgICAg
IG5ld190ZXN0Wyd0aW1lb3V0J10gPSAnbG9uZycKKyAgICAgICAgICAgIHRlc3RzLmFwcGVuZChu
ZXdfdGVzdCkKIAogICAgIGZvciAobmFtZSwgc3JjLCBkZXN0KSBpbiBbICgndW5jb3ZlcmVkLmlt
YWdlJywgKDI1NSwgMjU1LCAwLCAxLjApLCAoMCwgMjU1LCAyNTUsIDAuNSkpIF06CiAgICAgICAg
IGZvciBvcCwgRkFfY29kZSwgRkJfY29kZSBpbiBvcHM6CkBAIC04MDUsNyArODQ3LDcgQEAKICAg
ICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAs
IDEwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxNSwxNSA9PX4gJXMgKy8tIDU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOworICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDAp
LCB0b190ZXN0KGV4cGVjdGVkMCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTgyNCw2ICs4NjYs
NyBAQAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OworICAgIHQuZG9uZSgpOwogICAgICIiIiAl
IChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDApKSwKICAgICAgICAgICAgIH0gKQogCkBAIC04
NTMsNyArODk2LDcgQEAKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAw
LCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9f
dGVzdChleHBlY3RlZDApKSwKICAgICAgICAgICAgIH0gKQogCkBAIC04NzIsNiArOTE1LDcgQEAK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKG9wKSwKICAgICAgICAgfSApCiAKQEAgLTg4Nyw2
ICs5MzEsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gbW9kZXNb
aV07CiAgICAgICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gbW9k
ZXNbaV07CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24udW5yZWNvZ25pc2VkCiAgIHRlc3Rpbmc6CkBAIC04OTUsNiArOTQwLDcgQEAKICAgICBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdub25leGlzdGVudCc7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5j
b21wb3NpdGUub3BlcmF0aW9uLmRhcmtlcgogICB0ZXN0aW5nOgpAQCAtOTAzLDYgKzk0OSw3IEBA
CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGFya2VyJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24ub3ZlcgogICB0ZXN0aW5nOgpAQCAtOTExLDYgKzk1OCw3IEBA
CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnb3Zlcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5j
b21wb3NpdGUub3BlcmF0aW9uLmNsZWFyCiAgIHRlc3Rpbmc6CkBAIC05MTksNiArOTY3LDcgQEAK
ICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjbGVhcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID09PSAnY2xlYXInOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0CiAgIHRlc3Rpbmc6CkBAIC05MjcsNiArOTc2
LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdoaWdobGlnaHQnOwogICAgIEBhc3NlcnQgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4CiAgIHRlc3Rpbmc6CkBAIC05
MzUsNiArOTg1LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7
CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3ZlclwwJzsKICAg
ICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZQog
ICB0ZXN0aW5nOgpAQCAtOTQzLDEyICs5OTQsMTQgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdT
b3VyY2Utb3Zlcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09
PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUub3BlcmF0aW9u
LmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVs
dAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09
PSAnc291cmNlLW92ZXInOworICAgIHQuZG9uZSgpOwogCiAtIG1ldGE6IHwKICAgICAjIENvbG91
ciBwYXJzaW5nIHRlc3RzCkBAIC0xMDQ5LDYgKzExMDIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnJXMnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09ICVkLCVkLCVkLCVkOworICAgIHQuZG9uZSgpOwogICAgICIiIiAlIChzdHJp
bmcsIHIsZyxiLGEpLAogICAgICAgICB9CiAgICAgICAgIHRlc3RzLmFwcGVuZCh0ZXN0KQpAQCAt
MTExMyw2ICsxMTY3LDcgQEAKICAgICB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyVzJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKICAgICAi
IiIgJSBzdHJpbmcsCiAgICAgICAgIH0KICAgICAgICAgdGVzdHMuYXBwZW5kKHRlc3QpCkBAIC0x
MTI5LDYgKzExODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICclcyc7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID1+IC9eIyg/IShGRjAw
MDB8ZmYwMDAwfGYwMCkkKS87IC8vIHRlc3QgdGhhdCBpdCdzIG5vdCByZWQKKyAgICB0LmRvbmUo
KTsKICAgICAiIiIgJSAoc3RyaW5nLCksCiAgICAgICAgIH0KICAgICAgICAgdGVzdHMuYXBwZW5k
KHRlc3QpCkBAIC0xMTQzLDYgKzExOTksNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnaW52YWxp
ZCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFN0
eWxlLmludmFsaWR0eXBlCiAgIHRlc3Rpbmc6CkBAIC0xMTU0LDYgKzEyMTEsNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSBudWxsOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmZpbGxTdHlsZS5nZXQuc29saWQKICAgdGVzdGluZzoKQEAgLTExNjIsNiArMTIy
MCw3IEBACiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmYTAnOwogICAgIEBhc3Nl
cnQgY3R4LmZpbGxTdHlsZSA9PT0gJyNmZmFhMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50CiAgIHRlc3Rpbmc6CkBAIC0xMTcwLDYg
KzEyMjksNyBAQAogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUs
MjU1LDAuNDUpJzsKICAgICBAYXNzZXJ0IGN0eC5maWxsU3R5bGUgPX4gL15yZ2JhXCgyNTUsIDI1
NSwgMjU1LCAwXC40XGQrXCkkLzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsU3R5
bGUuZ2V0LnRyYW5zcGFyZW50CiAgIHRlc3Rpbmc6CkBAIC0xMTc4LDE4ICsxMjM4LDIxIEBACiAg
IGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMCknOwogICAgIEBhc3Nl
cnQgY3R4LmZpbGxTdHlsZSA9PT0gJ3JnYmEoMCwgMCwgMCwgMCknOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5jb2xv
dXJzLmRlZmF1bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LmZpbGxTdHlsZSA9PT0gJyMw
MDAwMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVN0eWxlLmRlZmF1bHQK
ICAgdGVzdGluZzoKICAgICAtIDJkLmNvbG91cnMuZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCBjdHguc3Ryb2tlU3R5bGUgPT09ICcjMDAwMDAwJzsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZAogICB0ZXN0aW5nOgpAQCAtMTIwMSw2
ICsxMjY0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIKICAg
dGVzdGluZzoKQEAgLTEyMTQsNiArMTI3OCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PX4gMTkxLDE5MSw2MywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3
LDEyNywxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDYzLDYzLDE5
MSwyNTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUuYWxwaGEKICAgdGVzdGluZzoKQEAgLTEyMjksNiArMTI5NCw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwyNSA9PX4gMTkxLDE5MSw2MywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMTI3LDEyNywxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT1+IDYzLDYzLDE5MSwyNTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEKICAgdGVzdGluZzoKQEAgLTEyNDIsNiAr
MTMwOCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMTkwLDE5MCw2NSw2NSArLy0g
MzsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjYsMTI2LDEyOCwxMjggKy8tIDM7CiAg
ICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gNjIsNjIsMTkyLDE5MiArLy0gMzsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlCiAgIHRlc3Rp
bmc6CkBAIC0xMjU4LDYgKzEzMjUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjUgPT1+IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgODAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwKICAgdGVzdGluZzoK
QEAgLTEyNzIsNiArMTM0MCw3IEBACiAgICAgY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDIwID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0
cm9rZQogICB0ZXN0aW5nOgpAQCAtMTI5NCw2ICsxMzYzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDE5LDIxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMSwyMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVj
dAogICB0ZXN0aW5nOgpAQCAtMTMwNyw2ICsxMzc3LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
ZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA0
MCwyMCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdAogICB0ZXN0aW5nOgpA
QCAtMTMyOCw2ICsxMzk5LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDE5LDIxID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCAyMSwyMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6
IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsCkBAIC0xMzQyLDYgKzE0MTQsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTIgPT1+IDE5MSwxOTEsNjMsMjU1ICsvLSAxMDsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3LDEyNywyNTUgKy8tIDU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwzNyA9PX4gNjMsNjMsMTkxLDI1NSArLy0gMTA7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUKICAgdGVzdGluZzoKQEAg
LTEzNTcsNiArMTQzMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDI1NSwx
MjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTAwLDI1ID09fiAwLDI1NSwyNTUsMjU1
ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTUwLDI1ID09fiAxMjcsMTI3LDI1NSwyNTUgKy8t
IDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zl
cmxhcAogICB0ZXN0aW5nOgpAQCAtMTM4OCw2ICsxNDYyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDEwMSwyNSA9PX4gMjU1LDI1NSwwLDI1NSArLy0gMTY7CiAgICAgQGFzc2VydCBwaXhlbCAxNDks
MjUgPT1+IDAsMCwyNTUsMjU1ICsvLSAxNjsKICAgICBAYXNzZXJ0IHBpeGVsIDE1MSwyNSA9PX4g
MjU1LDI1NSwwLDI1NSArLy0gMTY7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIKICAgdGVzdGluZzoKQEAgLTE0MDksNiArMTQ4NCw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA0MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDYwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuZW1wdHkKICAg
dGVzdGluZzoKQEAgLTE0MjAsNiArMTQ5Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IGc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lm9i
amVjdC51cGRhdGUKICAgdGVzdGluZzoKQEAgLTE0MzMsNiArMTUxMCw3IEBACiAgICAgZy5hZGRD
b2xvclN0b3AoMC45LCAnIzBmMCcpOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZQogICB0ZXN0aW5nOgpAQCAtMTQ0
Myw2ICsxNTIxLDcgQEAKICAgICBAYXNzZXJ0IGcxICE9PSBnMjsKICAgICBjdHguZmlsbFN0eWxl
ID0gZzE7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09PSBnMTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMKICAgY29kZTogfApAQCAt
MTQ1NSw2ICsxNTM0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRv
ZmZzZXQKICAgdGVzdGluZzoKQEAgLTE0NjYsNiArMTU0Niw3IEBACiAgICAgQGFzc2VydCB0aHJv
d3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKEluZmluaXR5LCAnIzAwMCcpOwogICAgIEBhc3Nl
cnQgdGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7CiAg
ICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKE5hTiwgJyMwMDAnKTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91
cgogICB0ZXN0aW5nOgpAQCAtMTQ3Nyw2ICsxNTU4LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBT
WU5UQVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsICd1bmRlZmluZWQnKTsKICAgICBAYXNzZXJ0IHRo
cm93cyBTWU5UQVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsIG51bGwpOwogICAgIEBhc3NlcnQgdGhy
b3dzIFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0b3AoMCwgdW5kZWZpbmVkKTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlCiAgIGRlc2M6IGNyZWF0
ZUxpbmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBm
aW5pdGUKQEAgLTE0ODQsNiArMTU2Niw3IEBACiAgICAgLSAyZC5ncmFkaWVudC5saW5lYXIubm9u
ZmluaXRlCiAgIGNvZGU6IHwKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJv
ciBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDww
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAg
SW5maW5pdHkgLUluZmluaXR5IE5hTj4pOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMQogICBkZXNjOiBMaW5lYXIgZ3JhZGllbnQgY29vcmRp
bmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9m
IGZpbGxpbmcKQEAgLTE1MDEsNiArMTU4NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yCiAgIGRlc2M6IExpbmVhciBn
cmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2Ug
YXQgdGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTUxOSw2ICsxNjAzLDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMKICAg
ZGVzYzogTGluZWFyIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2Vu
IGNhY2hpbmcgZWZmZWN0cwpAQCAtMTUzNyw2ICsxNjIyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUKICAgZGVzYzogY3Jl
YXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1
cyBpcyBuZWdhdGl2ZQpAQCAtMTU0Niw2ICsxNjMyLDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBJ
TkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwg
MSk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmNyZWF0ZVJhZGlhbEdy
YWRpZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEpOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJ
WkVfRVJSIGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsK
KyAgICB0LmRvbmUoKTsKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZQogCiAg
IGRlc2M6IGNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVu
dHMgYXJlIG5vdCBmaW5pdGUKQEAgLTE1NTMsNiArMTY0MCw3IEBACiAgICAgLSAyZC5ncmFkaWVu
dC5yYWRpYWwubm9uZmluaXRlCiAgIGNvZGU6IHwKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhy
b3dzIFR5cGVFcnJvciBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoPDAgSW5maW5pdHkgLUluZmlu
aXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5p
dHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0
eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEKICAgdGVzdGluZzoKQEAgLTE1NzQsNiAr
MTY2Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5y
YWRpYWwuaW5zaWRlMgogICB0ZXN0aW5nOgpAQCAtMTU5NSw2ICsxNjg0LDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzCiAgIHRl
c3Rpbmc6CkBAIC0xNjE3LDYgKzE3MDcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxCiAgIHRlc3Rpbmc6CkBAIC0xNjM4LDYg
KzE3MjksNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQu
cmFkaWFsLm91dHNpZGUyCiAgIHRlc3Rpbmc6CkBAIC0xNjU5LDYgKzE3NTEsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzCiAg
IHRlc3Rpbmc6CkBAIC0xNjgxLDYgKzE3NzQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMQogICB0ZXN0aW5nOgpAQCAtMTcwMiw2
ICsxNzk2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3ot
dG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIKICAgdGVzdGluZzoK
QEAgLTE3MjUsNiArMTgyMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzCiAgIHRlc3Rpbmc6CkBAIC0xNzQ2LDYgKzE4NDIsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAg
QGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsCiAgIHRlc3Rpbmc6CkBAIC0xNzY3LDYg
KzE4NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10
b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kCiAgIHRlc3Rp
bmc6CkBAIC0xNzg4LDYgKzE4ODYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1
NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1
NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1v
ei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUu
ZnJvbnQKICAgdGVzdGluZzoKQEAgLTE4MDksNiArMTkwOCw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20KICAgdGVzdGlu
ZzoKQEAgLTE4MzAsNiArMTkzMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AKICAgdGVzdGluZzoKQEAgLTE4NTEsNiArMTk1
Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5iZXNpZGUKICAgdGVzdGluZzoKQEAgLTE4NzIsNiArMTk3NCw3IEBACiAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlcgogICB0ZXN0aW5nOgpAQCAtMTg5Myw2ICsx
OTk2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLnNoYXBlMQogICB0ZXN0aW5nOgpAQCAtMTkyMSw2ICsyMDI1LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBl
MgogICB0ZXN0aW5nOgpAQCAtMTk0OSw2ICsyMDU0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEKICAg
ZGVzYzogUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29v
cmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nCkBAIC0xOTY3LDYgKzIwNzMsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMgogICBkZXNjOiBSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0
aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmcKQEAgLTE5
ODYsNiArMjA5Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3Jh
ZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zCiAgIGRlc2M6IFJhZGlhbCBncmFkaWVudCB0cmFuc2Zv
cm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5nIGVmZmVjdHMKQEAgLTIwMDUsNiAr
MjExMyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5i
YXNpYy5pbWFnZQogICB0ZXN0aW5nOgpAQCAtMjAyOSw3ICsyMTM4LDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5iYXNpYy5jYW52YXMKICAgdGVzdGluZzoKQEAgLTIwNTMsNiArMjE2Miw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmJhc2ljLnplcm9j
YW52YXMKICAgdGVzdGluZzoKQEAgLTIwNzMsNiArMjE4Myw3IEBACiAgICAgQGFzc2VydCBvZmZz
Y3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0ID09PSAwOwogICAgIEBhc3NlcnQgdGhyb3dzIElOVkFMSURfU1RBVEVfRVJSIGN0eC5jcmVh
dGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0CiAgIHRlc3Rpbmc6CkBAIC0yMDg5LDI0
ICsyMjAwLDI4IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4u
aW1hZ2UudW5kZWZpbmVkCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLklETAogICBjb2Rl
OiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5jcmVhdGVQYXR0ZXJuKHVuZGVm
aW5lZCwgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4uaW1h
Z2UubnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5JREwKICAgY29kZTogfAogICAg
IEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlUGF0dGVybihudWxsLCAncmVwZWF0
Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFnZS5zdHJpbmcKICAg
dGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4uSURMCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRo
cm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZVBhdHRlcm4oJy4uL2ltYWdlcy9yZWQucG5nJywgJ3Jl
cGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5
CiAgIHRlc3Rpbmc6CkBAIC0yMTMxLDQzICsyMjQ2LDQ5IEBACiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1Owot
ICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRl
cm4ucmVwZWF0Lm51bGwKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2Vk
CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZh
cywgbnVsbCkgIT0gbnVsbDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJl
cGVhdC51bmRlZmluZWQKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2Vk
CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0
ZXJuKG9mZnNjcmVlbkNhbnZhcywgdW5kZWZpbmVkKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQKICAgdGVzdGluZzoKICAgICAtIDJkLnBh
dHRlcm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhf
RVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgImludmFsaWQiKTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsCiAg
IHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLnVucmVjb2duaXNlZAogICBjb2RlOiB8CiAgICAg
QGFzc2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52
YXMsICJudWxsIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5yZXBlYXQu
Y2FzZQogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5leGFjdAogICBjb2RlOiB8CiAgICAg
QGFzc2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52
YXMsICJSZXBlYXQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVh
dC5udWxsc3VmZml4CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLmV4YWN0CiAgIGNvZGU6
IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNj
cmVlbkNhbnZhcywgInJlcGVhdFwwIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
dGVybi5tb2RpZnkuY2FudmFzMQogICB0ZXN0aW5nOgpAQCAtMjE4Niw2ICsyMzA3LDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAx
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMgog
ICB0ZXN0aW5nOgpAQCAtMjIwOCw2ICsyMzMwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0dGVybi5jcm9zc2NhbnZhcwogICBjb2RlOiB8CkBAIC0yMjI4LDcgKzIz
NTEsNyBAQAogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5h
bWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMKICAgdGVzdGluZzoKQEAgLTIyNTMs
NyArMjM3Niw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lk
ZQogICB0ZXN0aW5nOgpAQCAtMjI4Myw3ICsyNDA2LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVy
bi5wYWludC5ub3JlcGVhdC5jb29yZDEKICAgdGVzdGluZzoKQEAgLTIzMTEsNyArMjQzNCw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyCiAgIHRlc3Rpbmc6
CkBAIC0yMzM5LDcgKzI0NjIsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm5vcmVw
ZWF0LmNvb3JkMwogICB0ZXN0aW5nOgpAQCAtMjM2Nyw3ICsyNDkwLDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMKICAgdGVzdGluZzoKQEAgLTIzOTIsNyArMjUx
NSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUKICAgdGVz
dGluZzoKQEAgLTI0MTgsNyArMjU0MSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmNvb3JkMQogICB0ZXN0aW5nOgpAQCAtMjQ0NCw3ICsyNTY3LDcgQEAKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwy
NTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFt
ZTogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyCiAgIHRlc3Rpbmc6CkBAIC0yNDY3LDcg
KzI1OTAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMKICAg
dGVzdGluZzoKQEAgLTI0OTIsNyArMjYxNSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgs
MSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjUxOSw3ICsyNjQyLDcgQEAKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0g
MCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUKICAgdGVzdGluZzoKQEAgLTI1
NDYsNyArMjY2OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29y
ZDEKICAgdGVzdGluZzoKQEAgLTI1NzYsNyArMjY5OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsK
LSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMKICAgdGVzdGluZzoKQEAgLTI2MDMsNyArMjcyNiw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlCiAgIHRlc3Rpbmc6
CkBAIC0yNjMwLDcgKzI3NTMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHkuY29vcmQxCiAgIHRlc3Rpbmc6CkBAIC0yNjYyLDcgKzI3ODUsNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZQogICBkZXNjOiBJbWFnZSBwYXR0ZXJu
cyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkCkBAIC0yNjkzLDcgKzI4MTYsNyBAQAog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcwogICBkZXNjOiBD
YW52YXMgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZApAQCAtMjcxNyw2
ICsyODQwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0
dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsCiAgIHRlc3Rpbmc6CkBAIC0yNzI0LDYgKzI4NDgs
NyBAQAogICAgIC0gMmQuc2hhZG93LmJsdXIuaW5pdGlhbAogICBjb2RlOiB8CiAgICAgQGFzc2Vy
dCBjdHguc2hhZG93Qmx1ciA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkCiAgIHRlc3Rpbmc6CkBAIC0yNzM4LDYgKzI4
NjMsNyBAQAogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0JsdXIgPT09IDFlNjsKICAgICBjdHguc2hh
ZG93Qmx1ciA9IDA7CiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0gMDsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQK
ICAgdGVzdGluZzoKQEAgLTI3NTUsNiArMjg4MSw3IEBACiAgICAgY3R4LnNoYWRvd0JsdXIgPSAx
OwogICAgIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0JsdXIg
PT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93T2Zmc2V0LmluaXRpYWwKICAgdGVzdGluZzoKQEAgLTI3NjIsNiArMjg4OSw3IEBACiAgIGNv
ZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRYID09PSAwOwogICAgIEBhc3NlcnQg
Y3R4LnNoYWRvd09mZnNldFkgPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkCiAgIHRlc3Rpbmc6CkBAIC0yNzg4LDYg
KzI5MTYsNyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gMWU2OwogICAgIEBhc3NlcnQgY3R4
LnNoYWRvd09mZnNldFggPT09IDFlNjsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRZID09
PSAxZTY7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93T2Zmc2V0LmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4MTEsMTIgKzI5NDAsMTQgQEAKICAg
ICBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRY
ID09PSAxOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFkgPT09IDI7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbAog
ICB0ZXN0aW5nOgogICAgIC0gMmQuc2hhZG93LmNvbG9yLmluaXRpYWwKICAgY29kZTogfAogICAg
IEBhc3NlcnQgY3R4LnNoYWRvd0NvbG9yID09PSAncmdiYSgwLCAwLCAwLCAwKSc7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQK
ICAgdGVzdGluZzoKQEAgLTI4MjcsNiArMjk1OCw3IEBACiAgICAgQGFzc2VydCBjdHguc2hhZG93
Q29sb3IgPT09ICcjMDBmZjAwJzsKICAgICBjdHguc2hhZG93Q29sb3IgPSAnUkdCQSgwLDI1NSwg
MCwwKSc7CiAgICAgQGFzc2VydCBjdHguc2hhZG93Q29sb3IgPT09ICdyZ2JhKDAsIDI1NSwgMCwg
MCknOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0NvbG9yLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4NDQsNiArMjk3Niw3IEBACiAgICAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwMGZmMDAnOwogICAgIGN0eC5zaGFkb3dDb2xvciA9IHVuZGVmaW5l
ZDsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xvciA9PT0gJyMwMGZmMDAnOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjEKICAgZGVzYzogU2hhZG93cyBh
cmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQKQEAgLTI4NTUsNiArMjk4
OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5hYmxlLm9mZi4yCiAgIGRlc2M6IFNo
YWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0CkBAIC0yODY3
LDYgKzMwMDEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS5ibHVyCiAgIGRl
c2M6IFNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIgaXMgc2V0CkBAIC0yODgwLDYgKzMw
MTUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS54CiAgIGRlc2M6IFNoYWRv
d3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFggaXMgc2V0CkBAIC0yODkzLDYgKzMwMjksNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS55CiAgIGRlc2M6IFNoYWRvd3MgYXJl
IGRyYXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0CkBAIC0yOTA2LDYgKzMwNDMsNyBAQAogICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgKICAgZGVzYzogU2hhZG93cyBj
YW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeApAQCAtMjkyMCw2ICszMDU4LDcgQEAKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgKICAgZGVzYzog
U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeApAQCAtMjkzNCw2ICszMDczLDcg
QEAKICAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCAy
NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZ
CiAgIGRlc2M6IFNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHkKQEAgLTI5NDgs
NiArMzA4OCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwzNyA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cub2Zmc2V0
Lm5lZ2F0aXZlWQogICBkZXNjOiBTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5
CkBAIC0yOTYyLDYgKzMxMDMsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAyNSwgMTAwLCAyNSk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5vdXRzaWRlCiAgIGRlc2M6IFNoYWRvd3Mgb2Ygc2hhcGVzIG91dHNpZGUgdGhlIHZpc2li
bGUgYXJlYSBjYW4gYmUgb2Zmc2V0IG9udG8gdGhlIHZpc2libGUgYXJlYQpAQCAtMjk4NCw2ICsz
MTI2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg3LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwz
NyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2xp
cC4xCiAgIGRlc2M6IFNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdp
dGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDA0LDYgKzMxNDcsNyBAQAogICAgIGN0eC5y
ZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnNoYWRvdy5jbGlwLjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIG91dHNp
ZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbgpAQCAtMzAyNCw2ICszMTY4LDcgQEAKICAgICBjdHgucmVz
dG9yZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zaGFkb3cuY2xpcC4zCiAgIGRlc2M6IFNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJl
IHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDQ1LDYgKzMxOTAs
NyBAQAogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2UuYmFzaWMKICAgZGVzYzogU2hhZG93
cyBhcmUgZHJhd24gZm9yIHN0cm9rZXMKQEAgLTMwNjQsNiArMzIxMCw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAxLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ryb2tlLmNhcC4xCiAgIGRlc2M6IFNo
YWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJva2UgY2FwcwpAQCAtMzA4
Niw2ICszMjMzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsMjUgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRv
dy5zdHJva2UuY2FwLjIKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBz
CkBAIC0zMTA2LDYgKzMyNTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc2hhZG93LnN0cm9rZS5qb2luLjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucwpAQCAtMzEyOCw2ICszMjc3LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMgogICBk
ZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zCkBAIC0zMTUyLDYgKzMzMDIs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2Uu
am9pbi4zCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2Ugam9pbnMgcmVzcGVj
dGluZyBtaXRlciBsaW1pdApAQCAtMzE3NSw2ICszMzI2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UuYmFzaWMKICAgZGVzYzogU2hhZG93cyBh
cmUgZHJhd24gZm9yIGltYWdlcwpAQCAtMzE5OSw3ICszMzUxLDcgQEAKICAgICBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgLTUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAg
ICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cu
aW1hZ2UudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IGltYWdlcwpAQCAtMzIyNCw3ICszMzc2LDcgQEAKICAgICBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
LTUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1h
Z2UudHJhbnNwYXJlbnQuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IHBhcnRzIG9mIGltYWdlcwpAQCAtMzI1NSw3ICszNDA3LDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1
NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1l
OiAyZC5zaGFkb3cuaW1hZ2UuYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVj
dGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzCkBAIC0zMjgwLDcgKzM0MzIsNyBA
QAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
fiAxMjcsMCwxMjcsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5v
dCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBpbWFnZSBzb3VyY2UgcmVjdGFuZ2xlcwpAQCAtMzMw
Nyw3ICszNDU5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2Uuc2NhbGUKICAg
ZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBzY2FsZWQgaW1hZ2VzCkBAIC0z
MzM0LDcgKzM0ODYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jYW52YXMuYmFzaWMK
ICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIGNhbnZhc2VzCkBAIC0zMzUxLDYgKzM1MDMs
NyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiAgICAgY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMyLCAwLCAtNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmNhbnZhcy50cmFuc3Bh
cmVudC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgY2Fu
dmFzZXMKQEAgLTMzNjUsNiArMzUxOCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsK
ICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRy
YXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlcwpAQCAtMzM4Nyw2ICszNTQxLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2FudmFzLmFs
cGhhCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRy
YW5zcGFyZW50IGNhbnZhc2VzCkBAIC0zNDAzLDYgKzM1NTgsNyBAQAogICAgIGN0eC5zaGFkb3dD
b2xvciA9ICcjMDBmJzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0dGVybi5iYXNpYwogICBkZXNjOiBTaGFkb3dz
IGFyZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJucwpAQCAtMzQyOCw3ICszNTg0LDcgQEAKICAgICAg
ICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5wYXR0ZXJuLnRy
YW5zcGFyZW50LjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVu
dCBmaWxsIHBhdHRlcm5zCkBAIC0zNDU1LDcgKzM2MTEsNyBAQAogICAgICAgICBjdHguc2hhZG93
T2Zmc2V0WSA9IDUwOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMgog
ICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGZp
bGwgcGF0dGVybnMKQEAgLTM0ODYsNyArMzY0Miw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
MjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93
LnBhdHRlcm4uYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBw
YXJ0aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucwpAQCAtMzUxMiw3ICszNjY4LDcgQEAK
ICAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lmdy
YWRpZW50LmJhc2ljCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBncmFkaWVudCBmaWxs
cwpAQCAtMzUzMCw2ICszNjg2LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZ3Jh
ZGllbnQudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IGdyYWRpZW50IGZpbGxzCkBAIC0zNTQ3LDYgKzM3MDQsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yCiAgIGRlc2M6IFNoYWRv
d3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHMK
QEAgLTM1NjksNiArMzcyNyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc2hhZG93LmdyYWRpZW50LmFscGhhCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGNvcnJl
Y3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzCkBAIC0zNTg1LDYg
KzM3NDQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJl
Y3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwx
MjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy50cmFuc2Zvcm0uMQog
ICBkZXNjOiBTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMKQEAgLTM1OTgs
NiArMzc1OCw3IEBACiAgICAgY3R4LnRyYW5zbGF0ZSgxMDAsIDEwMCk7CiAgICAgY3R4LmZpbGxS
ZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnRyYW5zZm9ybS4y
CiAgIGRlc2M6IFNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtYXRp
b25zCkBAIC0zNjExLDYgKzM3NzIsNyBAQAogICAgIGN0eC5yb3RhdGUoTWF0aC5QSSkKICAgICBj
dHguZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYWxwaGEu
MQogICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQKQEAgLTM2
MjMsNiArMzc4NSw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1
NSwwLDI1NSArLy0gNDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYWxwaGEu
MgogICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQKQEAgLTM2
MzUsNiArMzc5OCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcs
MCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4zCiAg
IGRlc2M6IFNoYWRvd3MgYXJlIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBAIC0zNjQ5LDYgKzM4
MTMsNyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTsKICAgICBjdHguZmlsbFJlY3QoMCwg
LTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS40CiAgIGRlc2M6IFNo
YWRvd3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkgZ2xv
YmFsQWxwaGEKQEAgLTM2NjMsNiArMzgyOCw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC43
MDc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuYWxwaGEuNQogICBkZXNjOiBTaGFkb3dzIG9mIHNoYXBlcyB3aXRoIGFscGhhIGNvbXBv
bmVudHMgYXJlIGRyYXduIGNvcnJlY3RseQpAQCAtMzY3Niw2ICszODQyLDcgQEAKICAgICBjdHgu
c2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93LmNvbXBvc2l0ZS4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRy
YXduIHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbgpAQCAtMzY5MCw2ICszODU3LDcgQEAK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAy
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9zaXRlLjIKICAgZGVzYzogU2hhZG93
cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uCkBAIC0zNzA0LDYgKzM4
NzIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KC0x
MCwgLTEwLCAxMjAsIDcwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9zaXRlLjMKICAgZGVz
YzogQXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBkZXN0aW5h
dGlvbi1vdXQKQEAgLTM3MTksNiArMzg4OCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDIwMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmNsZWFyUmVjdC5iYXNpYwogICBkZXNjOiBjbGVhclJlY3QgY2xlYXJzIHRvIHRyYW5z
cGFyZW50IGJsYWNrCkBAIC0zNzI5LDYgKzM4OTksNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5j
bGVhclJlY3QucGF0aAogICBkZXNjOiBjbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJy
ZW50IHBhdGgKQEAgLTM3NDEsNiArMzkxMiw3IEBACiAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAx
NiwgMTYpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QuemVybwogICBk
ZXNjOiBjbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdApAQCAtMzc1Myw2ICsz
OTI1LDcgQEAKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDUwKTsKICAgICBjdHguY2xlYXJS
ZWN0KDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlCiAgIGRlc2M6
IGNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcwpAQCAtMzc2OSw2ICszOTQyLDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDEyID09IDAsMCwwLDA7CiAgICAgQGFzc2VydCBwaXhlbCAy
NSwzNyA9PSAwLDAsMCwwOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwwLDAsMDsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QudHJhbnNmb3JtCiAgIGRlc2M6IGNs
ZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zCkBAIC0zNzgxLDYgKzM5NTUsNyBAQAog
ICAgIGN0eC50cmFuc2xhdGUoMCwgNSk7CiAgICAgY3R4LmNsZWFyUmVjdCgwLCAtNSwgMTAsIDUp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEKICAgZGVzYzogY2xlYXJSZWN0IGlzIG5v
dCBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYQpAQCAtMzc5Miw2ICszOTY3LDcgQEAKICAgICBjdHgu
Z2xvYmFsQWxwaGEgPSAwLjE7CiAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZQogICBkZXNjOiBjbGVhclJlY3QgaXMgbm90
IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbgpAQCAtMzgwMyw2ICszOTc5LDcg
QEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3An
OwogICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5j
bGlwCiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zCkBA
IC0zODE4LDYgKzM5OTUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Quc2hhZG93CiAg
IGRlc2M6IGNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3MKQEAgLTM4MzIsNiArNDAxMCw3
IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguY2xlYXJSZWN0KDAsIC01
MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IGNs
ZWFyUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTM4NDIsNiArNDAyMSw3
IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBub25maW5pdGUgY3R4
LmNsZWFyUmVjdCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmlu
aXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5m
aW5pdHkgTmFOPik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC5iYXNpYwogICBkZXNjOiBmaWxsUmVj
dCB3b3JrcwpAQCAtMzg1MSw2ICs0MDMxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxSZWN0
LnBhdGgKICAgZGVzYzogZmlsbFJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgK
QEAgLTM4NjQsNiArNDA0NSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBj
dHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QuemVybwogICBkZXNjOiBmaWxsUmVjdCBv
ZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0CkBAIC0zODc3LDYgKzQwNTksNyBAQAogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZmlsbFJlY3QubmVnYXRpdmUKICAgZGVzYzogZmlsbFJlY3Qgb2YgbmVnYXRp
dmUgc2l6ZXMgd29ya3MKQEAgLTM4OTQsNiArNDA3Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3
NSwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QudHJhbnNmb3JtCiAgIGRlc2M6IGZpbGxSZWN0IGlz
IGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTM5MDUsNiArNDA4OSw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUsIDEwLCA1KTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAjIGRv
bid0IGJvdGhlciB0ZXN0aW5nIGdsb2JhbGFscGhhLCBnbG9iYWxjb21wb3NpdGUgYmVjYXVzZSB0
aGV5J3JlIGFscmVhZHkgaGVhdmlseSB1c2VkIGJ5IG90aGVyIHRlc3QgY2FzZXMKIApAQCAtMzky
Myw2ICs0MTA4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3Quc2hhZG93CiAgIGRlc2M6
IGZpbGxSZWN0IGRyYXdzIHNoYWRvd3MKQEAgLTM5MzcsNiArNDEyMyw3IEBACiAgICAgY3R4LnNo
YWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmZpbGxSZWN0Lm5vbmZpbml0ZQogICBkZXNjOiBmaWxsUmVjdCgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTM5NDgsNiArNDEzNSw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBAbm9uZmluaXRlIGN0eC5maWxsUmVjdCg8MCBJbmZpbml0eSAt
SW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkg
LUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5zdHJva2VSZWN0LmJhc2ljCiAgIGRlc2M6IHN0cm9rZVJlY3Qgd29ya3MKQEAgLTM5NTgsNiAr
NDE0Niw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDI1
LCAyNCwgNTAsIDIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5wYXRoCiAgIGRlc2M6IHN0cm9r
ZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTM5NzIsNiArNDE2MSw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjEKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxz
IGRyYXdzIG5vdGhpbmcKQEAgLTM5ODIsNiArNDE3Miw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9
IDI1MDsKICAgICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VS
ZWN0Lnplcm8uMgogICBkZXNjOiBzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGlu
ZywgaW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zCkBAIC0zOTk0LDYgKzQxODUsNyBAQAogICAgIGN0
eC5saW5lSm9pbiA9ICdyb3VuZCc7CiAgICAgY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjMKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiBOeDAgcGl4
ZWxzIGRyYXdzIGEgc3RyYWlnaHQgbGluZQpAQCAtNDAwNCw2ICs0MTk2LDcgQEAKICAgICBjdHgu
bGluZVdpZHRoID0gNTA7CiAgICAgY3R4LnN0cm9rZVJlY3QoMCwgMjUsIDEwMCwgMCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zdHJva2VSZWN0Lnplcm8uNAogICBkZXNjOiBzdHJva2VSZWN0IG9mIE54MCBwaXhl
bHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIG5vIGNhcHMKQEAgLTQwMTUsNiArNDIwOCw3IEBA
CiAgICAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogICAgIGN0eC5zdHJva2VSZWN0KDEwMCwgMjUs
IDEwMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuemVyby41CiAgIGRlc2M6IHN0cm9rZVJlY3Qg
b2YgTngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMKQEAgLTQwMjYsNiAr
NDIyMCw3IEBACiAgICAgY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKICAgICBjdHguc3Ryb2tlUmVj
dCgxMDAsIDI1LCAxMDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZQogICBk
ZXNjOiBzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzCkBAIC00MDQ0LDYgKzQyMzks
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QudHJh
bnNmb3JtCiAgIGRlc2M6IGZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTQw
NTYsNiArNDI1Miw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDU7CiAgICAgY3R4LnN0cm9rZVJl
Y3QoMi41LCAtMi42LCA1LCAwLjIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBo
YQogICBkZXNjOiBzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBAIC00MDY3
LDYgKzQyNjQsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVj
dCgyNSwgMjQsIDUwLCAyKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUKICAg
ZGVzYzogc3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uCkBAIC00MDc4LDYgKzQyNzYsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBj
dHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5jbGlwCiAg
IGRlc2M6IHN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucwpAQCAtNDA5
NSw2ICs0Mjk0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5zaGFkb3cKICAgZGVz
Yzogc3Ryb2tlUmVjdCBkcmF3cyBzaGFkb3dzCkBAIC00MTEyLDYgKzQzMTIsNyBAQAogICAgIGN0
eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVjdCgwLCAtNzUsIDEwMCwgNTApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUKICAgZGVzYzogc3Ryb2tlUmVjdCgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTQxMjQsMTIgKzQzMjUsMTQgQEAKICAgICBj
dHgubGluZVdpZHRoID0gMTUwOwogICAgIEBub25maW5pdGUgY3R4LnN0cm9rZVJlY3QoPDAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAwIElu
ZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAog
LSBuYW1lOiAyZC5kcmF3SW1hZ2UuM2FyZwogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdl
LmRlZmF1bHRzb3VyY2UKICAgICAtIDJkLmRyYXdJbWFnZS5kZWZhdWx0ZGVzdAorICB0aW1lb3V0
OiBsb25nCiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAtIGdyZWVuLnBuZwpAQCAtNDE2
Miw3ICs0MzY1LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjVhcmcKICAgdGVzdGlu
ZzoKQEAgLTQxNzAsNiArNDM3Myw3IEBACiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAt
IGdyZWVuLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQyMDAsMTMg
KzQ0MDQsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMKICAgdGVz
dGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBpbWFnZXM6CiAgICAgLSBncmVlbi5w
bmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MjI1LDEzICs0NDMwLDE0
IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcwogICB0ZXN0aW5n
OgogICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CiAgIGltYWdlczoKICAgICAtIHJncmctMjU2eDI1
Ni5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MjUwLDEzICs0NDU2
LDE0IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUKICAgdGVz
dGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBpbWFnZXM6CiAgICAgLSByZ3JnLTI1
NngyNTYucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDI4Miw3ICs0
NDg5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA4MCwyMCA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgMjAsMzAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDgwLDMwID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zCiAgIHRl
c3Rpbmc6CkBAIC00MjkwLDYgKzQ0OTcsNyBAQAogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCiAg
ICAgLSBncmVlbi5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MzIx
LDcgKzQ1MjksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZQog
ICB0ZXN0aW5nOgpAQCAtNDMyOSw2ICs0NTM3LDcgQEAKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBu
ZwogICAgIC0gZ3JlZW4ucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAt
NDM2MCwxMSArNDU2OSwxMiBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuY2FudmFzCiAg
IHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UucGFpbnQKKyAgdGltZW91dDogbG9uZwogICBj
b2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogICAgIHZhciBjdHgyID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcp
OwpAQCAtNDM3NiwxMCArNDU4NiwxMiBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5kcmF3SW1hZ2Uuc2VsZi4xCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uu
c2VsZgorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwpAQCAtNDM5MCwxMCArNDYwMiwx
MiBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09
fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uuc2Vs
Zi4yCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc2VsZgorICB0aW1lb3V0OiBsb25n
CiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAxLCAxMDAsIDQ5KTsKQEAgLTQ0MDYsMTYgKzQ2MjAsMjAgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm51bGwKICAgdGVzdGluZzoKICAgICAt
IDJkLmRyYXdJbWFnZS5JREwKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgQGFzc2Vy
dCB0aHJvd3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UobnVsbCwgMCwgMCk7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9jYW52YXMKICAgdGVzdGluZzoKICAgICAt
IDJkLmRyYXdJbWFnZS56ZXJvY2FudmFzCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAg
IHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygwLCAxMCk7CiAgICAg
QGFzc2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKQEAgLTQ0MjcsMTkgKzQ2NDUsMjMgQEAKICAgICBvZmZzY3JlZW5DYW52
YXMyLndpZHRoID0gMDsKICAgICBvZmZzY3JlZW5DYW52YXMyLmhlaWdodCA9IDA7CiAgICAgQGFz
c2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uud3Jvbmd0
eXBlCiAgIGRlc2M6IEluY29ycmVjdCBpbWFnZSB0eXBlcyBpbiBkcmF3SW1hZ2UgZG8gbm90IG1h
dGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fkcywgc28gV2ViSURMIHRocm93cyBhIFR5cGVFcnJvcgog
ICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLklETAorICB0aW1lb3V0OiBsb25nCiAgIGNv
ZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmRyYXdJbWFnZSh1bmRlZmlu
ZWQsIDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguZHJhd0ltYWdlKDAs
IDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguZHJhd0ltYWdlKCIiLCAw
LCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2UK
ICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAorICB0aW1lb3V0OiBsb25nCiAg
IGNvZGU6IHwKICAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CkBAIC00
NDUzLDEyICs0Njc1LDEzIEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEwLjEsIDAuMSwgMC4xLCAw
LCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwy
NTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQu
ZHJhd0ltYWdlLnplcm9zb3VyY2UKICAgZGVzYzogZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBz
b3VyY2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpFX0VSUgogICB0ZXN0aW5nOgogICAgIC0g
MmQuZHJhd0ltYWdlLnplcm9zb3VyY2UKKyAgdGltZW91dDogbG9uZwogICBpbWFnZXM6CiAgICAg
LSByZWQucG5nCiAgIGNvZGU6IHwKQEAgLTQ0NzgsNyArNDcwMSw3IEBACiAgICAgICAgIEBhc3Nl
cnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwg
MSwgMCwgMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVf
RVJSIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMCwgMCwgMCwgMCwgMTAwLCA1MCk7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS56ZXJv
c291cmNlLmltYWdlCiAgIGRlc2M6IGRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJl
Y3RhbmdsZSBmcm9tIGltYWdlIHRocm93cyBJTkRFWF9TSVpFX0VSUgpAQCAtNDQ4OCw2ICs0NzEx
LDcgQEAKICAgICAtIHJlZC16ZXJvd2lkdGguc3ZnCiAgICAgLSByZWQtemVyb2hlaWdodC5zdmcK
ICAgICAtIHJlZC16ZXJvc2l6ZS5zdmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CkBAIC00NTA1LDcgKzQ3MjksNyBAQAogICAgICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpF
X0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFz
c2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0lt
YWdlLm5lZ2F0aXZlc291cmNlCiAgIGRlc2M6IE5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQg
cmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGUKQEAgLTQ1MTQsNiArNDczOCw3IEBACiAg
IG1vemlsbGE6IHsgdGhyb3dzIH0KICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2LnBuZwor
ICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ1MzksMTMgKzQ3NjQsMTQgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA1MSw0OCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0CiAgIGRlc2M6IE5lZ2F0
aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3Rh
bmdsZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLmRpcmVjdGlvbgogICBtb3ppbGxh
OiB7IHRocm93cyB9CisgIHRpbWVvdXQ6IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4
MjU2LnBuZwogICBjb2RlOiB8CkBAIC00NTczLDEzICs0Nzk5LDE0IEBACiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgNTEsNDggPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1
LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwy
NTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFt
ZTogMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyCiAgIGRlc2M6IE5lZ2F0aXZlIGRpbWVuc2lvbnMg
ZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZQogICB0ZXN0aW5nOgogICAg
IC0gMmQuZHJhd0ltYWdlLmRpcmVjdGlvbgogICBtb3ppbGxhOiB7IHRocm93cyB9CisgIHRpbWVv
dXQ6IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2LnBuZwogICBjb2RlOiB8CkBA
IC00NjA3LDcgKzQ4MzQsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUxLDQ4ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5vdXRzaWRl
c291cmNlCiAgIERJU0FCTEVEOiBmaXggdGhpcyB0byBtYXRjaCB0aGUgY3VycmVudCBzcGVjICh0
cmFuc3BhcmVudCBibGFjayBvdXRzaWRlIHNvdXJjZSkKQEAgLTQ2NDUsMTEgKzQ4NzIsMTIgQEAK
ICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNw
b25zZTEsIDAsIDAsIDUsIC01LCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCB0aHJv
d3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDExMCwgNjAsIC0yMCwg
LTIwLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwy
NTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5icm9rZW4KICAgdGVzdGluZzoKICAgICAtIDJkLmRy
YXdJbWFnZS5pbmNvbXBsZXRlLmltYWdlCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAg
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKQEAgLTQ2NjUsMTIgKzQ4OTMs
MTMgQEAKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zdmcKICAgZGVzYzogZHJhd0ltYWdlKCkg
b2YgYW4gU1ZHIGltYWdlCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc3ZnCisgIHRp
bWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKQEAgLTQ2ODQsNyArNDkxMyw3IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuYW5pbWF0ZWQu
cG9zdGVyCiAgIGRlc2M6IGRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBm
cmFtZQpAQCAtNDY5Miw2ICs0OTIxLDcgQEAKICAgICAtIDJkLmRyYXdJbWFnZS5hbmltYXRlZC5p
bWFnZQogICBpbWFnZXM6CiAgICAgLSBhbmltLXBvc3Rlci1nci5wbmcKKyAgdGltZW91dDogbG9u
ZwogICBjb2RlOiB8CiAgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwpA
QCAtNDcwNSwxMSArNDkzNSwxMiBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5wYXRoCiAg
IHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UudW5hZmZlY3QKKyAgdGltZW91dDogbG9uZwog
ICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgucmVjdCgwLCAw
LCAxMDAsIDUwKTsKQEAgLTQ3MjYsMTMgKzQ5NTcsMTQgQEAKICAgICAgICAgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS50cmFuc2Zvcm0KICAgdGVzdGluZzoK
ICAgICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAg
dGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00NzQ5LDEzICs0OTgxLDE0IEBACiAg
ICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1
NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1l
OiAyZC5kcmF3SW1hZ2UuYWxwaGEKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zdWJq
ZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CkBAIC00NzcyLDEzICs1MDA1LDE0IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuY2xpcAogICB0
ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QKICAgaW1hZ2VzOgogICAgIC0gcmVk
LnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ3OTYsMTMgKzUwMzAs
MTQgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5jb21wb3NpdGUKICAgdGVzdGluZzoKICAgICAtIDJkLmRy
YXdJbWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9u
ZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00ODE5LDEyICs1MDU0LDEzIEBACiAgICAgcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAg
ICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1h
Z2Uubm93cmFwCiAgIGRlc2M6IFN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3Jh
cHBpbmcgYXJvdW5kIHRoZSBlZGdlcwogICBpbWFnZXM6CiAgICAgLSByZWR0cmFuc3BhcmVudC5w
bmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00ODQyLDcgKzUwNzgsNyBA
QAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDQ1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNTUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5ub25maW5pdGUKICAgZGVzYzogZHJhd0lt
YWdlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNDg1MCw2ICs1MDg2LDcgQEAK
ICAgICAtIDJkLm5vbmZpbml0ZQogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCisgIHRpbWVvdXQ6
IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDg2Nyw3ICs1MTA0LDcgQEAKICAgICAgICAgQG5v
bmZpbml0ZSBjdHguZHJhd0ltYWdlKDxyZXNwb25zZT4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBO
YU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkg
TmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICAgICAgQG5vbmZpbml0ZSBj
dHguZHJhd0ltYWdlKDxyZXNwb25zZT4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJ
bmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUw
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAg
SW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1
MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMKICAgZGVzYzogY3JlYXRlSW1hZ2VE
YXRhKHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZwpAQCAtNDg3NSw2ICs1MTEy
LDcgQEAKICAgICAtIDJkLmltYWdlRGF0YS5jcmVhdGUyLm9iamVjdAogICBjb2RlOiB8CiAgICAg
QGFzc2VydCBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpICE9PSBudWxsOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljCiAgIGRlc2M6IGNyZWF0ZUlt
YWdlRGF0YShpbWdkYXRhKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00ODgyLDYg
KzUxMjAsNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0ZTEub2JqZWN0CiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVJbWFnZURhdGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAx
KSkgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0
ZTIuaW5pdGlhbAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoc3csIHNoKSByZXR1cm5zIHRyYW5z
cGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUKQEAgLTQ4OTksNiArNTEzOCw3IEBA
CiAgICAgICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgICAgICBpc1RyYW5z
cGFyZW50QmxhY2sgPSBmYWxzZTsKICAgICBAYXNzZXJ0IGlzVHJhbnNwYXJlbnRCbGFjazsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsCiAgIGRl
c2M6IGNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRh
dGEgb2YgdGhlIHJpZ2h0IHNpemUKQEAgLTQ5MTksNiArNTE1OSw3IEBACiAgICAgICAgIGlmIChp
bWdkYXRhMi5kYXRhW2ldICE9PSAwKQogICAgICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0g
ZmFsc2U7CiAgICAgQGFzc2VydCBpc1RyYW5zcGFyZW50QmxhY2s7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UKICAgZGVzYzogY3JlYXRlSW1hZ2VE
YXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFyZ2VyIHRoYW4gdGhlIGNhbnZhcwpA
QCAtNDkzNCw2ICs1MTc1LDcgQEAKICAgICAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkK
ICAgICAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogICAgIEBhc3NlcnQgaXNU
cmFuc3BhcmVudEJsYWNrOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5j
cmVhdGUyLm5lZ2F0aXZlCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRha2VzIHRo
ZSBhYnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUgYXJndW1lbnRzCkBAIC00OTQ3LDYgKzUx
ODksNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YS5sZW5ndGggPT09IGltZ2RhdGEyLmRh
dGEubGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0YS5sZW5ndGggPT09IGltZ2RhdGEz
LmRhdGEubGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTMuZGF0YS5sZW5ndGggPT09IGltZ2Rh
dGE0LmRhdGEubGVuZ3RoOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5j
cmVhdGUyLnplcm8KICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dzIElOREVY
X1NJWkVfRVJSIGlmIHNpemUgaXMgemVybwpAQCAtNDk1Niw2ICs1MTk5LDcgQEAKICAgICBAYXNz
ZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCAwKTsKICAg
ICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDEw
KTsKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRh
KDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5v
bmZpbml0ZQogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFy
Z3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtNDk2Nyw2ICs1MjExLDcgQEAKICAgICAgICAgbmVn
aW5mb2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIC1JbmZpbml0eTsgfSB9LAog
ICAgICAgICBuYW5vYmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4gLUluZmluaXR5
OyB9IH07CiAgICAgQG5vbmZpbml0ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0
ZUltYWdlRGF0YSg8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2Jq
IG5lZ2luZm9iaiBuYW5vYmo+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURh
dGEuY3JlYXRlMS56ZXJvCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlw
ZUVycm9yCkBAIC00OTc0LDYgKzUyMTksNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0ZS5u
dWxsCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZUlt
YWdlRGF0YShudWxsKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3Jl
YXRlMi5yb3VuZAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEodywgaCkgaXMgcm91bmRlZCB0aGUg
c2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCkKQEAgLTQ5ODQsNiArNTIzMCw3IEBACiAg
ICAgdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMC4wMSwgMTAuOTkpOwog
ICAgIEBhc3NlcnQgaW1nZGF0YTEud2lkdGggPT09IGltZ2RhdGEyLndpZHRoOwogICAgIEBhc3Nl
cnQgaW1nZGF0YTEuaGVpZ2h0ID09PSBpbWdkYXRhMi5oZWlnaHQ7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5iYXNpYwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBl
eGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00OTkxLDYgKzUyMzgsNyBAQAogICAgIC0g
MmQuaW1hZ2VEYXRhLmdldC5iYXNpYwogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2V0SW1h
Z2VEYXRhKDAsIDAsIDEwMCwgNTApICE9PSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmltYWdlRGF0YS5nZXQuemVybwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5E
RVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCkBAIC01MDAwLDYgKzUyNDgsNyBAQAogICAgIEBh
c3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMTAsIDAp
OwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFnZURhdGEoMSwg
MSwgMCwgMTApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFn
ZURhdGEoMSwgMSwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LmdldC5ub25maW5pdGUKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBp
ZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTUwMTEsNiArNTI2MCw3IEBACiAgICAgICAg
IG5lZ2luZm9iaiA9IHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVybiAtSW5maW5pdHk7IH0g
fSwKICAgICAgICAgbmFub2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIC1JbmZp
bml0eTsgfSB9OwogICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5n
ZXRJbWFnZURhdGEoPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9i
aiBuZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPiwgPDEw
IHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBy
ZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUgdGhlIGNhbnZhcwpAQCAtNTA3MSw2ICs1
MzIxLDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCsxXSA9PT0gMDsKICAgICBA
YXNzZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCsyXSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGE3
LmRhdGFbMjAqNCszXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURh
dGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB3b3JrcyB3aXRo
IG5lZ2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQsIGFuZCByZXR1cm5zIHRvcC10by1ib3R0b20gbGVm
dC10by1yaWdodApAQCAtNTA5Niw2ICs1MzQ3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRh
dGFbMV0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzJdID09PSAwOwogICAgIEBh
c3NlcnQgaW1nZGF0YTIuZGF0YVszXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVy
bnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJjZSByZWN0YW5nbGUKQEAgLTUxMDYs
NiArNTM1OCw3IEBACiAgICAgdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAy
MCwgMjApOwogICAgIEBhc3NlcnQgaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aDsKICAg
ICBAYXNzZXJ0IGltZ2RhdGEyLmhlaWdodCA+IGltZ2RhdGExLmhlaWdodDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnRpbnkKICAgZGVzYzogZ2V0SW1hZ2VEYXRh
KCkgd29ya3MgZm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWwKQEAgLTUxMTYsNiArNTM2
OSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGEubGVuZ3RoID09PSBpbWdkYXRhLndpZHRo
KmltZ2RhdGEuaGVpZ2h0KjQ7CiAgICAgQGFzc2VydCBpbWdkYXRhLndpZHRoID09PSAxOwogICAg
IEBhc3NlcnQgaW1nZGF0YS5oZWlnaHQgPT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJu
cyBub24tcHJlbXVsdGlwbGllZCBjb2xvdXJzCkBAIC01MTMwLDYgKzUzODQsNyBAQAogICAgIEBh
c3NlcnQgaW1nZGF0YS5kYXRhWzJdID4gMjAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNd
ID4gMTAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNdIDwgMjAwOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQucmFuZ2UKICAgZGVzYzogZ2V0SW1hZ2VEYXRh
KCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAyNTVdCkBAIC01MTQ1LDYgKzU0MDAs
NyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YVswXSA9PT0gMDsKICAgICB2YXIgaW1nZGF0
YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDMwLCAxNSwgMSwgMSk7CiAgICAgQGFzc2VydCBpbWdkYXRh
Mi5kYXRhWzBdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LmdldC5jbGFtcAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBjbGFtcHMgY29sb3VycyB0byB0aGUg
cmFuZ2UgWzAsIDI1NV0KQEAgLTUxNjMsNiArNTQxOSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRh
Mi5kYXRhWzBdID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzFdID09PSAyNTU7
CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzJdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGgKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkg
cmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheQpAQCAtNTE3MSw2ICs1
NDI4LDcgQEAKICAgY29kZTogfAogICAgIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgw
LCAwLCAxMCwgMTApOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0
YS53aWR0aCppbWdkYXRhLmhlaWdodCo0OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuY29scwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIGxl
ZnRtb3N0IGNvbHVtbnMgZmlyc3QKQEAgLTUxODUsNiArNTQ0Myw3IEBACiAgICAgQGFzc2VydCBp
bWdkYXRhLmRhdGFbMF0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbTWF0aC5yb3Vu
ZChpbWdkYXRhLndpZHRoLzIqNCldID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFb
TWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0KV0gPT09IDA7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzCiAgIGRl
c2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCByb3dzIGZpcnN0CkBAIC01MTk5LDYg
KzU0NTgsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOwogICAgIEBhc3Nl
cnQgaW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSA9PT0gMDsKICAg
ICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0
XSA9PT0gMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIucmdiCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgUiB0aGVuIEcgdGhlbiBCCkBA
IC01MjE3LDYgKzU0NzcsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzVdID09PSAweDg4
OwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzZdID09PSAweENDOwogICAgIEBhc3NlcnQgaW1n
ZGF0YS5kYXRhWzddID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5hbHBoYQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIEEgaW4g
dGhlIGZvdXJ0aCBjb21wb25lbnQKQEAgLTUyMjgsNiArNTQ4OSw3IEBACiAgICAgdmFyIGltZ2Rh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiAgICAgQGFzc2VydCBpbWdkYXRh
LmRhdGFbM10gPCAyMDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPiAxMDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkCiAgIGRlc2M6
IGdldEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlCkBAIC01MjUw
LDYgKzU1MTIsNyBAQAogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAsIDApOwogICAg
IEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQuaW1h
Z2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzCkBAIC01MjYxLDYgKzU1MjQsNyBAQAogICAgIEBhc3Nl
cnQgdHlwZW9mKGltZ2RhdGEud2lkdGgpID09PSAnbnVtYmVyJzsKICAgICBAYXNzZXJ0IHR5cGVv
ZihpbWdkYXRhLmhlaWdodCkgPT09ICdudW1iZXInOwogICAgIEBhc3NlcnQgdHlwZW9mKGltZ2Rh
dGEuZGF0YSkgPT09ICdvYmplY3QnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdl
RGF0YS5vYmplY3QucmVhZG9ubHkKICAgZGVzYzogSW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGll
cyBhcmUgcmVhZC1vbmx5CkBAIC01MjgxLDYgKzU1NDUsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0
YS5kYXRhWzFdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzJdID09PSAwOwogICAg
IEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmltYWdlRGF0YS5vYmplY3Quc2V0CiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNhbiBiZSBt
b2RpZmllZApAQCAtNTI5Miw2ICs1NTU3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVsw
XSA9PT0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9IDIwMDsKICAgICBAYXNzZXJ0IGltZ2Rh
dGEuZGF0YVswXSA9PT0gMjAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0
YS5vYmplY3QudW5kZWZpbmVkCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHVuZGVm
aW5lZCB0byAwCkBAIC01MzAyLDYgKzU1NjgsNyBAQAogICAgIGltZ2RhdGEuZGF0YVswXSA9IDEw
MDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7CiAgICAgQGFzc2VydCBpbWdkYXRh
LmRhdGFbMF0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9i
amVjdC5uYW4KICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgTmFOIHRvIDAKQEAgLTUz
MTUsNiArNTU4Miw3IEBACiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogICAgIGltZ2RhdGEu
ZGF0YVswXSA9ICJjaGVlc2UiOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nCiAgIGRl
c2M6IEltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVt
YmVyCkBAIC01MzMxLDYgKzU1OTksNyBAQAogICAgIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKICAg
ICBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRh
WzBdID09PSAxMzA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVj
dC5jbGFtcAogICBkZXNjOiBJbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwgMjU1
XQpAQCAtNTM2Miw2ICs1NjMxLDcgQEAKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiAgICAg
aW1nZGF0YS5kYXRhWzBdID0gSW5maW5pdHk7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0g
PT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0LnJv
dW5kCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8t
emVybwpAQCAtNTM5Nyw2ICs1NjY3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9
PT0gMDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAtMS41OwogICAgIEBhc3NlcnQgaW1nZGF0YS5k
YXRhWzBdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQu
bnVsbAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSB3aXRoIG51bGwgaW1hZ2VkYXRhIHRocm93cyBU
eXBlRXJyb3IKQEAgLTU0MDQsNiArNTY3NSw3IEBACiAgICAgLSAyZC5pbWFnZURhdGEucHV0Lndy
b25ndHlwZQogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJ
bWFnZURhdGEobnVsbCwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VE
YXRhLnB1dC5ub25maW5pdGUKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJv
ciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTU0MTMsNiArNTY4NSw3IEBACiAgICAg
dmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiAgICAgQG5vbmZp
bml0ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSg8aW1nZGF0YT4s
IDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+
KTsKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHgucHV0SW1hZ2VE
YXRhKDxpbWdkYXRhPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkg
LUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5
IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LnB1dC5iYXNpYwogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBn
ZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMKQEAgLTU0MjcsNiArNTcwMCw3IEBACiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRh
LCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQKICAgZGVzYzogcHV0
SW1hZ2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRhIGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0
aGUgY2FudmFzCkBAIC01NDQ0LDYgKzU3MTgsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKQogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgZG9lcyBu
b3QgYWNjZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cwpAQCAtNTQ1NCw2ICs1NzI5LDcgQEAKICAg
ICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAw
KTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSgiY2hlZXNl
IiwgMCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJbWFnZURhdGEo
NDIsIDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuY3Jv
c3MKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgYWNjZXB0cyBpbWFnZSBkYXRhIGdvdCBmcm9tIGEg
ZGlmZmVyZW50IGNhbnZhcwpAQCAtNTQ2OSw2ICs1NzQ1LDcgQEAKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuYWxwaGEKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgcHV0
cyBub24tc29saWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHkKQEAgLTU0ODIsNiArNTc1OSw3IEBACiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdk
YXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDY0OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQKICAgZGVzYzog
cHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNvcnJlY3RseQpAQCAtNTUw
MCw2ICs1Nzc4LDcgQEAKICAgICB9CiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA0NSwg
MjApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVybwogICBkZXNjOiBwdXRJ
bWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xlIHB1dHMgbm90aGluZwpA
QCAtNTUxMyw2ICs1NzkyLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKICAg
ICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDAsIDAsIDAsIDAsIDApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgb25s
eSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lkdGgg
YW5kIGhlaWdodApAQCAtNTUzNCw2ICs1ODE0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDY1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDE1ID09fiAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyCiAgIGRlc2M6IHB1dElt
YWdlRGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUs
IHVzaW5nIHggYW5kIHkKQEAgLTU1NTUsNiArNTgzNiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA2
NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxNSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZQogICBkZXNj
OiBwdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZlLXNpemVkIGRpcnR5IHJlY3RhbmdsZXMg
Y29ycmVjdGx5CkBAIC01NTc2LDYgKzU4NTgsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjUsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTUgPT1+IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZQogICBkZXNjOiBwdXRJ
bWFnZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2FudmFzIGNv
cnJlY3RseQpAQCAtNTU5OCw2ICs1ODgxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNSA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDI1ID09fiAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDEsNDUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkCiAgIGRlc2M6IHB1dEltYWdlRGF0YShn
ZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZmZWN0CkBAIC01NjIwLDYgKzU5MDQsNyBA
QAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkgewog
ICAgICAgICBAYXNzZXJ0IG9sZGRhdGFbaV0gPT09IGltZ2RhdGEyLmRhdGFbaV07CiAgICAgfQor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZAogICBk
ZXNjOiBwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZQpAQCAt
NTYzOSw2ICs1OTI0LDcgQEAKICAgICBjdHguc2NhbGUoMC4xLCAwLjEpOwogICAgIGN0eC5wdXRJ
bWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5jbGlw
CiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdp
b25zCkBAIC01NjU2LDYgKzU5NDIsNyBAQAogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuaW1hZ2VEYXRhLnB1dC5wYXRoCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoCkBAIC01NjcwLDYgKzU5NTcsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmRl
ZmF1bHRzCiAgIHRlc3Rpbmc6CkBAIC01NjgyLDYgKzU5NzAsNyBAQAogICAgIEBhc3NlcnQgY3R4
LmxpbmVDYXAgPT09ICdidXR0JzsKICAgICBAYXNzZXJ0IGN0eC5saW5lSm9pbiA9PT0gJ21pdGVy
JzsKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxMDsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5saW5lLndpZHRoLmJhc2ljCiAgIGRlc2M6IGxpbmVXaWR0aCBkZXRlcm1pbmVz
IHRoZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMKQEAgLTU3MjEsNiArNjAxMCw3IEBACiAgICAgQGFz
c2VydCBwaXhlbCA4NCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg1LDI1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODYsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZAogICBk
ZXNjOiBMaW5lIHN0cm9rZSB3aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0
aW9ucwpAQCAtNTc2Niw2ICs2MDU2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg0LDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA4NiwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdAogICBkZXNjOiBEZWZhdWx0IGxpbmVXaWR0
aCBzdHJva2VzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMKQEAgLTU3ODQs
NiArNjA3NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndp
ZHRoLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3Jr
cwpAQCAtNTc5OSw2ICs2MDkxLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDEv
MTAyNDsKICAgICBjdHgubGluZVdpZHRoID0gMTAwMDsKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lk
dGggPT09IDEwMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS53aWR0aC5pbnZh
bGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9y
ZWQKQEAgLTU4MjIsNiArNjExNSw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDEuNTsKICAgICBj
dHgubGluZVdpZHRoID0gTmFOOwogICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gMS41Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmJ1dHQKICAgZGVzYzogbGluZUNh
cCAnYnV0dCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC01ODU4LDYgKzYxNTIsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMzQgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3
NSwzNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM2ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLnJvdW5kCiAgIGRlc2M6
IGxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTU5MDMsNiArNjE5OCw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCA2Nyw0MyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDc1LDQzID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODIsNDMgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuc3F1YXJl
CiAgIGRlc2M6IGxpbmVDYXAgJ3NxdWFyZScgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC01OTM5
LDYgKzYyMzUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsNDQgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA3NSw0NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDc1LDQ2ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUu
Y2FwLm9wZW4KICAgZGVzYzogTGluZSBjYXBzIGFyZSBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBh
biB1bmNsb3NlZCByZWN0YW5nbGUKQEAgLTU5NjIsNiArNjI1OSw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmNsb3NlZAogICBkZXNjOiBMaW5lIGNhcHMg
YXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUKQEAg
LTU5ODUsNiArNjI4Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxp
bmUuY2FwLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZUNhcCB0byB2YWxpZCB2YWx1ZXMgd29y
a3MKQEAgLTU5OTgsNiArNjI5Nyw3IEBACiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ3Jv
dW5kJzsKICAgICBjdHgubGluZUNhcCA9ICdzcXVhcmUnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVD
YXAgPT09ICdzcXVhcmUnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmlu
dmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9y
ZWQKQEAgLTYwMjQsNiArNjMyNCw3IEBACiAgICAgY3R4LmxpbmVDYXAgPSAnYnV0dCc7CiAgICAg
Y3R4LmxpbmVDYXAgPSAnYmV2ZWwnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVDYXAgPT09ICdidXR0
JzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4uYmV2ZWwKICAgZGVzYzog
bGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTYwNzQsNiArNjM3NSw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCA4NSwxNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDg2LDE1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODYsMTQgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLnJvdW5k
CiAgIGRlc2M6IGxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC02MTIx
LDYgKzY0MjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODcsMTMgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA4OCwxMyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDg4LDEyID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUu
am9pbi5taXRlcgogICBkZXNjOiBsaW5lSm9pbiAnbWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3Rs
eQpAQCAtNjE2MSw2ICs2NDY0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDEwID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTEsOSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDkyLDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQubGluZS5qb2luLm9wZW4KICAgZGVzYzogTGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRo
ZSBjb3JuZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlCkBAIC02MTgzLDYgKzY0ODcsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4uY2xvc2VkCiAgIGRl
c2M6IExpbmUgam9pbnMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXIgb2YgYSBjbG9zZWQgcmVjdGFu
Z2xlCkBAIC02MjA1LDYgKzY1MTAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5saW5lLmpvaW4ucGFyYWxsZWwKICAgZGVzYzogTGluZSBqb2lucyBhcmUgZHJhd24gYXQg
MTgwLWRlZ3JlZSBqb2lucwpAQCAtNjIyNSw2ICs2NTMxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZUpv
aW4gdG8gdmFsaWQgdmFsdWVzIHdvcmtzCkBAIC02MjM4LDYgKzY1NDUsNyBAQAogICAgIEBhc3Nl
cnQgY3R4LmxpbmVKb2luID09PSAncm91bmQnOwogICAgIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7
CiAgICAgQGFzc2VydCBjdHgubGluZUpvaW4gPT09ICdtaXRlcic7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQubGluZS5qb2luLmludmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lSm9pbiB0
byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkCkBAIC02MjY0LDYgKzY1NzIsNyBAQAogICAgIGN0
eC5saW5lSm9pbiA9ICdiZXZlbCc7CiAgICAgY3R4LmxpbmVKb2luID0gJ2J1dHQnOwogICAgIEBh
c3NlcnQgY3R4LmxpbmVKb2luID09PSAnYmV2ZWwnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmxpbmUubWl0ZXIuZXhjZWVkZWQKICAgZGVzYzogTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3
biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZApAQCAtNjI4Niw2ICs2NTk1LDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5hY3V0ZQogICBk
ZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggYWN1dGUgYW5nbGVzCkBA
IC02MzE1LDYgKzY2MjUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5s
aW5lLm1pdGVyLm9idHVzZQogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5
IHdpdGggb2J0dXNlIGFuZ2xlcwpAQCAtNjM0NCw2ICs2NjU1LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5yaWdodGFuZ2xlCiAgIGRlc2M6IE1pdGVy
IGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQsIG9u
IGV4YWN0IHJpZ2h0IGFuZ2xlcwpAQCAtNjM2NSw2ICs2Njc3LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5saW5lZWRnZQogICBkZXNjOiBNaXRlciBq
b2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRo
ZSBjb3JuZXJzIG9mIGEgemVyby1oZWlnaHQgcmVjdGFuZ2xlCkBAIC02MzgzLDYgKzY2OTYsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLndpdGhpbgog
ICBkZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgbm90
IHF1aXRlIGV4Y2VlZGVkCkBAIC02NDA0LDYgKzY3MTgsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
NDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbWl0ZXJM
aW1pdCB0byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAgLTY0MTksNiArNjczNCw3IEBACiAgICAgQGFz
c2VydCBjdHgubWl0ZXJMaW1pdCA9PT0gMS8xMDI0OwogICAgIGN0eC5taXRlckxpbWl0ID0gMTAw
MDsKICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxMDAwOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIuaW52YWxpZAogICBkZXNjOiBTZXR0aW5nIG1pdGVyTGlt
aXQgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApAQCAtNjQ0Miw2ICs2NzU4LDcgQEAKICAg
ICBjdHgubWl0ZXJMaW1pdCA9IDEuNTsKICAgICBjdHgubWl0ZXJMaW1pdCA9IE5hTjsKICAgICBA
YXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxLjU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQubGluZS5jcm9zcwogICBjb2RlOiB8CkBAIC02NDU5LDYgKzY3NzYsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLnVuaW9uCiAgIGNvZGU6IHwKQEAgLTY0Nzks
NiArNjc5Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgMjUsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaW5p
dGlhbAogICB0ZXN0aW5nOgpAQCAtNjQ5MCw2ICs2ODA5LDcgQEAKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmJlZ2luUGF0aAog
ICB0ZXN0aW5nOgpAQCAtNjUwMiw2ICs2ODIyLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5iYXNpYwogICB0
ZXN0aW5nOgpAQCAtNjUxNyw2ICs2ODM4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoCiAg
IHRlc3Rpbmc6CkBAIC02NTMyLDYgKzY4NTQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubW92ZVRvLm11bHRpcGxlCiAg
IHRlc3Rpbmc6CkBAIC02NTQ3LDYgKzY4NzAsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5ub25maW5pdGUKICAg
ZGVzYzogbW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNjU2MSw2ICs2
ODg1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5lbXB0eQogICB0ZXN0aW5nOgpAQCAtNjU3Miw2ICs2
ODk3LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lCiAgIHRlc3Rpbmc6CkBAIC02NTg4LDYg
KzY5MTQsNyBAQAogICAgIGN0eC5jbG9zZVBhdGgoKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQKICAgdGVzdGluZzoKQEAgLTY2MDMsNiAr
NjkzMCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xCiAgIGRlc2M6IElmIHRoZXJl
IGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgbm90aGluZyBpcyBkcmF3bgpA
QCAtNjYxOCw2ICs2OTQ2LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgNTApOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMgogICBkZXNj
OiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIHVzZWQgZm9y
IHN1YnNlcXVlbnQgZHJhd2luZwpAQCAtNjYzNCw2ICs2OTYzLDcgQEAKICAgICBjdHgubGluZVRv
KDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubGluZVRvLmJh
c2ljCiAgIHRlc3Rpbmc6CkBAIC02NjQ4LDYgKzY5NzgsNyBAQAogICAgIGN0eC5saW5lVG8oMTAw
LCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubmV4dHBv
aW50CiAgIHRlc3Rpbmc6CkBAIC02NjYzLDYgKzY5OTQsNyBAQAogICAgIGN0eC5saW5lVG8oMTAw
LCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubm9uZmlu
aXRlCiAgIGRlc2M6IGxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTY2
NzgsNiArNzAxMCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFp
bHMKICAgZGVzYzogbGluZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gZm9yIGZpcnN0IGFyZyBzdGls
bCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFyZwpAQCAtNjY4OSw2ICs3MDIyLDcgQEAKICAgICAgIGN0
eC5saW5lVG8oYXJnMSwgeyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgY29udmVydGVkID0gdHJ1ZTsg
cmV0dXJuIDA7IH0gfSk7CiAgICAgICBAYXNzZXJ0IGNvbnZlcnRlZDsKICAgICB9CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGgu
MQogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2lu
dCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpCkBAIC02NzA1LDYgKzcw
MzksNyBAQAogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT0gMCwyNTUsMCwyNTU7IEBtb3ot
dG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjIKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0
IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQKQEAgLTY3MjEsNiArNzA1Niw3IEBACiAgICAgY3R4LnN0
cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMKICAgdGVzdGluZzoKQEAg
LTY3MzUsNiArNzA3MSw3IEBACiAgICAgY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAw
LCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2
ZVRvLnNoYXBlCiAgIHRlc3Rpbmc6CkBAIC02NzUzLDYgKzcwOTAsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkCiAgIHRl
c3Rpbmc6CkBAIC02NzcyLDYgKzcxMTAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlCiAgIGRlc2M6IHF1YWRyYXRp
Y0N1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC02Nzg3LDYgKzcxMjYs
NyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEKICAg
ZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMg
YWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KQpAQCAtNjgwMyw2ICs3MTQzLDcg
QEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIKICAg
ZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMg
YWRkZWQKQEAgLTY4MTksNiArNzE2MCw3IEBACiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjgzMyw2ICs3MTc1LDcgQEAKICAgICBjdHguYmV6
aWVyQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1LCAxMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUKICAgdGVzdGluZzoKQEAgLTY4
NTEsNiArNzE5NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YmV6aWVyQ3VydmVUby5zY2FsZWQKICAgdGVzdGluZzoKQEAgLTY4NzAsNiArNzIxNCw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25m
aW5pdGUKICAgZGVzYzogYmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQKQEAgLTY4ODUsNiArNzIzMCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5lbnN1cmVz
dWJwYXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRy
b2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KQpAQCAtNjkw
MCw2ICs3MjQ2LDcgQEAKICAgICBjdHguYXJjVG8oMTAwLCA1MCwgMjAwLCA1MCwgMC4xKTsKICAg
ICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMgog
ICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBp
cyBhZGRlZApAQCAtNjkxNiw2ICs3MjYzLDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMjUpOwog
ICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29pbmNpZGUuMQogICBk
ZXNjOiBhcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQMQpAQCAtNjkzOSw2ICs3Mjg3LDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29pbmNp
ZGUuMgogICBkZXNjOiBhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSBpZiBQMSA9
IFAyCkBAIC02OTU0LDYgKzczMDMsNyBAQAogICAgIGN0eC5hcmNUbygxMDAsIDI1LCAxMDAsIDI1
LCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmNvbGxpbmVh
ci4xCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAxIGJl
dHdlZW4gUDAvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMQpAQCAtNjk3NCw2ICs3MzI0
LDcgQEAKICAgICBjdHguYXJjVG8oMCwgMjUsIDEwMCwgMjUsIDEpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIKICAgZGVzYzogYXJjVG8oKSB3
aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDIgYmV0d2VlbiBQMC9QMSwgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIHRvIFAxCkBAIC02OTk0LDYgKzczNDUsNyBAQAogICAgIGN0eC5hcmNUbygy
MDAsIDI1LCAxMTAsIDI1LCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmFyY1RvLmNvbGxpbmVhci4zCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEg
bGluZSwgYW5kIFAwIGJldHdlZW4gUDEvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMQpA
QCAtNzAxOCw2ICs3MzcwLDcgQEAKICAgICBjdHguYXJjVG8oMCwgMjUsIC0yMDAsIDI1LCAxKTsK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMQog
ICBkZXNjOiBhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZQpAQCAtNzA1
NCw2ICs3NDA3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgODAsNDYgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA2NSw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmFyY1RvLnNoYXBlLmN1cnZlMgogICBkZXNjOiBhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQg
a2luZCBvZiBzaGFwZQpAQCAtNzA4OSw2ICs3NDQzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDgw
LDQ0ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDUgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCw0NiA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0CiAgIGRlc2M6IGFyY1RvKCkg
ZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEKQEAgLTcxMDgsNiArNzQ2Myw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLmVu
ZAogICBkZXNjOiBhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgZnJvbSBQMSB0byBQMgpA
QCAtNzEyNyw2ICs3NDgzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjVG8ubmVnYXRpdmUKICAgZGVzYzogYXJjVG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1
cyB0aHJvd3MgYW4gZXhjZXB0aW9uCkBAIC03MTM0LDYgKzc0OTEsNyBAQAogICAgIC0gMmQucGF0
aC5hcmNUby5uZWdhdGl2ZQogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0la
RV9FUlIgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmFyY1RvLnplcm8uMQogICBkZXNjOiBhcmNUbygpIHdpdGggemVybyByYWRpdXMg
ZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEKQEAgLTcxNTQsNiArNzUxMiw3IEBA
CiAgICAgY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwgMCk7CiAgICAgY3R4LnN0cm9rZSgpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmNUby56ZXJvLjIKICAgZGVzYzogYXJjVG8oKSB3aXRoIHplcm8g
cmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxs
IHBvaW50cyBhcmUgY29sbGluZWFyCkBAIC03MTc0LDYgKzc1MzMsNyBAQAogICAgIGN0eC5hcmNU
bygyMDAsIDI1LCA1MCwgMjUsIDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjVG8udHJhbnNmb3JtYXRpb24KICAgZGVzYzogYXJjVG8gam9pbnMgdXAgdG8gdGhlIGxh
c3Qgc3VicGF0aCBwb2ludCBjb3JyZWN0bHkKQEAgLTcxOTYsNiArNzU1Niw3IEBACiAgICAgQGFz
c2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNjYWxlCiAgIGRlc2M6IGFy
Y1RvIHNjYWxlcyB0aGUgY3VydmUsIG5vdCBqdXN0IHRoZSBjb250cm9sIHBvaW50cwpAQCAtNzIx
OSw2ICs3NTgwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk5LDQ5ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjVG8ubm9uZmluaXRlCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdu
b3JlZApAQCAtNzIzNCw2ICs3NTk2LDcgQEAKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0NSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmVtcHR5
CkBAIC03MjQ5LDYgKzc2MTIsNyBAQAogICAgIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRo
LlBJLCB0cnVlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5ub25l
bXB0eQogICBkZXNjOiBhcmMoKSB3aXRoIGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3Ry
YWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQKQEAgLTcyNjQsNiArNzYyOCw3IEBACiAgICAg
Y3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmVuZAogICBkZXNjOiBhcmMoKSBhZGRzIHRoZSBlbmQg
cG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aApAQCAtNzI4MCw2ICs3NjQ1LDcgQEAKICAg
ICBjdHgubGluZVRvKDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjLmRlZmF1bHQKICAgZGVzYzogYXJjKCkgd2l0aCBtaXNzaW5nIGxhc3QgYXJndW1lbnQg
ZGVmYXVsdHMgdG8gY2xvY2t3aXNlCkBAIC03Mjk0LDYgKzc2NjAsNyBAQAogICAgIGN0eC5hcmMo
MTAwLCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwogICAgIGN0eC5maWxsKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmFyYy5hbmdsZS4xCiAgIGRlc2M6IGFyYygpIGRyYXdzIHBpLzIgLi4gLXBp
IGFudGljbG9ja3dpc2UgY29ycmVjdGx5CkBAIC03MzA4LDYgKzc2NzUsNyBAQAogICAgIGN0eC5h
cmMoMTAwLCAwLCAxNTAsIE1hdGguUEkvMiwgLU1hdGguUEksIHRydWUpOwogICAgIGN0eC5maWxs
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS4yCiAgIGRlc2M6IGFyYygpIGRyYXdzIC0z
cGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHkKQEAgLTczMjIsNiArNzY5MCw3IEBA
CiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjMKICAgZGVzYzog
YXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBlbmQgPiBz
dGFydCsycGkKQEAgLTczMzYsNiArNzcwNSw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwg
KDUxMisxLzIpKk1hdGguUEksICgxMDI0LTEpKk1hdGguUEksIHRydWUpOwogICAgIGN0eC5maWxs
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS40CiAgIGRlc2M6IGFyYygpIGRyYXdzIGEg
ZnVsbCBjaXJjbGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaQpAQCAtNzM1Myw2
ICs3NzIzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMu
YW5nbGUuNQogICBkZXNjOiBhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3aGVuIGNsb2Nrd2lz
ZSBhbmQgc3RhcnQgPiBlbmQrMnBpCkBAIC03MzY3LDYgKzc3MzgsNyBAQAogICAgIGN0eC5hcmMo
MTAwLCAwLCAxNTAsICgxMDI0LTEpKk1hdGguUEksICg1MTIrMS8yKSpNYXRoLlBJLCBmYWxzZSk7
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjYKICAgZGVzYzog
YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4g
ZW5kKzJwaQpAQCAtNzM4NCw2ICs3NzU2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5hcmMuemVyby4xCiAgIGRlc2M6IGFyYygpIGRyYXdzIG5vdGhpbmcgd2hl
biBzdGFydEFuZ2xlID0gZW5kQW5nbGUgYW5kIGFudGljbG9ja3dpc2UKQEAgLTczOTgsNiArNzc3
MSw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCB0cnVlKTsKICAgICBjdHguc3Ry
b2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvLjIKICAgZGVzYzogYXJjKCkgZHJhd3Mg
bm90aGluZyB3aGVuIHN0YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgY2xvY2t3aXNlCkBAIC03NDEy
LDYgKzc3ODYsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnR3b3BpZS4xCiAgIGRlc2M6IGFy
YygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBhbnRpY2xvY2t3
aXNlCkBAIC03NDI2LDYgKzc4MDEsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5hcmMudHdvcGllLjIKICAgZGVzYzogYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVu
ZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZQpAQCAtNzQ0MCw2ICs3ODE2LDcgQEAKICAg
ICBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQsIGZhbHNlKTsKICAgICBj
dHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy50d29waWUuMwogICBkZXNjOiBhcmMo
KSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGkrZSBhbmQgYW50aWNs
b2Nrd2lzZQpAQCAtNzQ1NCw2ICs3ODMxLDcgQEAKICAgICBjdHguYXJjKDUwLCAyNSwgNTAsIDAs
IDIqTWF0aC5QSSArIDFlLTQsIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjLnR3b3BpZS40CiAgIGRlc2M6IGFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQg
PSBzdGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UKQEAgLTc0NjgsNiArNzg0Niw3IEBACiAgICAg
Y3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCBmYWxzZSk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMQogICBkZXNjOiBhcmMoKSBm
cm9tIDAgdG8gcGkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZgpAQCAt
NzQ4Nyw2ICs3ODY2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCAyMCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjLnNoYXBlLjIKICAgZGVzYzogYXJjKCkgZnJvbSAwIHRvIHBpIGRyYXdzIHN0dWZmIGlu
IHRoZSByaWdodCBoYWxmCkBAIC03NTA2LDYgKzc4ODYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMwogICBkZXNjOiBhcmMoKSBmcm9tIDAg
dG8gLXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQKQEAg
LTc1MjQsNiArNzkwNSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmFyYy5zaGFwZS40CiAgIGRlc2M6IGFyYygpIGZyb20gMCB0byAtcGkvMiBk
cmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQKQEAgLTc1NDIsNiArNzkyNCw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNoYXBlLjUKICAgZGVz
YzogYXJjKCkgZnJvbSAwIHRvIDVwaSBkb2VzIG5vdCBkcmF3IGNyYXp5IHRoaW5ncwpAQCAtNzU2
MCw2ICs3OTQzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmMuc2VsZmludGVyc2VjdC4xCiAgIGRlc2M6IGFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRp
dXMgaXMgZHJhd24gc2Vuc2libHkKQEAgLTc1NzgsNiArNzk2Miw3IEBACiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMSwxID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMgogICBkZXNjOiBhcmMoKSB3aXRoIGxp
bmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5CkBAIC03NjAwLDYgKzc5ODUsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgOTcsMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk3LDMgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyLDQ4ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5lZ2F0aXZlCiAg
IGRlc2M6IGFyYygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUgpA
QCAtNzYwNyw2ICs3OTkzLDcgQEAKICAgICAtIDJkLnBhdGguYXJjLm5lZ2F0aXZlCiAgIGNvZGU6
IHwKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguYXJjKDAsIDAsIC0xLCAw
LCAwLCB0cnVlKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvcmFk
aXVzCiAgIGRlc2M6IGFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBz
dGFydCBwb2ludApAQCAtNzYyMiw2ICs4MDA5LDcgQEAKICAgICBjdHguYXJjKDIwMCwgMjUsIDAs
IDAsIE1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjLnNjYWxlLjEKICAgZGVzYzogTm9uLXVuaWZvcm1seSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJp
Z2h0IHNoYXBlCkBAIC03NjU1LDYgKzgwNDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmMuc2NhbGUuMgogICBkZXNjOiBIaWdobHkgc2NhbGVkIGFyY3Mg
YXJlIHRoZSByaWdodCBzaGFwZQpAQCAtNzY3OCw2ICs4MDY3LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5vbmZpbml0ZQogICBkZXNjOiBhcmMoKSB3
aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC03Njk1LDYgKzgwODUsNyBAQAogICAgIGN0
eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0g
bmFtZTogMmQucGF0aC5yZWN0LmJhc2ljCkBAIC03NzA3LDYgKzgwOTgsNyBAQAogICAgIGN0eC5y
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJl
Y3QubmV3c3VicGF0aAogICB0ZXN0aW5nOgpAQCAtNzcyMiw2ICs4MTE0LDcgQEAKICAgICBjdHgu
cmVjdCgyMDAsIDI1LCAxLCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LnJlY3QuY2xvc2VkCiAgIHRlc3Rpbmc6CkBAIC03NzM1LDYgKzgxMjgsNyBAQAogICAgIGN0eC5y
ZWN0KDEwMCwgNTAsIDEwMCwgMTAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLnJlY3QuZW5kLjEKICAgdGVzdGluZzoKQEAgLTc3NDgsNiArODE0Miw3IEBACiAgICAgY3R4
LmxpbmVUbygtMjAwMCwgLTEwMDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgucmVjdC5lbmQuMgogICB0ZXN0aW5nOgpAQCAtNzc2Niw2ICs4MTYxLDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uMQogICB0ZXN0aW5nOgpA
QCAtNzc3OSw2ICs4MTc1LDcgQEAKICAgICBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKICAgICBj
dHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby4yCiAgIHRlc3Rpbmc6CkBA
IC03NzkyLDYgKzgxODksNyBAQAogICAgIGN0eC5yZWN0KDUwLCAtMTAwLCAwLCAyNTApOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjMKICAgdGVzdGluZzoK
QEAgLTc4MDUsNiArODIwMyw3IEBACiAgICAgY3R4LnJlY3QoNTAsIDI1LCAwLCAwKTsKICAgICBj
dHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby40CiAgIHRlc3Rpbmc6CkBA
IC03ODE4LDYgKzgyMTcsNyBAQAogICAgIGN0eC5saW5lVG8oMCwgMjUpOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjUKICAgdGVzdGluZzoKQEAgLTc4MzEs
NiArODIzMSw3IEBACiAgICAgY3R4LnJlY3QoMTAwLCAyNSwgMCwgMCk7CiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uNgogICB0ZXN0aW5nOgpAQCAtNzg0Niw2
ICs4MjQ3LDcgQEAKICAgICBjdHgucmVjdCgxMDAsIDI1LCAxMDAwLCAwKTsKICAgICBjdHguc3Ry
b2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lm5lZ2F0aXZlCiAgIHRlc3Rp
bmc6CkBAIC03ODY0LDYgKzgyNjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGgucmVjdC53aW5kaW5nCiAgIHRlc3Rpbmc6CkBAIC03ODgyLDYgKzgyODUsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5zZWxmaW50
ZXJzZWN0CiAgIGNvZGU6IHwKQEAgLTc4OTMsNiArODI5Nyw3IEBACiAgICAgY3R4LnJlY3QoNDUs
IDIwLCAxMCwgMTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLnJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IHJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkCkBAIC03OTA4LDYgKzgzMTMsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmlsbC5vdmVy
bGFwCiAgIHRlc3Rpbmc6CkBAIC03OTIxLDYgKzgzMjcsNyBAQAogICAgIGN0eC5yZWN0KDEwLCAx
MCwgODAsIDMwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMTI3LDAsMjU1ICsvLSAxOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmls
bC53aW5kaW5nLmFkZAogICB0ZXN0aW5nOgpAQCAtNzk0MCw2ICs4MzQ3LDcgQEAKICAgICBjdHgu
bGluZVRvKDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndp
bmRpbmcuc3VidHJhY3QuMQogICB0ZXN0aW5nOgpAQCAtNzk1OSw2ICs4MzY3LDcgQEAKICAgICBj
dHgubGluZVRvKDEwMCwgMCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmls
bC53aW5kaW5nLnN1YnRyYWN0LjIKICAgdGVzdGluZzoKQEAgLTc5NzcsNiArODM4Niw3IEBACiAg
ICAgY3R4LmxpbmVUbygxMDAsIDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmZpbGwud2luZGluZy5zdWJ0cmFjdC4zCiAgIHRlc3Rpbmc6CkBAIC04MDAxLDYgKzg0MTEsNyBA
QAogICAgIGN0eC5saW5lVG8oMTAwLCAwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5maWxsLmNsb3NlZC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtODAxNSw2ICs4NDI2LDcgQEAK
ICAgICBjdHgubGluZVRvKDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkCiAgIHRlc3Rpbmc6CkBAIC04MDMyLDYgKzg0NDQsNyBA
QAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCwxMCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEwLDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLm92ZXJsYXAKICAgZGVzYzogU3Ryb2tlZCBzdWJw
YXRocyBhcmUgY29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXduCkBAIC04MDQ4LDYgKzg0NjEsNyBA
QAogICAgIGN0eC5saW5lVG8oMTAwLCAzMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+IDAsMTI3LDAsMjU1ICsvLSAxOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguc3Ryb2tlLnVuaW9uCiAgIGRlc2M6IFN0cm9rZXMgaW4gb3Bwb3NpdGUg
ZGlyZWN0aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQKQEAgLTgwNjQsNiArODQ3OCw3
IEBACiAgICAgY3R4LmxpbmVUbygwLCA0MCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5zdHJva2UudW5hZmZlY3RlZAogICBkZXNjOiBTdHJva2luZyBkb2VzIG5vdCBzdGFy
dCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgKQEAgLTgwODMsNiArODQ5OCw3IEBACiAgICAgY3R4LnN0
cm9rZVN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
c3Ryb2tlLnNjYWxlMQogICBkZXNjOiBTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0
aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTgxMTQsNiArODUzMCw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5zY2FsZTIKICAg
ZGVzYzogU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNm
b3JtYXRpb24gbWF0cml4CkBAIC04MTQ3LDYgKzg1NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
MCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2Uuc2tldwogICBkZXNjOiBTdHJva2VzIGxpbmVz
IGFyZSBza2V3ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4CkBAIC04MTkz
LDYgKzg2MTEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5z
dHJva2UuZW1wdHkKICAgZGVzYzogRW1wdHkgc3VicGF0aHMgYXJlIG5vdCBzdHJva2VkCkBAIC04
MjEwLDYgKzg2MjksNyBAQAogICAgIGN0eC5tb3ZlVG8oNjAsIDI1KTsKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lCiAgIGRlc2M6IFplcm8tbGVu
Z3RoIGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5n
CkBAIC04MjI3LDYgKzg2NDcsNyBAQAogICAgIGN0eC5saW5lVG8oNTAsIDI1KTsKICAgICBjdHgu
c3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsgQG1vei10
b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2Vk
CiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBjbG9zZWQgcGF0aHMgYXJl
IHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MjQ1LDYgKzg2NjYsNyBAQAogICAgIGN0eC5j
bG9zZVBhdGgoKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5zdHJva2UucHJ1bmUuY3VydmUKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBm
cm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3Jl
IHN0cm9raW5nCkBAIC04MjY2LDYgKzg2ODgsNyBAQAogICAgIGN0eC5iZXppZXJDdXJ2ZVRvKDUw
LCAyNSwgNTAsIDI1LCA1MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBz
ZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBA
IC04Mjg3LDYgKzg3MTAsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2Up
OwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5w
cnVuZS5yZWN0CiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSByZWN0IGFu
ZCBzdHJva2VSZWN0IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZwpAQCAtODMwNCw2ICs4NzI4
LDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIKICAgZGVz
YzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcg
d2l0aCBtaXRlcnMKQEAgLTgzMjQsNiArODc0OSw3IEBACiAgICAgY3R4LmxpbmVUbygtMTAwLCAx
MDAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnRyYW5zZm9ybWF0aW9u
LmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC04MzM3LDYgKzg3NjMsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgudHJhbnNmb3Jt
YXRpb24ubXVsdGlwbGUKICAgZGVzYzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHdoaWxl
IGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nCkBAIC04MzYxLDYgKzg3ODgsNyBAQAog
ICAgIGN0eC50cmFuc2xhdGUoMCwgNTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcKICAgZGVzYzogVHJhbnNmb3JtYXRpb25zIGFy
ZSBhcHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nCkBAIC04Mzgy
LDYgKzg4MTAsNyBAQAogICAgIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguY2xpcC5lbXB0eQogICB0ZXN0aW5nOgpAQCAtODM5NCw2ICs4ODIz
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC5iYXNpYy4xCiAgIHRlc3Rpbmc6CkBA
IC04NDA3LDYgKzg4MzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLmJhc2ljLjIK
ICAgdGVzdGluZzoKQEAgLTg0MjAsNiArODg1MSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmNsaXAuaW50ZXJzZWN0CiAgIHRlc3Rpbmc6CkBAIC04NDM2LDYgKzg4NjgsNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5jbGlwLndpbmRpbmcuMQogICB0ZXN0aW5nOgpAQCAtODQ1Nyw2ICs4
ODkwLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC53aW5kaW5nLjIKICAgdGVzdGlu
ZzoKQEAgLTg0ODEsNiArODkxNSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsaXAudW5h
ZmZlY3RlZAogICB0ZXN0aW5nOgpAQCAtODQ5OCw2ICs4OTMzLDcgQEAKICAgICBjdHgubGluZVRv
KDAsIDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmFzaWMuMQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2lu
dCBpcyBpbnNpZGUgdGhlIHBhdGgKQEAgLTg1MDcsNiArODk0Myw3IEBACiAgICAgY3R4LnJlY3Qo
MCwgMCwgMjAsIDIwKTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkgPT09
IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMTApID09PSBmYWxzZTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMgog
ICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNp
ZGUgdGhlIHBhdGgKQEAgLTg1MTYsNiArODk1Myw3IEBACiAgICAgY3R4LnJlY3QoMjAsIDAsIDIw
LCAyMCk7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMTApID09PSBmYWxzZTsK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkgPT09IHRydWU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UKICAgZGVzYzogaXNQ
b2ludEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBhdGggYXMgYmVpbmcgaW5zaWRlCkBA
IC04NTM1LDYgKzg5NzMsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIw
LjAxKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTAp
ID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDIwLjAxLCAxMCkgPT09
IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5l
bXB0eQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRo
CkBAIC04NTQyLDYgKzg5ODEsNyBAQAogICAgIC0gMmQucGF0aC5pc1BvaW50SW5QYXRoCiAgIGNv
ZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIDApID09PSBmYWxzZTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0aAogICBk
ZXNjOiBpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgY3VycmVudCBwYXRoLCBub3QganVzdCB0aGUg
c3VicGF0aApAQCAtODU1Niw2ICs4OTk2LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDEwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDUwLCAxMCkgPT09
IHRydWU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLm91
dHNpZGUKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhl
IGNhbnZhcwpAQCAtODU3MCw2ICs5MDExLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAtMjApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMw
LCAwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCkgPT09
IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC51
bmNsb3NlZAogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgc3VicGF0
aHMKQEAgLTg1ODIsNiArOTAyNCw3IEBACiAgICAgY3R4LmxpbmVUbygwLCAyMCk7CiAgICAgQGFz
c2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoMzAsIDEwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYwogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29y
a3Mgb24gYXJjcwpAQCAtODU5Nyw2ICs5MDQwLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50
SW5QYXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgo
MzAsIDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3MCwgMzAp
ID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBh
dGguYmlnYXJjCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBhcmNz
IGxhcmdlciB0aGFuIDJwaQpAQCAtODYxMyw2ICs5MDU3LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5p
c1BvaW50SW5QYXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJ
blBhdGgoMzAsIDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3
MCwgMzApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9p
bnRJblBhdGguYmV6aWVyCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIg
Y3VydmVzCkBAIC04NjQxLDYgKzkwODYsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoNzAsIDMwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDc1LCAy
MCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSA9PT0g
ZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLndp
bmRpbmcKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHVzZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcg
bnVtYmVyIHJ1bGUKQEAgLTg2NjcsNiArOTExMyw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2lu
dEluUGF0aCg1LCA0NSkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgy
NSwgNDUpID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNDUsIDQ1KSA9
PT0gdHJ1ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
dHJhbnNmb3JtLjEKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRp
b25zIGNvcnJlY3RseQpAQCAtODY4MSw2ICs5MTI4LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDUxLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCg2OSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEw
KSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnRyYW5zZm9ybS4yCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9y
bWF0aW9ucyBjb3JyZWN0bHkKQEAgLTg2OTUsNiArOTE0Myw3IEBACiAgICAgQGFzc2VydCBjdHgu
aXNQb2ludEluUGF0aCg1MSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJ
blBhdGgoNjksIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcx
LCAxMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2lu
dEluUGF0aC50cmFuc2Zvcm0uMwogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFu
c2Zvcm1hdGlvbnMgY29ycmVjdGx5CkBAIC04NzA5LDYgKzkxNTgsNyBAQAogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDY5LCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCg3MSwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlz
UG9pbnRJblBhdGgudHJhbnNmb3JtLjQKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGhhbmRsZXMg
dHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseQpAQCAtODcyMSw2ICs5MTcxLDcgQEAKICAgICBAYXNz
ZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoMTEwLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2lu
dEluUGF0aCgxMTAsIDYwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgcmV0
dXJucyBmYWxzZSBmb3Igbm9uLWZpbml0ZSBhcmd1bWVudHMKQEAgLTg3MzUsNiArOTE4Niw3IEBA
CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgwLCAtSW5maW5pdHkpID09PSBmYWxzZTsK
ICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTikgPT09IGZhbHNlOwogICAgIEBh
c3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoTmFOLCBOYU4pID09PSBmYWxzZTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5jb29yZGluYXRlc3BhY2UKICAgZGVzYzogQ29vcmRpbmF0ZSBzcGFj
ZSBnb2VzIGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0CkBAIC04NzUwLDYgKzkyMDIsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwwLDI1NSwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAyNSwzNyA9PSAwLDAsMjU1LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAs
MCwyNTUsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLm1pc3NpbmdhcmdzCiAgIGRl
c2M6IE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvcgpAQCAtODc2OCw3ICs5MjIxLDYg
QEAKICAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC50cmFuc2Zvcm0oMSwgMCwg
MCwgMSwgMCk7CiAgICAgfQogICAgIGlmIChjdHguc2V0VHJhbnNmb3JtKSB7Ci0gICAgICAgIEBh
c3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3JtKCk7CiAgICAgICAgIEBhc3Nl
cnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3JtKDEpOwogICAgICAgICBAYXNzZXJ0
IHRocm93cyBUeXBlRXJyb3IgY3R4LnNldFRyYW5zZm9ybSgxLCAwKTsKICAgICAgICAgQGFzc2Vy
dCB0aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCk7CkBAIC04ODUxLDYg
KzkzMDMsNyBAQAogICAgIHZhciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAs
IDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgpOyBAbW96
LXRvZG8KICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgZy5hZGRDb2xvclN0b3AoMCk7IEBt
b3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnZvaWRyZXR1cm4KICAgZGVzYzog
dm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQKQEAgLTg4ODYsNiArOTMzOSw3IEBACiAgICAg
fQogICAgIEBhc3NlcnQgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMsIDAsIDAsIDEsIDEs
IDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQ7CiAgICAgQGFzc2VydCBjdHguY3JlYXRlTGluZWFy
R3JhZGllbnQoMCwgMCwgMCwgMCkuYWRkQ29sb3JTdG9wKDAsICd3aGl0ZScpID09PSB1bmRlZmlu
ZWQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2FudmFzLnJlZmVyZW5jZQogICBkZXNj
OiBjYW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhcwpAQCAtODg5Myw2ICs5MzQ3LDcgQEAK
ICAgICAtIDJkLmNhbnZhcwogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguY2FudmFzID09PSBv
ZmZzY3JlZW5DYW52YXM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2FudmFzLnJlYWRv
bmx5CiAgIGRlc2M6IGNhbnZhcyBpcyByZWFkb25seQpAQCAtODkwNCw2ICs5MzU5LDcgQEAKICAg
ICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhczIgIT09IGQ7CiAgICAgY3R4LmNhbnZhcyA9IG9mZnNj
cmVlbkNhbnZhczI7CiAgICAgQGFzc2VydCBjdHguY2FudmFzID09PSBkOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXhpc3RzCiAgIGRlc2M6IFRoZSAyRCBjb250ZXh0
IGlzIGltcGxlbWVudGVkCkBAIC04OTEyLDYgKzkzNjgsNyBAQAogICBjb2RlOiB8CiAgICAgdmFy
IG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBh
c3NlcnQgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpICE9PSBudWxsOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXh0cmFhcmdzCiAgIGRlc2M6IFRoZSAy
RCBjb250ZXh0IGlnbm9yZXMgZXh0cmEgZ2V0Q29udGV4dCBhcmd1bWVudHMKQEAgLTg5MjAsNiAr
OTM3Nyw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMyLmdldENv
bnRleHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgIjIiKSAhPT0gbnVsbDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5nZXRjb250ZXh0LnVuaXF1ZQogICBkZXNjOiBnZXRDb250ZXh0KCcy
ZCcpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0CkBAIC04OTI4LDYgKzkzODYsNyBAQAogICBjb2Rl
OiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpID09PSBv
ZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZ2V0Y29udGV4dC5zaGFyZWQKICAgZGVzYzogZ2V0Q29udGV4dCgnMmQnKSByZXR1cm5z
IG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlCkBAIC04OTM5LDYgKzkzOTgsNyBAQAog
ICAgIGN0eDIuZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IGNvbnRleHQuZW1wdHlzdHJpbmcKICAgZGVzYzogZ2V0Q29udGV4dCB3
aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGwKQEAgLTg5NDcsNiArOTQwNyw3IEBACiAgIGNv
ZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0
Q29udGV4dCgiIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlz
ZWQuYmFkbmFtZQogICBkZXNjOiBnZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQg
bmFtZSByZXR1cm5zIG51bGwKQEAgLTg5NTUsNiArOTQxNiw3IEBACiAgIGNvZGU6IHwKICAgICB2
YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAg
QGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnVGhp
cyBpcyBub3QgYW4gaW1wbGVtZW50ZWQgY29udGV4dCBpbiBhbnkgcmVhbCBicm93c2VyJyk7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4CiAg
IGRlc2M6IENvbnRleHQgbmFtZSAiMmQiIHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkCkBA
IC04OTYzLDYgKzk0MjUsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVF
cnJvciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJkIyIpOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IGNvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXgKICAgZGVzYzogQ29udGV4
dCBuYW1lICIyZCIgcGx1cyBhICJcMCIgc3VmZml4IGlzIHVucmVjb2duaXNlZApAQCAtODk3MSw2
ICs5NDM0LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIyZFwwIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogY29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZQogICBkZXNjOiBDb250ZXh0IG5hbWUgd2hp
Y2gga2luZCBvZiBsb29rcyBsaWtlICIyZCIgaXMgdW5yZWNvZ25pc2VkCkBAIC04OTc5LDYgKzk0
NDMsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3Jl
ZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiBjb250ZXh0LmNhc2VzZW5zaXRpdmUKICAgZGVzYzogQ29udGV4dCBuYW1lICIyRCIgaXMgdW5y
ZWNvZ25pc2VkOyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZQpAQCAtODk4Nyw2ICs5NDUyLDcg
QEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2Fu
dmFzMi5nZXRDb250ZXh0KCcyRCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNvbnRleHQu
YXJndW1lbnRzLm1pc3NpbmcKICAgdGVzdGluZzoKQEAgLTg5OTQsNiArOTQ2MCw3IEBACiAgIGNv
ZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0
Q29udGV4dCgpOyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IGluaXRpYWwu
Y29sb3VyCkBAIC05MDAyLDYgKzk0NjksNyBAQAogICAgIC0gaW5pdGlhbC5jb2xvdXIKICAgY29k
ZTogfAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmRpZmZlcmVudAogICBkZXNjOiBDaGFuZ2luZyBzaXpl
IHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2sKQEAgLTkwMTMsNiArOTQ4MSw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAyNTUsMCwwLDI1NTsKICAgICBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSA1MDsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC5zYW1lCiAgIGRlc2M6IFNldHRp
bmcgc2l6ZSAobm90IGNoYW5naW5nIHRoZSB2YWx1ZSkgcmVzZXRzIGNhbnZhcyB0byB0cmFuc3Bh
cmVudCBibGFjawpAQCAtOTAyNSw2ICs5NDk0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIw
ID09IDI1NSwwLDAsMjU1OwogICAgIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKICAgICBA
YXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
aW5pdGlhbC5yZXNldC5wYXRoCiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJl
c2V0cyB0aGUgY3VycmVudCBwYXRoCkBAIC05MDM3LDYgKzk1MDcsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIw
ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC5jbGlw
CiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBj
bGlwIHJlZ2lvbgpAQCAtOTA1MCw2ICs5NTIxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDIwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGluaXRpYWwu
cmVzZXQudHJhbnNmb3JtCiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0
cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTkwNjIsNiArOTUzNCw3IEBA
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmdyYWRpZW50CiAgIGRlc2M6IFJlc2V0dGlu
ZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4aXN0aW5nIGdyYWRp
ZW50cwpAQCAtOTA3OCw2ICs5NTUxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LnBhdHRl
cm4KICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0
ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnMKQEAgLTkwOTQsNiArOTU2OCw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9IHA7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
c2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybwogICBkZXNjOiBTZXR0aW5nIHdpZHRoL2hlaWdo
dCBJREwgYXR0cmlidXRlcyB0byAwCkBAIC05MTA1LDYgKzk1ODAsNyBAQAogICAgIG9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQgPSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09
PSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gMDsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuaWRsCiAgIGRlc2M6IEdldHRpbmcvc2V0
dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMKQEAgLTkxMzAsNiArOTYwNiw3IEBACiAg
ICAgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICJmb28iOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID09PSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuZGVmYXVsdAog
ICBkZXNjOiBEZWZhdWx0IHdpZHRoL2hlaWdodCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG1pc3NpbmcK
QEAgLTkxMzksNiArOTYxNiw3IEBACiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNh
bnZhcy53aWR0aCA9PT0gMTAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
PT0gNTA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Qu
c2V0aWRsCiAgIGRlc2M6IFNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBkYXRlcyBJREwgYW5kIGNv
bnRlbnQgYXR0cmlidXRlcwpAQCAtOTE0OSw2ICs5NjI3LDcgQEAKICAgICBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gNjA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDEy
MDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09IDYwOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IHNpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8KICAgZGVz
YzogU2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0
dHJpYnV0ZXMKQEAgLTkxNTksNiArOTYzOCw3IEBACiAgICAgb2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCA9IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFz
c2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG1l
dGE6IHwKICAgICBjYXNlcyA9IFsKQEAgLTkxOTAsNiArOTY3MCw4IEBACiAgICAgICAgICAgICBj
b2RlICs9ICJAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gJXM7XG5AYXNzZXJ0IG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09ICVzO1xuIiAlIChleHAsIGV4cCkKICAgICAgICAgICAg
IGV4cGVjdGVkID0gTm9uZQogCisgICAgICAgIGNvZGUgKz0gInQuZG9uZSgpO1xuIgorCiAgICAg
ICAgIGlmIGV4cCA9PSAwOgogICAgICAgICAgICAgZXhwZWN0ZWQgPSBOb25lICMgY2FuJ3QgZ2Vu
ZXJhdGUgemVyby1zaXplZCBQTkdzIGZvciB0aGUgZXhwZWN0ZWQgaW1hZ2UKIApAQCAtOTIxNiw2
ICs5Njk4LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gbjsKICAgICBAYXNzZXJ0
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gbjsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQgPT09IG47CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBh
cnNlLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC05MjI3LDYgKzk3MTAsNyBAQAogCiAgICAgY3R4LmZv
bnQgPSAnMjBQWCAgIFNFUklGJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJp
Zic7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuZm9udC5wYXJz
ZS50aW55CiAgIHRlc3Rpbmc6CkBAIC05MjM1LDYgKzk3MTksNyBAQAogICBjb2RlOiB8CiAgICAg
Y3R4LmZvbnQgPSAnMXB4IHNhbnMtc2VyaWYnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcx
cHggc2Fucy1zZXJpZic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBh
cnNlLmNvbXBsZXgKICAgdGVzdGluZzoKQEAgLTkyNDQsNiArOTcyOSw3IEBACiAgIGNvZGU6IHwK
ICAgICBjdHguZm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24gRm9u
dCwgc2Fucy1zZXJpZic7CiAgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJ2l0YWxpYyBzbWFsbC1j
YXBzIDEycHggIlVua25vd24gRm9udCIsIHNhbnMtc2VyaWYnOyBAbW96LXRvZG8KKyAgICB0LmRv
bmUoKTsKIAogICAjIFRPRE86CiAgICMgICAyZC50ZXh0LmZvbnQucGFyc2Uuc2l6ZS5hYnNvbHV0
ZQpAQCAtOTI2NCw2ICs5NzUwLDcgQEAKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJ21lc3Nh
Z2UtYm94JzsKICAgICBAYXNzZXJ0IGN0eC5mb250ICE9PSAnbWVzc2FnZS1ib3gnOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkCiAgIHRlc3Rpbmc6
CkBAIC05MjcyLDYgKzk3NTksMTAgQEAKICAgICBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKICAg
ICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CiAKKyAgICBjdHguZm9udCA9ICcy
MHB4IHNlcmlmJzsKKyAgICBjdHguZm9udCA9ICcnOworICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09
ICcyMHB4IHNlcmlmJzsKKwogICAgIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogICAgIGN0eC5m
b250ID0gJ2JvZ3VzJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CkBA
IC05Mjk5LDE0ICs5NzkwLDIyIEBACiAgICAgY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CiAgICAg
Y3R4LmZvbnQgPSAnMWVtIHNlcmlmOyBiYWNrZ3JvdW5kOiBncmVlbjsgbWFyZ2luOiAxMHB4JzsK
ICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQudGV4dC5mb250LmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQu
Zm9udC5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMTBweCBz
YW5zLXNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAotCistIG5hbWU6IDJkLnRleHQuZm9udC5yZWxh
dGl2ZV9zaXplCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZQor
ICBjb2RlOiB8CisgICAgY3R4LmZvbnQgPSAnMWVtIHNhbnMtc2VyaWYnOworICAgIEBhc3NlcnQg
Y3R4LmZvbnQgPT09ICcxMHB4IHNhbnMtc2VyaWYnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRleHQuYWxpZ24udmFsaWQKICAgdGVzdGluZzoKQEAgLTkzMjcsNiArOTgyNiw3IEBACiAK
ICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAgQGFzc2VydCBjdHgudGV4dEFsaWdu
ID09PSAnY2VudGVyJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmFsaWduLmlu
dmFsaWQKICAgdGVzdGluZzoKQEAgLTkzNDcsMTIgKzk4NDcsMTQgQEAKICAgICBjdHgudGV4dEFs
aWduID0gJ3N0YXJ0JzsKICAgICBjdHgudGV4dEFsaWduID0gJ2VuZFwwJzsKICAgICBAYXNzZXJ0
IGN0eC50ZXh0QWxpZ24gPT09ICdzdGFydCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
dGV4dC5hbGlnbi5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50ZXh0LmFsaWduLmRlZmF1
bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LnRleHRBbGlnbiA9PT0gJ3N0YXJ0JzsKKyAg
ICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnRleHQuYmFzZWxpbmUudmFsaWQKQEAgLTkzNzcs
NiArOTg3OSw3IEBACiAKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ2JvdHRvbSc7CiAgICAgQGFz
c2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAnYm90dG9tJzsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC50ZXh0LmJhc2VsaW5lLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTkzOTcsMTIgKzk5
MDAsMTQgQEAKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CiAgICAgY3R4LnRleHRCYXNl
bGluZSA9ICdtaWRkbGVcMCc7CiAgICAgQGFzc2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAndG9w
JzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQKICAg
dGVzdGluZzoKICAgICAtIDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdAogICBjb2RlOiB8CiAgICAg
QGFzc2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAnYWxwaGFiZXRpYyc7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMKICAgZGVzYzogZmlsbFRleHQgZHJh
d3MgZmlsbGVkIHRleHQKQEAgLTk0MTcsNiArOTkyMiw3IEBACiAgICAgY3R4LnN0cm9rZVN0eWxl
ID0gJyNmMDAnOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAg
IGN0eC5maWxsVGV4dCgnUEFTUycsIDUsIDM1KTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6
ICZwYXNzZmlsbCB8CiAgICAgc2l6ZSAxMDAgNTAKICAgICBjci5zZXRfc291cmNlX3JnYigwLCAw
LCAwKQpAQCAtOTQ1MCw2ICs5OTU2LDcgQEAKIAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmls
bC5ydGwKQEAgLTk0NjQsNiArOTk3MSw3IEBACiAgICAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxs
VGV4dCgnXHUyMDJlRkFJTCBceGEwIFx4YTAgU1NBUCcsIDUsIDM1KTsKKyAgICB0LmRvbmUoKTsK
ICAgZXhwZWN0ZWQ6ICpwYXNzZmlsbAogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmxhcmdlCkBAIC05NDc3LDYgKzk5ODUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZp
bGxUZXh0KCdQQVNTJywgNSwgMzUsIDIwMCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiAq
cGFzc2ZpbGwKIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbApAQCAt
OTQ5MCw2ICs5OTk5LDcgQEAKICAgICBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlm
JzsKICAgICBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIC0xMDAsIDM1
LCA5MCk7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAg
IGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnpl
cm8KQEAgLTk1MDMsNiArMTAwMTMsNyBAQAogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNh
bnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywg
NSwgMzUsIDApOwogICAgIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOworICAgIHQuZG9uZSgp
OwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC5uZWdhdGl2ZQpAQCAtOTUxNiw2ICsxMDAyNyw3IEBACiAgICAgY3R4LmZvbnQgPSAnMzVweCBB
cmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWls
IGZhaWwnLCA1LCAzNSwgLTEpOwogICAgIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOworICAg
IHQuZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5OYU4KQEAgLTk1MjksNiArMTAwNDEsNyBAQAogICAgIGN0eC5mb250ID0gJzM1
cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwg
ZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7
CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJh
dy5zdHJva2UuYmFzaWMKQEAgLTk1NDUsNiArMTAwNTgsNyBAQAogICAgIGN0eC5saW5lV2lkdGgg
PSAxOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5z
dHJva2VUZXh0KCdQQVNTJywgNSwgMzUpOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogfAog
ICAgIHNpemUgMTAwIDUwCiAgICAgY3Iuc2V0X3NvdXJjZV9yZ2IoMCwgMCwgMCkKQEAgLTk1ODAs
NiArMTAwOTQsNyBAQAogCiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAg
IGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQK
QEAgLTk1OTgsNiArMTAxMTMsNyBAQAogICAgIGN0eC5maWxsVGV4dCgnVG9Ub1RvVG9Ub1RvVG8n
LCAtNTAsIDQ1KTsKICAgICBjdHguc3Ryb2tlVGV4dCgnVkFWQVZBVkFWQVZBVkEnLCAtNTAsIDI1
KTsKICAgICBjdHguc3Ryb2tlVGV4dCgnVG9Ub1RvVG9Ub1RvVG8nLCAtNTAsIDQ1KTsKKyAgICB0
LmRvbmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKICMgQ2FudmFzVGVzdCBpczoKQEAgLTk2MjMs
OCArMTAxMzksOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CkBAIC05NjMzLDcgKzEwMTQ5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1
MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgog
CiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kCkBAIC05NjQ0LDggKzEw
MTYwLDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
OTY1NCw3ICsxMDE3MCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsK
KyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBu
YW1lOiAyZC50ZXh0LmRyYXcuZm9udGZhY2UKQEAgLTk2NjQsOCArMTAxODAsOCBAQAogICAgIC0g
Q2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsK
LSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05Njc0LDcgKzEwMTkwLDcg
QEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJh
dy5mb250ZmFjZS5yZXBlYXQKQEAgLTk2OTAsMTQgKzEwMjA2LDE0IEBACiAgICAgY3R4LmZvbnQg
PSAnNjdweCBDYW52YXNUZXN0JzsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsVGV4dCgnQUEnLCAwLCA1MCk7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhl
bihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDk1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwy
NTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZQpA
QCAtOTcwOSw4ICsxMDIyNSw4IEBACiAgIGZvbnRoYWNrOiAwCiAgIGNvZGU6IHwKICAgICBjdHgu
Zm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTk3MTksNyArMTAyMzUsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUg
PT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9
PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09
fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3
LmJhc2VsaW5lLnRvcApAQCAtOTczMCw4ICsxMDI0Niw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAg
IGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVz
dCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAg
ICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3NDMsNyArMTAyNTksNyBAQAogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4g
MCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJv
dHRvbQpAQCAtOTc1NCw4ICsxMDI3MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwK
ICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAg
IHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKQEAgLTk3NjcsNyArMTAyODMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwy
NTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZQpAQCAt
OTc3OCw4ICsxMDI5NCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTk3OTEsNyArMTAzMDcsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAg
fSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdy
ZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMKQEAgLTk4MDEs
OCArMTAzMTcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC05ODE0LDcgKzEwMzMwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1
MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgog
CiAtIG5hbWU6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYwpAQCAtOTgyNCw4ICsx
MDM0MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAg
LTk4MzcsNyArMTAzNTMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsgQG1v
ei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OyBAbW96
LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBl
eHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZwpA
QCAtOTg0Nyw4ICsxMDM2Myw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBj
dHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKQEAgLTk4NjAsNyArMTAzNzYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1
LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0g
ICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6
IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmxlZnQKQEAgLTk4NzEsOCArMTAz
ODcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05
ODg0LDcgKzEwNDAwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOwor
ICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5h
bWU6IDJkLnRleHQuZHJhdy5hbGlnbi5yaWdodApAQCAtOTg5NSw4ICsxMDQxMSw4IEBACiAgICAg
LSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5MDgsNyArMTA0MjQs
NyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5k
cmF3LmFsaWduLnN0YXJ0Lmx0cgpAQCAtOTkyMCw4ICsxMDQzNiw4IEBACiAgIGNhbnZhczogd2lk
dGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJsdHIiCiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
QEAgLTk5MzMsNyArMTA0NDksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUw
MCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAK
IC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bApAQCAtOTk0Niw4ICsxMDQ2Miw4
IEBACiAgIGNhbnZhczogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJydGwiCiAgIGNvZGU6
IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwot
ICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5NTksNyArMTA0NzUsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUs
MCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAg
ZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIKQEAg
LTk5NzEsOCArMTA0ODcsOCBAQAogICBjYW52YXM6IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiIGRp
cj0ibHRyIgogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAg
ICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05OTg0LDcgKzEwNTAwLDcgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5h
bGlnbi5lbmQucnRsCkBAIC05OTk3LDggKzEwNTEzLDggQEAKICAgY2FudmFzOiB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjUwIiBkaXI9InJ0bCIKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigp
IHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMTAw
MTAsNyArMTA1MjYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7Cisg
ICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFt
ZTogMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlcgpAQCAtMTAwMjEsOCArMTA1MzcsOCBAQAogICAg
IC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0xMDAzNCw3ICsxMDU1
MCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogCkBAIC0xMDA0NiwxNSAr
MTA1NjIsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5j
dGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFj
ZS5jb2xsYXBzZS5zcGFjZQpAQCAtMTAwNjUsMTUgKzEwNTgxLDE1IEBACiAgICAgLSBDYW52YXNU
ZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRl
ZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdFICBF
RScsIC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSww
LDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAs
MjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4
cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhl
cgpAQCAtMTAwODQsMTUgKzEwNjAwLDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwK
ICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAg
IHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQg
IFx4MDlceDBhXHgwY1x4MGRFRScsIC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50
ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UKQEAgLTEwMTAzLDE1ICsxMDYxOSwxNSBA
QAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewog
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgICAgIGN0
eC5maWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5zdGFydApAQCAtMTAxMjIsMTUgKzEwNjM4LDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAg
IGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVz
dCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAg
ICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCcgRUUnLCAwLCAz
Ny41KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3ot
dG9kbwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9
KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3Jl
ZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kCkBAIC0xMDE0MSw4
ICsxMDY1Nyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
QEAgLTEwMTUwLDE3ICsxMDY2NiwyMiBAQAogICAgICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEw
MCwgMzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0g
ICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6
IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljCisgIGRlc2M6IFRo
ZSB3aWR0aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250IHVzZWQgZm9yIE9mZnNjcmVlbkNh
bnZhcwogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5tZWFzdXJlCiAgIGZvbnRzOgogICAgIC0g
Q2FudmFzVGVzdAogICBjb2RlOiB8Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIHZhciBmID0gbmV3IEZvbnRGYWNl
KCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9
IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5h
ZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoID09
PSA1MDsKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGggPT09IDEw
MDsKQEAgLTEwMTY4LDMwICsxMDY4OSwzOCBAQAogCiAgICAgICAgIGN0eC5mb250ID0gJzEwMHB4
IENhbnZhc1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRo
ID09PSAxMDA7Ci0gICAgfSksIDUwMCk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Ci0gIGRlc2M6IFRoZSBlbXB0eSBz
dHJpbmcgaGFzIHplcm8gd2lkdGgKKyAgZGVzYzogVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3
aWR0aCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50ZXh0Lm1lYXN1
cmUKICAgZm9udHM6CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3Qo
KTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRm
Iik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQu
Zm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsK
KyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1
cmVUZXh0KCIiKS53aWR0aCA9PT0gMDsKLSAgICB9KSwgNTAwKTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UKLSAgZGVz
YzogU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2Vk
IChwZXIgQ1NTKQorICBkZXNjOiBTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSsw
MDIwIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIGZvciBPZmZzY3JlZW5DYW52YXMKICAgdGVzdGlu
ZzoKICAgICAtIDJkLnRleHQubWVhc3VyZS5zcGFjZXMKICAgZm9udHM6CiAgICAgLSBDYW52YXNU
ZXN0CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZh
c1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYu
Zm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsK
KyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAg
IH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVz
dCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBIEInKS53aWR0aCA9PT0gMTUw
OwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoID09PSAxNTA7
IEBtb3otdG9kbwpAQCAtMTAyMDAsNiArMTA3MjksMTQxIEBACiAKICAgICAgICAgQGFzc2VydCBj
dHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoID09PSAxMDA7IEBtb3otdG9kbwogICAgICAgICBA
YXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGggPT09IDEwMDsgQG1vei10b2RvCi0g
ICAgfSksIDUwMCk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQu
dGV4dC5tZWFzdXJlLmFkdmFuY2VzCisgIGRlc2M6IFRlc3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9y
IE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmFkdmFu
Y2VzCisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBu
ZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAg
bGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOwor
ICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250
ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAg
ICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSBy
ZXR1cm4gJy0wJy4KKyAgICAgICAgQGFzc2VydCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0hl
bGxvJykuYWR2YW5jZXNbMF0pID09PSAwOworICAgICAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1z
IG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgICAgIEBhc3NlcnQgY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID49IDM2OworICAgICAgICBAYXNzZXJ0
IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1syXSA+PSA1ODsKKyAgICAgICAgQGFz
c2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPj0gNzA7CisgICAgICAg
IEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdID49IDgwOworCisg
ICAgICAgIHZhciB0bSA9IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKTsKKyAgICAgICAgQGFzc2Vy
dCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0gPT09IHRtLmFkdmFuY2VzWzBd
OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1sxXSA9
PT0gdG0uYWR2YW5jZXNbMV07CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxs
bycpLmFkdmFuY2VzWzJdID09PSB0bS5hZHZhbmNlc1syXTsKKyAgICAgICAgQGFzc2VydCBjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPT09IHRtLmFkdmFuY2VzWzNdOworICAg
ICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1s0XSA9PT0gdG0u
YWR2YW5jZXNbNF07CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQu
dGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGRlc2M6IFRlc3RpbmcgYWN0dWFsQm91
bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5t
ZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBj
b2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0Nh
bnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRz
IDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50
aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5k
aXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIGN0
eC5iYXNlbGluZSA9ICdhbHBoYWJldGljJworICAgICAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkg
cmV0dXJuICctMCcuCisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdB
JykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSA9PT0gMDsKKyAgICAgICAgLy8gRGlmZmVyZW50IHBs
YXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlmZmVyZW50LgorICAgICAgICBAYXNz
ZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTA7Cisg
ICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hBc2Nl
bnQgPj0gMzU7CisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJyku
YWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSA9PT0gMDsKKworICAgICAgICBAYXNzZXJ0IE1hdGgu
YWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkgPT09IDA7
CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdC
b3hSaWdodCA+PSAyMDA7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
YWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1
cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3OworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5mb250Qm91bmRp
bmdCb3gKKyAgZGVzYzogVGVzdGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZh
cworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveAorICBm
b250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAorICAgIHZhciBmID0gbmV3IEZvbnRG
YWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250
cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250
cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOworICAgICAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgICAgIGN0
eC5hbGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmZv
bnRCb3VuZGluZ0JveEFzY2VudCA9PT0gODU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVU
ZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCA9PT0gMzk7CisKKyAgICAgICAgQGFzc2Vy
dCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQgPT09IDg1Owor
ICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0JveERl
c2NlbnQgPT09IDM5OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJk
LnRleHQubWVhc3VyZS5lbUhlaWdodHMKKyAgZGVzYzogVGVzdGluZyBlbUhlaWdodHMgZm9yIE9m
ZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0
cworICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAorICAgIHZhciBmID0gbmV3
IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxl
dCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAg
ICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOworICAgICAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAg
ICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgn
QScpLmVtSGVpZ2h0QXNjZW50ID09PSAzNy41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJl
VGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCA9PT0gMTIuNTsKKyAgICAgICAgQGFzc2VydCBjdHgu
bWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0EnKS5l
bUhlaWdodEFzY2VudCA9PT0gNTA7CisKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQo
J0FCQ0QnKS5lbUhlaWdodEFzY2VudCA9PT0gMzcuNTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgPT09IDEyLjU7CisgICAgICAgIEBhc3Nl
cnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVU
ZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQgPT09IDUwOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMKKyAgZGVzYzogVGVz
dGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQu
dGV4dC5tZWFzdXJlLmJhc2VsaW5lcworICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29k
ZTogfAorICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6
IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhl
bigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkg
eworICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgY3R4LmRpcmVj
dGlvbiA9ICdsdHInOworICAgICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgIEBhc3NlcnQg
TWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykg
PT09IDA7CisgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMo
KS5pZGVvZ3JhcGhpYyA9PT0gLTM5OworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdB
JykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyA9PT0gNjg7CisKKyAgICAgICBAYXNzZXJ0IE1hdGgu
YWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpID09
PSAwOworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVz
KCkuaWRlb2dyYXBoaWMgPT09IC0zOTsKKyAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcgPT09IDY4OworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAjIFRPRE86IHNoYWRvd3MsIGFscGhhLCBjb21wb3NpdGUsIGNsaXAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNm
b3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
Z2V0VHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWRjZjA2NGVlODIxN2RiMWQw
NzkwMjY3OTFlMTA5ZmY3MDg1YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZ2V0VHJhbnNmb3JtIHdvcmtz
IGNvcnJlY3RseS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLmdldFRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYjcwYWMyMDg2NzRjNWJm
MjQ5YzZmNThiNDY0N2I5OGJlNmQ1ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLmdldFRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsNDAg
QEAKKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPHNjcmlwdD4KKy8vIEVuc3VyZSB0aGF0IGNvbnRleHQyZC5nZXRUcmFuc2Zvcm0gd29y
a3MKK2NvbnN0IGVwc2lsb24gPSAxZS01OworY29uc3QgY2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygzMDAsIDE1MCk7Citjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJhbnNm
b3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwg
MCwgMSwgMCwgMCwgMCwgMCwgMV0sCisgICAgIkFzc2VydCB0aGF0IGFuIHVudHJhbnNmb3JtZWQg
bWF0cml4IGlzIGlkZW50aXR5Iik7CisKKyAgY3R4LnNjYWxlKDIsIDMpOworICB0cmFuc2Zvcm0g
PSBjdHguZ2V0VHJhbnNmb3JtKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY3R4LmdldFRyYW5z
Zm9ybSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzIsIDAsIDAsIDAsIDAsIDMsIDAsIDAsIDAs
IDAsIDEsIDAsIDAsIDAsIDAsIDFdLAorICAgICJBc3NlcnQgdGhhdCBjb250ZXh0MmQgc2NhbGlu
ZyB3b3JrcyIpOworCisgIGN0eC5yb3RhdGUoTWF0aC5QSS8yKTsKKyAgdHJhbnNmb3JtID0gY3R4
LmdldFRyYW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyhjdHguZ2V0VHJh
bnNmb3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMCwgMywgMCwgMCwgLTIsIDAsIDAsIDAs
IDAsIDAsIDEsIDAsIDAsIDAsIDAsIDFdLCBlcHNpbG9uLAorICAgICJBc3NlcnQgdGhhdCBjb250
ZXh0MmQgcm90YXRlIHdvcmtzIik7CisKKyAgY3R4LnRyYW5zbGF0ZSgxLCAtMSk7CisgIHRyYW5z
Zm9ybSA9IGN0eC5nZXRUcmFuc2Zvcm0oKTsKKyAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMo
Y3R4LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzAsIDMsIDAsIDAsIC0y
LCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAyLCAzLCAwLCAxXSwgZXBzaWxvbiwKKyAgICAiQXNzZXJ0
IGNvbnRleHQyZCB0cmFuc2xhdGUgd29ya3MuIik7CisKKyAgY3R4LnJlc2V0VHJhbnNmb3JtKCk7
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY3R4LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5
KCksCisgICAgWzEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDFd
LAorICAgICJBc3NlcnQgdGhhdCBhIHJlc2V0IG1hdHJpeCBpcyBpZGVudGl0eSIpOworfSwgJ1Ro
aXMgdGVzdCBlbnN1cmVzIHRoYXQgZ2V0VHJhbnNmb3JtIHdvcmtzIGNvcnJlY3RseS4nKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5vcmRlci5odG1sCmluZGV4IDhkMDFiNWFhYzZmY2E5NzAyMWM2Mzk0ZjA5MDM3N2E1MmI4
MTFmY2EuLmFlZDkyYmY1Y2JiODhkNDNhYmIxN2Y5YWU4NTc3MzRmOWI0ZGFjZjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9u
Lm9yZGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVyPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiVHJhbnNmb3Jt
YXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlciIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3
LDYgQEAgY3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIC01MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ub3JkZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5vcmRlci53b3JrZXIuanMKaW5kZXggZTZhYTE2OWVkODVjNjhjZDRhOTU0MmI1Y2NjYzZh
ZDhmNTE2MjRkOC4uNzkwNGZjNDRjZTI1NGJkZjQ4YzZkODFiZTQzNGVmNTY3NWNiZGZjNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBw
bGllZCBpbiB0aGUgcmlnaHQgb3JkZXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5yb3Rh
dGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5k
aXJlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLmRpcmVjdGlvbi5odG1sCmluZGV4IDgxZGZkYWRmODc2MTNkMmI3ZTJhMDQyYjkyNGFmYmI5
NGUxZjAzZWQuLjU3YjI3MDkzNWE3NDU5MDM4MWYxN2NlYzM0N2U3NDUzM2UzMmMwZDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVj
dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLmRpcmVjdGlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgp
IGlzIGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGlzIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYg
QEAgY3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KDAsIC0xMDAsIDUwLCAxMDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi53b3JrZXIuanMKaW5kZXggMzI4Mjk2ZmNl
MTdjMmI2NjRlMTM1MTAwZjdmNTkzMzVlNDUyODkzNC4uNWZjODczNzIyZTI0NmVmNTA3MjkwYWUx
N2U5ZmE3ZmUxYzIzN2Y4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSBpcyBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3
ICsyMiw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKaW5kZXggZmI2YTczZmJmNjEw
NzliYWJmM2I0ZDg1YWFmYjRmNzRkM2U2ZmVlZi4uZTE3OTZjNjY3NWQwZTVhZjU1YmQ2MmNlY2U4
MmQyNzI1NzM1MzIyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25m
aW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0
eC5yb3RhdGUoTmFOKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEw
MCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRl
Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGRiZmRmYzc2YzU3MDI4ZTk4ZDY5
ZTNjNmQxM2FkMjhjOWM0M2ZlZjEuLjBmNTg4MzQ0NzAxMzY3M2VhODNmYjA3NjI0MmY4ZDVlZDgx
NjI4ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgicm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LnJvdGF0ZShOYU4pOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy5odG1sCmluZGV4IDU1YmMyOTMwOTgxMzI5YmQz
ODRiNDY5NWNjYzAxM2EzNGU2MjY3OGQuLjMzYjM1OWUwNTA0YmVkM2NmMTVmODAwODM2MmRiYTRi
ZmI0MzJmNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24ucm90YXRlLnJhZGlhbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5y
b3RhdGUoKSB1c2VzIHJhZGlhbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNseSBp
ZiB0aGlzIGlzIDMuMSBkZWdyZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxS
ZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS5yYWRpYW5zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCmluZGV4IDI0M2VkNWU0NmMxMTE3YmVh
YThiNjBmNGYxYmNmMzc0NTNhYTAwYTYuLjUyMDZjMjA1YmI5ZGNjNzkxMDM5NzVhYmQ2YWJlMDZl
YWYyODY3ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0
eC5yb3RhdGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNseSBpZiB0aGlzIGlzIDMu
MSBkZWdyZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC01
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFw
Lmh0bWwKaW5kZXggOWMxMzMzYTM2MTE2MzAzMDFiYmE0ZjdlNTA4NTk3MzlkY2ZiZjI1MS4uYzA4
MjQyNmUzMGUxOTFiZGMyNDczZmVlODliNjBmNDExODUyZjcxOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRp
b24ucm90YXRlLndyYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXA8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3Jy
ZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJyb3RhdGUoKSB3cmFwcyBsYXJnZSBwb3NpdGl2ZSB2YWx1ZXMgY29ycmVjdGx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyLCAwLDI1
NSwwLDI1NSwgIjk4LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ3LCAwLDI1NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLndyYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKaW5kZXggNWE3YTQxM2E2MmM0NzI2
NzcxNzZmMWI5ZmU2OGUzOTk0MmQxZmFmZC4uZmE1NTNmMDZhNmQ1ZjkxNDU5MDQzZmIyOGI3MTM3
NGRmMDI2MjNhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1
LDAsMjU1LCAiOTgsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDcsIDAsMjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAppbmRleCAxMDhmNmQ4MzA3
ODZhNjUxZDQ5MzZjNWQ4NTVkN2U2NmFmMDZkOWYwLi45MzllYWJjZGU2NTM4NjMzMDgxNWJjZmE3
M2RmOGJkZWM1ZGU1N2YyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLndyYXBuZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0
aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2
YWx1ZXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgd3JhcHMgbGFyZ2UgbmVnYXRpdmUgdmFsdWVzIGNvcnJl
Y3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMiwgMCwyNTUsMCwyNTUsICI5OCwyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0NywgMCwyNTUsMCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLndvcmtl
ci5qcwppbmRleCA1ZDEzYjMyMjRmODEyMTg5NzU5NGZmNmYxYjllNDU3Y2NmODI5ODJmLi5kMDRi
NzlmM2JjNTc0ZDRkMTY2YWEyNzhhNzc3MjYyYzk5NzRiYzllIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndy
YXBuZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHdy
YXBzIGxhcmdlIG5lZ2F0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1LDAsMjU1LCAiOTgsMiIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDcsIDAs
MjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUu
emVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUu
emVyby5odG1sCmluZGV4IDFkMGEzZTRjMDNjYzU1NTVjNDBhOGNhNTljNGY0Zjc5ZTk0NDE1MWMu
LjkzMDgwMjcyM2M5ZmM4MjE4OGUwMDc5YWVmNzZiMzhjNThlY2VlZjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSBieSAwIGRvZXMgbm90aGluZzwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5
IDAgZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgucm90YXRlKDApOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8ud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMK
aW5kZXggNGI2NjRiZTgwYmE1MGY0N2FmYjU4MWViYjdlMjgxMzAyN2FkZTdiNC4uNWVkZjk2NGY2
YzIyNTVmOGZlYzc0MTRjMzUyMzdkMzQ3YmNjZGI2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5IDAgZG9lcyBub3RoaW5nIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCBjdHgucm90YXRlKDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2NhbGUuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2NhbGUuYmFzaWMuaHRtbAppbmRleCAxZjc2MGMxMDE1NjQzMjY1ZTM5ODVkOWE0
NTQzYjNmNDM0NjJmYWY1Li43ZDhjMGY2YjIxYmE2ZDliNjQ2YzhkNDU0ZmM0NDVlYjYwZTBkYmQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3b3JrczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkg
d29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgyLCA0KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDEyLjUpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcwppbmRleCBk
MzVhMzUwY2FhY2FiY2I5OTY4NzI5MTM0NmIyMjc4OTZlMDk3MjI4Li5iYzdiNTA0MmZmZDlmMDky
MDJkM2ZmM2M4NDhkZWE4MjU5ODJlYmE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
Y3R4LnNjYWxlKDIsIDQpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgMTIuNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwy
NTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxh
cmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxh
cmdlLmh0bWwKaW5kZXggNTM4M2I1NGNmODA3ZTRkZGJjMDEwNjZmNTA1M2MzNDMzOGUzNDVjZS4u
ZWJlZjllZjgzY2E0NjdhOTQzMTI0MTVlYmQ4NGZlNzc4MmY1ZWU5OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUubGFyZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2U8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPnNjYWxlKCkgd2l0aCBsYXJnZSBzY2FsZSBmYWN0b3JzIHdvcmtz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+Tm90IHJlYWxseSB0aGF0
IGxhcmdlIGF0IGFsbCwgYnV0IGl0IGhpdHMgdGhlIGxpbWl0cyBpbiBGaXJlZm94LgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMg
d29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgxZTUsIDFlNSk7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcwppbmRleCBh
OTIyNTU0MjA3NzNjOGYyZWRhYWE2NjBjZGVlMTExMDkwNTZhNDZhLi40MTI2ODBlMzhhNDkzMWM0
NDk2YWM1NTVlMDk3YzY0NzNhMGQ0MjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+Tm90IHJlYWxseSB0aGF0IGxhcmdl
IGF0IGFsbCwgYnV0IGl0IGhpdHMgdGhlIGxpbWl0cyBpbiBGaXJlZm94LgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIGxh
cmdlIHNjYWxlIGZhY3RvcnMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zY2Fs
ZSgxZTUsIDFlNSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEsIDEpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBs
ZS5odG1sCmluZGV4IGNlYTcwMzA2ZjQyNzgzOTFjMmI1NzkwZDM3YmU1MGI2NmVmNzkyZWYuLmMw
NmZlNjE0MTI5NzVhMTBjY2U2OTBmZTFjMGYyOTZkMjg4OWFiNTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5z
Zm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11
bHRpcGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NdWx0aXBsZSBzY2FsZSgpcyBjb21iaW5lPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTXVs
dGlwbGUgc2NhbGUoKXMgY29tYmluZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNjYWxl
KE1hdGguc3FydCgyKSwgTWF0aC5zcXJ0KDIpKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDkwLDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUubXVsdGlwbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggMTM0MTE2NmEzZGFmNGU4
NTllZTQxMzQ3NDY1N2NlZWJjYzgzZjQ2My4uOGYxMzA0Y2QxMDE2NTgxMDkyMTY2MjgyZjhmMTMy
MzE2ZTU4YjM4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk11bHRpcGxlIHNjYWxlKClzIGNvbWJpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2
IEBAIGN0eC5zY2FsZShNYXRoLnNxcnQoMiksIE1hdGguc3FydCgyKSk7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwKaW5kZXggNDg4MTM4M2ZkOGNk
MWM2OGE4MWIyZjE4YTFiYTU5NjcwZDM4MjFiNy4uMmExODc5Mjc0MWU0NDQ4NWUxNWU5YTE3MTk3
ODZhOTI4YjNkMTliOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5zY2FsZS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnNjYWxlKCkgd2l0aCBuZWdhdGl2ZSBzY2FsZSBmYWN0b3JzIHdvcmtzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRo
IG5lZ2F0aXZlIHNjYWxlIGZhY3RvcnMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0
eC5maWxsUmVjdCg1MCwgLTUwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVn
YXRpdmUud29ya2VyLmpzCmluZGV4IDI3ZDZkZTBjNTMwNGMzMmRiZmI0MTAzY2NlYzAxN2Q5MTBj
MThkZDguLmQ2OTdhMjU4NTZiYjkwZjY1NmZhNGQwMjA4NTMxMTc5MjYwOWFiMmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdp
dGggbmVnYXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAg
Y3R4LmZpbGxSZWN0KDUwLCAtNTAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZp
bml0ZS5odG1sCmluZGV4IDdmZmEzMDIzMjMzM2U0Yjg1N2YwMjk4YzMyNDY4MDViNGRkYWZlYjIu
LjE0NDMzNWUzY2YxYWU5NTM0ZTVhZDFjMTZlYjY5ODkzNmFiOTBlMWUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5p
dGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNj
YWxlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjksNyArMzMsNiBAQCBjdHguc2NhbGUoSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndv
cmtlci5qcwppbmRleCBmODk5NTBmZTZlMTJhYzE2M2FiYmYxMDI5Njg5NzE1ZGU0ZTgwNmExLi45
ZGNjYWRiYWM4YjM5YzU5ZjA0ZWRmZTdmYzMwNGEyMGY5MDAxMWViIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25m
aW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5zY2FsZShJ
bmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNj
YWxlLnplcm8uaHRtbAppbmRleCAwOTJiYTg2ZDNmOWE5ZGQyMjU5YTU0N2VjMzUyMmE4YmExMzFi
NjU1Li45NWFhNWI5N2E0YmM5ZmMyODg0YTIwMmE5NWY5MWYyYzVjYzlkYTk4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNm
b3JtYXRpb24uc2NhbGUuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdpdGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3
b3JrczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInNjYWxlKCkgd2l0aCBhIHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdvcmtzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzEsNyArMzUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnNjYWxlLnplcm8ud29ya2VyLmpzCmluZGV4IDI1NTkzNTdkYjAwMzRkYmRlNGIyNjg3
MDdmYTYxMDc0YTJjYzU5MGYuLjZiYmZiMjVjMjIzMTM1Y2JlZTFhMGEyYmQxNjdiMjAwZmYzYTI5
ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2Nh
bGUuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUo
KSB3aXRoIGEgc2NhbGUgZmFjdG9yIG9mIHplcm8gd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFu
c2Zvcm0ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLmh0bWwKaW5kZXggNjY2YjRjNTRhMzJmMjdkY2U4MTc4
NzYyMzM1OTE1YTk1NWJmMmEyYS4uODdlZWU0MzVlYjRmNzRlNTk4MDFkNTAxMDBmODNlMGY2NTc3
ZjdiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
ZXRUcmFuc2Zvcm0ubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zZXRU
cmFuc2Zvcm0oMiwwLCAwLDIsIDAsMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwz
NSwgMCwyNTUsMCwyNTUsICI3NSwzNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNl
dFRyYW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggODM1MzAx
NjI0YWUwMGIxN2VhNWRjZDk1YmNmZDJhMzk3MDdiMmRjYi4uNTUyYjFmOTM0NWE3ODA1ODQ3M2U3
NzliOTAxZTA5MDFiMzNjNTNhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCBjdHguc2V0VHJhbnNmb3JtKDIsMCwgMCwyLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMzUsIDAsMjU1LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbAppbmRleCBmY2E1
ZDVkZjkxOWI3ZGU0OTVmOGEwZjZmMWVmMzVjNTI1M2FhYTk2Li40NmRkNTY1YTY4MjNiNmFhZmRk
NjVmNmUzNDNlMTNlYmYyYzg3N2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNm
b3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5z
ZXRUcmFuc2Zvcm0ubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zZXRUcmFuc2Zvcm0o
KSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2V0VHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk3LDcgKzEwMSw2IEBAIGN0eC5zZXRUcmFuc2Zv
cm0oMCwgMCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUud29y
a2VyLmpzCmluZGV4IDEyY2RiY2E5MjNiMWRmNmMxMTEwYTRhNWQyODZkMDkzYWY4MTlkYTQuLmNj
ODI2MzM1MjM4ZjUxNDA4MGRmZTM0OTQ3NTg1MDM3MmE3N2I1MjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2V0
VHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTkzLDcg
Kzk3LDYgQEAgY3R4LnNldFRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2Vk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9y
bS5za2V3ZWQuaHRtbAppbmRleCBkMzY1MDJkM2Q1OWIzMGY1ZjhlNzZkY2YzZDdjYjM3NWRiMjFi
NzdjLi42YzkxMWY4YTliYjcyMGZmZThhNmU2NDA2NWI1M2Q5OWM0NGVkOTAyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRy
YW5zZm9ybS5za2V3ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC00NCw3ICs0OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5
LDE5LCAwLDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAi
MzksMzEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYx
LDMxLCAwLDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
c2V0VHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCmluZGV4IDZkNzI4YmZm
Mzg4MGQ3YjM1NzliNTRmNDU0YjRmMzY5YzYzM2ZiOTAuLmY3MzFlY2RjYWIwZTFiYjViOWE1OWNk
ZDJmNDU3MjFhNzFiZDI0Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsNyArNDQsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwxOSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1
LDAsMjU1LCAiNjEsMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDM5LDMxLCAwLDI1NSwwLDI1NSwgIjM5LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwzMSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRt
bAppbmRleCBiNTg5MGMxMGYyYWRlZGU4ZGZhY2FmOTM3NWVkYzUwZGUyY2FkNWFiLi41MDYzOTU5
YzhjMjZjOGQ5ZDM1ZWNlYmIxMWRiNTU1ZThmN2IwZDYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0uaWRlbnRpdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5zZm9ybSgpIHdpdGgg
dGhlIGlkZW50aXR5IG1hdHJpeCBkb2VzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIHRoZSBpZGVu
dGl0eSBtYXRyaXggZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJh
bnNmb3JtKDEsMCwgMCwxLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJh
bnNmb3JtLmlkZW50aXR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lndvcmtlci5qcwppbmRleCAxNjZmYzViNGI4NGU3
YzgzM2NhOWI3OGJiY2U4ZWJkNzMzNDRlYWExLi42YjVmYmRhZGY0NDhmOGZmYjM4MzQzMDRkNDk4
MWExMmIwNjg3NjBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIHRoZSBpZGVudGl0eSBtYXRyaXgg
ZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgudHJhbnNmb3JtKDEsMCwg
MCwxLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRp
cGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9y
bS5tdWx0aXBseS5odG1sCmluZGV4IDFjNmQxNjYxZGI1NmFlNjAwNjdlZjM2NTJiYmIxY2JhNDNl
NTkxOTIuLmQzNmE1MzkwZTAyNDdmZmQ3YzUyNzdkYjI4ODg4MjNiZDJhMjYxYmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRp
cGx5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFu
c2Zvcm0ubXVsdGlwbHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJh
bnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RN
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgudHJhbnNmb3JtKC0yLDEsIDMvMiwtMS8yLCAx
LC0yKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9y
bS5tdWx0aXBseS53b3JrZXIuanMKaW5kZXggZjAxZDNkOTkyZmRlNWYyZThiZTkwYzY3OGQwMjQy
NTlmMGZmZTQzNy4uZjYxM2YzMjhhODk2Zjc5MGFjYjI4NmQ3ZDdjNTU3MWQwM2ZiMmY3MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0u
bXVsdGlwbHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgidHJhbnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCBjdHgudHJhbnNmb3JtKC0yLDEsIDMvMiwtMS8yLCAxLC0yKTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCmluZGV4IDIwNzFj
NzNkOGYxYzZkZmQyN2FjYmM0NGRiN2VlMDdkNzNjM2RmODQuLmM4ZjI3Yjg3NGFmNGVlNWUwODMx
MGIzZDcwMDI4OWQxNDM2ZGQzY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5u
b25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkv
TmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtOTcsNyArMTAxLDYgQEAgY3R4LnRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAw
LCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zv
cm0ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggMWVlMzY1OTYyOGM5NzBl
MTk2ZGViZDFiYTBiYjdhM2Y4MjliOTE4Yi4uYjA2MmNhOWNiOGM0NTc4MTcwM2YwZDFkYTY4NTgz
MWEzYmZjNzdiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtOTMsNyArOTcsNiBAQCBjdHgudHJhbnNmb3JtKDAsIDAsIDAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zZm9ybS5za2V3ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLnNrZXdlZC5odG1sCmluZGV4IDgzNzY5ZTAzNDQ2NjNkOTRmNTRmYjFjNjY0
NjQ3NjA2ZjllOTYwNTAuLmM2OTFhYTUwNDExYzAyZWMyZWRkYzdhYjgwYjRlMTk1OGQwOTY4MDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLnNrZXdlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLnNrZXdlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRy
YW5zZm9ybSgpIHdpdGggc2tld3kgbWF0cml4IHRyYW5zZm9ybXMgY29ycmVjdGx5PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3Jt
KCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NCw3
ICs0OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1NSwwLDI1
NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1NSwwLDI1
NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdl
ZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
Zm9ybS5za2V3ZWQud29ya2VyLmpzCmluZGV4IGI4YWU4M2ZkYTdkM2RiZGRhZDdmZDI2MjI2NTZk
YjJmZjI4ZjFmNzMuLjcyNmZiYTc4NzdmZWQ0ZWRiMzA4NWZiMjhkMGFmYTAxZDBmNzQ5NDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3Jt
LnNrZXdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
dHJhbnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC00MCw3ICs0NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAw
LDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAw
LDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zbGF0ZS5iYXNpYy5odG1sCmluZGV4IDI5NzhiZTgxNDk1N2UxYjgyMmFlMzY2M2ViODA1OWQz
MDk3MjMwZmYuLjBjZGYyYTFmOWVhYzhhM2U0NGI1YTQwMjY3YzIzYjI2MzE5ZTkxMjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJh
c2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFu
c2xhdGUuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zbGF0ZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNsYXRlKCkg
d29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJ0cmFuc2xhdGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnRyYW5z
bGF0ZSgxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEw
MCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAw
LDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNsYXRlLmJhc2ljLndvcmtlci5qcwppbmRleCBlMDE5YWJiMjVhNTQ1MGU0YzEyNGNi
Nzk4ZmI0Yjg0MzRjYjE4ZDY2Li41ZjZkMDM5M2IxYTVjNTQ5N2I5MjliMzYxOGE0YzVlNzQ0NjQ4
ZjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zbGF0ZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJ0cmFuc2xhdGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnRyYW5z
bGF0ZSgxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEw
MCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAw
LDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwKaW5kZXggMGE5MGY3MjViMzRlYmE1MjhkMDZmYjEy
YzQ2ZGVlNzhkYzM3ODJlOC4uZDJlODdjNWU1YzJjYjc1NmE5NTFiNzM0NzdhNDg0NWMyZjkyN2Nh
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFu
c2xhdGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5p
dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+dHJhbnNsYXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5z
bGF0ZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2
IEBAIGN0eC50cmFuc2xhdGUoSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUud29ya2Vy
LmpzCmluZGV4IGVhMjYxNzgxNTFmZWEwMGFmMjlmYThiYzdmZWI5MzNhM2U5MjQ3MWEuLjMwNTVj
NTg4MDY4NzJjODViYzBiYTI0MWIwNjJlNzE4Yjc1MDA3ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUu
bm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNsYXRlKCkg
d2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4
LnRyYW5zbGF0ZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5sb2cKaW5kZXggNDQ2NmVm
MGU2YzRlNDg3ZjA5ODUyZWY4YjU3ZTQ2NDNmZWE1OTkxNC4uYTk1ZWI4NzFiNTUzZDUxMjgwODVl
MTMwNzQ1Y2YzMGViNTI0Nzk0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zL3czYy1pbXBvcnQubG9nCkBAIC0x
NCw2ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgog
Tm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLm9yZGVyLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LXZlbmRvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCmluZGV4IGNhMGYyOTVlOTNmNGYzY2FiNjQx
YzcxYmZkODFmNzI4YTAwMGUxZWMuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4
YzUzOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCkBAIC0xLDI1NCArMCwwIEBACi0KLWNvbnN0IGlzRGVidWcgPSBmYWxzZTsKLQotZnVuY3Rp
b24gbG9nRGVidWcoY2FsbGJhY2spCi17Ci0gICAgaWYgKGlzRGVidWcpCi0gICAgICAgIGNvbnNv
bGUubG9nKGNhbGxiYWNrKCkpOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaE1vdXNlQWN0aW9ucyhh
Y3Rpb25zKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVk
LiIpKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgc2V0
VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5kcmFnTW9kZSA9IGZhbHNl
OwotCi0gICAgICAgICAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykgewotICAgICAgICAg
ICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2lu
dGVyTW92ZSI6Ci0gICAgICAgICAgICAgICAgICAgIGxldCBvcmlnaW4gPSB7IHg6IDAsIHk6IDAg
fTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBFbGVt
ZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3VuZHMgPSBhY3Rpb24ub3Jp
Z2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgbG9n
RGVidWcoKCkgPT4gYCR7YWN0aW9uLm9yaWdpbi5pZH0gWyR7Ym91bmRzLmxlZnR9LCAke2JvdW5k
cy50b3B9LCAke2JvdW5kcy53aWR0aH0sICR7Ym91bmRzLmhlaWdodH1dYCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBvcmlnaW4ueCA9IGJvdW5kcy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG9yaWdpbi55ID0gYm91bmRzLnRvcCArIDE7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgbG9nRGVidWcoKCkgPT4gYGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKCR7YWN0aW9uLnggKyBvcmlnaW4ueH0sICR7YWN0aW9uLnkgKyBvcmlnaW4ueX0pYCk7
Ci0gICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGFjdGlvbi54ICsg
b3JpZ2luLngsIGFjdGlvbi55ICsgb3JpZ2luLnkpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICBjYXNlICJwb2ludGVyRG93biI6Ci0gICAgICAgICAgICAgICAg
ICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZURvd24oKWApOwotICAgICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oYWN0aW9uLmJ1dHRvbik7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgInBvaW50ZXJVcCI6Ci0g
ICAgICAgICAgICAgICAgICAgIGxvZ0RlYnVnKCgpID0+IGBldmVudFNlbmRlci5tb3VzZVVwKClg
KTsKLSAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcChhY3Rpb24uYnV0dG9u
KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAicGF1
c2UiOgotICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBzaG91bGQgd2UgZG8gaGVy
ZT8KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5r
bm93biBhY3Rpb24gdHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfQotCi1mdW5jdGlvbiBkaXNwYXRjaFRvdWNoQWN0aW9ucyhhY3Rpb25zLCBvcHRpb25z
ID0geyBpbnNlcnRQYXVzZUFmdGVyUG9pbnRlclVwOiBmYWxzZSB9KQotewotICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIgfHwgdHlwZW9mIHdpbmRvdy50ZXN0UnVubmVyLnJ1blVJU2NyaXB0ICE9
PSAiZnVuY3Rpb24iKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cudGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgpIGlzIHVuZGVmaW5lZC4iKSk7Ci0KLSAgICBs
ZXQgeCA9IDA7Ci0gICAgbGV0IHkgPSAwOwotICAgIGxldCB0aW1lT2Zmc2V0ID0gMDsKLSAgICBs
ZXQgcG9pbnRlckRvd24gPSBmYWxzZTsKLSAgICBsZXQgaWQgPSAxOwotCi0gICAgY29uc3QgZXZl
bnRzID0gW107Ci0gICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHsKLSAgICAgICAgY29u
c3QgdG91Y2ggPSB7Ci0gICAgICAgICAgICBpbnB1dFR5cGUgOiAiZmluZ2VyIiwKLSAgICAgICAg
ICAgIGlkLAotICAgICAgICAgICAgeCA6IGFjdGlvbi54LAotICAgICAgICAgICAgeSA6IGFjdGlv
bi55LAotICAgICAgICAgICAgcHJlc3N1cmUgOiAwCi0gICAgICAgIH07Ci0KLSAgICAgICAgY29u
c3QgY29tbWFuZCA9IHsKLSAgICAgICAgICAgIGlucHV0VHlwZSA6ICJoYW5kIiwKLSAgICAgICAg
ICAgIGNvb3JkaW5hdGVTcGFjZSA6ICJjb250ZW50IiwKLSAgICAgICAgICAgIHRvdWNoZXMgOiBb
dG91Y2hdLAotICAgICAgICAgICAgdGltZU9mZnNldAotICAgICAgICB9OwotCi0gICAgICAgIGxl
dCB0aW1lT2Zmc2V0SW5jcmVhc2UgPSAwLjA1OwotCi0gICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5
cGUpIHsKLSAgICAgICAgY2FzZSAicG9pbnRlck1vdmUiOgotICAgICAgICAgICAgdG91Y2gucGhh
c2UgPSAibW92ZWQiOwotICAgICAgICAgICAgaWYgKGFjdGlvbi5vcmlnaW4gaW5zdGFuY2VvZiBF
bGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgYm91bmRzID0gYWN0aW9uLm9yaWdpbi5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB0b3VjaC54ICs9IGJvdW5k
cy5sZWZ0ICsgMTsKLSAgICAgICAgICAgICAgICB0b3VjaC55ICs9IGJvdW5kcy50b3AgKyAxOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBvaW50ZXJE
b3duIjoKLSAgICAgICAgICAgIHBvaW50ZXJEb3duID0gdHJ1ZTsKLSAgICAgICAgICAgIHRvdWNo
LnBoYXNlID0gImJlZ2FuIjsKLSAgICAgICAgICAgIGlmIChhY3Rpb24ueCA9PT0gdW5kZWZpbmVk
KQotICAgICAgICAgICAgICAgIHRvdWNoLnggPSB4OwotICAgICAgICAgICAgaWYgKGFjdGlvbi55
ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgdG91Y2gueSA9IHk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSAicG9pbnRlclVwIjoKLSAgICAgICAgICAgIHBvaW50ZXJE
b3duID0gZmFsc2U7Ci0gICAgICAgICAgICB0b3VjaC5waGFzZSA9ICJlbmRlZCI7Ci0gICAgICAg
ICAgICB0b3VjaC54ID0geDsKLSAgICAgICAgICAgIHRvdWNoLnkgPSB5OwotICAgICAgICAgICAg
aWQrKzsKLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWRkIGEgcGF1c2UgYWZ0ZXIgYSBwb2lu
dGVyIHVwIHRvIGVuc3VyZSB0aGF0IGEgc3Vic2VxdWVudCB0YXAgbWF5IGJlIHJlY29nbml6ZWQg
YXMgc3VjaC4KLSAgICAgICAgICAgIGlmIChvcHRpb25zLmluc2VydFBhdXNlQWZ0ZXJQb2ludGVy
VXApCi0gICAgICAgICAgICAgICAgdGltZU9mZnNldEluY3JlYXNlID0gMC41OwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInBhdXNlIjoKLSAgICAgICAgICAgIHRpbWVPZmZzZXRJ
bmNyZWFzZSA9IGFjdGlvbi5kdXJhdGlvbiAvIDEwMDA7Ci0gICAgICAgICAgICB0b3VjaC5waGFz
ZSA9ICJzdGF0aW9uYXJ5IjsKLSAgICAgICAgICAgIGlmICghcG9pbnRlckRvd24pCi0gICAgICAg
ICAgICAgICAgaWQrKzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24g
dHlwZSAiJHthY3Rpb24udHlwZX0iLmApKTsKLSAgICAgICAgfQotCi0gICAgICAgIHggPSB0b3Vj
aC54OwotICAgICAgICB5ID0gdG91Y2gueTsKLQotICAgICAgICBpZiAoIXBvaW50ZXJEb3duICYm
IHRvdWNoLnBoYXNlID09ICJtb3ZlZCIpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAg
ICB0aW1lT2Zmc2V0ICs9IHRpbWVPZmZzZXRJbmNyZWFzZTsKLQotICAgICAgICBldmVudHMucHVz
aChjb21tYW5kKTsKLSAgICB9Ci0KLSAgICBjb25zdCBzdHJlYW0gPSBKU09OLnN0cmluZ2lmeSh7
IGV2ZW50cyB9KTsKLSAgICBsb2dEZWJ1ZygoKSA9PiBzdHJlYW0pOwotCi0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkg
ewotICAgICAgICAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zZW5kRXZlbnRTdHJlYW0oJyR7
c3RyZWFtfScpIH0pKCk7Ci0gICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7
Ci0gICAgfSkoKTtgLCByZXNvbHZlKSk7Ci19Ci0KLWlmICh3aW5kb3cudGVzdF9kcml2ZXJfaW50
ZXJuYWwgPT09IHVuZGVmaW5lZCkKLSAgICB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwgPSB7
IH07Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5zZW5kX2tleXMgPSBmdW5jdGlvbihl
bGVtZW50LCBrZXlzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5k
ZWZpbmVkLiIpKTsKLQotICAgIC8vIGh0dHBzOi8vc2VsZW5pdW1ocS5naXRodWIuaW8vc2VsZW5p
dW0vZG9jcy9hcGkvcHkvd2ViZHJpdmVyL3NlbGVuaXVtLndlYmRyaXZlci5jb21tb24ua2V5cy5o
dG1sCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIGNhc2VzLgotICAgIC8vIEZJWE1FOiBBZGQgdGhl
IHN1cHBvcnQgZm9yIG1vZGlmaWVyIGtleXMuCi0gICAgY29uc3QgU2VsZW5pdW1DaGFyQ29kZVRv
RXZlbnRTZW5kZXJLZXkgPSB7Ci0gICAgICAgIDB4RTAwMzogJ2RlbGV0ZScsCi0gICAgICAgIDB4
RTAwNDogJ1x0JywKLSAgICAgICAgMHhFMDBEOiAnICcsCi0gICAgICAgIDB4RTAxMjogJ2xlZnRB
cnJvdycsCi0gICAgICAgIDB4RTAxMzogJ3VwQXJyb3cnLAotICAgICAgICAweEUwMTQ6ICdyaWdo
dEFycm93JywKLSAgICAgICAgMHhFMDE1OiAnZG93bkFycm93JywKLSAgICB9OwotCi0gICAgZnVu
Y3Rpb24gY29udmVydFNlbGVuaXVtS2V5Q29kZShrZXkpCi0gICAgewotICAgICAgICBjb25zdCBj
b2RlID0ga2V5LmNoYXJDb2RlQXQoMCk7Ci0gICAgICAgIHJldHVybiBTZWxlbml1bUNoYXJDb2Rl
VG9FdmVudFNlbmRlcktleVtjb2RlXSB8fCBrZXk7Ci0gICAgfQotCi0gICAgY29uc3Qga2V5TGlz
dCA9IFtdOwotICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpCi0gICAgICAgIGtleUxpc3QucHVz
aChjb252ZXJ0U2VsZW5pdW1LZXlDb2RlKGtleSkpOwotCi0gICAgaWYgKHRlc3RSdW5uZXIuaXNJ
T1NGYW1pbHkgJiYgdGVzdFJ1bm5lci5pc1dlYktpdDIpIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KGAKLSAgICAgICAgICAgICAgICBjb25zdCBrZXlMaXN0ID0gSlNPTi5wYXJzZSgnJHtKU09OLnN0
cmluZ2lmeShrZXlMaXN0KX0nKTsKLSAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBr
ZXlMaXN0KQotICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIua2V5RG93bihrZXkpO2As
IHJlc29sdmUpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBmb3IgKGNvbnN0IGtleSBvZiBr
ZXlMaXN0KQotICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7Ci0gICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfQotCi13aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuY2xpY2sg
PSBmdW5jdGlvbiAoZWxlbWVudCwgY29vcmRzKQotewotICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLQotICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJ3
aW5kb3cuZXZlbnRTZW5kZXIgaXMgdW5kZWZpbmVkLiIpKTsKLQotICAgIGlmICh0ZXN0UnVubmVy
LmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5uZXIuaXNXZWJLaXQyKSB7Ci0gICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNj
cmlwdChgCi0gICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHtj
b29yZHMueH0sICR7Y29vcmRzLnl9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
dWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKLSAgICAgICAgICAgICAgICB9KTtgLCBy
ZXNvbHZlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oY29vcmRzLngsIGNvb3Jkcy55KTsKLSAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0KLSAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7
Ci19Ci0KLXdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbC5hY3Rpb25fc2VxdWVuY2UgPSBmdW5j
dGlvbihzb3VyY2VzKQotewotICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIv
I3Byb2Nlc3NpbmctYWN0aW9ucyAgICAKLQotICAgIGxldCBub25lU291cmNlOwotICAgIGxldCBw
b2ludGVyU291cmNlOwotICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSB7Ci0gICAgICAg
IHN3aXRjaCAoc291cmNlLnR5cGUpIHsKLSAgICAgICAgY2FzZSAibm9uZSI6Ci0gICAgICAgICAg
ICBub25lU291cmNlID0gc291cmNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
InBvaW50ZXIiOgotICAgICAgICAgICAgcG9pbnRlclNvdXJjZSA9IHNvdXJjZTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzb3VyY2UgdHlwZSAiJHthY3Rpb24udHlwZX0iLmAp
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghcG9pbnRlclNvdXJjZSkKLSAgICAgICAg
cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBwb2ludGVyIHR5cGUgcG9p
bnRlciB0eXBlICIke2FjdGlvbi5wYXJhbWV0ZXJzLnBvaW50ZXJUeXBlfSIuYCkpOwotCi0gICAg
Y29uc3QgcG9pbnRlclR5cGUgPSBwb2ludGVyU291cmNlLnBhcmFtZXRlcnMucG9pbnRlclR5cGU7
Ci0gICAgaWYgKHBvaW50ZXJUeXBlICE9PSAibW91c2UiICYmIHBvaW50ZXJUeXBlICE9PSAidG91
Y2giKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKGBVbmtub3duIHBv
aW50ZXIgdHlwZSAiJHtwb2ludGVyVHlwZX0iLmApKTsKLQotICAgIC8vIElmIHdlIGhhdmUgYSAi
bm9uZSIgc291cmNlLCBsZXQncyBpbmplY3QgYW55IHBhdXNlIHdpdGggbm9uLXplcm8gZHVyYXRp
b25zIGludG8gdGhlIHBvaW50ZXIgc291cmNlCi0gICAgLy8gYWZ0ZXIgdGhlIG1hdGNoaW5nIGFj
dGlvbiBpbiB0aGUgcG9pbnRlciBzb3VyY2UuCi0gICAgaWYgKG5vbmVTb3VyY2UpIHsKLSAgICAg
ICAgbGV0IGluamVjdGVkQWN0aW9ucyA9IDA7Ci0gICAgICAgIG5vbmVTb3VyY2UuYWN0aW9ucy5m
b3JFYWNoKChhY3Rpb24sIGluZGV4KSA9PiB7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uLmR1cmF0
aW9uID4gMCkgewotICAgICAgICAgICAgICAgIHBvaW50ZXJTb3VyY2UuYWN0aW9ucy5zcGxpY2Uo
aW5kZXggKyBpbmplY3RlZEFjdGlvbnMgKyAxLCAwLCBhY3Rpb24pOwotICAgICAgICAgICAgICAg
IGluamVjdGVkQWN0aW9ucysrOwotICAgICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICB9Ci0K
LSAgICBsb2dEZWJ1ZygoKSA9PiBKU09OLnN0cmluZ2lmeShwb2ludGVyU291cmNlKSk7Ci0KLSAg
ICBpZiAocG9pbnRlclR5cGUgPT09ICJ0b3VjaCIpCi0gICAgICAgIHJldHVybiBkaXNwYXRjaFRv
dWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMpOwotICAgIGlmICh0ZXN0UnVubmVyLmlz
SU9TRmFtaWx5ICYmICJjcmVhdGVUb3VjaCIgaW4gZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBk
aXNwYXRjaFRvdWNoQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlvbnMsIHsgaW5zZXJ0UGF1c2VB
ZnRlclBvaW50ZXJVcDogdHJ1ZSB9KTsKLSAgICBpZiAocG9pbnRlclR5cGUgPT09ICJtb3VzZSIp
Ci0gICAgICAgIHJldHVybiBkaXNwYXRjaE1vdXNlQWN0aW9ucyhwb2ludGVyU291cmNlLmFjdGlv
bnMpOwotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggMWNl
ZTc3NmZhZmQ2MmMxNTdhN2ViYThiNjk3MzJkZjQwMDJlY2YyNi4uOTg4N2Y5ZjcwZDQ2M2VhOWRl
YWYwOTRiZDA0ZTE4NmQ1NjFmMTQxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdzNjLWlt
cG9ydC5sb2cKQEAgLTMwLDUgKzMwLDQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzLmhl
YWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzLmhlYWRlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWNmNmI2OGQwYWU2YzBlMGY4MzA0NzU3ZThhNjdmMzQ0
ZjVhNjNkMC4uZGYyMGNlYTg0OGZiYmVhNmNlNWExYjYyZDI3NTBhN2UwYjcyZGJhMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2LDggKzI2LDEwIEBA
IHN3aXBlIFsgUGFzcyBdCiAjIE9mZnNjcmVlbkNhbnZhcwogd2Via2l0Lm9yZy9iLzIwMzE0NiBm
YXN0L2NhbnZhcy9vZmZzY3JlZW4tZW5hYmxlZC5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2Iv
MjAzMTQ2IGh0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KLSMgU2VlIHdlYmtpdC5v
cmcvYi8yMDU0NDUgYmVmb3JlIGVuYWJsaW5nIHRoaXMgYmFjawotIyB3ZWJraXQub3JnL2IvMjAz
MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcyBbIFBh
c3MgXQord2Via2l0Lm9yZy9iLzIwMzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8xODY3NTkgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQgWyBTa2lwIF0KK3dl
YmtpdC5vcmcvYi8yMDYwNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53
b3JrZXIuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzIwNjA1NSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIuaHRtbCBbIFNraXAgXQog
CiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVj
aWZpYyBkaXJlY3Rvcmllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZmE4MjljZTE1MTYwYjNlY2IxMDQ5OTkyMmNiZjM2Yjg4NzNlMmFmZC4uMDg5Mjkw
MmJhZjg2NmQ1ZDlkYjdmOGE5OTEyNGMxNmVlYzc0OGE4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUsOCArNSwxMCBAQAogIyBPZmZzY3JlZW5DYW52
YXMKIHdlYmtpdC5vcmcvYi8yMDMxNDYgZmFzdC9jYW52YXMvb2Zmc2NyZWVuLWVuYWJsZWQuaHRt
bCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzE0NiBodHRwL3dwdC9vZmZzY3JlZW4tY2FudmFz
IFsgUGFzcyBdCi0jIFNlZSB3ZWJraXQub3JnL2IvMjA1NDQ1IGJlZm9yZSBlbmFibGluZyB0aGlz
IGJhY2sKLSMgd2Via2l0Lm9yZy9iLzIwMzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8yMDMxNDYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMTg2NzU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0IFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMjA2MDU1IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcv
Yi8yMDYwNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1h
Z2Uud29ya2VyLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387341</attachid>
            <date>2020-01-10 09:00:39 -0800</date>
            <delta_ts>2020-01-13 01:41:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205445-20200110170035.patch</filename>
            <type>text/plain</type>
            <size>2579864</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzMwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjkyOGQ3MTZkNjg1NTRmZDlhZGE0
NTA4MDkxNWZlZTBjNjZhYjE0Yi4uMTBjY2VlOGQ2YzA2Njk3MmNkODU2ZmRmMWM3MjYzZjVjNmY1
NzllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEyLTIwICBDaHJpcyBMb3JkICA8Y2xv
cmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNTM2ODMpOiBbR1RLXVtXUEVd
IExvdHMgb2Ygb2Zmc2NyZWVuLWNhbnZhcyBXUFQgdGVzdHMgZmFpbGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwNTQ0NSAtIFVwZGF0ZSBh
bmQgcmUtZW5hYmxlIE9mZnNjcmVlbkNhbnZhcyB0ZXN0cworCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjAtMDEtMDkgIFBhYmxvIFNhYXZlZHJhICA8cHNhYXZlZHJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
dGltZW91dC1vcmRlci5hbnkuaHRtbCBoYXMgYmVlbiBmbGFreSBzaW5jZSBpdCB3YXMgaW1wb3J0
ZWQgaW4gcjI1NDE1NApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggODVjY2ZhNWNh
NDc2N2I0M2FmMzdhODE1N2M3MDhhNzAwNDlhYWY1Yi4uYmNiZDc5ZmUzM2NjYmIxNjE0MTcxZjQ4
ZTUzYWY4YTZiM2Q5YTlhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTktMTItMjAgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04ocjI1MzY4Myk6IFtHVEtdW1dQRV0gTG90cyBvZiBvZmZzY3JlZW4t
Y2FudmFzIFdQVCB0ZXN0cyBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU0NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBCdWcgMjA1NDQ1IC0gVXBkYXRlIGFuZCByZS1lbmFibGUgT2Zmc2Ny
ZWVuQ2FudmFzIHRlc3RzCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvKjogVXBkYXRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy8qOiBVcGRhdGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvKjogVXBkYXRlZC4KKwog
MjAyMC0wMS0wOSAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1h
Z2VCaXRtYXAgY2FuJ3QgYmUgY3JlYXRlZCBpbiB3b3JrZXJzIGluIHNvbWUgY2FzZXMgZHVlIHRv
IG1haW4tdGhyZWFkIGFzc2VydCBpbiBJbWFnZVNvdXJjZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpp
bmRleCAxZjRlMGU2YjRmNzI2ODRiY2ZmNGFkY2NlMDAzYTU3OTlkZjgzMTYyLi5iMDZiOTFmNTA2
ODFhN2IzNDdhYjM5OWZlMmFhZmUyZDg3MTFhMzM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpA
QCAtMTYsNiArMTYsNyBAQAogICAgICJ0b29scyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzLzJkY29udGV4dCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
LzJkY29udGV4dC9pbWFnZWJpdG1hcCI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzLzJkY29udGV4dC9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy8yZGNvbnRleHQvdHJhbnNmb3JtYXRpb25zL2NhbnZhc190cmFuc2Zvcm1hdGlvbnNfcmVz
ZXRfMDAxLXJlZi5odG1sIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvMmRj
b250ZXh0L3RyYW5zZm9ybWF0aW9ucy9jYW52YXNfdHJhbnNmb3JtYXRpb25zX3Jlc2V0XzAwMS5o
dG1sIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvRE9NLXBhcnNpbmciOiAi
c2tpcCIsIApAQCAtMjc2LDYgKzI3Nyw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odHRw
IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlLWRlY29kZXMiOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dCI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcyI6ICJpbXBvcnQi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2luZnJhc3RydWN0dXJlIjogImltcG9ydCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW5uZXJUZXh0IjogImltcG9ydCIsIAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvaW5wdXQtZXZlbnRzIjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvTUVUQS55
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjAzYmZjNThkN2RjOTBlODBhZjE2ZDFhN2U3ODYxN2FmYzFhYmU1MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL01FVEEueW1sCkBAIC0wLDAgKzEsMyBAQAorc3VnZ2VzdGVkX3Jldmlld2Vy
czoKKyAgLSB6cXpoYW5nCisgIC0gZ3NuZWRkZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9PV05FUlMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9PV05FUlMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZjc4MjY2YzQ3ZDRjZDQ4YWMxNWFiYzU1MGU1YTU5MDY0
MjQxN2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvT1dORVJTCisr
KyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1AenF6aGFuZwotQHRhZ2F3YQotQGdzbmVkZGVy
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvYmx1ZS1wbmctY2FjaGFibGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lODc5NzUzNDNmNjk3MjY3Y2E3MjRmODNmMjE1ZWU5Y2VhZTM1ZDNkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMv
Ymx1ZS1wbmctY2FjaGFibGUucHkKQEAgLTAsMCArMSwxMyBAQAoraW1wb3J0IG9zCitpbXBvcnQg
dGltZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICIiIlNlcnZlcyB0aGUgY29u
dGVudHMgaW4gYmx1ZS5wbmcgYnV0IHdpdGggYSBDYWNoZS1Db250cm9sIGhlYWRlci4KKworICBF
bWl0cyBhIENhY2hlLUNvbnRyb2wgaGVhZGVyIHdpdGggbWF4LWFnZSBzZXQgdG8gMWggdG8gYWxs
b3cgdGhlIGJyb3dzZXIKKyAgY2FjaGUgdGhlIGltYWdlLiBVc2VkIGZvciB0ZXN0aW5nIGJlaGF2
aW9ycyBpbnZvbHZpbmcgY2FjaGluZyBsb2dpY3MuCisgICIiIgorICBpbWFnZV9wYXRoID0gb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJibHVlLnBuZyIpCisgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm1heC1hZ2U9MzYwMCIpCisgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAiaW1hZ2UvcG5nIikKKyAgcmVzcG9uc2Uu
Y29udGVudCA9IG9wZW4oaW1hZ2VfcGF0aCwgbW9kZT0ncmInKS5yZWFkKCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NhbnZh
cy1saW5lLnBuZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL2NhbnZhcy1saW5lLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBm
OGY0NTQwNTYwOTM5ZTEyOTVjY2NiMGM2NjViOWNlZDkwOGFkNC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKbGl0ZXJhbCA1MDIKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlWQUtKIXIqU1g9JD04
LWp0dzQmZ0lMT19KVmNqe0ltcH4zQGZrJEw5CnowfFUxKDJzMUx3bmotLWVXSDBnYmIhRVQ5Q0NZ
MG9sayt6RDNRJFAwIzVKUENJWF5jeUhMcnhoeGhPVFVCc0UyJAp6SmhMUTIhUUluMEFpUi1KOUI2
UXxyO0I0cSNqVXMzNHt8bSoyKFVRJXBRJWl+a3p3OXEkU1F3R0dvO252TFZ1KHUKelUmOCMkRURC
Qm5pblBOJl9OP0IkX0NyOVpXYUQ/YElnOzgzK19YREk1MiYqVUdBUnVWWnNQRHxwby1Oa19qZlVW
ClhiPzVva3FXaX1SNyQqIyN1NnsxLW9EIU08K0lVKW4KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jbGVhci0xMDB4NTAucG5n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY2xl
YXItMTAweDUwLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWVkZDBmZjA1ODg5ZmZkNDQ2OGJmMTlhMmU4ZTll
MGEwOTQyMDFjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTcKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB2cF5ETGB6KiEzSEUobmJ6JENRZnhgeT9rKWBmTDIkdnw8JiVMVFRBblZCCnVBcio3cDkl
U1NOQCh3TmQ/d2B3Tno1dktYMlJ9XndmKjJVMytJTCtDJCN9WkB4dlg8YVhhV0VkJktxX0IKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NvbG9ycy5zdmcgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMuc3ZnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAyNGRlODRhNWJiYWMwNWYwZDg3OGM5OTRiYjQ1ZDEyZmE0MTY0NmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9j
b2xvcnMuc3ZnCkBAIC0wLDAgKzEsMTEgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIKKyAgICAgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+CisgIDxzdHlsZT51c2U6bm90KDp0YXJn
ZXQpIHsgZGlzcGxheTogbm9uZTsgfTwvc3R5bGU+CisgIDxkZWZzPgorICAgIDxyZWN0IGlkPSJn
cmVlbi1ib3giIGZpbGw9IiMwMGZmMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiLz4KKyAgICA8
cmVjdCBpZD0icmVkLWJveCIgZmlsbD0iI2ZmMDAwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIv
PgorICA8L2RlZnM+CisgIDx1c2UgaWQ9ImdyZWVuIiB4bGluazpocmVmPSIjZ3JlZW4tYm94Ii8+
CisgIDx1c2UgaWQ9InJlZCIgeGxpbms6aHJlZj0iI3JlZC1ib3giLz4KKzwvc3ZnPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMv
ZnlpLWxvZ28vZnlpX2NvbG9yLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xvci5zdmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzYw
Mzg3ODkyYWYwOTE5NDhhNTBhMmRkZTg1MDE3NTRjZjZhZmM5MQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1s
b2dvL2Z5aV9jb2xvci5zdmcKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4x
LjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4K
KzxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0i
MHB4IiB5PSIwcHgiCisgICAgIHZpZXdCb3g9IjAgMCA0NDAgNDQwIiBzdHlsZT0iZW5hYmxlLWJh
Y2tncm91bmQ6bmV3IDAgMCA0NDAgNDQwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICAuc3Qwe2ZpbGw6IzdFRDJFRTt9CisgIC5zdDF7ZmlsbDojMDAz
QzU3O30KKzwvc3R5bGU+Cis8Zz4KKyAgPHJlY3QgeD0iNjEuMiIgeT0iMjU1LjMiIGNsYXNzPSJz
dDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgPHBhdGggY2xhc3M9InN0MSIgZD0i
TTE1OS4zLDEwMy44Yy0yOC41LDAtNTEuNywyMy4yLTUxLjcsNTEuN1YyODRIMTM4di02MC41aDI4
LjZ2LTMwLjRIMTM4di0zNy41YzAtMTEuOCw5LjYtMjEuNCwyMS40LTIxLjQKKyAgICBjMTEuNSww
LDIwLjgsOS4xLDIxLjMsMjAuNGgzMC40QzIxMC42LDEyNi41LDE4Ny42LDEwMy44LDE1OS4zLDEw
My44eiIvPgorICA8cmVjdCB4PSIzMDIiIHk9IjEyNi4zIiBjbGFzcz0ic3QxIiB3aWR0aD0iMzAu
NCIgaGVpZ2h0PSIyOC4zIi8+CisgIDxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMzAyLjEs
MTc2LjEgMzAxLjksMjg0IDMzMi4zLDI4NCAzMzIuNCwxNzYuMSIvPgorICA8cGF0aCBjbGFzcz0i
c3QxIiBkPSJNMjg0LjEsMjA4LjRsMC0xNS41bDAtMWwwLTE1LjhoLTMwLjRsLTAuMSwzMy44Yy0w
LjgsMTEuMS0xMC4xLDE5LjktMjEuMywxOS45Yy0xMS44LDAtMjEuNC05LjYtMjEuNC0yMS40Cisg
ICAgdi0zMi4zaC0zMC40djMyLjNjMCwyOC41LDIzLjIsNTEuNyw1MS43LDUxLjdjNi45LDAsMTMu
Ni0xLjMsMTkuOS00bDEuMy0wLjZsMCwyMy4xaDAuMnY1LjhjMCwxMS44LTkuNiwyMS40LTIxLjQs
MjEuNAorICAgIGMtMTEuNSwwLTIwLjgtOS4xLTIxLjMtMjAuNGgtMzAuNGMwLjUsMjguMSwyMy41
LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43LTIzLjIsNTEuNy01MS43di0zLjhIMjg0bDAuMS02
OS45CisgICAgQzI4NC4xLDIwOS45LDI4NC4xLDIwOS4xLDI4NC4xLDIwOC40eiIvPgorPC9nPgor
PC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfY29sb3JfYmcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yX2Jn
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NDg2NGI1YzJjMjU5ZDJkNDk0ZjdjY2E2YjdlNGJmNjJjZTQ2YTVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yX2JnLnN2ZwpAQCAtMCwwICsxLDI2IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBHZW5lcmF0b3I6
IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNp
b246IDYuMDAgQnVpbGQgMCkgIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKKyAgIHZpZXdCb3g9IjAgMCA0NDAu
NyA0NDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MC43IDQ0MDsiIHhtbDpz
cGFjZT0icHJlc2VydmUiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgLnN0MHtmaWxsOiMw
MDNDNTc7fQorICAuc3Qxe2ZpbGw6IzdFRDJFRTt9CisgIC5zdDJ7ZmlsbDojRkZGRkZGO30KKzwv
c3R5bGU+Cis8Zz4KKyAgPGc+CisgICAgPHJlY3QgeD0iMCIgY2xhc3M9InN0MCIgd2lkdGg9IjQ0
MCIgaGVpZ2h0PSI0NDAiLz4KKyAgPC9nPgorICA8Zz4KKyAgICA8cmVjdCB4PSI2MS4yIiB5PSIy
NTUuMyIgY2xhc3M9InN0MSIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwYXRo
IGNsYXNzPSJzdDIiIGQ9Ik0xNTkuMywxMDMuOGMtMjguNSwwLTUxLjcsMjMuMi01MS43LDUxLjdW
Mjg0SDEzOHYtNjAuNWgyOC42di0zMC40SDEzOHYtMzcuNWMwLTExLjgsOS42LTIxLjQsMjEuNC0y
MS40CisgICAgICBjMTEuNSwwLDIwLjgsOS4xLDIxLjMsMjAuNGgzMC40QzIxMC42LDEyNi41LDE4
Ny42LDEwMy44LDE1OS4zLDEwMy44eiIvPgorICAgIDxyZWN0IHg9IjMwMiIgeT0iMTI2LjMiIGNs
YXNzPSJzdDIiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8cG9seWdvbiBjbGFz
cz0ic3QyIiBwb2ludHM9IjMwMi4xLDE3Ni4xIDMwMS45LDI4NCAzMzIuMywyODQgMzMyLjQsMTc2
LjEiLz4KKyAgICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjg0LjEsMjA4LjRsMC0xNS41bDAtMWww
LTE1LjhoLTMwLjRsLTAuMSwzMy44Yy0wLjgsMTEuMS0xMC4xLDE5LjktMjEuMywxOS45Yy0xMS44
LDAtMjEuNC05LjYtMjEuNC0yMS40CisgICAgICB2LTMyLjNoLTMwLjR2MzIuM2MwLDI4LjUsMjMu
Miw1MS43LDUxLjcsNTEuN2M2LjksMCwxMy42LTEuMywxOS45LTRsMS4zLTAuNmwwLDIzLjFoMC4y
djUuOGMwLDExLjgtOS42LDIxLjQtMjEuNCwyMS40CisgICAgICBjLTExLjUsMC0yMC44LTkuMS0y
MS4zLTIwLjRoLTMwLjRjMC41LDI4LjEsMjMuNSw1MC44LDUxLjcsNTAuOGMyOC41LDAsNTEuNy0y
My4yLDUxLjctNTEuN3YtMy44SDI4NGwwLjEtNjkuOQorICAgICAgQzI4NC4xLDIwOS45LDI4NC4x
LDIwOS4xLDI4NC4xLDIwOC40eiIvPgorICA8L2c+Cis8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1s
b2dvL2Z5aV9tb25vY2hyb21hdGljLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljLnN2ZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZGUyNzU5NzJiMzNjNTcxMzhlYTA4NmFlYjI4MjYxZDhiYmY3NDNmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnCkBAIC0wLDAgKzEsMTggQEAKKzw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIEdlbmVyYXRvcjogQWRv
YmUgSWxsdXN0cmF0b3IgMjIuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjog
Ni4wMCBCdWlsZCAwKSAgLS0+Cis8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgorICAgdmlld0JveD0iMCAwIDQ0MCA0NDAi
IHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MCA0NDA7IiB4bWw6c3BhY2U9InBy
ZXNlcnZlIj4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSI2MS4yIiB5PSIyNTUuMyIgd2lkdGg9
IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwYXRoIGQ9Ik0xNTkuMywxMDMuOGMtMjguNSww
LTUxLjcsMjMuMi01MS43LDUxLjdWMjg0SDEzOHYtNjAuNWgyOC42di0zMC40SDEzOHYtMzcuNWMw
LTExLjgsOS42LTIxLjQsMjEuNC0yMS40CisgICAgICBjMTEuNSwwLDIwLjgsOS4xLDIxLjMsMjAu
NGgzMC40QzIxMC42LDEyNi41LDE4Ny42LDEwMy44LDE1OS4zLDEwMy44eiIvPgorICAgIDxyZWN0
IHg9IjMwMiIgeT0iMTI2LjMiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8cG9s
eWdvbiBwb2ludHM9IjMwMi4xLDE3Ni4xIDMwMS45LDI4NCAzMzIuMywyODQgMzMyLjQsMTc2LjEg
ICAgICIvPgorICAgIDxwYXRoIGQ9Ik0yODQuMSwyMDguNGwwLTE1LjVsMC0xbDAtMTUuOGgtMzAu
NGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5LjljLTExLjgsMC0yMS40LTku
Ni0yMS40LTIxLjR2LTMyLjNoLTMwLjQKKyAgICAgIHYzMi4zYzAsMjguNSwyMy4yLDUxLjcsNTEu
Nyw1MS43YzYuOSwwLDEzLjYtMS4zLDE5LjktNGwxLjMtMC42bDAsMjMuMWgwLjJ2NS44YzAsMTEu
OC05LjYsMjEuNC0yMS40LDIxLjQKKyAgICAgIGMtMTEuNSwwLTIwLjgtOS4xLTIxLjMtMjAuNGgt
MzAuNGMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43LTIzLjIsNTEuNy01
MS43di0zLjhIMjg0bDAuMS02OS45CisgICAgICBDMjg0LjEsMjA5LjksMjg0LjEsMjA5LjEsMjg0
LjEsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21v
bm9jaHJvbWF0aWNfYmcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWNfYmcuc3ZnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk0YzgyZDMxYTI3ZGMwZDlhYjM4ZjkxNTc0YzEwYzQ3MDhkZWUwZGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpY19iZy5zdmcKQEAgLTAsMCArMSwyNCBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9i
ZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2
LjAwIEJ1aWxkIDApICAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCisgICB2aWV3Qm94PSIwIDAgNDQwLjcgNDQw
IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NDAuNyA0NDA7IiB4bWw6c3BhY2U9
InByZXNlcnZlIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIC5zdDB7ZmlsbDojRkZGRkZG
O30KKzwvc3R5bGU+Cis8Zz4KKyAgPGc+CisgICAgPHJlY3QgeD0iMC4zIiB3aWR0aD0iNDQwIiBo
ZWlnaHQ9IjQ0MCIvPgorICA8L2c+CisgIDxnPgorICAgIDxyZWN0IHg9IjYxLjUiIHk9IjI1NS4z
IiBjbGFzcz0ic3QwIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBhdGggY2xh
c3M9InN0MCIgZD0iTTE1OS43LDEwMy44Yy0yOC41LDAtNTEuNywyMy4yLTUxLjcsNTEuN1YyODRo
MzAuNHYtNjAuNWgyOC42di0zMC40aC0yOC42di0zNy41YzAtMTEuOCw5LjYtMjEuNCwyMS40LTIx
LjQKKyAgICAgIGMxMS41LDAsMjAuOCw5LjEsMjEuMywyMC40aDMwLjRDMjEwLjksMTI2LjUsMTg3
LjksMTAzLjgsMTU5LjcsMTAzLjh6Ii8+CisgICAgPHJlY3QgeD0iMzAyLjMiIHk9IjEyNi4zIiBj
bGFzcz0ic3QwIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBvbHlnb24gY2xh
c3M9InN0MCIgcG9pbnRzPSIzMDIuNCwxNzYuMSAzMDIuMiwyODQgMzMyLjYsMjg0IDMzMi44LDE3
Ni4xICAgICAiLz4KKyAgICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjg0LjUsMjA4LjRsMC0xNS41
bDAtMWwwLTE1LjhoLTMwLjRsLTAuMSwzMy44Yy0wLjgsMTEuMS0xMC4xLDE5LjktMjEuMywxOS45
Yy0xMS44LDAtMjEuNC05LjYtMjEuNC0yMS40CisgICAgICB2LTMyLjNIMTgxdjMyLjNjMCwyOC41
LDIzLjIsNTEuNyw1MS43LDUxLjdjNi45LDAsMTMuNi0xLjMsMTkuOS00bDEuMy0wLjZsMCwyMy4x
aDAuMnY1LjhjMCwxMS44LTkuNiwyMS40LTIxLjQsMjEuNAorICAgICAgYy0xMS41LDAtMjAuOC05
LjEtMjEuMy0yMC40SDE4MWMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43
LTIzLjIsNTEuNy01MS43di0zLjhoLTAuMmwwLjEtNjkuOQorICAgICAgQzI4NC40LDIwOS45LDI4
NC41LDIwOS4xLDI4NC41LDIwOC40eiIvPgorICA8L2c+Cis8L2c+Cis8L3N2Zz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5
aS1sb2dvL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTlj
ZjBlYjY0NTI5NzlkNjAwNjRhYjcyMzNmNGNkY2NlZDcwZDk0MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1s
b2dvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xv
ci5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy9meWktbG9nby9meWlfY29sb3JfYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxv
Z28vZnlpX21vbm9jaHJvbWF0aWNfYmcuc3ZnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5Ni5zdmcgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5
Ni5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmRhZmZkOTIwZGM3MzYyM2MwZDhmMTE4OGFlMTdjMjFkNTNlYzJh
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTk2eDk2LnN2ZwpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iOTYiIGhlaWdodD0iOTYiPgor
ICA8cmVjdCBmaWxsPSJsaW1lIiB3aWR0aD0iOTYiIGhlaWdodD0iOTYiLz4KKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZwppbmRleCBlNmY0NGNjMGMyM2Q0Yzg5MTk4ODUx
ODkzMTMyZDA1Y2I1ZTE5MTZmLi5hMzI3NmQzNmVjYTlhNmU3ZDhiZWJlZTJmMmZhYjQzYzk3M2Jl
NGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAK
IFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
CiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNCw3ICsxNCw3IEBA
IFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2VzL09XTkVSUworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYW5pbS1nci5naWYKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9hbmltLWdyLnBuZwogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2FuaW0tcG9zdGVy
LWdyLnBuZwpAQCAtMjMsMTAgKzIzLDEyIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmxhY2stcmVjdGFuZ2xlLnBu
ZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Js
dWUtYXJlYS5wbmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy9ibHVlLWJvcmRlci5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weQogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUucG5nCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmx1ZTk2eDk2LnBuZwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Jyb2tl
bi5wbmcKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy9jYW52YXMtbGluZS5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9jbGVhci0xMDB4NTAucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY29sb3JzLnN2ZwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2ZhaWwuZ2lmCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ2dyci0yNTZ4MjU2LnBuZwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVu
LTEwMHg1MC5wbmcKQEAgLTM0LDYgKzM2LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi0xeDEucG5nCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4t
MjU2eDI1Ni5wbmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy9ncmVlbi0yeDIucG5nCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4tOTZ4OTYuc3ZnCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4ucG5nCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4uc3ZnCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3Jnci0yNTZ4MjU2LnBu
ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvd3B0LWxvZ28vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93M2MtaW1wb3J0LmxvZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jOTNiNDAzMjRiNWFjYjc1NmNiNjY2MmUzNWNjZWViOWMyOTg1ZWMzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvd3B0LWxvZ28vdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxv
Z28vd3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxv
Z28vd3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLW9yYW5nZS1iZy5zdmcK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQt
bG9nby93cHQtbG9nby13aGl0ZS5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmtibHVl
LWJnLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1h
Z2VzL3dwdC1sb2dvL3dwdC1sb2dvLWRhcmtibHVlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWYzNzRj
MDBjZDEzNThmNDQ2YTQzNjEyMjk0MWEwZDQwYjkwOTM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28v
d3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjIgNzYyIj4KKzxyZWN0IHg9
IjAiIHk9IjAiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSI3NjIiIGhlaWdodD0iNzYyIi8+Cis8cmVj
dCB4PSIxODMuOSIgeT0iNTExLjQiIGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIyMDEuNSIgaGVpZ2h0
PSIzOCIvPgorPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTUwNC45LDU0OS40YzM3LjMsMCw2Ny42
LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2
LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42CitWMjg3LjRoLTM4djU2LjVoLTUxLjl2LTkyLjZoMTEy
LjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0
MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK2MwLTQ2LjUtMzcuOC04NC4zLTg0LjMtODQuM0gzNjYu
NGMtMTAuNSwwLTE5LDguNS0xOSwxOVYzODZsLTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2
LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQKK2wtNDYuMiw3OS4yVjIxMy40aC0zOHYyNDIu
N2MwLDguNiw1LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0x
MTEuOEwzNTAsNDY1LjdjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1
LTAuN2M4LjMtMi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEM0MzcuMyw1MTkuMSw0
NjcuNiw1NDkuNCw1MDQuOSw1NDkuNHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxv
Z28tZGFya2JsdWUuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUuc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJk
YjA3ZGE3ODk0MzQ5MjlkMmZlZTlhOTljNjcwODhlODExOWNhNGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQt
bG9nby93cHQtbG9nby1kYXJrYmx1ZS5zdmcKQEAgLTAsMCArMSw4IEBACis8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM5OCAzNDAiPgorPHJlY3Qg
eD0iMCIgeT0iMzAwIiBmaWxsPSIjMDAzQzU2IiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4K
KzxwYXRoIGZpbGw9IiMwMDNDNTYiIGQ9Ik0zMjAuOSwzMzhjMzcuMywwLDY3LjYtMzAuMyw2Ny42
LTY3LjZ2LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5LjYt
MTMuMy0yOS42LTI5LjZWNzYKK2gtMzh2NTYuNWgtNTEuOVY0MGgxMTIuNGMyNS41LDAsNDYuMywy
MC44LDQ2LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2OS44LTQyLjEs
NjkuOC04MworQzM5OCwzOS44LDM2MC4yLDIsMzEzLjgsMkgxODIuNGMtMTAuNSwwLTE5LDguNS0x
OSwxOXYxNTMuNmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRjLTYuNywwLTEz
LDMuNi0xNi40LDkuNAorbC00Ni4yLDc5LjJWMmgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQs
MTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMTY2LDI1NC4zYzMuNCw1
LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05Ljgs
MTQtMTguM3YtNzQuMmg1MS45djk5LjhDMjUzLjMsMzA3LjcsMjgzLjYsMzM4LDMyMC45LDMzOHoi
Lz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dv
L3dwdC1sb2dvLWxpZ2h0Ymx1ZS1iZy5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY2MTY3MmRmMzNmMjI2NzRi
MjYwZWI5YTYxYTZjOTBhYzc0NmY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLWxp
Z2h0Ymx1ZS1iZy5zdmcKQEAgLTAsMCArMSw5IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0iMCIgeT0iMCIg
ZmlsbD0iIzc4RDlGNCIgd2lkdGg9Ijc2MiIgaGVpZ2h0PSI3NjIiLz4KKzxyZWN0IHg9IjE4My45
IiB5PSI1MTEuNCIgZmlsbD0iIzAwM0M1NiIgd2lkdGg9IjIwMS41IiBoZWlnaHQ9IjM4Ii8+Cis8
cGF0aCBmaWxsPSIjMDAzQzU2IiBkPSJNNTA0LjksNTQ5LjRjMzcuMywwLDY3LjYtMzAuMyw2Ny42
LTY3LjZ2LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5LjYt
MTMuMy0yOS42LTI5LjYKK1YyODcuNGgtMzh2NTYuNWgtNTEuOXYtOTIuNmgxMTIuNGMyNS41LDAs
NDYuMywyMC44LDQ2LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2OS44
LTQyLjEsNjkuOC04MworYzAtNDYuNS0zNy44LTg0LjMtODQuMy04NC4zSDM2Ni40Yy0xMC41LDAt
MTksOC41LTE5LDE5VjM4NmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRjLTYu
NywwLTEzLDMuNi0xNi40LDkuNAorbC00Ni4yLDc5LjJWMjEzLjRoLTM4djI0Mi43YzAsOC42LDUu
OCwxNi4xLDE0LDE4LjNjOC4zLDIuMiwxNy4xLTEuNCwyMS40LTguOGw2NS4yLTExMS44TDM1MCw0
NjUuN2MzLjQsNS44LDkuNyw5LjQsMTYuNCw5LjQKK2MxLjcsMCwzLjMtMC4yLDUtMC43YzguMy0y
LjIsMTQtOS44LDE0LTE4LjN2LTc0LjJoNTEuOXY5OS44QzQzNy4zLDUxOS4xLDQ2Ny42LDU0OS40
LDUwNC45LDU0OS40eiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1vcmFuZ2Ut
Ymcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28tb3JhbmdlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGUyYzE1ZjFi
MjIyMDhiZDM0MzBlZDM2NjE0MDMwNDc0ZjM3MWIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0
LWxvZ28tb3JhbmdlLWJnLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNzYyIDc2MiI+Cis8cmVjdCB4PSIwIiB5
PSIwIiBmaWxsPSIjRTg2RTQzIiB3aWR0aD0iNzYyIiBoZWlnaHQ9Ijc2MiIvPgorPHJlY3QgeD0i
MTgzLjkiIHk9IjUxMS40IiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgi
Lz4KKzxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0zMC4z
LDY3LjYtNjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAt
MjkuNi0xMy4zLTI5LjYtMjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40YzI1
LjUsMCw0Ni4zLDIwLjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45
LDY5LjgtNDIuMSw2OS44LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRjLTEw
LjUsMC0xOSw4LjUtMTksMTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTku
NGMtNi43LDAtMTMsMy42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdjMCw4
LjYsNS44LDE2LjEsMTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhM
MzUwLDQ2NS43YzMuNCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdj
OC4zLTIuMiwxNC05LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3LjYs
NTQ5LjQsNTA0LjksNTQ5LjR6Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLXdo
aXRlLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1h
Z2VzL3dwdC1sb2dvL3dwdC1sb2dvLXdoaXRlLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2FiN2I1M2U4N2Y5
NjcwNjUyYTYzMTQwNjhhNmU1ZDg1MGEwZGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxv
Z28td2hpdGUuc3ZnCkBAIC0wLDAgKzEsOCBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzOTggMzQwIj4KKzxyZWN0IHg9IjAiIHk9IjMwMCIg
ZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjIwMS41IiBoZWlnaHQ9IjM4Ii8+Cis8cGF0aCBmaWxsPSIj
RkZGRkZGIiBkPSJNMzIwLjksMzM4YzM3LjMsMCw2Ny42LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2
MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42
Vjc2CitoLTM4djU2LjVoLTUxLjlWNDBoMTEyLjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNj
MCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0MC02LjksNjkuOC00Mi4xLDY5LjgtODMKK0MzOTgs
MzkuOCwzNjAuMiwyLDMxMy44LDJIMTgyLjRjLTEwLjUsMC0xOSw4LjUtMTksMTl2MTUzLjZsLTQ2
LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2LjQtOS40Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQK
K2wtNDYuMiw3OS4yVjJoLTM4djI0Mi43YzAsOC42LDUuOCwxNi4xLDE0LDE4LjNjOC4zLDIuMiwx
Ny4xLTEuNCwyMS40LTguOGw2NS4yLTExMS44TDE2NiwyNTQuM2MzLjQsNS44LDkuNyw5LjQsMTYu
NCw5LjQKK2MxLjcsMCwzLjMtMC4yLDUtMC43YzguMy0yLjIsMTQtOS44LDE0LTE4LjN2LTc0LjJo
NTEuOXY5OS44QzI1My4zLDMwNy43LDI4My42LDMzOCwzMjAuOSwzMzh6Ii8+Cis8L3N2Zz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1h
Z2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9nby93M2MtaW1wb3J0
LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNjE3NjU5YjZjOGI3ZDg0MWU1NzQ0NWQxYzJkMDFlNGE5OWJlMTAy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy93cHQtcHItYm90LWxvZ28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1ib3Qt
bG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NzEyZmEyM2M5
MTk5ZDhiNjdmNjNjN2NhM2M1NTViOTE1ZDJkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtcHItYm90LWxv
Z28vd3B0LXByLWJvdC1sb2dvLWRhcmtibHVlLnN2ZwpAQCAtMCwwICsxLDUwIEBACis8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyB3aWR0aD0iMjYwIiBoZWlnaHQ9IjI2
MCIgdmlld0JveD0iMCAwIDEyODAuMDAwMDAwIDEyNzYuMDAwMDAwIgorIHByZXNlcnZlQXNwZWN0
UmF0aW89InhNaWRZTWlkIG1lZXQiPgorPCEtLSBmcm9tIGh0dHBzOi8vc3Znc2lsaC5jb20vaW1h
Z2UvMzAzNDY1Lmh0bWwgLCBDQzAgLS0+Cis8bWV0YWRhdGE+CitDcmVhdGVkIGJ5IHBvdHJhY2Ug
MS4xNSwgd3JpdHRlbiBieSBQZXRlciBTZWxpbmdlciAyMDAxLTIwMTcKKzwvbWV0YWRhdGE+Cis8
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMjc2LjAwMDAwMCkgc2NhbGUoMC4xMDAw
MDAsLTAuMTAwMDAwKSIKK2ZpbGw9IiMwMDNDNTYiIHN0cm9rZT0ibm9uZSI+Cis8cGF0aCBkPSJN
NTk3NSAxMjc0OSBjLTg2IC02IC0xNDQgLTE0IC0xNTEgLTIyIC02IC02IC00MSAtMTExIC03NyAt
MjMyIC0zNworLTEyMSAtMTA3IC0zNTUgLTE1NyAtNTIwIC01MCAtMTY1IC0xMjMgLTQwNiAtMTYy
IC01MzYgbC03MSAtMjM3IC0xODggLTQ2CitjLTIxMyAtNTIgLTQ3NSAtMTM1IC02NTggLTIwOCAt
NjggLTI3IC0xMzAgLTQ3IC0xMzcgLTQ0IC03IDMgLTMwMSAyMjEgLTY1MworNDg1IC0zNTMgMjY1
IC02NDUgNDgxIC02NDkgNDgxIC0xMyAwIC0yNTcgLTE0OSAtMzkyIC0yNDAgLTE5OCAtMTMyIC0z
NTkKKy0yNTQgLTU3OCAtNDM2IGwtMjUgLTIxIDI3MSAtNzQ2IGMxNTAgLTQxMSAyNzIgLTc1MiAy
NzIgLTc1OCAwIC02IC00MCAtNTYKKy04OCAtMTEyIC0xNzUgLTIwMiAtMzM3IC00MjAgLTQ1NyAt
NjE1IC0zMiAtNTIgLTY0IC05NiAtNzIgLTk5IC04IC0zIC0zNjYgNAorLTc5NiAxNiAtNDMwIDEy
IC03OTQgMjEgLTgwOCAyMSAtMjMgMCAtMzAgLTkgLTU2IC02NyAtNjEgLTEzNyAtMTQyIC0zNTMK
Ky0yMDIgLTUzOCAtNjEgLTE4NiAtMTQ1IC00OTQgLTEzOCAtNTAyIDIgLTIgMzAzIC0yMDQgNjY4
IC00NDggNTYyIC0zNzcgNjY1CistNDUwIDY3MCAtNDczIDMgLTE1IDEgLTcyIC00IC0xMjcgLTgg
LTk5IC0yIC01MjUgMTEgLTcwMiBsNyAtOTIgLTY2OSAtNDQ4CitjLTM2NyAtMjQ2IC02NzIgLTQ1
MCAtNjc3IC00NTMgLTkgLTYgMjMgLTE0NyA3MiAtMzIwIDcxIC0yNDkgMTgwIC01NTQgMjg0Cist
Nzk0IGwxNiAtMzkgMTM3IDYgYzc1IDQgNDQwIDE0IDgxMCAyNCBsNjczIDE3IDI1IC0yOSBjMTMg
LTE3IDY4IC05NSAxMjAKKy0xNzQgMTEzIC0xNjkgMjIyIC0zMTQgMzUwIC00NjcgbDkzIC0xMTEg
LTI3NSAtNzUyIGMtMTUxIC00MTQgLTI3NCAtNzU3CistMjcyIC03NjEgNSAtMTQgMjEzIC0xODUg
MzYxIC0yOTYgMjI1IC0xNzAgNjA2IC00MTggNjMxIC00MTIgNyAyIDI5OSAyMTkKKzY0OSA0ODIg
bDYzNyA0NzkgNDcgLTE1IGMyNyAtOSA4NCAtMzAgMTI4IC00OCAxODMgLTc0IDM5MiAtMTQxIDYx
OSAtMjAwIDgxCistMjEgMTQ5IC00MCAxNTEgLTQyIDMgLTMgMjIyIC03MjQgMzg2IC0xMjczIDM4
IC0xMjYgNzMgLTIzOSA3OCAtMjUxIDggLTE4CisyNCAtMjIgMTM3IC0zMyAzMTQgLTMwIDEwNzgg
LTIyIDExMTAgMTIgNiA3IDQxIDExMSA3NyAyMzIgMzcgMTIxIDEwNyAzNTUKKzE1NyA1MjAgNTAg
MTY1IDEyMyA0MDYgMTYyIDUzNiBsNzEgMjM3IDE4OCA0NiBjMjEzIDUyIDQ3NSAxMzUgNjU4IDIw
OCA2OCAyNworMTMwIDQ3IDEzNyA0NCA3IC0zIDMwMSAtMjIxIDY1MyAtNDg1IDM1MyAtMjY1IDY0
NCAtNDgxIDY0OSAtNDgxIDExIDAgMjUwCisxNDUgMzYyIDIyMCAyMDYgMTM3IDQyMiAyOTkgNjA4
IDQ1NiBsMjUgMjEgLTI3MSA3NDYgYy0xNTAgNDExIC0yNzIgNzUyIC0yNzIKKzc1OCAwIDYgNDAg
NTYgODggMTEyIDE3NSAyMDIgMzM3IDQyMCA0NTcgNjE1IDMyIDUyIDY0IDk2IDcyIDk5IDggMyAz
NjYgLTQKKzc5NiAtMTYgNDMwIC0xMiA3OTQgLTIxIDgwOCAtMjEgMjMgMCAzMCA5IDU2IDY4IDYx
IDEzNiAxNDIgMzUyIDIwMiA1MzcgNjEKKzE4NiAxNDUgNDk0IDEzOCA1MDIgLTIgMiAtMzAzIDIw
NCAtNjY4IDQ0OCAtNTYyIDM3NyAtNjY1IDQ1MCAtNjcwIDQ3MyAtMyAxNQorLTEgNzIgNCAxMjcg
OCA5OSAyIDUyNyAtMTEgNzAyIGwtNyA5MiA2NjggNDQ4IGMzNjggMjQ2IDY3MyA0NTAgNjc4IDQ1
MyA5IDYKKy0yMiAxNDYgLTcyIDMyMCAtNzEgMjQ5IC0xODAgNTU0IC0yODQgNzk0IGwtMTcgMzkg
LTE0MSAtNiBjLTc4IC00IC00NDMgLTE0CistODEwIC0yNCBsLTY2OCAtMTcgLTI1IDI5IGMtMTMg
MTcgLTY4IDk1IC0xMjAgMTc0IC0xMTMgMTY5IC0yMjIgMzE0IC0zNTAKKzQ2NyBsLTkzIDExMSAy
NzUgNzUyIGMxNTEgNDE0IDI3NCA3NTcgMjcyIDc2MSAtNSAxNCAtMjEzIDE4NSAtMzYxIDI5NiAt
MjI1CisxNzAgLTYwNiA0MTggLTYzMSA0MTIgLTcgLTIgLTI5OSAtMjE5IC02NDkgLTQ4MiBsLTYz
NyAtNDc5IC00NyAxNSBjLTI3IDkKKy04NCAzMCAtMTI4IDQ4IC0xODMgNzQgLTM5MiAxNDEgLTYx
OSAyMDAgLTgxIDIxIC0xNDkgNDAgLTE1MSA0MiAtMyAzIC0yMjIKKzcyNCAtMzg2IDEyNzMgLTM4
IDEyNyAtNzMgMjM5IC03OCAyNTEgLTggMTggLTI0IDIyIC0xMzcgMzMgLTE2NCAxNiAtNzc1IDIy
CistOTU5IDEweiIvPgorPC9nPgorCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0iMTgzLjkiIHk9IjUxMS40IiBm
aWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxwYXRoIGZpbGw9IiNG
RkZGRkYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0zMC4zLDY3LjYtNjcuNnYtMTloLTM4
djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAtMjkuNi0xMy4zLTI5LjYtMjku
NgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40YzI1LjUsMCw0Ni4zLDIwLjgsNDYu
Myw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45LDY5LjgtNDIuMSw2OS44LTgz
CitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRjLTEwLjUsMC0xOSw4LjUtMTksMTlW
Mzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTkuNGMtNi43LDAtMTMsMy42LTE2
LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQsMTgu
M2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMzUwLDQ2NS43YzMuNCw1Ljgs
OS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05LjgsMTQt
MTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3LjYsNTQ5LjQsNTA0LjksNTQ5LjR6
Ii8+Cis8L3N2Zz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01FVEEueW1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01FVEEu
eW1sCmluZGV4IGJjYjMwZWQyNzY2NDJmYmJlMmQwNTVjNmExZDEzMWUwOTdkYWFjNjkuLmQzZTRj
Mzg3ZThiNWI5ZDI3ZWEzZGVhNmZlYmRjMWQ5YTY2MmU0ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9NRVRB
LnltbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvTUVUQS55bWwKQEAgLTMsNSArMyw0IEBAIHN1Z2dlc3RlZF9yZXZpZXdl
cnM6CiAgIC0gQW1lbGlhQlIKICAgLSBhbm5ldmsKICAgLSBrZW5ydXNzZWxsCi0gIC0gamRhc2hn
CiAgIC0gZnNlcmIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHku
aHRtbAppbmRleCBiYzJlZDljZWU1ZWZlNWRjYjllNTA3OTkwMWVjMzg1MWEyN2RiNjEwLi44MjRl
MWVjYWVhYWU2NzVmODdkNTYzMmQ4NTNiZTJiNmM5ZjAzNjkyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmNvcHk8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmNhbnZhcy5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
OSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKLSAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1
LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41
KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkx
IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5j
b3B5Lndvcmtlci5qcwppbmRleCAzNWRkM2Q5ZmFjZjlkMDc4OGY5YWQ0NWVlMmQzYTVjNDYwZmI2
NmI4Li4xM2Y4NWJjNWY3OTA3YmJmYzg2YmRlYjg5YTNkNTExM2M3YjY0Yjg2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnY29weSc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUs
MjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0
bWwKaW5kZXggYzM2YjIzMmI2ZGQwMDkwYTIxMjMxZGQ4MmU1MmJjMTRjMjdiNTNmOC4uNDlkYzY0
M2YwODJlYzMyNThhODU3ODJjODlhYmY1NTM1NTFkODYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7Ci0gICAg
Y3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAsMjUiLCAi
MTI4LDI1NSwxMjgsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1
LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOworICAgICAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAs
MjUiLCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5q
cwppbmRleCAxNzE4MWNiNDIyNDcwNGYxNmY4ZjI2M2RlNzEzZjZmZGU3OTZjNDgwLi43Y2RhYzg3
NTNkZDAyM2U3ZTk5YjI4ZTAwMDliODg5ODE1OWRkYzk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7Ci0gICAg
Y3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAsMjUiLCAi
MTI4LDI1NSwxMjgsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1
LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOworICAgICAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDI1NSwxMjgsMTkxLCAiNTAs
MjUiLCAiMTI4LDI1NSwxMjgsMTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGY3MjQ5ZTQw
NDIwMThlMjJjODg3NmNlMTliZmYxYTM0NWJlNzBkMjAuLjY0N2U0ODY2ZjYwNzUzY2I1NWIxMzQw
MmM2OWU5ZmUwNDdkMGRlMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1p
bjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rl
c3RpbmF0aW9uLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDI1NSw5NiwgIjUwLDI1IiwgIjAsMjU1LDI1NSw5NiIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcwppbmRleCAxMjUwNGY5NTBhNzUwNDIxOTJhOTYwMjI2Y2VlNTE2YzhjMGE2
YzI5Li4wZmJmYzc2MWM1YjMwZmZkYTQ0OWM4ZWM4ZjA1ZThlNGQ0YjU5MjE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRp
b24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwx
NSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7
Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUi
LCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1
LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSw5NiwgIjUwLDI1Iiwg
IjAsMjU1LDI1NSw5NiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCmluZGV4IDQ1NGNmNzU0NGFjOTNj
YjhhYWJkOWI4MTUyMDYzZTkwNDgxOGY1OGIuLjQ2MTE0YzY1NTY1NTdjOWYzZjgxYmYwOWUxNzU4
YWMzYTdhMzIwNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnZGVzdGluYXRpb24tb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24tb3V0JzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDI1NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1vdXQud29ya2VyLmpzCmluZGV4IGVkODgzNWJmNmUzYjI2MmJiN2UzMmU2N2NlZjhjNTUzMzhh
NjNhZDcuLjY1OWQwZWZlZTQ2MzYxODUxYTY3ZmZiNDY2ZjU3YTYxYzQxYTJiNDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGlu
YXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24t
b3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1
MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1
LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JzsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwzMiwgIjUw
LDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggODcyYmZl
MDhjOGNlMjljYWE4OGQ0M2FiMzU2YjgxNWNkMzI4NDI3OS4uYTdjZmMzMDZjNTFlYTdiNzNiNDcz
ODVmMWIzY2FiNWEzMDc2ZDRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5h
dGlvbi1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3ZlcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41
KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwxNDYsMjIz
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOworICAgICAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwx
NDYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA4ZDM1MGM1
ZGU5MDBlMDQzN2JkODAyODhhYWM0NDRkZTRjMjVkMzc4Li42NDhkYTc4Y2U5YmY2MmE2ZTg5NmM1
YWIyNzUzNDM0OTc5MjNkZTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41
KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFnZShv
ZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwxNDYsMjIz
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOworICAgICAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMTA5LDI1NSwxNDYsMjIzLCAiNTAsMjUiLCAiMTA5LDI1NSwx
NDYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2FudmFzLmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
LmxpZ2h0ZXIuaHRtbAppbmRleCA3ODFiNmMxZGVlZmNiNGEyMjUyZWVlMTQ5OTMzMzNmZWQ3MmFk
MGNiLi4xNTAxMmYyMjMyYmIxNWIzOWEzMTA4MzgyNzc4MTk1YzEyMzE3MTczIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFz
LmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdsaWdodGVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEs
MjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGln
aHRlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1
LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCmlu
ZGV4IDA2MGM2YTNmZmEzMzliOTVjNTg0ZjkyZjRlNGQ0OTBkZjQ1MDRkOGUuLjU0NTBmYzMxY2Ey
ZGU0MTFhZjIwN2Q0ZGY4YTRkMmM1NDU4MzI2YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdsaWdodGVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAn
bGlnaHRlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEs
MjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLmh0bWwKaW5k
ZXggMjJlZWRjMDgxMjAzM2ExZmZlZjFmZmVhM2Q3YjJmZTUzNjU2NWIxNC4uMzBhZmI0OTQ3NjI5
NmZmMjc3MGM3OGNhZDMyZDYyYjhmMjI4NTAyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1h
dG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3A8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ3NvdXJjZS1hdG9wJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3Nv
dXJjZS1hdG9wJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5
MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0X2Zh
aWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC53
b3JrZXIuanMKaW5kZXggMDAwNWJjYTRjMzc2YWQzNDMzM2ZjZTBlMTkxYmZiZGI0MjgzYjJmNC4u
OGI4ZDE4MzIxM2NiNmJlMTliZDI3NmNjNmI1ZDU3MTIxOTRlZDhjNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAy
NTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwotICAgIGN0eC5kcmF3
SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2
NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAs
IDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOworICAgICAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0
LDEyOCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNh
bnZhcy5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFz
LnNvdXJjZS1pbi5odG1sCmluZGV4IDU2NGI4NjQ0NTdiMTIzNjE0ZmQwN2U4M2IwYWRiN2FmZDY4
OTgyZWEuLjczYWU3YjcxMGUxMDFjZGFlNTdhZmJjNThkM2RlNzNmMGI5ODQxOGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
Y2FudmFzLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41
KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnc291cmNlLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4ud29ya2Vy
LmpzCmluZGV4IDgyYTUwOGU3NTI1ZmIzMDIzYTAxYTY3OTczOGUxNmM4YzVkODg2MDEuLmE0Yjlh
NWI5OGFlYzU1NGI2OWY2MjYwZGU4OGExNTZkZTIwMjFiMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwg
MC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnc291cmNlLWluJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lmh0bWwKaW5k
ZXggNDMxZDZiY2YxOGUyOGY4NDE5ZWQyNjMyMmQ4NGI2NDYwYmM3NDVlNi4uNWY5ZjNmYTIyOGI3
YjIzNDY2ZmFlNWU4ZmIzNzA4YzhjN2QyN2QxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwot
ICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnc291cmNlLW91dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1
NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQn
OworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2
LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCBj
ZTE2ZDNiYzZhNjJlMDk1ZTBhNTM4ZGRjYmZmZjlmMTk1MjUyNWVjLi4wZmZmMDMzYjA5YWZmMGFj
ZjM4YzIzMzFiMzdjYjlmZThiNDlkZjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnc291cmNlLW91dCc7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3Nv
dXJjZS1vdXQnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1
LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1sCmluZGV4IDEy
M2FhNWU2NGQ2ZGNjMDAwNmRlNWQ0NjViYTVjOTMzNDRkMjNmYjAuLmVkNDI4NDY2Y2ZjZTYyNTNj
ZTY0NDBlMWQ5ZTkyYWU1MmVlMmRhZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlcjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdzb3VyY2Utb3Zlcic7Ci0gICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1
NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Ut
b3Zlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1
LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29ya2Vy
LmpzCmluZGV4IGI1ZGNmZmYzY2Q1NTg5YWE1MjYzZjY1NWNlNmYzODBjNTA5NDMxOGYuLmIwYmM1
YzUxMzQ1NGY1NjNhNDdiNmZiZGVhYzYyNTE1YWMzMTIxZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAy
NTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIz
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMi
LCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
eG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbApp
bmRleCA0OWFlNmMwOGM2OGVjYzE2NThhMDU4NDFhYzMxMDJmZDQxNWQxY2QxLi4yZGY1MTMyMzMy
OGMxODFkNTUxNjA3OWMzMjNhMjBhOTAzYjY2N2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy54b3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNhbnZhcy54b3I8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LmNhbnZhcy54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywx
NSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7Ci0gICAgY3R4LmRyYXdJbWFn
ZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEy
OCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICd4b3InOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3Iud29ya2Vy
LmpzCmluZGV4IGYzZDUwMjU1YWM1OTRmMTFhNmQ1MWFlYzllNjk5YjlmZmZjMTVhMmYuLjlmYTU1
MDU3NWMxM2YxMmRhY2NjMWI0OWQzZjhiMTRjMDg2MWQ4NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAneG9yJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1
LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwg
IjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuY29weS5odG1sCmluZGV4IDQ3NjFiMDQ3YTY4YmQ1NTM0YTAxYzNlZGY2YTNl
M2Y4Mjc1OTllODUuLjhmMGNhYTQ0ZWFkODYyYzFiY2VlZWMyOTQ3ZWJiNmUwYzVmZWYxZGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuY29w
eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkg
ZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSww
LDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNs
aXAuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29w
eS53b3JrZXIuanMKaW5kZXggZmM0YTRjYjU4ZDExMTg4MGQzY2QyMjA5NjZkMDY3NDI1ZjY0ZDk0
OS4uMjU2OTY0YTBhNjQ0MGVkZmVjNzNkOTg0ZjVmYTdjMWI3MTUzZDhkMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUg
Y2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggYWE4
NjNkMTVjNzYxNzFlM2IwZTE2NWQwM2Q1NDM3YWZjZDIwN2NhNS4uN2IyODQyZDIxZWM5Nzk0MDgz
ZDIzNjU3NzIyM2JiMGI3NDYzZWI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlv
bi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRl
eCA2YzU4MDc4ODllZDVjOGRhMDAyZWI1MWEyNzRmNGUyMTZhMTE4M2UyLi5iNDBiOGYxNWFjZDlm
YTkzZDA5OGJkODc4ZGM3ZjI5ODFlNjJjMTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRz
aWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4
IDNiZGUzZmY3YzVmZDc1MThmZWNhZmZhMTEwNzYwMDdiZjgzZjY5ZjkuLjZhZDRiYzRiNTNmZThj
NWMzYjg0ZDFjM2VmMzU4NmFlMzgyM2QxNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlv
bi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCBy
ZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdp
b24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggYmNjZjNh
ODg2OWFlMGQ1MDUwMTk5ZTUxZDRkNjdkNTdiM2M2ZTU2Ni4uZWRjMGU5ODdhNTUxOGVkYzg4MDU3
OTAyYWYwNjMzMWVjNTVkOTQ4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlw
IHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNWRlZDBiMzYx
NTQyZTE1MTRjN2ZjZDc2YTk3NzY2ZWYzM2IyNzZlNi4uM2QzZTY2YmE2NjVhNjIwNGQ4MjI5Yjhi
Njc5NmYzMWI5YTA0MWFkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24u
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwppbmRleCBmZWUxMTNhMWM2
MTBhMjkxMDBlYjVmYWFhOGJmYzRiOWNmMTA4NjFjLi41YzZhMzdhNDI0MWU3NzM1NjU0MTE3NmZi
OWI5ZWZjMmEwYWI4NTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCBy
ZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggNDc3NmUwZTIx
NjBmNDIwY2Y1YjEzYmJjMGY3NzYyOGIzZWJhZmM3Mi4uZjgxN2IzODgwNGNiYzFlYmI5MDE4Mjdj
NjY4NzNlZjM0MmU1MjdlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9u
LiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcwppbmRleCA1MTE2
ODQ0MTEzZDNiNjcxOWM5N2IyZWM3MDRlYjNhYjY1M2Q4NmMwLi5jYjEzYjNkNWUyNGJlYTc4NWMz
NGQ2MWQ0ZDcyNTU1ZDEyMTcxZTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIuaHRtbAppbmRleCBiZjFjZDhiYjFiNDJmNTNiM2U4
YzBiYTA0MDQ5YzIwYzdmOTNjZDFhLi4wMDc5NjZlMGMxN2FhOThkMjMwMWUyYjViNjE2YTU2NmZl
YjIwOTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGln
aHRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdodGVy
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS5jbGlwLmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAubGlnaHRlcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0
aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUg
Y2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIud29ya2VyLmpzCmluZGV4IGU5ZTlmYzljZDYz
OGNkZTllN2U4Yjk2OTBjNDg1NDg3NTY1Y2I2NGUuLjg0MGQxMGY5MTM1OWI4YzEyZWY3ZWQzZWU1
ZTZkODZlMTFlY2M2N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5saWdodGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBk
b2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xp
cC5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1hdG9wLmh0bWwKaW5kZXggM2EwZjBkZjVkZTZjNmFkOTU0MGMyMDM4OTEyODZjNzcwNjg3
NzY1Ni4uMmIwMDAwMWU2OWQzMDJhNzU5OGE5MzA1MjBhMDMwZWU0YWM4NjI2MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5j
bGlwLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBj
bGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLndvcmtlci5qcwppbmRleCBhNmUw
ZmRjZjgyODRiM2UzNmVlMjYwZTljOTk0ZWZjODZlNTg1ZWNiLi5kYWY1ZTk2MGIyZDBjNjJhY2Qw
NGExMWFhMGJkZGFmNDY5ZWQxNmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2UtaW4uaHRtbAppbmRleCAxNWUwYWVlNTUzMjc3ZmVlODk4MGM2OGJi
NjIwOGRlNzRiNjRiMTFjLi42ODA5YzgwOWY1NzI1Njk4ZDM3NWQzODIxYzVmMDk5MDA2MzNkYWQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWlu
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDZiNTIw
YzFiMzkyNzc2MzhmZmQ4ZGQwODE2YTQ4MzczYmQ0ODQ5MmIuLjgxZThlYzE5ZWRhMDVhMTA4YjUy
Y2Y1NGY0ZWE0ZWZmZWZhNDcwZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jbGlwLnNvdXJjZS1vdXQuaHRtbAppbmRleCA5N2RlNDJkOWJhMzMyMjI3ZjE0YTk0YzZhMGEz
MjQ4YmZkZjQ2N2VmLi5hMWM5YzNjNmIxYjUxNDliMzE4NzhmMDQ1YTU0NDg2Yjc3N2E2ODZmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lk
ZSB0aGUgY2xpcCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0
aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDcy
YThmMjkxMWJiN2RkYzZiZTllNzU1MDVmMzk1NmQ2NzhhYzNiNDguLjRmYmVhNWMyYmUyZjlmMWQz
MzA0MWQ0MDJjYzZkMTRiYjA3NTMzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVn
aW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggOWFjMjMxZDZhNDU4YzkyNTdmMmM3
MGFhNjM3OGZiNTI1ZjFkZjZkMS4uODM2ODA2ZjI5YTg3YzM0ODM3Njk1ZGNiN2Q4M2M5ZmIyODk3
YzI4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJj
ZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJj
ZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLnNv
dXJjZS1vdmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBp
eGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVs
cyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLndvcmtl
ci5qcwppbmRleCBhNTk0NjI2NjUxNDY5YTE4ZTY4YzA5MzczNmIwZGFiMzI3NTk5ZmJhLi5jZjA0
YjFlMzhhYTUwNzg2ZGQ0ZjAzNmFkZGYwYjhmZDQ0ZmU0YTcxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNp
ZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3IuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC54b3IuaHRtbAppbmRleCBmYjk5NTg0ODg4YzEzN2RlZmNhOWFl
ODBkNDQ2NmE4MjZhMDM0MjNlLi5jYTM0Y2NlOWMwNDQzNmE3NTQwM2Y0ZjM1ODM0Yzc5NDY0ZWJi
NGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xp
cC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAueG9yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5m
aWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
KCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54
b3Iud29ya2VyLmpzCmluZGV4IDYyOTk2ODAyOWEwM2U2YTg0YzY1ZTQ5NWMyMDhkY2YxYzA1ODlh
YmIuLjNiZjkyZDZlMTNlY2I1MTdjMjAyOTg3ODM1NWYxZjQwZjRlNTA2ZDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBj
bGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRtbAppbmRleCAwY2NmZWE5YTZl
ZDVkZTI4ZTY5MGE2Y2ZjODU1OWFmOTJmZjBjMWY5Li5mZTk4MmFjM2U5NTkzOGEzMzQ4YjliODhl
MjkxNzRjODA3ZGJmMzNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmNhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZ2xv
YmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0
aW9ucwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIs
MjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndvcmtlci5qcwppbmRl
eCBhYjhhNjQyNGFjZGU2OWFmMzliNTMyMTg4ZjYxYzkzYWVmYjQyOWQ1Li5kMDNhNDU5Yjg0Mzc4
MTAyYjczMjFkYzgwYzg4YjA3ZTg5ZWZhMjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3Rl
bnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIs
MjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5j
YW52YXNjb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmNhbnZhc2NvcHkuaHRtbAppbmRleCBmNzk3YzYzNzY0OTg4MjAyODllMjNmZmVmZmMwMjgwZTc3
ZDFkMmNkLi5lYTBiMWQ5YmJiNGJjNWRlYTY5Yjk3MTk2MTg0NTBhN2E1Njk5M2JiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHku
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZh
c2NvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmNhbnZhc2NvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JwogY3R4Lmds
b2JhbEFscGhhID0gMC41MTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMzAs
ICI1MCwyNSIsICIwLDI1NSwwLDEzMCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHku
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52
YXNjb3B5Lndvcmtlci5qcwppbmRleCBiYzhkYWFmOTFhZGNlOWU5NDg4YjBjOTVhYzY2ZWQxMDMy
NDRiN2Y0Li4wNWM0NGM3MDg0YjkyZWU5Njk3OTBiMWNiM2U2YWRiNDgwMDU1YzhkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc2NvcHku
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
Y2FudmFzY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JwogY3R4
Lmdsb2JhbEFscGhhID0gMC41MTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwx
MzAsICI1MCwyNSIsICIwLDI1NSwwLDEzMCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3Bh
dHRlcm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2Fu
dmFzcGF0dGVybi5odG1sCmluZGV4IGVhNmM1YWMyZDY4NmIwNTM5YjIyY2MwNTRmNGNiMzNkZGZk
OWIyY2QuLjExYjI3MGY0MTI0OTVlZGRlZWU1YzIzNWE2ZDZlOWYyYjM1MDY1ZDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVy
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2Fu
dmFzcGF0dGVybi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4o
b2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJlcGVhdCcpOwogY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsg
Ly8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm4ud29ya2VyLmpzCmluZGV4IDA4YjVkNmFkOWRi
ZGNiNDU2MmVlZjdjNTNiMmY3NmIxZGI0NmY1NWQuLjk2YjAwOTI0OTgzY2MyYjdiMDZmNmRmZDEz
NDEyMmE4YTI0ZTJkZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxl
ID0gY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzMiwgJ25vLXJlcGVhdCcpOwogY3R4
Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGlt
aXNhdGlvbnMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAs
MjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKaW5kZXggNmExNWMwYzg5Nzg4
MDliZWExMGFiNzdiN2E2NDllOTQyNjBhMTQxOC4uMTk3MzliODc4M2YxZDViNDg4ZDJlZWU3OGMz
ZjBhZTMwZjBhMDc0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEuMCwgImN0eC5nbG9iYWxBbHBoYSIsICIxLjAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC53b3JrZXIuanMKaW5kZXggYzk2MTkyODI4NGU1
ZjQxZDZjODA4M2NlN2M5ZjZkMmRlM2RlZmMyNS4uYjEyMjZiOGEyZmUyZTAwN2RhMmYyNjAyZWJk
ZTQ5MjU0N2VkY2IxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDEuMCwgImN0eC5nbG9iYWxBbHBoYSIs
ICIxLjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwuaHRtbAppbmRleCAxM2FjZGFmZmZmNWUzZjM4ODdj
ZGQ0NzllNTcxYTc5Mjg5NTVhZjNjLi4xYjc2MTViZWYxNDZkNzJkYmNhNDVkMmRiOWY3NTIzMTEx
MWJkZmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmZpbGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmZpbGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYg
QEAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0w
IG9wdGltaXNhdGlvbnMKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5maWxsLndvcmtlci5qcwppbmRleCBkMmZiZjA4MjdiNGIwOGEzMWQwYjgzYzI3MGNlNmE4Y2Iy
NTk2ZWMxLi5hYWNjNDNjNDQ1OTlhNDliZDFkZWJmMDFmMTA1MTU2OGE3YzZlMjdlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0w
IG9wdGltaXNhdGlvbnMKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlt
YWdlLmh0bWwKaW5kZXggZjI0ZTA2YTA4ZTRhNDEzYzdiYTY4NTUxZGQ5MDY5OTAxNzE4OGY1OC4u
NWQ1ODZhMTkxZWVmOWJjZDZkNWY3ODgwMjIyYmI2MTRhZjk1ZDdmMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmltYWdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTEgKzMzLDExIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUz
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5pbWFnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmltYWdlLndvcmtlci5qcwppbmRleCA0OTc0Njg3ZThkMmJiNjc4MGEy
NjhkYTc2YWY1OGFkZTNlZjQ3OTM2Li5mNjQ1YThlNTU2NDBjYzhmZTUwMWIwYTgxOWU2MGU5OWQy
NzJhMTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUi
LCAiMiwyNTMsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyLDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0
ZXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdl
cGF0dGVybi5odG1sCmluZGV4IDMzZmEyM2E4Zjk3YmNhNzA3YjdhNDUwNTIwOTAxNzViODhiNmQz
NjYuLjBjNzc5NjVmN2E4YjUwZGE1YTYyZWE5MTZiMWVkMzQxMmNmOWI1YTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBh
dHRlcm4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCwxMyArMzIsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdu
by1yZXBlYXQnKTsKLSAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90
ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwy
NTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsK
KyAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBh
bHBoYT0wIG9wdGltaXNhdGlvbnMKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwy
NTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0
ZXJuLndvcmtlci5qcwppbmRleCBkODA1ZjY5ZjQ3Y2Y2NDZjYWFiZTQ0ZmE5MjE5MDc4NjljYjk0
Njc0Li44NDQxZGMyNzVkNWExNWVlZmRjNDUzMTIwODQyNTUyZjkzNWZjOWM1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5p
bWFnZXBhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCwxMyArMjgsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdu
by1yZXBlYXQnKTsKLSAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90
ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwy
NTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsK
KyAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBh
bHBoYT0wIG9wdGltaXNhdGlvbnMKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwy
NTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCmluZGV4IGY0
MjJjZmVhMjMzYmY2YzI3YTc3MjE0YTI2Y2U4OTcxYjgyZGU5MWYuLjAyMjk3NzU4Yzc1YTI2MGQw
ZDZiMTAzZmM5YmQ5N2ExMDc5ODA2MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxp
ZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZ2xvYmFsQWxwaGEgPSAtSW5maW5p
dHk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEiLCAi
YSIpOwogY3R4Lmdsb2JhbEFscGhhID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhh
LCBhLCAiY3R4Lmdsb2JhbEFscGhhIiwgImEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxp
ZC53b3JrZXIuanMKaW5kZXggMDk1Yjk0NDZiN2Y1YTE3ZDY3ZTlkY2MwYTk0ZmExNjM2NGI2NDM3
Yi4uMWFiMzNlOWM1YmM4ZmQxMzc2ZTgzN2U5NjA3MDQyNWEwNDFhYzM0NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5nbG9iYWxBbHBoYSA9IC1JbmZpbml0eTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxB
bHBoYSwgYSwgImN0eC5nbG9iYWxBbHBoYSIsICJhIik7CiBjdHguZ2xvYmFsQWxwaGEgPSBOYU47
CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIGEsICJjdHguZ2xvYmFsQWxwaGEiLCAiYSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLnJhbmdlLmh0bWwKaW5kZXggYmRlMTVlMmQ4Yzc2OGM3NmIzMjdhMWVl
ODkwMTZmYTQ0MGQ2NTZmYy4uOGJjNDQwZDcwMzY2ZmZiZDYzZmI2OWYwOGExMDg2ODkwYjc2ZWI0
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5y
YW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
cmFuZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLnJhbmdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxB
bHBoYS5yYW5nZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBjdHguZ2xvYmFsQWxwaGEgPSAwOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAwLCAi
Y3R4Lmdsb2JhbEFscGhhIiwgIjAiKTsKIGN0eC5nbG9iYWxBbHBoYSA9IDE7CiBfYXNzZXJ0U2Ft
ZShjdHguZ2xvYmFsQWxwaGEsIDEsICJjdHguZ2xvYmFsQWxwaGEiLCAiMSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLnJhbmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEucmFuZ2Uud29ya2VyLmpzCmluZGV4IGYzOGVlNTZmOWE3ZTlkYjY5YTk1Yjk3OTdl
YjcyYzJlYzgxOGMyZTguLjUwMzhkNjNkYTBjYWVjZDFlMmJjNGU5ZjY1NjgwMGFiMzViMmQ4MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEucmFu
Z2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEucmFuZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Miw3ICsyNiw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFs
QWxwaGEsIDAsICJjdHguZ2xvYmFsQWxwaGEiLCAiMCIpOwogY3R4Lmdsb2JhbEFscGhhID0gMTsK
IF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMSwgImN0eC5nbG9iYWxBbHBoYSIsICIxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2UuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5jb3B5Lmh0bWwKaW5kZXggMzAwMWFhMWM0OTFiNjk3NmYwYTUyMmExZGNiNTkzOWI3ZGY5Njlh
ZS4uYjQ5NDRhNzZjMTA1OWNhZWFiZjdhYjQyYjFhNTkyYjAzZjM4Y2VkZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1Iiwg
IjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkud29ya2VyLmpz
CmluZGV4IDA0NzZlM2ExMTQ5YzgwNjg3OTkwZWZiNGQwM2RjYTkwYmVlOTIwN2QuLjQ5M2VlMGI0
MDE1YWE1Yjc3ZGUyZDdlZDU1OWY1NzI3MDkzMTQ1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUs
MCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUs
MCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCAyYjE4YzM2YzcxMGNhMzdlZmE0MzM3
MDJhODg4MTE0YjQ1MmNkOTYzLi43OWVjZmNkZjk1ZjMxZjM2ODRlN2ZjZDE4ZDM5MzM2ZDU5NWZl
YTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3Rp
bmF0aW9uLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEs
ICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEy
OCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCBiNTg3MDA0N2Ey
YjI1ZGZhYWEyMTQzZGQ5NTkxNzU5ZjZiOGY3NmZmLi5kMzZlZDUwYTAzNDlkNTg2NGI2YTQyM2Qx
Mzg5YzY3MWFjYzQwM2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
MjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwy
NSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGNmZGU4MDE0OTZm
NGYzNzcwZjM5ZmRhNWEzOTdmYWYzZjk3YmQ1YWEuLmVmMjA1ZjFiOTU1YWIxNzc5Y2Y1YTc0NDhh
MmE0ZjVmMTYwZTI0YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYs
ICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGVmZjY0NzVhNWRhYjllNDFmZDYwNTFk
MTgzYjI2MDIzNmQzZjc4ZjkuLjYwZWI2MTk1MWNiYzk3OGIwYTg1MDBhODU0NzM4Y2JmMmEwNTJl
ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAs
MjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRp
b24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0
aW9uLW91dC5odG1sCmluZGV4IDFmNzA1MTE5YWRiNDdkYWQyZjI5ODI3NzI3YTQ3MTMxMzA1OGNi
NWMuLmVjZmVlZWQ2YmZkYWUyOTU0YzcyNjI0YjdjMTdhMzM3OTY4NjQ3MzEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQs
MTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMy
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQud29y
a2VyLmpzCmluZGV4IGZkYTczZDkyZmMyZTg1MDhiYTY4M2NhODA1YmVhY2Q3ZmU4NjJiYzMuLmVl
OTdkY2NmN2JkMzA2ZDFlZTA2ZWNjNmQ3MDY4ZDlhNTVkMjdiOWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwx
MSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIi
LCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwy
NTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAppbmRl
eCAxYjIxZDJkOWY1M2U4MmNjOTM3YjkxMGRlOWYxZDEzNjBmMTQ2OTM3Li5lYjU4YjMxNTk2NTll
NDJhY2FlNzFmZWI4NTlhM2NlYjJiYjlkOTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0Niwy
MjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLndv
cmtlci5qcwppbmRleCA2MjA5MTFkZDRmMDUyNWVhNzFhYWU4NDc0NTNhYTFiZDhkOGY2ZDljLi4y
NzRjMzJjODkwNmFjMWVjNzQ1NjhiZGY2NTQyOGVkOWNmZGU5YmRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zl
ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICsz
MCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1
LDE0NiwyMjMiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMiLCA1KTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbAppbmRleCBm
ODk4ZTQ0NzYyNGE4OTQzNGM2MzE2N2M1NmIyYWY3NDJhMjIyZjdkLi40OTM1Y2EzYzQxMTQzNzgx
MTNjMGU1ZDg1ZWZkN2ZkYjE5ZTQyNDRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLmltYWdlLmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEx
ICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEs
MjU1LDEyOCwyNTUiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLndv
cmtlci5qcwppbmRleCA1NzRkZTVjMzQwODVmODQyYjhjZWVjODc3YjFkNGU5MzI1ZTQ1Y2UzLi4w
NWUzOWY5NTY0OTg3MzY4Nzg4MzQ4M2NjYTMzZmI5Yjk2MmNlNDgxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxOTEsMjU1LDEyOCwyNTUsICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDEyOCwyNTUs
ICI1MCwyNSIsICIxOTEsMjU1LDEyOCwyNTUiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC5odG1sCmluZGV4IDAxMmQ4OTIwMTU5
NTYwZTEwYTgxMTRiN2MzMjk5YTgwMDI4ZjZhYTcuLjkzYTUyN2RlMjRkOTg0ZGU2NzYxNDA0YTc5
YTA5MWQ5NGU2ZjU2MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmltYWdlLnNvdXJjZS1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21w
b3NpdGUuaW1hZ2Uuc291cmNlLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1Iiwg
IjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNl
LWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3Vy
Y2UtYXRvcC53b3JrZXIuanMKaW5kZXggYjE1OWE3ZDBhNWMwZDQwYzUzNDkzZmIzNzg0OGFjZWQ0
NjdjNTZhMS4uNWZkZGZjZmQ4YTg3OWMwZjAxZWQ5NWQxYTMyOGJlNDhhOTlkMzgxOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRv
cC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICsz
MCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUs
NjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4uaHRtbAppbmRleCBm
NDFmYzRhYTEwZGM5OTUxMDY0ZDViYjVkNGNlNGE0YjJiMDIyMTMxLi4yNTE5ZmU3MmQ3NzliOTdm
YmExZDUxZWY0MDFmNGRkYjZiODYyNWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW48L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1Iiwg
IjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndv
cmtlci5qcwppbmRleCA3ODlmY2I5MDM5ZDhhMTZhNGIyYjNlOTg4OWI2NjE5ZGVhYjkxMzBhLi5h
NWNhOGQ5MmU5NDI4ZDkwMjdiZDU3OThhMTNiMjU0YWMxM2ZkOWY5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAs
MjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggOTE4NjBlNzg3OTU2NmY5MDhlNjQw
MmIyNjUyYjI2YzE2MTdhMTBjNy4uZjU3MzkzYjhjMWI5NDhmZDdhMzljZWIyOWY0ZmJkM2E4NTA5
YWRmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3Vy
Y2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3Vy
Y2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5z
b3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2Iiwg
NSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSww
LDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXgg
NTgzZDIyMjJlN2JlOGZmZjUyNzUzZDZjYjRlMjA4MjMyY2U3MTE0My4uMTAzOGVjNWJjZmQ4NDll
YWY5NzYyNDViYjQ2NmFiMzdiNDUyZmMwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1
LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1
NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1h
Z2Uuc291cmNlLW92ZXIuaHRtbAppbmRleCBiOGU1MmNhYzBhZDEwYWEzMGI2OTI3YjFiZWMxYTRl
Mjc1Yjg1MTBkLi45NmM1MjUyZWI0OGZhYWU4OGNkNjQ5MTJlZjQ0ZTQwNTcwNmQ0OWY5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUuaW1hZ2Uuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1v
dmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYs
MjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzCmlu
ZGV4IGI0NTkzMzllNGZkNmUyMTQ2MGNlY2JiNjE2MDNmNmI5YzA4NDM4N2YuLjU1YzBmMGViOWM0
YmJmMWMzODIyNTJmNzNmNDlkM2Q1ZTZhMzk1MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAs
MjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UueG9yLmh0bWwKaW5kZXggZDA1MDcxMWRhMWVlYWVjN2U4ZTY2NTVhMzhkYWRiNGJi
YTczYjkzYi4uNjAzOTI3NWJmMDZiNGE5MjM2ZDU2YjZlNzY1ZDliNGE3NDZhNmY2MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3IuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UueG9yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1
IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLndvcmtl
ci5qcwppbmRleCBiZDc3Nzg1YjU1ODgwMzMwYjZlYjNiNmJkZDI0MjdlZWJhOTAwNzk4Li5jNGUy
MGZmZTUxYzRlMmUxMjljZmM5YTkxNzNmMGMyNzgwOTQyYzM0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1
NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkx
LDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZS5odG1sCmluZGV4IDdjNzAxNmU0ZGU0N2Yx
NjU5MmMxYzYxYjUxMWQ3OWU4ZTAxOTEzOTguLjQxZDMxMjg3ZjcxNjNjYWE0MmFkOTE0ZDM3Zjc2
MjBkMjM0ZGQxOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmNhc2VzZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4
b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdTb3VyY2Utb3Zlcic7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNl
c2Vuc2l0aXZlLndvcmtlci5qcwppbmRleCAwOTFkZmQ2MWJiZjc5YjgxYmVmMjk5MzMyNDJmYjNm
ZTdlMDBlYjJmLi5mYTBiNjAyZmRkZWVkOTJhZmE2NDE3NTQ5YTM4NWYxMGFiODE5NWI3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0
aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5jYXNlc2Vuc2l0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ1NvdXJjZS1vdmVyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIuaHRtbAppbmRleCBjYjE1MjA0YWM2MWU5NGU2
MGU5MDBlNzFhODAwNzEyYzgyOTRkYmZmLi43NDZhYjI2MGI1OTBjZmQ2MDhlMmM1ZjdhZjI0NmY0
NjJkYjQ3MGJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmNsZWFyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5jbGVhcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2NsZWFyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICdj
bGVhcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidjbGVhciciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24uY2xlYXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24uY2xlYXIud29ya2VyLmpzCmluZGV4IDFlZmQxNDk0ZTYwODQ4OWY0Y2ZlMzZiNzBj
ZGRiZDU4OTg3ZTU0YzQuLjcxNDlmZTkzYWY2MjdmODcwNTFlNGY3OTBhODdiNzU1YzUxMzczN2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5j
bGVhci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcg
KzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdjbGVhcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uLCAnY2xlYXInLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICInY2xlYXInIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmRhcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwKaW5kZXggMWY0Y2ZiMDdhNjVhMDg1YTU0ZGE4MjE0MmNh
NTg5MTRhYmY2NDMwZC4uMTYxNjExZGFiOWRmNGZmYzVjYzRlZTYxZjVhMTc5ZDEwMTJkNjRmYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2Vy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2Vy
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFy
a2VyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGFy
a2VyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAi
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5k
YXJrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24u
ZGFya2VyLndvcmtlci5qcwppbmRleCAyYjI4MmY1NjQwYTM0ZDQ0ZTEzNzEwMjQxY2YwMDI5ZDBi
MGZhNzAwLi42YjhlMzA0ZmQ5ZmE4N2U0MGRmZDQwNDFhZTNhNDg1NjlhNjUwNDcxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYg
QEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkYXJrZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwg
J3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmRlZmF1bHQuaHRtbAppbmRleCBiMTE0ZTE0OTQ3OWM0YmY5ZTIwMDNkOGFlNmIzZTMwNThi
ZTAzYmU0Li5hYWRmYjVkYzYxYzEwNjQzOGUyNmQ2NWE1NzU3YWJlNjVhZDJiN2RjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUub3BlcmF0aW9uLmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uLCAnc291cmNlLW92ZXInLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIn
c291cmNlLW92ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKaW5kZXgg
OTA2ZjFiYjMzOTBkZGM4NDJmYzBiZDU1OGQxZWRkNjhlZDY4ODRjNy4uMmFkODBhNjQ2YjVjZDdj
ZDc2OWRmY2FhNWQ0MzBkNTQ1YzY0ZTdhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQs
MTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICdz
b3VyY2Utb3ZlcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidzb3VyY2Utb3Zl
ciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5nZXQuaHRtbAppbmRleCBlM2M4ZjllZTJmYjIwZGI5ZTU5ZDk1ZDgzYzUx
ZjY2ZDk1YzlhNzM1Li42ZTdhYjU1NTcyYTk4NTEzYTEyNGVjZjdmM2Q1ODZjYTI1MmNkNWIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5nZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIgaSA9IDA7IGkg
PCBtb2Rlcy5sZW5ndGg7ICsraSkKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
bW9kZXNbaV07CiAgICAgX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwg
bW9kZXNbaV0sICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm1vZGVzW1wiIisoaSkr
IlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZ2V0Lndvcmtlci5qcwppbmRleCAyZGQ1MGZhNmQ5NzVh
YzViMDhkZmNkNDc5ZDJkNzY1ZDI3NWQzMTUwLi40NmNlZTBiOWYxNzg2YzQ2NmYzYzJjNDUxMTBi
NTBkZjgzMzJhNGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5nZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmdldC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIwLDcgKzI0LDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2Rlcy5sZW5ndGg7ICsraSkK
ICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gbW9kZXNbaV07CiAgICAgX2Fzc2Vy
dFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgbW9kZXNbaV0sICJjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uIiwgIm1vZGVzW1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJh
dGlvbi5oaWdobGlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmhpZ2hsaWdodC5odG1sCmluZGV4IDFiZmRiM2IxNjU3YzNjY2NkYzVmNGZmMzA4NjI2ZTQ0
MDg3YjY1ODMuLjA0ZTMyNGZiZmNmOTk2MzA1YTNmOTY3MTQyOWU4YzlkMTc5NzkzNzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdo
dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
b21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9u
LmhpZ2hsaWdodDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2hpZ2hsaWdodCc7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
LCAneG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24uaGlnaGxpZ2h0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMKaW5kZXggZmFjNjRmY2UxMzU0NDJjYjAz
N2UwMDU5ZWJjODA3MzY5YzQ2NGZmMS4uYjU0MTdmMDZkYzY4NTA3YmIzYmZhY2JiY2RhY2FjYzE2
ZjdlZTIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uaGlnaGxpZ2h0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5oaWdobGlnaHQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnaGlnaGxpZ2h0JzsKIF9hc3NlcnRTYW1lKGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwKaW5kZXggN2Ux
ZDY1YzMzYjYyNTdjMjY4MDgzODIyZTJlZGJlY2EwYjYxYjlkYi4uMzJhMGM2NjdjODRhMjY5YTg2
MmNiYjdmM2NjNjBiZTg0MGFjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3Vm
Zml4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hv
cic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwogX2Fz
c2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXgu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1
ZmZpeC53b3JrZXIuanMKaW5kZXggODMxZjk0Nzc0MTg4N2RiODQxZDU3NjU0NzczMjYxYTQ0YzFi
ZjU5NC4uNTk0ZjQyZWI5ZTk5NDE2MDdhZTJhYzRlZGVkNmExZWM3NDU4ZTVhMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1
ZmZpeC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcg
KzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdzb3VyY2Utb3ZlclwwJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9y
JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5vdmVyLmh0bWwKaW5kZXggNzFhMzQ0NTRiYmYwMDhmOTUzZjJmMDFiMjVm
MGE4NTE1YjlhYjMxOC4uNzM5MDlmMzI2NTAzMDMxZGJjNTA3YzU0MTcxYzU2MzliNTdmMjUzMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3ZlcjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ292ZXInOwogX2Fz
c2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm92ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIu
anMKaW5kZXggODljMjYzNDVmM2MyZmJlYjBkZjY1N2IxYTg5NTMyNWQ4YzJjZTQzZi4uYjM4MTNm
MjM2NmI0NmRmY2MyYzgzOTJmNzAyYmU1ODQzM2Y0NmI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdvdmVyJzsKIF9hc3Nl
cnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNl
ZC5odG1sCmluZGV4IDM2ZTk5MGZmMDVkNjJkYjFiNjdmNzM4Yzg0NjRiMDg4NDhlYzYxMmUuLmFi
MmJhZjRlYzEwNzljMDQyOTM4NmEwMzI5ZDcyODNjNTlhOWFkODUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUub3BlcmF0aW9uLnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVu
cmVjb2duaXNlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ25vbmV4aXN0ZW50JzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24sICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtlci5qcwppbmRleCA1OTgwZDE2NmEw
ZWIwZjI2NTgxNTk3ODA4MTI5MjRkN2ViOGE5MTJjLi40ZThkYjQxNWE0NzA3Mjg1MmVjMGJlMjYy
NjIxZTljNTJjMDAyNjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdub25leGlzdGVudCc7CiBf
YXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbAppbmRleCA5OGZkNWQy
MjQ2NDdkZmJjODY1N2E0MjcwZjVjNDE4ZDEzMmJjOTc0Li5kN2E1NWU3ODZjZDk3ZjcyNTY4MThk
MDM1ZWI5YmFjYzZkNDI2MTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLnNvbGlkLmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLmNvcHk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUs
IDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS53b3JrZXIuanMKaW5kZXggNDEyNDk2NzEz
NjU1NzdkODcxODk4NDQ2MzZjNmI1OTYyZDUwZDUyOS4uMTgxNDk4NzNjNzBhZDMyYmY1OWVlYjI4
NWYzY2I4YzAyOGQxMTk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
ZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKaW5kZXggYTNiNjQ1ZjlkNWI0N2UxNzc5M2RmOTM3NTZk
NjhlYzlkMDU2MmIxMy4uNDA0OGU2OTE2MDEwZWU5YmU5MDQyZTZhMTQ5NmZiNmMwN2EyYWQxMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0
aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGlu
YXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIwLDI1NSwyNTUsMjU1Iiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4IGJi
MmJmNWEzMTY5NDRkNjNlZTM5ZjM3MjI2Zjk1ZmMyZTU3ZWMzZWQuLjBkZTIwOTU4NzEwNzM4OTA3
MTYxNzU0YWZiYTBiNGUwZTU1OWI3ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWlu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWlu
Lmh0bWwKaW5kZXggNDBkYmI0YzdmMDY3YWQ1N2FhNTk5NDdiMjg5MzBmY2ZiNjNmOTMxZi4uMDc0
MWQ0MTBlODUyNDE0OTkyZTUwMzJjNWUxYzIzZjhmMWFmMGZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW4uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNv
bGlkLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1p
bjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1p
bi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0
aW9uLWluLndvcmtlci5qcwppbmRleCBiNTQyMDhmNjZjZWJhNWQ1OTdjY2Y4NDJhZGZlMTkzYTBk
NDQ3ZDkwLi4wZTlkOTNhMjcyMzQ2NmUxMDE2NzU3OTNkODlkMDc4Nzc0OTRjMGFhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWluLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0
aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWlu
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNjIxNzFlY2FjOWVjZThmMGM1YjJkYzQ0
N2JlMWJiYTA5ZmQzNGI5ZC4uNzczMmU0NDE1MGRkOTQ2ZjgwNTQzMzkwYTY0Y2VjMTBhNzRiMmI4
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5h
dGlvbi1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRl
c3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3V0PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5h
dGlvbi1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKaW5kZXggZmJjZDc1ZDYxYThlMzY1MDEz
ZGE0NzBlYWJmZTViYzM2ZjIyZWY4ZS4uZWFlY2FhYWEzZTk4ZTM0ZGY0NmViOGI0ZDhiZTJkZWFj
NjNjYThlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAs
IDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggMTQ2NjlkNmJhNGIwOTIy
MmU0ODlmOGMzNjAwMTdlOTVlMmRlYTgxNy4uZmUzODgzN2MzZWRkZmFlNzliNDE1ZDliYjE1NTE0
Y2M2NjQ3NWQwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUs
IDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIwLDI1
NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIud29ya2Vy
LmpzCmluZGV4IDc2ZDBkZjI1ODM0ZmUyYjc0YTJhYTAzNDVjZDExYWY3YmM3Y2U2NWYuLmFiMmI5
ZDcwM2I0ZTg5OTk0Y2MxY2ViOWEwODAyOTEzOGI2Y2VmNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxp
Z2h0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5o
dG1sCmluZGV4IGFmNzU3MmEwZDk1ZDVhYTUyMTVjOTlhNmFhYjUwYzhkYjk0MmYxNjAuLjY5YWM1
MzUzODQ4NjM4NzM4YjdkMDA5MDA5ODhkZWRhZDA5YzY5ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQubGlnaHRlcjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUuc29saWQubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2xpZ2h0
ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQubGlnaHRlci53b3JrZXIuanMKaW5kZXggMzQ0YTVhM2I3NGJlYTI3N2ZhZmU2YTQ3
MTFiNThhYmU1N2NlNTQ0Ny4uYTgxZTM0MDA0ZDI0ZTMxMGJiMzVhOGQyNGRhNDg5YzdkMTlhZDdj
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxpZ2h0
ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRlcic7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwy
NTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJj
ZS1hdG9wLmh0bWwKaW5kZXggMDgyZDQyMTVhNGQxODU2YmI2MGVhNTFiYmM1ZmFlM2U3NTcyMDc4
OS4uNTkyMzc5OWE3ZWYwNmQxYzU1ZDAzZDQ3YTIxZGI2ODlmNTA2ZGJmMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3AuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNv
bGlkLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgy
NTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5q
cwppbmRleCBjMmQwZjBlMTJjM2FlMDc2NWRiMGU1NjQzNTQ3M2VkOWM1MjI4YmY4Li5hMzM1ZWFl
Y2YwMjk5YThiNmZjNGVlYmJjOTQ5NzhiNjUyMTAzN2RkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKaW5kZXggYzM1
NTI2ODZiMzJjYjFjMmZlOTIyZTg5YTZlZWY4MzMzMzg0MTMyNS4uZTJmMzM4ZTRjNDhhN2UwZDRm
MDExMWI1YWY3NzRjMDAwYTU3MWJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29saWQuc291cmNlLWluPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4n
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLnNvdXJjZS1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggZGU5NGQxZWVhM2UyYmU2NjdlMWNjMjQyNmI4
NDM5MTM3MmIzZGRlNy4uYzMzNjI4NjE0YmE0MzczZDk3Y2I3MDc5NjFlNzE1MWFiNmM1YjRkNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4u
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNl
LWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyAr
MjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1
NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Ut
b3V0Lmh0bWwKaW5kZXggODlmY2NmZWJjZDdkYmVlZGQ3MDdmNTUyNDQyMjE4MzU2MTdiNWUzMS4u
YmMyNDBjMjBiZDhiYzliYTlkZWZmYjkwNWRkOTM3N2U4NTdmZDFjMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5z
b3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnc291cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUs
IDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDc2ZTZhZGMxNzRhMmRl
NDkxYzQyMjJmY2IxYmFjZWUxMTE1ZTRkZTIuLmE1NzU1NGE0NDE1YmRlNjIxYjNmNDVkOTdjMTMw
YzUyYTA2NDRiNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3Nv
dXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1vdmVyLmh0bWwKaW5kZXggZGUyMjA2ZjU0ZWIzNmNmNzdmNjEyYTZkYWE1MjRiNDk4OGRm
MGY0ZS4uOWU5YmM5ZDFlMDk1MzkwOWZiNjA5N2JkN2UyYmYxOGI1YTJlYTUzNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1vdmVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtl
ci5qcwppbmRleCBlZGJkNjI4YTIyYzU4YWE3ZDVjMmFlZjBhZWJmOWI1YTA4Y2I1MDU4Li5hYWM1
YmJlZDAyYjg1MGZkM2ZkZDgxOTk2OGI4YjljZjZiOTJkN2M3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3IuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLmh0bWwKaW5kZXggOGQ0OGZmOGRiZWZl
ZGZkMzJmNGVkZTJlYWI2ZTU3YTFlOTY5Y2QwNS4uNDdkZjcyNjAzOGZhNjMwMmVkMGRiZTc0MTM0
YWVlZTM3NDE4NjM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC54b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnhv
ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5j
b21wb3NpdGUuc29saWQueG9yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5zb2xpZC54b3I8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAx
LjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLnhvci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLnhvci53b3JrZXIuanMKaW5kZXggYTI0NTk1MTcxZDlkOWRiOTc0ZTc4ZDYxMzg1MGUwODNh
YWE2MmVhYS4uNjZkZjI2M2I5NTAyMTc1ZGI2ZThjZmZjNTc1NTljYWJmNDZmMTJhOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3Iud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAy
NTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lmh0bWwKaW5kZXggY2YyNTZhOWQwNGE3MGQ4MGQ2YTQ1
OTU3NDg4MWIzOGNiOWU2YWEwNC4uZGQzMzkwZWUyNjY4NmNiMjYyODAwM2QzNmIxNGI5ZTIyNWY5
ZWQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5jb3B5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSwxOTEsICI1
MCwyNSIsICIwLDAsMjU1LDE5MSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtlci5q
cwppbmRleCA4ZmIzNWFiNDNjMjAwZTIzZjJjYmMxNzIwNTgyMDc0MjY2ZWU3MDIyLi42NzYyNzIz
OGQzNDYyNDk2NGIzYTQwODE0NmU2ZjQ1ZGJjZmE2ZjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAy
NTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDE5MSwgIjUwLDI1IiwgIjAsMCwy
NTUsMTkxIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0
bWwKaW5kZXggMDRiZmNhNWU2ODA3NGQwMmI3YTgyZDFmMWEwZjkzMGJiNTM0ZTliNC4uZmViM2Jl
YjY1NmU1MDllNmI0MjQyMWIyMmQxNmFmNjYwMDNlNGIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1h
dG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwxOTEi
LCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKaW5kZXggYmMwMzZiMjI1YWIxZWUwOGNhYzY4MGE1ZjFhN2U1NDk4N2Q1MWM3ZC4uZWNl
MGU1Y2YxOTU4YjAwOWIwNjE5NTQzMjZiZGU5Y2Q0YWU2NzQ5MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3Rp
bmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRp
b24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwxMjgsMTI4LDE5MSwgIjUwLDI1IiwgIjAsMTI4LDEyOCwxOTEiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGU0MjljMmJk
ZWFmYjM5MjkzYTU0NWYzMTRjYzY0MTA5NWViY2U5NDEuLmQwOTRhZWUzZmY0YjNjYzgwMzdmMDgx
NzFlYmY2ZmFkYTBlNDAxYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRp
b24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw5
NiwgIjUwLDI1IiwgIjAsMjU1LDAsOTYiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBmOWVlNmQyMTNhYjQ1M2NjODhmZmI4ZDYz
ZjZiMzkxMjc5ZGUzMmY4Li42N2M2YjVmODE5MGViZDA0NzFlMWJhMmRiZjViZDIwYzg0MGI1NGFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRl
c3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUs
IDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDk2LCAiNTAsMjUiLCAiMCwyNTUsMCw5
NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRl
eCBhODBhM2E5MTcyODg5NWYyNzRmZDM0OTgzODZlNGYyMGM1NzJlMjE0Li4xNzZlNTBkZDE5NmM4
ZmExZDA4YWFmYmZiMDgzZjQzYmI4YmQzZmQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMs
NyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW91
dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwzMiwgIjUwLDI1IiwgIjAsMjU1LDAsMzIiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGY2MWFjMGZk
N2RmNWQzZDBlMTA0YTcwYjE5OWNlNzk3ZjA5NGJiZDMuLjAxNmM1MGVmMWNiZDgwYmMzNTQwM2E5
ZDUyMDJkN2U2NmNmMDA5ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMzIs
ICI1MCwyNSIsICIwLDI1NSwwLDMyIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24t
b3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0
aW5hdGlvbi1vdmVyLmh0bWwKaW5kZXggODdhZGNjZjU5YTJkZGNmNjAzMjVkYjVmN2UwZWM5NTg5
Y2ZmYTA0Yy4uNmJhNWUwY2RiYmZjY2I4MzdlZTA1MTJkMWIwOTAxNDIxZDJiMmZhNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwg
MCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1Iiwg
IjAsMTQ2LDEwOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdmVyLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGlu
YXRpb24tb3Zlci53b3JrZXIuanMKaW5kZXggMTE2MGU3M2Q4NDQ5NmFlMDk0ZGYwN2Q2Yzg5ZGQ4
ZjBmMDBkMmJkOC4uZGRhNzRmODE2NmRhMWRlOWYwOGFlMjk3ZmRjZDI0ZDA1MmNmYzQ3NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5h
dGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1
LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxNDYsMTA5LDIyMywgIjUwLDI1IiwgIjAsMTQ2
LDEwOSwyMjMiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbAppbmRleCA5YWU1ZGRl
YmE5YmI5NmIzMGE1OTQwNWM3ZTY1NDA4ZjEzNmZmN2IzLi5lMDZmZTkxYjk0NjZkYjk3MWY4ZTdl
MGY4NjM2ZGZjNWZhNjM0ZTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdsaWdodGVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDEyOCwxOTEsMjU1LCAiNTAsMjUiLCAiMCwxMjgsMTkxLDI1NSIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLndvcmtlci5qcwppbmRleCA4ZGExMTRjOWIy
YjEwYzdiMDI5ZmFiOWFmY2EyM2M2NmM4MzNmOGViLi45M2VhZjFjMTBkYjU4NmI0MTU0YmZlZWQ5
YWE1NDhjNzAzMTM0YjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICdsaWdodGVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDEyOCwxOTEsMjU1LCAiNTAsMjUiLCAiMCwxMjgsMTkxLDI1
NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwKaW5kZXggYmRiMjgz
Y2JhMDMyYjlmYzY3YTVkMzg4NjhjMDA0YjgwNmVlYTdmZS4uN2NlNGJmNTIwMjEyZTdiM2FmNWYy
M2I5MTk5Zjk0Y2QyODdiYjA1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNv
dXJjZS1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIs
ICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9w
Lndvcmtlci5qcwppbmRleCBhMDNlMmU0YTMzMDBlNTEwYzJjMmE3NmY5MjcxMjUwYzlhYmJhNjJl
Li42ZDRmZDFlYTIyYmZkMjBiZTQ0MzFjN2MwNWQwNTZiNDk2YzI3MzE1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJj
ZS1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1hdG9wJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQuc291cmNlLWluLmh0bWwKaW5kZXggM2ZiODMwYWU1NjRmNmRjYzZjNGY5Mjg4ZmMxYTdk
ZWEwM2UzN2FhNS4uNzI3ZjI2ZjQwMjljYmRhYWIyYzNkODI4M2NjODQwNDA2MWY5MjI2ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Ut
aW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNv
dXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIz
LDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
c291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQuc291cmNlLWluLndvcmtlci5qcwppbmRleCBmNDk1MzliNTllMWU2ZmJiMzMxNDdjZjZl
YWI3OTE3ZjM4NzMyZTMzLi5lY2Q4YWE1ZGZiYzA3Y2IzMzQwYzc4YTY3NWUzNjkxNmI4NmYyOTgw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNv
dXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFu
c3BhcmVudC5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLWluJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMjU1LDk2LCAiNTAsMjUiLCAiMCwwLDI1NSw5NiIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQuc291cmNlLW91dC5odG1sCmluZGV4IGIzNDA1YmIwZmFkMGYyZmI3OWE0ODIw
MzRmMDY2MDIzNmRhZjBmNzcuLmVkNDQ3ZDdmMmQwZDkyOTA4YWI1YTg2YTliZTk5MWViNDNiM2M3
ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
c291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3Nv
dXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IGFmYTFhZGYxNGFh
MGI1N2QzY2JmMDdjZjg1ZjU0YWE3ZTA2ZDllYjEuLjI0M2M4YjM1ZGE4YjhiMDI1YTQzY2RmNmUw
YTUwZjU3NjA4YzFhYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1
NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1
LDk2IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbAppbmRleCBjYzFl
OTUzMzA5NjNlYTg4MzFiMjVmYWI1ZDI0NGMzMzU4NGMwZDJiLi5iYjRiMjg4OWVlYzZjOGI5ZWFj
MmZiNGYxNTYzOTEzYmQyNjM1ZWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
c291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMzYsMjE5LDIyMywgIjUwLDI1
IiwgIjAsMzYsMjE5LDIyMyIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92
ZXIud29ya2VyLmpzCmluZGV4IDgxNTNlMTc2YTg3YTAwNmYyYzgwNmQ0MWQ1NTU2NjIzMzg4MWRh
ZDguLmJhODA0YjUwYmY2OWQwNTIzNGVkZGYyOWIyN2ZlYTExYmFkOWRlZDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLW92ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXIn
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMzYsMjE5LDIyMywgIjUwLDI1IiwgIjAsMzYsMjE5LDIyMyIsIDUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50Lnhvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVu
dC54b3IuaHRtbAppbmRleCAzZjk4ZTc4YTNjNjgwNjlkNmIzYjdmN2ZlMjc2MjcxNjdjMTRhMGMy
Li43NjAwMjMzNmJmM2IwMjEzYzkwZGZkOTFjYTYzYThlM2Y5NDFkZWRiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50Lnhvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnhvcjwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCw2NCwxOTEsMTI4LCAiNTAsMjUiLCAiMCw2NCwxOTEsMTI4Iiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudHJhbnNwYXJlbnQueG9yLndvcmtlci5qcwppbmRleCA1ODYzNGJkNmU4ZTA4ZmUw
ZDE2ZWNkNWZjMmYwODFiMjg4OTNiMGQ0Li41MWY4ZWIyYTVhOGQzNmFkZjhjNGQwYTg2MmE3OWJi
NThmMDJjODQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50Lnhvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmNvcHkuaHRtbAppbmRleCA0OWE3MzgyMGEwNTE5MmJiNTQxNDQzNTg5ZThhMTAyZmJh
NGFkMTI0Li4zNDE4ZGZkZjA5ZjFkOWI1YTU3ZDVkNTQyNzBmNDFjZDJkN2EwN2M5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHku
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5maWxsLmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBi
eSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUg
cGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZp
bGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuZmlsbC5jb3B5Lndvcmtlci5qcwppbmRleCA5ZWNiZjVkNDYxZmY1NTU2ZjU4NWVlZGI2
ZmJmMGM0M2JmNDFhMWY2Li43NGJiMzRhMTllNDg0YTQ1ZmRlMWExODdlYWY2ODgwYjJjMDMyYjMy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxs
LmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgu
dHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0
b3AuaHRtbAppbmRleCBiZjQxY2U2MTUxNmVlNDAwMmZhYzQ5NGFkNzYzY2JmYmViMTNiNTNhLi40
ODY0OTk1ZDNjOGE0ZDUwMTExYzdkYWE0MzIzZGJmYzQ1ZTU4NTQxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Au
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRl
c3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3A8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVj
dCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUs
IDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCww
LCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9u
LWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
ZmlsbC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCAzZjFhZjNkN2Q1Y2E2YWQwNjJi
MzczZmQ4MmY3MzU0OWZhYTNkNTk3Li41NWU1OGM4OWE3MmY3MzJmZDhiZGVkNDgyN2I0NGU0M2I5
ODg5MmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkg
dGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxs
UmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
ZmlsbC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IGUyN2M3MGEyMzRhYmM1YzE4
YjcwMjBjY2ViYzAwODQ0MzRiMWFkNzAuLjFjYjZkMjYzOTdlNmIwMzk3NWI4ZmNiYzk5NTcxMTYx
NDYyZWQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTEsOSArMSwxMCBA
QAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW48L3RpdGxl
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmZpbGwuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3
cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBh
bmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTIs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVs
cyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUo
MCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29ya2Vy
LmpzCmluZGV4IGZlMWFlNjU2YmE4NjZhOTgyZTYwMjAyYzdiYTlhMTY2MzRmNjNhZTQuLmI5NjFm
ZDUzOTQ2YzA4NWJmZTUzZGYzNGIzNzFiN2U4OTZhM2UwNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVz
dGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJh
d3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwg
YW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRy
YW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi5odG1sCmluZGV4IDY2
YjBkNjQxOTY5ZTUyNDFlZWRhODYzNmE1Zjk1NTZlZTU3NjlhNGMuLmZkOWVjYzVjNTMzYzEyZjZk
NjQwZjBhN2Y4MzhiMDg1ZWJkNWMyYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4uaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNl
LWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVk
IGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRo
ZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVj
dCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmls
bC5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuZmlsbC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IDQyZTFmZjAzN2U0ZjFjZmE4ZDZi
ZWRmMjhiNGI2ODZjYzlkZmNkOWIuLmY2Y2FhY2U1NGI5Nzc5OTRkM2E5ZjI2NDc1YmNiMzdkNDM4
YWMxODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmpl
Y3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQu
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1
LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJj
ZS1vdXQuaHRtbAppbmRleCA1YzgwYzNmNzNmNWIwZjk0YjFkMmIwMjdlMDczZGJhZDFjM2M4MGQx
Li41NzhhMWE0YmQ1ZTA1YjBlMzdhZTBlYzJlOTM1ZDFmNTQwYjkzNWM1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJj
ZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xh
dGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0Lndvcmtlci5qcwpp
bmRleCA2ZjczODcwNDM4ZGIxYzFjMzMyOWQ0ZWE2NDAwMzRlYTk0MzAzYTg2Li42ZGIxNzU3ZDFi
ODAxMTdiNTFlODJjYmU2ZGNiODY2NTI0N2I4NDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3cyBwaXhlbHMgbm90
IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJhbnNsYXRlKDAsIDI1
KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuY29weS5odG1sCmluZGV4IDczM2E1MTM1ODc3MTcwNzA4ZmY4MzMz
ODM2NzlmMjNhNjYyZDMwMWIuLjFlMWNhYjY0YjcyYzhhMTBlZGIwZmI1NDgxYzYxZmVmMTQzZTM2
MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmlt
YWdlLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5pbWFnZS5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmltYWdlLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgp
IGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAs
MCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBk
cmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDAp
LCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAs
MTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAs
IDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCww
LDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQw
LCA1MCwgMTAsIDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmltYWdlLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKaW5kZXggNzg5ODA2NmRmMzlk
MDUzNzU2NzE2YjgzNGFhZmM0OTc5NjNjZDNiMi4uNzAxOTI3MGNkNjk2ZWQwMTdkNTA3NmI0NjA4
MzE3NTdiMjA3ZTVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNl
IG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hh
bmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAs
IDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAi
LCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0
aW9uLWF0b3AuaHRtbAppbmRleCA5MjI0ZTc0ZTBhYWVkN2M1YjBlYzc4MWYzNTY5NWI2MGM4MjJi
ZGE4Li5iYzZhYzNlZTJjMWVmMWM2ZmRhYjU0NmQ3NzNiNjAyMzRmMmQwM2VkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9u
LWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1hdG9w
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVy
ZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVk
IGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRo
ZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCww
IiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUs
MTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0
aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4IGMyNzk5NjA1ZTAx
NmFhZTUwYmY0NWZmY2NkNWNhZTVhMjFiOGE0YzEuLmFhYWUxOTgyN2VlYmNkMjMyMWY0OWMyZjY4
NWEyNDRiYmQ5YmY4ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMg
bm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBu
b3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1
IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAs
MCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbAppbmRleCA1MTAyYjE5NDFkZmViMDI0
MDU1OWFmNmE1NDNkNTJiN2YzYTVmYjRiLi4zNDEwYWE0MmFiOWE1YzEwM2QxNWYzNGI0NGZiZDIx
YWFjOTc0MDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2UuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5k
ZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVs
cyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUs
MTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwg
MTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwg
MCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IDlh
MTA5MGRhNzEyNTYwZjQ2N2UyYWY4ZjUxZjk4MGNjYTg3YzE5NWEuLjE0MGUyMWQ4ZWFkZjRhMjE2
NzVkYjhjMGEzOWU3YTVmMWM1MTg3NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1p
bi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAs
MTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAi
MTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAx
MCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwx
NSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKaW5kZXggMGQyYTg5OGIxMGVmZTdkYzk2M2M2
YmFhMzMxZDM3ZDA4MWExYmQ3OC4uOTc5ZjBhYTkzZWQ5MzZmZDc5ZTEyNWJmNTRhYWYxNzhlMTFh
MmFjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2Uuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWlu
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLWluPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNv
dXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1
bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0
MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAs
MCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4ud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNl
LWluLndvcmtlci5qcwppbmRleCAwMzA3MGI0ZTk5MzVhZGFlZWRjZDQwZjliZTQ3NzllMjQ0M2Fj
MmExLi40YTkxNDcwYWEwMTE1MmNjNmQyMDEwMjA5YmFlNjY2YTZlZDRhZjM1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW4u
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmlt
YWdlLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFn
ZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCww
LDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUw
LCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1
LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAx
MCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwy
NSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbAppbmRleCAyNjU5MDJi
M2NkNjhlODZmMTA2NjY4NjU4ZGQ0MDI1YjRlMjljMjI0Li5jZTcyMDMyYzU4MmJiNjJhMmVkNDNl
OGVkZjkwY2YxMzA2ODBkZjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3Vy
Y2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90
IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBj
b3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxl
YXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIw
LDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCww
LCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFn
ZS5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDQxYjNmYTU3NjNjNzAwODM4
MTc5ZDE4MTJiOTdiNWI0YzQ0ZTkyZmQuLjRjMDU0Y2IyOWRmZjM2ZjMwZTYzYzUwNjIyMmRjMzcy
NzE1ZThmNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhl
IHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVs
cyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
NDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwg
IjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIw
LDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHku
aHRtbAppbmRleCA5MjQyMmY1OGY2NGU4YTdkMzdmNWY4ZTc0Zjc3ZDMxMDgzZTg3ZWM5Li5kMjRm
NmI0ZGJhMjM3ZWNkZmZjNTUwMDhjODg2YmNiYjc5MmRhYzgxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBj
YW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3
aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxl
YXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LmNvcHkud29ya2VyLmpzCmluZGV4IDc1Nzc4ZjQ0Y2I3ODY4YmQwMTJhNDVhMjFj
OWFjZDI2MTFhN2E1ODQuLmI1NDAwMjAxMjUyYjQ4YzA1OWU0MmE2OGE5MGU3MTM4Y2JmZTMxMWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29u
dGV4dC5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5ub2NvbnRleHQuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMg
KDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHkn
OwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
Y3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWF0
b3AuaHRtbAppbmRleCBiMDU4YzZmYmI0NzhlNDRiYmE5YzA3NTA4ZDhkZDNlMTg0ZDRiMTUxLi4y
MmE4YmRkYTdkNDk3ZDJhOTdhNTU0MjE2ZDc4Y2VhZjkwNTM4NDAzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24t
YXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3Rp
bmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGlu
YXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMg
d2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRoIG5v
IGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRo
ZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9j
b250ZXh0LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmlu
ZGV4IDBlZWU1MWFiMGYzODNhNDYwN2QwN2I3MzY0MWM4NTdmMzQxZGMxNWQuLmI4MTMwMzM5NGZi
ZDc2YjJhM2QxZTE4MTIyODllMTU5NWU4MmZmODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRl
eHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRy
YXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAs
MCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0
aW9uLWF0b3AnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5h
dGlvbi1pbi5odG1sCmluZGV4IGQ5YjlkYzNmNjQwY2ZjMmNlYzFlYWEyZDJlZmRhODI2MjdjMGRl
MzMuLjk3YWY2NzMxNTA3YmI1ZTA5NzAwNDZmMTYwZDk0MDBhNzQ0NDk2NjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5h
dGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
Lm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0
aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5h
dGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0
aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2
ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRoIG5vIGNv
bnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBw
aXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IDgzMTYz
NjU1YTkyY2YyMjkzZTdjYThjYWNkOTlhZTc2ZDg5NjFlMWIuLmFhY2Q5NmY1NTgxNmM5MmZjNWNh
ZDc1YTMzNjUxMjdkZGQzZWEyZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0
aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2Yg
YSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2
IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOwogdmFy
IG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRy
YXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLmh0bWwKaW5kZXggZmM1MmQx
MDk0ZmQ2NmJjMzRiZTZmYmIzMTU2Y2ExMmUxZWJkMzRlOC4uMzkwNGFkNTRhYTBhY2U4YjYxMGE3
M2Q5YzBmZDRhNDI4NmRhZmIwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2Yg
YSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZh
cyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90
IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNjcmVlbkNh
bnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZz
Y3JlZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5u
b2NvbnRleHQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGNjYTFiMWJk
MzQ1OGFhNjIzOGFhZTA2MTYxYmQ5Y2RiY2NmM2IxOWUuLmNiMTA3MGIzN2U1ZDEyYjgxZGU4NmRi
YmYxMzgxYmI4YjdlNWJjNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRo
IG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwogdmFyIG9mZnNjcmVlbkNhbnZhczIg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRl
eHQuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1vdXQuaHRtbAppbmRleCBiNTU1YzY1MzA2N2JmODJkMmM0Njdk
NGNmMDZiNGEwOWRiOTBjYzIyLi43MDc4OWY0ODZmZDk2YjA0MGQyYzIyZmJmMTdkYjQzMmUwMzdj
ZGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5u
b2NvbnRleHQuc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291
cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0
aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2
ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRoIG5vIGNv
bnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBw
aXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFz
MiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNv
dXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IDQwZDdjYzg1MTMyZjU0NmQ5
ODI2ZWMxMDk1MDBjYTUyZDg4YmJkMjcuLjcyNmMzYTgwYzQ5OTdkNzg3NmM1ZTY1MGZhM2IxNzkw
OGE2M2I2OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLW91dC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29u
dGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29w
eS5odG1sCmluZGV4IDBhNjdhNDVmODNmZDc1ZjVjZDQwNGZiMDRjMzNlNDkxZDc3MjQxOWMuLjg0
YTUzODg3OGY2ODhkOTliYTRiNTA2NTg0NDYyNGEyZmUwZThkNzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBp
eGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBk
b2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQs
MTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBj
dHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsK
LSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS53b3JrZXIu
anMKaW5kZXggZWE0ZjQ3ZmI4MjMyNmY1YmZlODJmMTFjMTIyMDU2MWQ2YzJlMTFiZS4uYjhhMmUy
MDM0MjM4Njc4NDNjNTA4ZjVlYjBlNzFkMzYzMGQ2YmMxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHkud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEy
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0
bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRp
b24tYXRvcC5odG1sCmluZGV4IDBiMjkwZDYwYWFjYWJjZjE5Nzc4YTEyZTdhNWViYTc3OTI5YTQx
MWUuLmM3YzIwYmIzOTJiYjJiY2FmYzBjYjhhMmRmM2NmYjAyMTAzMDM2ODMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRp
b24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRp
b24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVs
cyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRt
YXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVz
dGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggZjMyODExZTI1YmNjMmMyNDRmYjZkNzgyNTA4
NjRhNTMyZDU5YmM2OC4uYTFhMmViODU0OGY4MDVlYTg3NTkzZTI1ZTcwMjhhNWVlYWExYTVmOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVy
bi5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVy
ZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVw
ZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5k
ZXggODhlYzg5N2E2MmU1ZjE2OGNjOWEwZjVhZmFiOWUyYjFkYjg4OGMzYy4uNTA1OGM3NWJjZDgx
MGFiMmI4YTFiZDA5ZWMxMzIwMGQzZjdhODFkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRp
b24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291
cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVu
Y2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBh
dHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQucGF0dGVybi5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRl
eCAwODAwZjBiZjdlNTIxM2E5OGNkOTg1MTJjM2Q2NTM0NzEyZThlYWI0Li4yYWI3MTNiOTQxYmVj
MmQ3ZDYzYzlmMTBhNWZjNzgzMzljYTkxOThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3Rp
bmF0aW9uLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxs
KCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAs
MCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVh
dGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
NTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291
cmNlLWluLmh0bWwKaW5kZXggNzhkMWZhZDY1YTFjZmI0MjUxN2Y5YWZhMzA1ZGQzNTA1YmJlMjY4
Yy4uNGJlYjNmYjI0YjQ3MmMzNWE1Nzk1MzgwM2M3OTMzNjk4Y2I2YmZmNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJu
LnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW48L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBv
YmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5n
ZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUw
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0
eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcwppbmRleCBhMzRkOGY2ZDZlZWUz
ZGNlYTFmNGIyZTZjMTBjNGU3NDhhNmIxMGQwLi5jNGU2Yzg1Y2QyMzA3NmQ2MDQyOGUwMjQxOGMw
YjlmZWE2OWZhOTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVy
ZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVw
ZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCmluZGV4IDQ3MjM3
ZTNkYmMyNjM3MTcxNjQ3ZWExNzNkMjUxZGFkM2M2OGJjYmMuLjkwN2M3N2FhNDZkZDA3YWI0YzNl
MmE1ZGUxODI3ZDAyYzE0ZmQwYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBh
dHRlcm4uc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGF0dGVybiBmaWxsKCkgZHJh
d3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwg
YW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwx
MiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBl
YXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0
dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAx
MDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
c291cmNlLW91dC53b3JrZXIuanMKaW5kZXggYmI0NTE0ZTRlMzE2Mjg3MmQ2YWZlMTExMDc4ZmZh
YzIxODlmMWI1YS4uNmFiYjY2YTk1MWEwMDM5ZTg5MmQ2ZmUyN2ZjYzhiNTRmMmZlZGY4MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5z
b3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJQYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjYsMTIgKzMwLDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0
ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmls
bFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5h
dGVzcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRl
c3BhY2UuaHRtbAppbmRleCBlYzI0YTE5YzE3MzZjZWEwYTU4M2NhZDkwODVjMjY3OTI1ODkxOTBj
Li4wMWIzZmY5YzY1ZmQ4MmQzMzUzYTc1Y2I2NjQxNGNhZmFhNzBkYjNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvb3JkaW5hdGVz
cGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb29yZGluYXRlc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvb3Jk
aW5hdGUgc3BhY2UgZ29lcyBmcm9tIHRvcC1sZWZ0IHRvIGJvdHRvbS1yaWdodDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPlRoaXMgc2hvdWxkIG5vdCBiZSB1cHNpZGUg
ZG93bi4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvb3JkaW5hdGUgc3BhY2UgZ29l
cyBmcm9tIHRvcC1sZWZ0IHRvIGJvdHRvbS1yaWdodCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDI1NSwyNTUsICIyNSwx
MiIsICIwLDI1NSwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwx
MiwgMCwwLDI1NSwyNTUsICI3NSwxMiIsICIwLDAsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMCwyNTUsMjU1LCAiMjUsMzciLCAiMCwwLDI1NSwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDAsMjU1LDI1NSwgIjc1
LDM3IiwgIjAsMCwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtlci5q
cwppbmRleCA3Y2FkOTdiMmRmYjk4OGYzY2U0MzQ0NmM1NTVjY2U5MmViYmY1YTMyLi5jMzlhNmE0
NDMxZTlmNzhhOGNjOGY5YmQ4MjcyNmFkOWE3YWY4ZTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9y
bWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5UaGlzIHNob3VsZCBub3Qg
YmUgdXBzaWRlIGRvd24uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJDb29yZGluYXRlIHNwYWNlIGdvZXMgZnJvbSB0b3AtbGVmdCB0byBib3R0
b20tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDEyLCAwLDI1NSwyNTUsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMjU1LDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMCwyNTUsMjU1LCAiNzUsMTIi
LCAiMCwwLDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAw
LDAsMjU1LDI1NSwgIjI1LDM3IiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwzNywgMCwwLDI1NSwyNTUsICI3NSwzNyIsICIwLDAsMjU1LDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1l
bnRzLzJkLm1pc3NpbmdhcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJl
bWVudHMvMmQubWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IGY3ZTgyYThjMWJmYTYyZmQz
MzY3YWMxYTVlNGY1MmY3MTNlOWIyN2EuLmZlZjljNjJmNDY2YTcyNmYyMWQ5YjMzMTgxOGJhNzgx
ZjgzY2M3YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlz
c2luZ2FyZ3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMv
MmQubWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0CkBAIC0zLDUgKzMsNSBAQAogTWlzc2luZyBhcmd1
bWVudHMgY2F1c2UgVHlwZUVycm9yCiAKIAotRkFJTCBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBU
eXBlRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY3R4LnNldFRy
YW5zZm9ybSgpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIE1pc3NpbmcgYXJndW1lbnRzIGNhdXNl
IFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8y
ZC5taXNzaW5nYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNz
aW5nYXJncy5odG1sCmluZGV4IDBiZThiNThiNjFlMzMwMjIwOTFiNWM2M2YwY2YzNzdkYjgyNThi
MzcuLjRjODEwNDk1YzhmMjI0ZDU4ZTg4NTVjMGRjNjM4NGFiZDRlMDI0MDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3MuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLm1pc3NpbmdhcmdzPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLm1pc3NpbmdhcmdzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXNzaW5nIGFyZ3VtZW50cyBj
YXVzZSBUeXBlRXJyb3I8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJyb3IiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMCw3ICszNCw2IEBAIGlmIChjdHgudHJhbnNmb3JtKSB7IC8vIChhdm9pZCBzcHVyaW91cyBm
YWlsdXJlcywgc2luY2UgdGhlIGFpbSBoZXJlIGlzIG5vdCB0byB0CiAgICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgudHJhbnNmb3JtKDEsIDAsIDAsIDEs
IDApOyB9KTsKIH0KIGlmIChjdHguc2V0VHJhbnNmb3JtKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKCk7IH0pOwogICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5z
Zm9ybSgxKTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguc2V0VHJhbnNmb3JtKDEsIDApOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCk7IH0pOwpA
QCAtMTEzLDcgKzExNiw2IEBAIGlmIChjdHgucHV0SW1hZ2VEYXRhKSB7CiB2YXIgZyA9IGN0eC5j
cmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoKTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDApOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50
cy8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDZjNWQ3
MjQ2MjVhNjY3MTc5OGQyMTBhNWJmYjZlNDU2NzlmNjRmNDUuLmZiZmFiNTU3OWNkMWRmZDkwYzhh
MjQ1ZGU2OTA2ZjNhOTk1MmM3OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJl
bWVudHMvMmQubWlzc2luZ2FyZ3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9y
bWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSwzIEBACiAKLUZBSUwgTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IGN0eC5zZXRUcmFuc2Zvcm0oKTsg
fSIgZGlkIG5vdCB0aHJvdworUEFTUyBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJyb3Ig
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2Fy
Z3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJn
cy53b3JrZXIuanMKaW5kZXggMWE5ZDQxZTM4NWQ1Yjk4ZDQ2ZGU3ZjcwNmI1NWYyNTkyNjY3MjAz
My4uYjhiYzEyN2I4NzdjMDg4Njk5YzQ5OGFjMjc2YmRiYzQyM2QzODBhYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJv
ciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgaWYgKGN0eC50cmFuc2Zvcm0pIHsgLy8gKGF2b2lk
IHNwdXJpb3VzIGZhaWx1cmVzLCBzaW5jZSB0aGUgYWltIGhlcmUgaXMgbm90IHRvIHQKICAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC50cmFuc2Zvcm0o
MSwgMCwgMCwgMSwgMCk7IH0pOwogfQogaWYgKGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0o
KTsgfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguc2V0VHJhbnNmb3JtKDEpOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCk7IH0pOwogICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgxLCAw
LCAwKTsgfSk7CkBAIC0xMDksNyArMTEyLDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIHZh
ciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApOwogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgpOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3Ao
MCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2Ut
cmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJl
bWVudHMvMmQudm9pZHJldHVybi5odG1sCmluZGV4IDQyZWI5OGVjMWVjNTZhYmExOTZlY2M4MjI2
ZTZiMDVmZGY1ZDdjMjQuLmJkMWQ1NDEyZjYwNTZhZTM3OTBhZDdhZDAwNzczYzliYWUzMzU5Nzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC52b2lkcmV0
dXJuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnZvaWRyZXR1cm48L2gxPgogPHAgY2xhc3M9ImRlc2MiPnZvaWQgbWV0aG9k
cyByZXR1cm4gdW5kZWZpbmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgidm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC00Nyw3ICs1MSw2IEBAIGlmIChjdHgucHV0SW1hZ2VEYXRhKSB7CiB9CiBfYXNzZXJ0U2FtZShj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCksIHVu
ZGVmaW5lZCwgImN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAw
LCAwLCAwKSIsICJ1bmRlZmluZWQiKTsKIF9hc3NlcnRTYW1lKGN0eC5jcmVhdGVMaW5lYXJHcmFk
aWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJyksIHVuZGVmaW5lZCwgImN0
eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRl
JykiLCAidW5kZWZpbmVkIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLnZvaWRyZXR1cm4ud29ya2VyLmpzCmluZGV4IDBkN2Rh
NTk3Mjc1ZDAxYWU5NzBlOTk4NzhkOTVlOTI4YzkxM2VmNjYuLjYyODNmNTNjYTk1NWY4MDE3OTVm
ZjFmMWJiMDkwNzYwNzRmZTdhNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJl
bWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVp
cmVtZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
dm9pZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGlm
IChjdHgucHV0SW1hZ2VEYXRhKSB7CiB9CiBfYXNzZXJ0U2FtZShjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCksIHVuZGVmaW5lZCwgImN0eC5kcmF3
SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSIsICJ1bmRlZmlu
ZWQiKTsKIF9hc3NlcnRTYW1lKGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAwKS5h
ZGRDb2xvclN0b3AoMCwgJ3doaXRlJyksIHVuZGVmaW5lZCwgImN0eC5jcmVhdGVMaW5lYXJHcmFk
aWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJykiLCAidW5kZWZpbmVkIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zm
c2NyZWVuY2FudmFzLmNvbnZlcnQudG8uYmxvYi53Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1ibG9i
L29mZnNjcmVlbmNhbnZhcy5jb252ZXJ0LnRvLmJsb2Iudy5odG1sCmluZGV4IDFjNjlkNGQyNjM2
MWY3ZDExN2E5YzgzZTlhNDU3ZWI1ZjBmMDc4ZGIuLjliMDhjYzg2MjU3ZmYwZTUyMjBjMjNlM2E3
NmZmYjhhNGQ3ZDhmYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Ivb2Zmc2NyZWVu
Y2FudmFzLmNvbnZlcnQudG8uYmxvYi53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9v
ZmZzY3JlZW5jYW52YXMuY29udmVydC50by5ibG9iLncuaHRtbApAQCAtMzAwLDYgKzMwMCw4IEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
dmFyIHdvcmtlciA9IG1ha2VXb3JrZXIodCk7CiAgICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKG1zZykgeworICAgICAgICBpZiAo
bXNnLmRhdGEgaW5zdGFuY2VvZiBPYmplY3QpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IGFzc2VydF90cnVlKG1zZy5kYXRhKTsKICAgICAgICAgdC5kb25lKCk7CiAgICAgfSkpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNh
cmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4z
YXJnLmh0bWwKaW5kZXggZGExZGM4ZmNjMmYwNGI0MGY1MTk1OTI2MTFlYWFmOGY4NmE4NzdkMC4u
ZjNlZGU5YTgxZWVjZmEwOTcwMzU5OWRjZTBjNTM4OWUyNDEyMWMwMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNhcmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2FyZy5odG1s
CkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhp
cyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjNhcmc8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuM2FyZzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsMTggKzQwLDIwIEBAIHZhciBwcm9taXNlMiA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIFByb21p
c2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwgcmVz
cG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDAsIDApOwotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UxLCAtMTAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
MSwgMTAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgLTUwKTsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAgdmFy
IHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNlLmFs
bChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAyKSB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgMCwgMCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMSwgLTEwMCwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwg
MTAwLCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAtNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSww
LCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjNhcmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLjNhcmcud29ya2VyLmpzCmluZGV4IDA4Y2IzNTNhNTBkN2FjZjMxMmY2YmNhNWNk
YjBiOThiMzQ2N2QxMDQuLjZiZTZiZGY5NmVlMTE1YmI4ZjJkOWIzMzBlYjMxNDQ2YTU1NWNhMjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS4zYXJnLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuM2FyZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMxLDE4ICszNSwyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEs
IHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
MSwgLTEwMCwgMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDEwMCwgMCk7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIC01MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZTEsIDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMg
PSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9t
aXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcDIsIDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIC0x
MDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDEwMCwgMCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgLTUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAxLCAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5
OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwy
NTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbAppbmRl
eCA2ZDVmYmZkZWZjMWFlYTM4MTA3ZjYwOWUzYzVlZjRjYjVlODg1MjRkLi43NjcxZjNhNDkzNDI2
YzMyMjI4NmRkZjc1ODQ1NmU0MWU0NmU1NzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLmh0bWwKQEAgLTEsOSArMSwx
MCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuNWFyZzwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS41YXJnPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zNywxNyArNDIsMTkgQEAgdmFyIHByb21pc2UyID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlzZS5hbGwoW3Byb21p
c2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZTEsIDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwy
NTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAg
IHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlz
ZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFw
MikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDUwLCAwLCA1MCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAs
MjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5
LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMKaW5kZXggMTdl
MDFmYWQwMWU5YzcxMTQ5NmU2OWJiZGUxMzYyZDAxZWRmM2M0YS4uNTkxNzYxNWYzOTc4YTMzNGI1
N2I0OTFjYjU2OTY4NzA5ZTJhNjc1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsMTcgKzM3LDE5IEBAIHZhciBwcm9taXNl
MiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
MSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDUwLCAwLCA1MCwg
NTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCA1MCwgNTApOwotICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwg
IjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1
LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgdmFyIHByb21pc2UzID0gY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UxKTsKKyAgICB2YXIgcHJvbWlzZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZTIpOworICAgIFByb21pc2UuYWxsKFtwcm9taXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0
aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAyLCA1
MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCA1MCwg
NTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwg
Ijk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5i
YXNpYy5odG1sCmluZGV4IDUzMGRjNjgzYTUzNzMwM2JlNjg1MmJiN2I5Y2Q0NmViMWJiODY5NzQu
LjgyOWZjNmI0YTY3NDU4ZmFmN2JkNzY2YzhlYjQzOWJjODk1MDAyMjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlh
cmcuYmFzaWMuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8g
Tk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5w
eS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS45YXJnLmJh
c2ljPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0lt
YWdlLjlhcmcuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE0ICsz
MywxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUs
ICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1
NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1
NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFz
aWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuYmFzaWMud29ya2VyLmpzCmluZGV4IDUzMDQ2ZTIyZDAwMWNjYjZhYThiN2JjMDIz
ZDczNGM2ZWFjYzFkNGQuLmFmYTczMGI5ZjdjYjBmMDdlOGUzN2Y3Y2M3MjEwMDI2OTk5YTU3MTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS45YXJnLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDE0ICsyOCwxNCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwg
Ijk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwy
NTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAs
MCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUs
MCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbAppbmRleCBlNmM3NTEy
NWM3NjkwOTRjYTc3NDM2M2MzZjlmNWQxZDRjOGUzMjcwLi5hMDFhY2UxNzJhN2E3NjdiZDgzMTdi
NDdjMGM0YTdhMzQwZTBmYWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy5odG1sCkBAIC0x
LDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvczwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3M8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDE4ICs0MiwyMCBAQCB2YXIgcHJv
bWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNw
b25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwg
MCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7
CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0
bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAs
IDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcDEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCA1MCwgMTAwLCA1MCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwy
NTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3Mud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53b3Jr
ZXIuanMKaW5kZXggMmExOGE5MzU1ZjVmYTMyY2Y0MDliMzBkNjVhNmViYTI4N2NhODdkZC4uNjg3
ZjAyNDRmMjViMzVhNDc3YzIxMzFjNzBiNTRiN2ZiMDM5OWYxYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjlhcmcuZGVzdHBvcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMzLDE4ICszNywyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHBy
b21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UyLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIDAsIC01
MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAs
IDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlz
ZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBw
cm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcDIsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIC0xMDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwg
MCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAx
MDAsIDUwLCAwLCA1MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUs
MCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5k
ZXN0c2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuZGVzdHNpemUuaHRtbAppbmRleCA4OGI5NjM0ZDA5OTQ0ZjdjOWJhNWZhYmVhZTRl
Zjg2OTA1YzU1ZThlLi5kZGVhMzg1NzU2OGRiN2FkMGFmZDhkNDg2MDZiOTE2NzZlZTVjYWNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5kZXN0c2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zNywxOCArNDIsMjAgQEAgdmFyIHByb21pc2UyID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlzZS5hbGwo
W3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNwb25zZTIp
IHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgMSwgMSwgMSwgMSwgMCwgMCwgMTAwLCA1
MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAsIC01MCwgMCwg
NTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMTAw
LCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUw
LCAwLCAtMjUsIDEwMCwgMjUpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAx
MDAsIDUwLCAwLCA1MCwgMTAwLCAyNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAi
OTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1
NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgdmFy
IHByb21pc2UzID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UxKTsKKyAgICB2YXIgcHJvbWlz
ZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTIpOworICAgIFByb21pc2UuYWxsKFtwcm9t
aXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAyLCAxLCAxLCAxLCAxLCAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAtNTAsIDAsIDUwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMTAwLCAw
LCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAs
IDAsIC0yNSwgMTAwLCAyNSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwg
MTAwLCA1MCwgMCwgNTAsIDEwMCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1
LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFy
Zy5kZXN0c2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS53b3JrZXIuanMKaW5kZXggYTlmOTQwNzI1Y2EzYTcy
ODNmMzIyMTVjMjUzNjY2Y2Q1MDYwOWQ4MC4uN2Y1ODZlZjA1NThlNmFlMGI0YWRmYjgwZWY3YmNk
OGY1MzgyOGYzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsMTggKzM3LDIwIEBAIHZhciBw
cm9taXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDEsIDEs
IDEsIDEsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAw
LCAxMDAsIDUwLCAtNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEs
IDAsIDAsIDEwMCwgNTAsIDEwMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTI1LCAxMDAsIDI1KTsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgMjUpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
MSk7CisgICAgdmFyIHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAg
ICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAx
LCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgMSwgMSwgMSwgMSwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAw
LCA1MCwgLTUwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAs
IDAsIDEwMCwgNTAsIDEwMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAxLCAwLCAwLCAxMDAsIDUwLCAwLCAtMjUsIDEwMCwgMjUpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDI1KTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwy
NTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKaW5kZXggOWVhNThi
OTA5M2NhNDA5NGE1ZWY0N2IzZTU3NDE3ODQ2ZjlmYTkyYS4uNjU0MWQ3NjJiZjFkZjhmMGY3NjA3
ODg4OGY3ZjEzNTE1NzhmYThiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwK
QEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3M8L3RpdGxl
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5z
b3VyY2Vwb3M8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE0ICszMywxNCBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDE0MCwgMjAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIw
LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwg
IjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxNDAsIDIwLCAxMDAs
IDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1
NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291
cmNlcG9zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIuanMKaW5kZXggMGIxODg1ZDc1ZDEzNzljNTJm
MWRmNWMzOWVmMWI2NmQ1ODlmY2Q3NC4uN2NlZmFkOTJkZDY5YTYyZjgyNjRkZGY1OGQyY2I5N2Mw
NDcyYTk3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxNCArMjgsMTQgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAxNDAsIDIwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTQwLCAyMCwgMTAwLCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUs
MCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5z
b3VyY2VzaXplLmh0bWwKaW5kZXggMTJhYWQ2Y2E1OTI1NDhiMzZhZTQ0YTc5NjQ3ZmI1ZGE4Yzdj
N2EyMC4uM2M3MThjOGRhNDVjOGNhMWVjYTRjMzI1ZWY5ZjIyYTYyMGQxMDNjOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291
cmNlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUg
aHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
dG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRy
YXdJbWFnZS45YXJnLnNvdXJjZXNpemU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAy
NTYsIDI1NiwgMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgNTEsIDI2KTsKLSAgICBjdHguZmlsbFJlY3QoNDksIDI0LCA1
MSwgMjYpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwy
NTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAw
LDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIw
LDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMjAsIDAsMjU1LDAsMjU1LCAiODAsMjAi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyMCwzMCwgMCwyNTUsMCwyNTUsICIyMCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDMwLCAwLDI1NSwwLDI1NSwg
IjgwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDI1NiwgMjU2LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUxLCAyNik7
CisgICAgICAgIGN0eC5maWxsUmVjdCg0OSwgMjQsIDUxLCAyNik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAi
MCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwg
MCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUsMCwyNTUsICI4MCwyMCIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyMCwzMCwgMCwyNTUsMCwyNTUsICIyMCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwzMCwgMCwyNTUs
MCwyNTUsICI4MCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Ljlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKaW5kZXggZTFmYTYwZGNiMjEyYjdjY2U0NGJjMzI2
NDY2ODg3NDZiNGFjYjFiMy4uZGFjMWM3YTBhOWFiNThiMjc5ODgwMjBhMmYyN2JiYjlhNTcxMGEz
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDI1NiwgMjU2LCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MSwgMjYpOwotICAgIGN0eC5maWxs
UmVjdCg0OSwgMjQsIDUxLCAyNik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTks
MCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwg
Ijk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUs
MCwyNTUsICI4MCwyMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMzAs
IDAsMjU1LDAsMjU1LCAiODAsMzAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMjU2LCAyNTYsIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgNTEsIDI2KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDQ5LCAyNCwgNTEsIDI2KTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1
NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwg
MCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDIwLCAwLDI1NSww
LDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDgwLDMwLCAwLDI1NSwwLDI1NSwgIjgwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBo
YS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFs
cGhhLmh0bWwKaW5kZXggYWI2NDNkZGE2OTI0NTA4OTIwN2VmOTlhZTQ4NzE3NDAzZTBhODA2Yi4u
ZjFhMWYwODMyMzIxNDk5MjlkMGU2ZmQyNzc4ZTE4YzdiYWM5ZWIzMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLmh0
bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBU
aGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuYWxwaGE8L3RpdGxlPgorPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuYWxwaGE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpzCmluZGV4IGQ3MWIzZDUw
ZDU2ZjRhOWRlOWViNGYyN2UyNmU3NGFjYWI4YmZlZjYuLjY4MjhhZjkyMjVlNmUxOGY3Mjk1ZTZj
NzEyNzkwNGUzYjI5NWI4ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbAppbmRleCA5
MzVjNjZmYjUwYmMxYmMwM2FkMjQ0YWIxNjYxOWFkYWRjYmRhM2FmLi4yODcwODk0MWI0NjYxNDZm
NDZjZDVmMDk2ZjkyMDE0MDVkNzk1NDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rl
ci5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJ
VCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4K
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rl
cjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFn
ZS5hbmltYXRlZC5wb3N0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGFu
IEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3Mg
dGhlIHBvc3RlciBmcmFtZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMSwxMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53b3Jr
ZXIuanMKaW5kZXggZDMyOGQxOGQ4NmYyOWM5N2YwMDI0N2IxYjJiMzkzMjA5MjEwYzU0ZC4uY2U2
ZThlZTRmNTVmMjE0NDVjMWExNDc2ZjA4ZjI3NTdkMzY1ZTgwNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRy
YXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFtZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDExICsyNiwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLmh0
bWwKaW5kZXggMDViZjYyMWMzNDYxOWE1OTMwNDU2MzM3MDE0MjA2Zjc1OWQ1ODkxZS4uNTMxMzc2
YWFhYjdlNTBmOTRmYjJhMTQxNjQxM2E1NmVjYjU0NzA2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbApA
QCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5icm9rZW48L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuYnJva2VuPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMyArMzEsMTMgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4ud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53b3Jr
ZXIuanMKaW5kZXggZGI5NjgxNzVhNWU0NjUzNDIxZGJhZWUxYjYyMjFkZjkyNDgxYWZlMi4uNGFj
YzQwYjQ5ZTY4YjVlN2RkZmU2NzUzMzNhOGFiY2RjOTFjNjgzYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tl
bi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDEzICsy
NiwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5jYW52YXMuaHRtbAppbmRleCAzMmZmM2ZjY2JkYzViZWZiMGQyODhkZDZjNDhkODcwM2Nh
NmRhNjY3Li4yZmM4MjkzY2IyMmM0OWFjYzBlMTg5NTc4YTA5ODU2YThmMDBkMjQ4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmNhbnZhcy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBO
T1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5
LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmNhbnZhczwv
dGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5j
YW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMxLDYgQEAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5
LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5jYW52YXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKaW5kZXggOGFmODNmMjE3NjVhNGNmN2Nm
MjhlM2M3MTE5YjIwMGUzODdhYmRjMS4uM2ZmMmRiZWNkN2M5NThjNGQ1MWY4ZThkMWUzYzQ5ZGU3
MWE3NGFhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNhbnZhcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5
OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC5odG1sCmlu
ZGV4IGE1MWM0MTFhZGM0ZTQxZGM1NzU0ZWYzMTAzN2VmYTM2Mzk0ZmQyZTguLjU2MmE5YzVkMGI4
NDBkODI3NzNlNmNlM2JiYjQxYjBiMDAwOTI5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAuaHRtbApAQCAtMSw5ICsx
LDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMg
YmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5jbGlwPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmNsaXA8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDExICszNSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5jbGlwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5jbGlwLndvcmtlci5qcwppbmRleCBmMDM2M2MyMmU3YWEyNzY5OGJhNGYyYTQz
YmZjNmY2MGE3Y2M5OWNkLi4xNzQxZjE1YjY4MjJjNTNmZjgxMjUwNjNkMzk2ODg3OGQ0ZmFkNzNm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLmNsaXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNv
bXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmNvbXBvc2l0ZS5odG1sCmluZGV4IDY4ZDY2ODQxN2RiZGFmNjRhZjUyY2MzMDlmMjllNmM3
NDUwZWI5N2YuLmRlMzc3Mzk5OTNmOTlkZmY3NzM5ZDc4NWJlZGU5OTliNWRhMzVmNGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jb21w
b3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UuY29tcG9zaXRlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8
IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dl
bnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2Uu
Y29tcG9zaXRlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZHJhd0ltYWdlLmNvbXBvc2l0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjks
MTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
Y29tcG9zaXRlLndvcmtlci5qcwppbmRleCA0MzVjNzkzZTRlNTgyMzM4ZmZiZWNmN2Q1ZGMwYjlj
NWYxYWEwNmY5Li5lZWNjODkxNGUzYjVhMDM5ZjlhMjk4YjBmNGRiNGMxYjg5ZWViMDlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY29t
cG9zaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuY29tcG9zaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5mbG9hdHNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKaW5kZXggMWQzYjIxYjdkYzI4YjdmZmFkNWYwOGVi
MjAzY2QyOTlhMDczMjhhNC4uZjkwYjQxZDNmMzBhYTkwYjM0YWRmNDc3NzY3NDk0ZGM2YzdhZmQ5
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmZsb2F0c291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2U8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDExICszMSwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEwLjEs
IDAuMSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMC4xLCAxMC4xLCAw
LjEsIDAuMSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZS53b3JrZXIuanMKaW5kZXggM2E5MGQz
M2Y3ODM0MGExOTYxMGE2OGMwNDU2ZTNiY2NiZjAwZjFmMS4uZDE1NGExMmIwYTZjZTUyM2I0YjNm
ZTMwYjVmYWU4MmE4NWI1MjUwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2Uud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxMSArMjYsMTEgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAxMC4xLCAxMC4xLCAwLjEsIDAuMSwgMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0
Lmh0bWwKaW5kZXggM2IzYTYwOWI2NGY1YjcyYTljNjI4ZmUwYmU0YmQxNDk4ZDhkNmVkYy4uZDAx
OGU5NDNkNzczOWUyNzM2YmZmZTQ4N2Y4ODgzODY5Y2I0NDk2MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdh
dGl2ZWRlc3QuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8g
Tk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5w
eS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5uZWdhdGl2
ZWRlc3Q8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3
SW1hZ2UubmVnYXRpdmVkZXN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5OZWdhdGl2ZSBkZXN0aW5h
dGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGU8L3A+CkBA
IC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJOZWdhdGl2
ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5n
bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMDAsIDc4LCA1
MCwgNTAsIDAsIDUwLCA1MCwgLTUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMDAs
IDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4
LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwMCwgNzgsIDUwLCA1
MCwgMCwgNTAsIDUwLCAtNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAwLCAx
MjgsIDUwLCAtNTAsIDEwMCwgNTAsIC01MCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAs
MjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEs
NDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCmluZGV4IDkxY2Y0NjYzYjJmNjNjZGUwZDdjNjE2ZWYz
ZDk5ODEwMDVhMzg0Y2UuLjAxODVkZDRhNDUyOTE1MzAzOGJkMDYwNDA0ZDc3NDA1OTgzNThmZDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJOZWdhdGl2ZSBkZXN0aW5hdGlvbiB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0
aGUgY29ycmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAxMDAsIDc4LCA1MCwgNTAsIDAsIDUwLCA1MCwgLTUwKTsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAxMDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAs
MjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwy
NTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDEwMCwgNzgsIDUwLCA1MCwgMCwgNTAsIDUwLCAtNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMTAwLCAxMjgsIDUwLCAtNTAsIDEwMCwgNTAsIC01MCwgLTUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUs
ICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgs
IDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm5lZ2F0aXZlZGlyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbAppbmRleCA3NDFhYWVhMDJhMjI5Yjg0YWY5MzFm
MTk0MmUwM2Y5MjU1YTgxMzdkLi4yZjBhOTFkYWNjN2NmYTU2YTY0NGNhM2E4OWJmMzUyNmVlODdh
NTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2UubmVnYXRpdmVkaXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURP
Q1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0
ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpcjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpcjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+TmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24gb2YgdGhl
IGltYWdlPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiTmVnYXRpdmUgZGltZW5zaW9ucyBkbyBub3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24gb2Yg
dGhlIGltYWdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMzLDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MTc4LCA1MCwgLTEwMCwgMCwgMCwgNTAsIDEwMCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgNzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAxNzgsIDUw
LCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDc4LCA1MCwgMTAwLCA1MCwgMTAwLCA1MCwgLTEwMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSww
LDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUx
LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGly
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5uZWdhdGl2ZWRpci53b3JrZXIuanMKaW5kZXggOWQ0ODEyYmYxNjk2ZjlmMjVmODNiYmMxZDRk
ODI0ZTZmNDBlYWY3MC4uYjI5Y2RhZDc0MGVlMGQyN2Q0M2Q4NDQzYzNkOGExYTVhNjllNmRjNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlZGlyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJOZWdhdGl2ZSBkaW1lbnNpb25zIGRvIG5vdCBhZmZlY3QgdGhlIGRpcmVjdGlvbiBv
ZiB0aGUgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAxNzgsIDUwLCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1
MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDE3OCwg
NTAsIC0xMDAsIDAsIDAsIDUwLCAxMDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgNzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1
LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAi
NTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291
cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bmVnYXRpdmVzb3VyY2UuaHRtbAppbmRleCAwYTk5YWE1Njc0MTJkODU5MjNjZmMwZWFiZTQ5YmMx
OTljNzBkZTU0Li5jMmY3OGU1YTk1MjYyMWJlNDA5ZjIzNzdmZDUyMTMyODZiNTY4NzA1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVn
YXRpdmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2UuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+TmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0
IHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQgcmVwcmVzZW50cyB0aGUgY29y
cmVjdCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAxMDAsIDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAxMDAsIDEyOCwgLTEwMCwgLTUwLCA1MCwgMCwgNTAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1
LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMDAs
IDc4LCAtMTAwLCA1MCwgMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwgNTApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwy
NTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdh
dGl2ZXNvdXJjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2Uud29ya2VyLmpzCmluZGV4IGZlMGIwYzE3YTc1Zjdj
ZTcyMDBjZTY4MmRiZmQ2ZjI3NWI4NjU0N2QuLjIxNzFmNjkyZjUzMDNjYTZjZWI4NTM1ODUwY2Qy
OGU0YTJlZGY1ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCBy
ZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOwotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEs
IDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMTAwLCAxMjgsIC0xMDAsIC01MCwgNTAsIDAsIDUwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUxLDQ4LCAwLDI1NSwwLDI1NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwg
IjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUuaHRtbAppbmRleCA0NzgwMDExYmQzMDU2ZDliZjk5
MmEzZTVlMDk2YWQ0YzcyNzFiZTJjLi45ZDM3NjFhMGYxMTlhYjU3ZGIyMTQ0ZGQ3NmZmYmZhZGQz
NDhiZTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9D
VFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZHJhd0ltYWdlLm5vbmZpbml0ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRy
YXdJbWFnZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMiwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRoIElu
ZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMzExICszMywzMTEgQEAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9Owog
fSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5p
dHksIDApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBOYU4pOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5p
dHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgTmFOLCAwLCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBOYU4sIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIC1JbmZpbml0
eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0
eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBO
YU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAsIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4sIDAsIDAsIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgLUlu
ZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIE5hTiwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwg
MCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1J
bmZpbml0eSwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIE5hTiwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5h
Tik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1J
bmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTiwgMTAwLCA1
MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJ
bmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBOYU4s
IDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAtSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIE5hTiwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAx
MDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCAwLCAwLCAxMDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAw
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAs
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAs
IDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwg
MCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDRlYmM3NjE2NTI1MDRlOGVkMjdl
NTYyZmU5YmExOTg1Njc5MDM2Y2UuLjljMjZjZDI1NjAyMTdkY2Y2ZTM0NTI3YTNhYTEyYzdkNThj
OGQzMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJkcmF3SW1hZ2UoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsMzExICsyOCwzMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5pdHksIDApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgTmFOLCAwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBOYU4pOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgTmFOLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC1JbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBOYU4sIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIC1JbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgLUluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBOYU4sIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmluaXR5LCAxMDAsIDUw
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1
MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUlu
ZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBOYU4sIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCBOYU4sIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIE5hTiwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAw
LCAtSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAs
IDAsIDAsIE5hTiwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0
eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAs
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAs
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwg
MCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1
MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIElu
ZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1JbmZpbml0eSwgMCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBOYU4sIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLUluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIE5hTik7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAt
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFO
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIE5hTiwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5hTik7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBOYU4sIDAsIDEwMCwgNTAs
IDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgLUluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIE5hTiwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgLUluZmluaXR5LCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBOYU4sIDUw
LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCAtSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBOYU4sIDAsIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgLUluZmluaXR5
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTAsIE5hTiwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAtSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgTmFOLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAw
LCAtSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIE5hTiwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIE5hTik7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5m
aW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmlu
aXR5LCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
SW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwKaW5kZXggYjY2ZWZl
YmY3NTZlZWM4Mjg1MjBlZTY0MDVmNGU3NzI2NWI4MjE1MS4uZjBkZmIyOThmMjhhOGNkZjZlYjBj
YTVkNmMwN2U1MzJlNDI1ODdjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbApAQCAtMSw5ICsxLDEwIEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBn
ZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmRyYXdJbWFnZS5ub3dyYXA8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uubm93cmFwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
dHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5nIGFyb3VuZCB0aGUgZWRn
ZXM8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTdHJldGNoZWQgaW1hZ2VzIGRvIG5vdCBnZXQgcGl4ZWxzIHdyYXBwaW5nIGFyb3VuZCB0aGUg
ZWRnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCwxMyArMzMsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAtMTk1MCwg
MCwgMjAwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ1
LDI1LCAwLDI1NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1NSwyNSwgMCwyNTUsMCwyNTUsICI1NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAtMTk1MCwgMCwgMjAwMCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0NSwyNSwgMCwy
NTUsMCwyNTUsICI0NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1NSwyNSwgMCwyNTUsMCwyNTUsICI1NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5ub3dyYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKaW5kZXggYjAxNDk3NGI2NGI3ZGFlNjQ0NGIyNjI5
ZTJiNGFiYjc5ZmJkYTMxYS4uYWFiMDg3NzFkYjQ0MzM0OGQxOTMyMzhlZGM2MGMxZTE0ZDA0MjVl
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm5vd3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRoZSBl
ZGdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC0xOTUwLCAw
LCAyMDAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUs
MjUsIDAsMjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC0xOTUwLCAwLCAyMDAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ1LDI1LCAwLDI1
NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
dWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bnVsbC5odG1sCmluZGV4IDc3NDUyYjljNzc2MWUwZmI1NmQ0M2NiN2QzNjExMjllN2E5NDFmOGUu
LjBjZjljYTI2ZDczMTQ3ZjM4YzNkNDUzOGI4MmEzM2QwZjZlYjExZTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwuaHRt
bApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRo
aXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5udWxsPC90aXRsZT4KKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm51bGw8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMiwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxs
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5udWxsLndvcmtlci5qcwppbmRleCBlODg2YTMzNGNjMWRjNzA3MWQyN2M0ZDYwZGEyZmE1OWM5
MTgyNWJlLi44ZWQwODg3ZWNkODc5NzgzYmQxOGUzZWI4MjIxNWE0OGY4ZGIyMjg1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubnVsbC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLm51bGwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UobnVsbCwgMCwgMCk7
IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGguaHRtbAppbmRleCBiNGVjYTE0YTk5N2Ez
NDE0YWQzNTQ1NTMzNmRmMmZmMWVmMzBjZjRiLi4xMGRhZjEyY2QyM2UwZWEyNTRjNjU2MWM2OWEy
ODk4ZTcwNmVlNTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBF
IGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5k
cmF3SW1hZ2UucGF0aDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmRyYXdJbWFnZS5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwx
MiArMzMsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbCgpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbCgpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcwppbmRleCA3ZTRh
MjQwY2VlNjQ2YWU5MWEzYjNiYzNmOGYwNjg5ZmU0ZDZjNjU1Li40NWEwODI5NzQ5MDRmMTIyNDhi
ZWMxNjU2NWNhNmUyNzZmYzliMTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGgud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxMiArMjgsMTIgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbCgpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAg
ICAgICBjdHguZmlsbCgpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
c2VsZi4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uuc2VsZi4xLmh0bWwKaW5kZXggNjgyOGI3YzA5NWQzY2IyNTI5ZDQ0MTc4M2QwNjE5OTI4Zjk4
NWI1YS4uZGU0YTBmN2ViNTlkOGRhZTc4OGMyMTBjZDY0YTA3NWRkOWYxZDA4ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5z
ZWxmLjEuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9U
IEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4g
LS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zZWxmLjE8L3Rp
dGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uuc2Vs
Zi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICszMCw2IEBAIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwg
MCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2Uuc2VsZi4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCmluZGV4IGRkZDdlMThmZjIyYzFhYTQ5OTU0
OWUxOTI2MDhhZTQzMTIxNDRlMDEuLjVhZDkwNDhjYWFmYWIxOGFmNWY4NzgwOTk5NjQ2Y2ZlYzI0
MThhYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTks
MCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwK
aW5kZXggNjkwMjAyZDMzMTY3MTEyOTljMzlkZGZiN2VmY2IyZjY0Njc2MmIzYi4uYjJlNThkYjU3
MTU1YWU5NjA5NDM3YmU3NGFlMmFiZjExYWNiNzUxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbApAQCAt
MSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVz
dCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5zZWxmLjI8L3RpdGxlPgorPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2Uuc2VsZi4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1
LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5
OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5z
ZWxmLjIud29ya2VyLmpzCmluZGV4IGIzYzAwNWUyZTc1YThhYjkwN2MyOTgzNGRiMTlmYzg2NWNi
ODdjMzUuLmM2ZmUwZGNkMmE4NzdkMDUyYmIzYmE4MmE2ZGRmM2Y5ZmU4YzcxZGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5zZWxmLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMyw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwg
MCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUs
MCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwKaW5kZXggMmUzY2RjMDMwZmZmNGIw
OTgyODI4YzEwMTMzYWM0MmMwYzdlNWQ0Yi4uNzJiYTJlYzdiYTQ5YmRkMzQ1YjI1MjRjMjlhYjI5
MWIyY2JlMDlmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLnN2Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5zdmcuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRt
bD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9v
bHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJ
bWFnZS5zdmc8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5k
cmF3SW1hZ2Uuc3ZnPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhbiBTVkcg
aW1hZ2U8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzEsMTEg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzCmlu
ZGV4IDY4NjBhODUyNTZjYjdjYWM2OTZlNWY4ZDczNmQ2MTgzN2RiNjQwNGIuLjUwODkyYzJiNGEw
YWYwYjA1NjY3YmMxY2QzNjU3N2UzYzFjNDAzYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBhbiBTVkcgaW1hZ2UiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiwxMSArMjYsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5z
Zm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LnRyYW5zZm9ybS5odG1sCmluZGV4IDA4MTdlODE4NTFhYmIzYTBmMTE3NTI0MDk0ODFmZmI3ZDAw
YzcyOGYuLmI3ODJiYTg3ZTY4YWJkMzk5MjhhZWViOWMwZDM0MDE2OTljZTZmMWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFuc2Zv
cm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UudHJhbnNmb3JtLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0t
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UudHJh
bnNmb3JtPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJh
d0ltYWdlLnRyYW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTEg
KzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5zZm9ybS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJh
bnNmb3JtLndvcmtlci5qcwppbmRleCA0MWIwZDRjZTVkYzNmY2JkZDQxYzA1YzU1MGVjYzhkMWZk
YWI0ZWFlLi5hNGNiODY1ZGMxZTU1MDgyMGQxMjI1Y2NlYWU2MDVlMmExNWJmYjFjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNm
b3JtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UudHJhbnNmb3JtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjUsMTEgKzI5LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53
cm9uZ3R5cGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS53cm9uZ3R5cGUuaHRtbAppbmRleCBmOWI3ZjNhMWZiN2Y0OGFhZmQ4ZWI0MDc1MDg4ZjBh
ZGNkNWQyMmFjLi41Y2IyODM0NjZiZDU4NzlkNzA4NGMzYjUyZTIzYTI1MTdmZTNmNmEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jv
bmd0eXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLndyb25ndHlwZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgog
PCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9n
ZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdl
Lndyb25ndHlwZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmRyYXdJbWFnZS53cm9uZ3R5cGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkluY29ycmVjdCBpbWFn
ZSB0eXBlcyBpbiBkcmF3SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fkcywg
c28gV2ViSURMIHRocm93cyBhIFR5cGVFcnJvcjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkluY29ycmVjdCBpbWFnZSB0eXBlcyBpbiBkcmF3
SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZpbmVkIG92ZXJsb2Fkcywgc28gV2ViSURMIHRocm93
cyBhIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzI0LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHVuZGVmaW5lZCwgMCwgMCk7IH0pOwogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKDAsIDAs
IDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4
LmRyYXdJbWFnZSgiIiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uud3Jvbmd0eXBl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS53cm9uZ3R5cGUud29ya2VyLmpzCmluZGV4IGM0ZjQ2Njg4NTdhOGJiMzlkNzMzN2RhZTE0OGRj
MTFmMDAxZjMxOGEuLmZmZGMyNTAyMTYzNWE4MjY0YmM3YzM3MWE3ZjNlNWUzYzEyMzY1MzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53
cm9uZ3R5cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJJbmNvcnJlY3QgaW1hZ2UgdHlwZXMgaW4gZHJhd0ltYWdlIGRvIG5vdCBtYXRjaCBhbnkgZGVm
aW5lZCBvdmVybG9hZHMsIHNvIFdlYklETCB0aHJvd3MgYSBUeXBlRXJyb3IiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
NSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFn
ZSh1bmRlZmluZWQsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZSgwLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoIiIsIDAsIDApOyB9KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLmh0bWwKaW5kZXggZWY2NmQ1
ZWRjNTQyNmZlZDNmMzQyMDdkN2QxMTdmNDIzZDEyOGYwNS4uZjk0NWNlZGFiMTVmYjc3ZGMyYTcx
NGQ3NWQ0MDc1ODc2MzZjODA1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sCkBAIC0xLDkg
KzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhh
cyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnplcm9jYW52YXM8L3RpdGxlPgorPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuemVyb2NhbnZhczwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzEsNiBAQCBhc3NlcnRfdGhyb3dzKCJJ
TlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsCiBvZmZzY3JlZW5DYW52YXMyLndpZHRoID0gMDsKIG9mZnNjcmVlbkNhbnZhczIuaGVp
Z2h0ID0gMDsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMKaW5kZXggM2ExN2NmZTVh
MzkwOWE5N2U2OTliM2Y5ZDY3OTk2MjY2OThmMjY0MS4uMWU5ZDYzY2Y5MmIwMzUzYzg4NDI2Y2Y0
Y2Q2OGU1YTUwNzMzMzQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBhc3NlcnRf
dGhyb3dzKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsCiBvZmZzY3JlZW5DYW52YXMyLndpZHRoID0gMDsKIG9mZnNjcmVlbkNh
bnZhczIuaGVpZ2h0ID0gMDsKIGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVu
Y3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaHRtbAppbmRleCBhNzY3MGNkOWYy
ZWZhZDIyNzBkNjdhZDkwZDNmYmM3NGNhNWZhNDFlLi5iOTQxZjNhYTNhYWE4OTMyMmI0MDAxN2Qw
MjkyNzRkY2VjMjY0Yzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmh0bWwKQEAgLTEsOSArMSwx
MCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJl
ZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuemVyb3NvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvc291cmNlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5kcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgdGhy
b3dzIElOREVYX1NJWkVfRVJSPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFu
Z2xlIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDEzICszMywxMyBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGFzc2VydF90aHJv
d3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDEwLCAxMCwgMCwgMSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAx
MCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJ
WkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMCwg
MCwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwLCAxMCwgMCwgMSwgMCwgMCwgMTAwLCA1MCk7
IH0pOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7
CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9z
b3VyY2UuaW1hZ2UuaHRtbAppbmRleCBjMWYyYjMyNGQ1ZjIzNzA1NGQ1ODRhZjhjYmFiMjZmMzE1
ZWQwMGFhLi4xYWJjYjZhYmY0OTVhZThmNjk1OTM5M2RkMzQ5NmQ2MDQxYjZjYzc1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3Nv
dXJjZS5pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5kcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5nbGUgZnJv
bSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNv
dXJjZSByZWN0YW5nbGUgZnJvbSBpbWFnZSB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCwxMyArMzMsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0X3Ro
cm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJS
IiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOyB9
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGFzc2VydF90aHJv
d3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJS
IiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsgfSk7
CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2Vy
LmpzCmluZGV4IDNjYzNjNzIxMTllNzVhZTlkZWFlNWY4ZjVkMjI1NDZmNTkwYzdlMWUuLmNmNDcy
YWM0MTc5Yzk5MDMyNjFmOGM3MmYxMWQ0OWJjNjEwNzc4YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRy
YXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSBmcm9tIGltYWdlIHRocm93
cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGFzc2VydF90aHJvd3MoIklOREVY
X1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEw
MCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7IH0pOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhf
U0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTApOyB9KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2Uud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9z
b3VyY2Uud29ya2VyLmpzCmluZGV4IDBmMGVkNWQ5ZGQxNmU0ZDZkOTczYjgwMDFkMmM4NDk4YzM4
OGMzOTcuLmIzYjZhNTljYjdhZjE1MDg2M2Y0ODNkZTQzODM3ZWI5MTRkZmFmYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291
cmNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRy
YXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSB0aHJvd3MgSU5ERVhfU0la
RV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCwxMyArMjgsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIs
IGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDEsIDAsIDAs
IDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDEsIDAsIDAsIDAsIDEwMCwg
NTApOyB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTApOyB9
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGFz
c2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAxMCwgMTAsIDAsIDEsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDEwLCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRfdGhy
b3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbAppbmRleCBlNTE0MWQ2OWFlYjI3
YzJjOWZlNWQ1ZDM0MzdmZjgyNDk2NjY2YmM1Li5iNzk1MDY4MTg1ODYxMDAyYTUwYmMzYTc5ZTg4
NGFkOTY5NDdhYmJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QuYmFzaWM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y2xlYXJSZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgY2xlYXJzIHRv
IHRyYW5zcGFyZW50IGJsYWNrPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGNsZWFycyB0byB0cmFuc3BhcmVudCBibGFjayIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCww
LDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5q
cwppbmRleCBlYjBhZTRlZmUwYzdjNDUzNzBkMzMyYmU0MmUwYjQ3YzcxMDg4YmM5Li43ODcxYTAz
OTUwMzRjNWZhYTVhNjZmNDAzM2I1OWEzMTQwNzExMWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJh
c2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGNsZWFycyB0
byB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVhclJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
LmNsaXAuaHRtbAppbmRleCAyNWFmMzJkY2ExNDVjNzJjYjgzMTEzZWEzNWNiY2ZiZDFhNzNmMmZh
Li4yYzNmZjBkZjkxYjNiZmUxNjJmYTFkYzdjOWJkMmU2NjEyNjFjY2MyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
LmNsaXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY2xlYXJSZWN0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2xlYXJSZWN0LmNsaXA8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0
IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLndvcmtlci5qcwppbmRleCBjZTU4ODcxZWNm
YzljMGI5ZmQxMGY0OGJjNmRlODg0MzBkZWFjYmY4Li40NTZhYWY0NjA0NmU2NmIzNDM3YWFiOTcy
ZmJkYmM0ZWVlMjY1ZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdp
b25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTAp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5n
bG9iYWxhbHBoYS5odG1sCmluZGV4IDE5ZGRhYmZjOTMyYTg5ZjBhNzI5MjFkOTgwM2M0YjdlNGI3
NGE2MjMuLjlhMjg5YzlkNmRiZDdmOWM3YWQ1ZTZjMjE4ZTBiMmQ3OTM0OWU4OTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xv
YmFsYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVh
clJlY3QuZ2xvYmFsYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBub3Qg
YWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2Jh
bEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjE7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5n
bG9iYWxhbHBoYS53b3JrZXIuanMKaW5kZXggYTI5Y2U0NGQ4Mjg0NjhjNDhmZDM1NzRiNzA2ZDdk
OTcxMzlhOTJlNi4uN2ZlYjE5YTlhM2YyNjA5MDQwZGQ0YTc0YzAxMjkwNzZlOTBjZGM3ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5nbG9iYWxhbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5n
bG9iYWxBbHBoYSA9IDAuMTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9z
aXRlLmh0bWwKaW5kZXggNjNhOWFjMzUyZWY1YjMwMzRlYWU1ZDUxNTJjYzA2ZDQwODdjMzgxYS4u
N2NiNTM0YzBlYzliMjdjNTZmOGI4MDQwMzk4MmFkZGIyYTE1N2Y1ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21w
b3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
Y2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVj
dCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlz
IG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1
MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9z
aXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5j
bGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcwppbmRleCA0ODczYjBhMzU5ODVmMmQz
NjRmZWY5Yzg4NDc0OTQ2ODk3ZWZmMGM0Li41NmM0NmQ0YjJhYWM0NzY5N2FmY2UwMjU3NGQ5Y2Vm
MTcwODlhMmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMgbm90IGFmZmVj
dGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1s
CmluZGV4IDA2NGY4MDU0NDIxNGFlN2VjM2E4Y2I2ODRjMDhkNDIwM2U4Y2UyMjguLjU1ZWVmM2Q5
YjlhMDJmOGJlZTQ5ZjA1MDk3ZDc1NzMzZjlkNDYwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0
aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNsZWFyUmVjdC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QubmVnYXRpdmU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBv
ZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMCwwLDAsICIyNSwxMiIsICIwLDAsMCwwIik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwwLDAsMCwgIjc1LDEyIiwg
IjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAsMCww
LCAiMjUsMzciLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MzcsIDAsMCwwLDAsICI3NSwzNyIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggOGRjMWNmMjRmMTJmNjJj
ODgzNTg2ZjMzYmFkNGFkMDI5ZDljNDkwMy4uMTc1NjM0ZmM3MWEyZGRhYTA5NDI2MzNkNTljZTAz
OTVmNDVmOTg3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MTIsIDAsMCwwLDAsICIyNSwxMiIsICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA3NSwxMiwgMCwwLDAsMCwgIjc1LDEyIiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDAsMCwwLCAiMjUsMzciLCAiMCwwLDAsMCIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMCwwLDAsICI3NSwzNyIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS5o
dG1sCmluZGV4IDhlM2IyNDFhNWJhZjE1MWNlMzVkMDQxN2U1NjZlMTJkMTg3OTI3NjYuLjFiMjM2
Njc4YTcwZDMzMGFjODgxYmRjYTliN2NmNTMxMDhhODc3NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5u
b25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3Qubm9uZmluaXRlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiY2xlYXJSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQy
LDcgKzQ2LDYgQEAgY3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKIGN0eC5jbGVhclJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmNsZWFy
UmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzCmlu
ZGV4IGJkNTEyMzM2ZTAwMzc4ZmRiY2Q0YTRmNWY5YTA0YmNmODI4MGViMGUuLmE2OGU1NGZmZDFk
YmRhNzAwNjRiMDU0NjgwMjJjZTMxYjUzODdmZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5v
bmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIGN0eC5j
bGVhclJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguY2xlYXJSZWN0
KDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QucGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5wYXRoLmh0bWwKaW5kZXggMDBkMjI4NmZiNTY1OTcwNDJiN2U0NTdkMWYyYWVlNjBi
MWIxZTFkYi4uMTdmMjAwYTVkNjkzYmI1ZTE1ZTQ1N2VhNDI0OTcxZjA5MDZmODMwOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5w
YXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNsZWFyUmVjdC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5wYXRoPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJj
bGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAx
NiwgMTYpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5j
bGVhclJlY3QucGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0LnBhdGgud29ya2VyLmpzCmluZGV4IDM4NTY3MmQ5ZjI5MjgwZDMw
ODk1MTViYTU4MWRiYmNmMTRjODFkYzIuLjQ2NjE2OWE1ZWIzZjYyZjIzOWFlZTdlZjZhMDYwOGZk
NTI2OWRkOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5jbGVhclJlY3QucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5jbGVh
clJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbAppbmRleCA1NGNiYmZiMjAx
ZmFmMTdiM2I2ODY3NjJhYzVjNDAxYThhMjY5N2E4Li5hOGJjNDdkYmQzOTZmNzEzNjc3YTdkMWVl
YTJjMGZmMzA0OGVhY2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5zaGFkb3c8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY2xlYXJSZWN0LnNoYWRvdzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0IGRv
ZXMgbm90IGRyYXcgc2hhZG93czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3MiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMDsKIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CiBjdHguY2xlYXJSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3JrZXIu
anMKaW5kZXggODZiZDE0OWEzZjhiODAxMDZiMDNjNmZlNzYzMTc5MmQ0MGViYjY2NS4uMmYwNmU4
MWFmMjZlNjkwMjk0ZWFlNWZlN2MwZmY0MjRmM2QzYThiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
c2hhZG93Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRvZXMg
bm90IGRyYXcgc2hhZG93cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd09mZnNl
dFggPSAwOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5jbGVhclJlY3QoMCwgLTUwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJh
bnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0LnRyYW5zZm9ybS5odG1sCmluZGV4IDE0Mjc4YWIxYTU5OTc5NWNmMGZjNmJkN2I0YjNm
MDI3NWMxNzk1ODIuLmEzMmE3YjEyN2UwZGE4YzhkM2Q4M2VkY2Y0OWE1NDhmZjUwZDNlMGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QudHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVh
clJlY3QudHJhbnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgaXMgYWZmZWN0
ZWQgYnkgdHJhbnNmb3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2NhbGUoMTAsIDEwKTsKIGN0eC50cmFuc2xhdGUoMCwg
NSk7CiBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4IGU1
ZWEzMzM1NWE4NThmMTkyMjA2MmM1MjAzNmY0Y2FmNjlhMDg0YzQuLjZkYTBkMmFiMWJhNTE2OTQy
ODIzYWU3ZDc3NDE2MDNkMWVlMTRjMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3JtLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9y
bS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBhZmZlY3Rl
ZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2NhbGUoMTAsIDEw
KTsKIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbAppbmRleCBk
MWY5NTUzMGViODY2ZjRhMTYwMzQ5NTEyOTA5YTc2NzFlNjBjZGNlLi5jMDY4YTdhNmI1YmMzOGQx
ZWRhYzY3NmE0MzAxMDUzOGRlYjAzMzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0Lnplcm88
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY2xlYXJSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBv
ZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBu
byBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAw
LCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAw
LCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJS
ZWN0Lnplcm8ud29ya2VyLmpzCmluZGV4IDAwODUwYzZiMGYyZDQ1ZmVhZTU1ZmI0YTkyNjI0MDlm
NDY1OWE2ZGIuLjMzMmNjZTJiZjk4NzczOGVmZGU4MTAzYmVjMDQ2MDdiMDRlNDZlMmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
emVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xl
YXJSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2
IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwg
NTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKaW5kZXggMmY2ZTZkMWE5ZmU3OTEz
MzM2ZjI3YzY2NWE4MGIwYTE0NjkyNWE3Yi4uOTJhYTg3Nzg1M2Y4NjcxZWE3NzY3YTAwM2Q3NzQ2
NzEwOGNiNGZjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0LmJhc2ljPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxS
ZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCB3b3JrczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5maWxsUmVjdC5iYXNpYy53b3JrZXIuanMKaW5kZXggODA1NTYxMDQ0ZmZiNmM5YzUwMTA4NGFh
NTc3MmVjZjE5MDljZmE0Zi4uMTdlZWQzYTg3M2RiODg5ZjBhODUyMGE4ZTM4ODNhZTc3OGYxNWUw
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZp
bGxSZWN0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5maWxsUmVjdC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC5odG1sCmluZGV4IGRkYzYyNWRmYmU2ZTVjNGNkN2Qz
ODMzNDNhNWZhMGNlNjlkZWU1ZjkuLmE3YTE2MmUzOTJmZmEwOTRhZTBmM2U3MTdmZTBmZjQzYjU1
NTc5N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5maWxsUmVjdC5jbGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmZpbGxSZWN0LmNsaXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5jbGlw
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyBy
ZWdpb25zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzCmluZGV4
IDc0MGE5ZGU1ZTIwOGQ1OGMyY2VjMzc3ZGFjZjk5MzE5NzE3MDg4Y2MuLjExMjVhNzQxN2UyNTAy
N2UyODZiNDhiN2U4MTE4NTFlZTNkMjQzZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBw
aW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTYs
IDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
Lm5lZ2F0aXZlLmh0bWwKaW5kZXggYmE1MjVjZTIzOWM3MjIwM2FlZTY1N2FhOTQyNTlhNjYwNzRh
ZGJjMS4uNDMzMzQ4NzE2ZDRlYTUyYmY3ZjFkZTlkMWJlNmFmMDI5OGZmOTQ2ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5lZ2F0
aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZp
bGxSZWN0Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0Lm5lZ2F0aXZl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3Jrczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZp
bGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAs
MjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVnYXRpdmUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5l
Z2F0aXZlLndvcmtlci5qcwppbmRleCBkZjY0NGQ1ZmIzODc0YWZlOTk2M2YyMzlhODQ2ZGI2ZDFm
MGM1ODc3Li4wOGRlMGU4ZmRjNmM4NDdiNWJhMmQ3MGNjNWIwOTQwMTk0ODk3N2NhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVn
YXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5maWxsUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwx
MiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIs
IDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwz
NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9u
ZmluaXRlLmh0bWwKaW5kZXggN2JlZGVlNjMyNzYwODdhNGY4MTg3NmIxYTFjYzhiNTk3MDI4MDdl
Yi4uNGQ3MmQ4OGUwYjczZGZjMDZiYjY3NjgzNDE4N2ZjZmYyYjAyNWIzMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxs
UmVjdC5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0Lm5vbmZpbml0
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbFJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NDMsNyArNDcsNiBAQCBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSk7CiBjdHguZmlsbFJlY3QoMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4
IDc5NDU1YjI5ZjYxNWU5NDNlODc1ZDlkZjI2NGE5MTUyZTgzYzE4YTQuLmU3ZmI3ZjcwZWQ1NDc3
NDg5NjM3MmE5ZjQyNWIyYjZjYjAzMzFkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5p
dGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIGN0eC5maWxsUmVj
dCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsUmVjdCgwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguZmlsbFJlY3QoMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRoLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0
aC5odG1sCmluZGV4IGZmNjUzMGU5ODg1MTRjZjg1MzE3ZGE3ZmY5NDA2ZGY3NTBjNDlhNmQuLmU0
MjM1ZGNjZmM0Y2EyZDA3N2QxZGY4Mjk3ZjIyYjUwZGQwMjE5MjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5m
aWxsUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGRvZXMgbm90
IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBh
dGgud29ya2VyLmpzCmluZGV4IDc0MzM2MjBlZDYxNzJkODcxMTRjOWU3NWY4YWNhOGU4ZTM2OTBl
OWMuLjFmMDQ3MmViODk4M2U5NmQ0NDNkMGQwYjliNzFkMTY3NzUzMWUxMTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRoLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGRv
ZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBj
dHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
LnNoYWRvdy5odG1sCmluZGV4IDEzOTliYmJmYjYyNjU1YzQ2YzRiNWJmMDA5NDVhYjE2MjJkZGE1
OTAuLjc0NGI1MzU4MWNhMWQ1ODM2NGIxN2YxY2UxYjg0NDRlOTc2NjhlY2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJl
Y3Quc2hhZG93Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxSZWN0LnNoYWRvdzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsUmVjdC5zaGFkb3c8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmZpbGxSZWN0IGRyYXdzIHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBkcmF3cyBzaGFkb3dz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDA7CiBjdHguc2hh
ZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cud29y
a2VyLmpzCmluZGV4IDdmMDU2ZjUwZDNjMTcyYmEyMjg1N2ZiMmUwNDlhNDQ3YThjNDIzYzkuLmYz
MWE0MTY2NjI1ZjY5YzAwNDVhMDNlNTZkMTk5MzJlNWZiNTViZTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5zaGFkb3cud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBkcmF3
cyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDA7
CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3JtLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJh
bnNmb3JtLmh0bWwKaW5kZXggMjFiNzgwYTU1Mjk0ZDAwMGNhOWRjNDk3MWE1NGEyZmE2ZDBkYzM4
OS4uYTQ2NTJiNTAzZGM2Mjg5MmJlYjJmZGE4OTc0YmY4OTUzOTdiMzc3ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9y
bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxs
UmVjdC50cmFuc2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFJlY3QudHJhbnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LnRyYW5zZm9y
bTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3Jt
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
ZmlsbFJlY3QudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCmluZGV4IGQwYmZhYTlh
NGJhZmI3ODJlMmU5ZWRlYmIwYTRiMmNiODI4OWNhMjMuLmE2MWE1NjMzOTE3NzU4NTM2NjhlMWMw
NzRlNTRkZTYyYWU4OGEyMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0ud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFu
c2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUpOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLmh0bWwKaW5kZXgg
YjEzMDllZTFmN2NjZmExMDk4NWI5NGZlMmRmZGMyMzk2YzRhYTNlNi4uOGI2OWM1YzI3MTdkYTM3
MTdjN2E4N2QzOGU4NjMwZWEwNjM3MGU0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC56ZXJvPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxSZWN0Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IG9mIHpl
cm8gcGl4ZWxzIGhhcyBubyBlZmZlY3Q8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZm
ZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAwKTsK
IGN0eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMCwgMCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby53
b3JrZXIuanMKaW5kZXggYWZlMzgzMmNjMWNmYzRlYWE4MTNhYzBjM2U0MTMyZjdiM2FjMzA1MS4u
NmE1MzdkOGQ2MmJkZGU4NDgxOTg1YzdhNGY0ODcxYmY0NjAyMjJiOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8ud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qgb2YgemVy
byBwaXhlbHMgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgMCk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMCwgNTApOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0LmJhc2ljLmh0bWwKaW5kZXggMzI5ZTI5ODk3NGMyMDI2MmM0ZWE3OTc3YWQ0
MjQwOTllMjNlYjExYS4uMTE2Y2IyNDE5ZDcxMDMxYTc1MTJmYmUxMDA2Yjg3YWM0MzA2ZTIyNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3Qu
YmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgd29ya3M8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBj
dHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2lj
Lndvcmtlci5qcwppbmRleCAxM2ZkMmFlOWIwYTkxOGRhMjNjMjVjNTMwYWVkZGM2OWNlYWZhNjMw
Li5lYTk2MTNhZTYxYjZiNGIzYjQ1ZDA3NWNmM2UwNDM1ZTFhZWFmMjM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5iYXNpYy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VS
ZWN0IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBm
MCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAu
aHRtbAppbmRleCAxZjFjOTQ3ZDNlOTIxODFkYWEwZDdkNGE0ZTRmMWU5ZWM1MjRmZTE2Li4xODMy
ZDZkODkwYWMyZWQwMjg4MmQyNTAyMmQyOWVlNWMzMTViYTdmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xp
cC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
dHJva2VSZWN0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5jbGlwPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5zdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0
IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IGN0eC5zdHJva2VSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcwppbmRleCBkZmI2NzA1
YzA2YWIxY2NjYTE1YjViNzlmMmY5ZGE1NjNiMTQzZDA1Li43Yjc2MjEwZDdmYzczY2UwNjc4Y2M4
MWE3YTYxYzkxYjBiZTc3ZmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGlu
ZyByZWdpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTYs
IDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2Jh
bGFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC5nbG9iYWxhbHBoYS5odG1sCmluZGV4IDM1ZTRlMDY2N2UxMDYyZTc5NmJjOGNkZjNj
MmFiNWY4NzczMzEyZDUuLjU2Mzg5N2YzNjhmNmI1YmFjZjFiNjQwZjJiNGE3NDRlN2QwZTJhYjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lmdsb2JhbGFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJv
a2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBi
eSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0g
JyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1MCwg
Mik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCmluZGV4IGYyNDEyMDAzNGYwZjhiYzdkZmY3NGQ5NGJl
NDMzOGM5Y2ZhNzVmN2IuLjdjODFiY2M4MWFhZTI1Nzk3ZWEwNjYzNTI4NGM3OGIzNjJjNjRlMDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5s
aW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9z
aXRlLmh0bWwKaW5kZXggNDRiODk2NmU0Mjg0MmVlODU5ZDMwZGRiNDFlMDc1MjUxMmFiNmE0My4u
NWQzNDRlODg1NzM4MDVhODkyZWRhYjBjOWVmMmZlZGMzNzRhNGRkYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29t
cG9zaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJv
a2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VS
ZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGgg
PSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUu
d29ya2VyLmpzCmluZGV4IDkzYmU2M2MzZWJiNmM1ZTkxNGMxMjMxMDdhMWNkNmZiOWRkZTdiMWUu
LmQ2ZTY0ODE0ZTk4YTlmNWE5YTg2MzczNWI3YTU0ZjZiMTA2OTg2NDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNv
bXBvc2l0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2Yw
MCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRpdmUu
aHRtbAppbmRleCBiZTVmOWFhM2M3NThlYWRmOWE4ZGUwYjExZDU2Y2I5NWQ4N2RhNDVmLi5mYzcy
NDBlOGEwYzE4MTcyZWEwZTAwZTY1Y2RmMzExMTIyM2RlNjJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnN0cm9rZVJlY3QubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3Jrczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0
cm9rZVJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEy
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwg
MCwyNTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA5YzgzOTUwYTlmYzFhNGY5YWNmNzgyZTg3NDZl
ZDdhMzhlNjBlYTg2Li43Y2JjY2M0YzAxZDA4YTc5YzgwNDRjMGMzNGFmYjc2NTJiMjdjYjY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUs
MCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUs
MCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IDkxOTgzNjU4NzZjOWNkOWRjZWQ4OTky
ZDhlZTMyNDMwMDllNjgzZDUuLjYyMWQ3YjY5OGJlMjU1ZGIwODNjNDVhZDE3ZjM2N2RhMTZlZTcz
ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lm5vbmZpbml0ZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVj
dCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0KCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ0LDcgKzQ4LDYgQEAgY3R4LnN0cm9rZVJlY3Qo
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qubm9u
ZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggN2ZiMTY4MTFhMGFiZTI2MzBi
OGMyZmFjNjNjOWI4ZjIyMmVlNzkyNy4uYmNkMGRlYjI0ODdhMTY5MzMxNGI0N2ZmMWIxMTc1OGJh
OTA3YjU3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3Qubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMg
aWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTQwLDcgKzQ0LDYgQEAgY3R4LnN0cm9rZVJlY3QoMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CiBjdHguc3Ryb2tlUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0aC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0aC5o
dG1sCmluZGV4IGRjNDljYmZiZTY5YjMzYmY5NmUyMjA0NzY1YWQ0YTAyZjNjZjM5OGMuLjg3ZmJj
NDRkODhiMDU0YjUyYTMxYzY0ZjY4ZGE0NjY5YmY2YmI4YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGguaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRo
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0
cm9rZVJlY3QucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0LnBhdGg8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnN0cm9rZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0
IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCmluZGV4IGI1OTA4YjE2NzRmYjY4Y2UxMTg4YmVl
ZjNkZWJmNmU1NTI1MTM1N2QuLjhkNWJiYjA1OWFkNmEzOWUxOTQxYTNhYTg2M2Q2MzBmOWM2YjEx
MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0LnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzdHJva2VSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCmluZGV4IGEwNDJkOTQzNTg5
NDNlNGI1YWY3NGQwZmJjYjNkMzk0NjJmODRhYzguLmMxNTBmNWZhYzFhOGM3YTQ3NGIzNTBmODQz
ODM2MGU2YjViNzM3MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LnNoYWRvdzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdHJva2VSZWN0LnNoYWRvdzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVj
dCBkcmF3cyBzaGFkb3dzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBkcmF3cyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyAr
MzEsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBj
dHguc3Ryb2tlUmVjdCgwLCAtNzUsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy53b3JrZXIuanMKaW5kZXgg
NzgxZTBiOTY5Yzk5ZDU0NzAxNjZjOTY1MDA5ODM4MTM1NzRmNWMxZi4uOWU5MWU5NzQyNTI3MjU1
Yzg2M2MzMmI4MjE2MGE5NjZlMjI4NGU2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRyYXdzIHNoYWRv
d3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0
eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5z
Zm9ybS5odG1sCmluZGV4IGJhODU5YjhkODNlYWNiZmIwMDY5ZjlmMzQ3YmNmYWNmNjUyNTg0MjYu
LjJjOTAxMjliMzk1M2E4ZjJkNWUzYjdkZjkyMTQzOGVhZWExYjEzOTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9y
bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0LnRy
YW5zZm9ybTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJh
bnNmb3JtczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1Owog
Y3R4LnN0cm9rZVJlY3QoMi41LCAtMi42LCA1LCAwLjIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS53b3JrZXIu
anMKaW5kZXggODViYzZlOGIyM2M5MGZhMGE2NTkxYTgxMWZiYzNiY2YzNDQzMjBlMC4uODkyNzVl
ODA5ZWU1NDNjZmQxYjEwNzJlNzBhMzQ0NTU5NGUwYzVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVj
dCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgu
c3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0gNTsKIGN0eC5zdHJva2VSZWN0
KDIuNSwgLTIuNiwgNSwgMC4yKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLmh0bWwKaW5kZXggOTczYjlkMWFmMTRiZWJjODEyZjkz
Y2VlNWJhZDg5YTVmY2U0OTYwNS4uMTI0ODJhZjRjNTBkY2QwMDc2ZmI0M2I3ZWU1MDlhMjZlNmRk
MTg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QuemVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuemVyby4xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0
cm9rZVJlY3QuemVyby4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIDB4MCBw
aXhlbHMgZHJhd3Mgbm90aGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5n
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgu
bGluZVdpZHRoID0gMjUwOwogY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4xLndvcmtlci5q
cwppbmRleCA1ZDFmNDY2NGFmY2FhYzkyMzc2ZDliNmNlN2Y1ZWVmZjA4YzY5YjNhLi5mZmVkYmU1
YmQzNjVhOWM0NWQ3MDM0ZmE4NjM5MjcyMDM5YTNiZGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2Yg
MHgwIHBpeGVscyBkcmF3cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc3Ry
b2tlU3R5bGUgPSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LnN0cm9rZVJlY3Qo
NTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJv
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uMi5odG1sCmluZGV4IDE2MWUyNDA4MzlmYWFjZTU2YjZhZTcwNTgzOTllYTFkMGY4
ZjEyMGQuLmVmNDM4OGYwOTk0OGEzMGRmMjhmMGRhZTM1ODJlYTJlNjU1OGY2YmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnpl
cm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lnplcm8uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lnplcm8u
MjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5v
dGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBk
cmF3cyBub3RoaW5nLCBpbmNsdWRpbmcgY2FwcyBhbmQgam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsKIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBj
dHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIud29ya2VyLmpzCmluZGV4IGJkN2Y4NTIwODM2
ZjUwYTQ2NmI1ZDkwNmViMjJmYTBkMTUyM2QyZDUuLmRlNmNmZWU3NGY2Y2Q1Y2JiZjVlZGFiYmRh
MzlkZjVmMTU4MjIyMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5v
dGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
Y3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0eC5zdHJv
a2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuemVyby4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC56ZXJvLjMuaHRtbAppbmRleCA3NTY2YmE4NDgyYTc0MmUzMzUxYzZlZTZiOTM2
N2E0MDBiZmI3NGU5Li44MDQyOTI4NGU5OWNiNTZjODlhNDE1MTI3MTEyYzAyOWY4N2FhYjhlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC56ZXJvLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVj
dC56ZXJvLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBk
cmF3cyBhIHN0cmFpZ2h0IGxpbmU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBzdHJh
aWdodCBsaW5lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBm
MCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC56ZXJvLjMud29ya2VyLmpzCmluZGV4IDBiNzNkZWIyNzZhNjY4ZDhjZmE1MDAzY2Q4ODYzNWQ2
YmVmMmZiYTguLmM0YmEyNGYxYjA0Y2RkY2ZmMTVjM2U1NmI4YjcwNTdlMWI4N2EwOTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuemVyby4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE2LDcgKzIwLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4LmxpbmVXaWR0
aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCmluZGV4IGU0
MGQ3OGQwNmRmZWY3ZDZkNGZjOTU0ZWE4NWQ4NDU1ZWE3YTg2ZjQuLjg2MGZlMzJkZDdiMTdiMGQ1
Y2EzMjJjMWViOTBiYmQwMzc4Y2YyYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0
Lnplcm8uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lnplcm8uNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBjYXBz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBjYXBz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LmxpbmVD
YXAgPSAncm91bmQnOwogY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lndvcmtlci5q
cwppbmRleCBlN2RlN2E1ZGQxOGM5NmZhNjY5Y2Y1Y2ZkZDQ1Y2Q3NmZjY2JhNzk1Li4zMWYwNjYx
M2QxZDMwYzY4MTg1YTQ3ZTNmZGE1ZDNiNzMzN2NkM2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2Yg
TngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwcyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsK
IGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLnN0cm9rZVJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbAppbmRleCBjMjNmNjc1ZTgyNWRkNGFl
NTZhYjNiNTRkMWJkMGMzNmU1MjhhYmVmLi41MDA1MzY3YjFhNGNkOTI2YmZlZWIwY2YxNTliYTBh
NDA0Y2ZiYWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3Ryb2tlUmVjdC56ZXJvLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2Yg
TngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIE54
MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIGpvaW5zIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0
eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEwMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lndvcmtlci5qcwppbmRleCBj
YjgyMjRlZDg0ODgyZTNiODE2MDc4MTRmMTIxYTA0MzFjN2Y2OGFiLi4xNTU2NjNiYzFjYWU0Zjlm
NGJhMWUwMmNlMDZhYmIwMmRkOTAwMzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBpeGVs
cyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0cm9r
ZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
ZGVmYXVsdC5odG1sCmluZGV4IDBlMDExYWRkMmQ3NjBlMzA1ZTgyZWFkODE1ZTc5N2Q1MzUwYzNh
ZmQuLmFkYzQ4MThiNjQ0YjI2OTA4NjVjM2E0YzkyZDVjMTVmM2E0ZjVjMTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICcjMDAwMDAwJywgImN0eC5maWxsU3R5bGUiLCAi
JyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCBi
ZDVhZjUyMjhjMWJlNzA2YzQzYTBmNGUxYjM5Y2QyOTdjMjE4ZDZiLi45OTU2M2Y3OWViODBiYjE4
NTlkNTM0NjIzY2IwNTRkOGVhY2MzODBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0
LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCAnIzAwMDAwMCcsICJjdHgu
ZmlsbFN0eWxlIiwgIicjMDAwMDAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3Bh
cmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5z
ZW1pdHJhbnNwYXJlbnQuaHRtbAppbmRleCBkMjEyODJhNTkwMDllZWRjYjZiNTQ3NjJmODI5MTYz
OWYzNWIyODI1Li5lMzk0Zjg1NTA5MjIyNjg4MTVjMDFkYTM2ODE0ZTJkNjc4NjBhODllIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0
cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpJzsK
IGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL15yZ2JhXCgyNTUsIDI1NSwgMjU1
LCAwXC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRy
YW5zcGFyZW50Lndvcmtlci5qcwppbmRleCA2ZDU0NGYxN2UyMjdhZjkxNDU1NmU5MTEwNDJkYThi
NjIzMWVjZWYyLi43ZmExNTdkMTljODcyNmEyMzgyMTIyZWQwYWEzYjIwYTI4MjMwYWY3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNlbWl0
cmFuc3BhcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1
LDAuNDUpJzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL15yZ2JhXCgyNTUs
IDI1NSwgMjU1LCAwXC40XGQrXCkkLyk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbApp
bmRleCA1ZGE1Yjk3Njc1MTU1ODQ1MzFmM2Y4ZjE4M2E0NjMyZTM2NGMyMDlhLi4zY2JhM2E0ZWI4
ODViZGVlZmJjMDZiOTZiMTQ5YTE2ZDdlOTU1MWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuZ2V0LnNvbGlk
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5nZXQuc29saWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJyNmYTAnOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxT
dHlsZSwgJyNmZmFhMDAnLCAiY3R4LmZpbGxTdHlsZSIsICInI2ZmYWEwMCciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLmdldC5zb2xpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcwppbmRleCBhZWVhNDRhYmQxYzhmMGVlOGI4
N2MxMWJlZTRmOTVkOGNiMGM2OThjLi43ZmE3ZmQ1YWU5ZDViMDVmODlmMjI0ZTJjMzE5NzliOTJi
NmE1MTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUuZ2V0LnNvbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5maWxsU3R5bGUgPSAnI2ZhMCc7CiBfYXNzZXJ0U2FtZShjdHgu
ZmlsbFN0eWxlLCAnI2ZmYWEwMCcsICJjdHguZmlsbFN0eWxlIiwgIicjZmZhYTAwJyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwKaW5kZXggYTM5MGFiYmI4NzNh
MGQzZDdhNDM0NmQzN2JlOTkzOGQ5M2U0NTJlMS4uZmQ0YzQ0NTczZWQzNzE1ZDI0N2UyYTY1NTQz
YzkwOWE1MmFjYWRhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVu
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDApJzsKIF9hc3Nl
cnRTYW1lKGN0eC5maWxsU3R5bGUsICdyZ2JhKDAsIDAsIDAsIDApJywgImN0eC5maWxsU3R5bGUi
LCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50
cmFuc3BhcmVudC53b3JrZXIuanMKaW5kZXggM2RmOTFkZDFhMWM1ZGMxMDE2YjM2MGY3YmZjMDhi
ODVmZTAzMTUzNC4uOGJiMTc1YTBiZTdhYjZlZTAwZjY4ZDJiN2Q5ZDJmMzAzOGJmOTEyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50cmFu
c3BhcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLmdldC50cmFuc3BhcmVudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMCknOwogX2Fzc2Vy
dFNhbWUoY3R4LmZpbGxTdHlsZSwgJ3JnYmEoMCwgMCwgMCwgMCknLCAiY3R4LmZpbGxTdHlsZSIs
ICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5n
Lmh0bWwKaW5kZXggOGQyMzI2MjAyOWM4ZGFkZjAzODY3ZGM5OGFmZWIwNTgwNGZlNzg4NC4uY2Yy
Y2E0YzA1Nzk1ODdjOGE2YzVkOTgzNDBjNjc3NTU3ZTRmMjYyNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUuaW52YWxpZHN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxTdHlsZSA9ICdpbnZhbGlkJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3Ry
aW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5p
bnZhbGlkc3RyaW5nLndvcmtlci5qcwppbmRleCA1MDE4OWJkZjY4ZjJkYzNmMjE0ZDQ1ODMyOWM1
ZDRhMzYyMDM5OTdhLi43MDVmOGFlNjk3MzAyMzc0NjA1MTQ4MzY3NzY1ZTBjNGUxNDI3ODE3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxp
ZHN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLmludmFsaWRzdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFN0eWxlID0gJ2ludmFsaWQnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbAppbmRleCAzZDEw
NDNkMjhkNzMyODUxZGQzOWRiNWRkYWI2ZmEzY2U2NmYzMDVkLi43M2Y2YmJhZjU1YmQyMmEwZTU3
ZmMwNzJjZjRjN2VkODdiMDU1NzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxTdHls
ZSA9IG51bGw7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLndvcmtlci5qcwppbmRleCA0MjJh
ZTNlODliOTFiNGEzZDgzYTJhMzc5NTM4OTNiYjYxMWY1NjhlLi5hNTk4NjhkNGUxOWNkYjE5YmI3
ODQyMDQwYTVlM2Y4MjAyZjhmYTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsU3R5bGUgPSBudWxsOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAppbmRleCBmNzk1Njk0YmRlOTdlMjk4NGEzNDQw
MGJmYjQ2MjdmNmNiYzIyNGU3Li5lZDg0NGVjN2RlNjJmZTdkZWU5MzA5MWE2ZDZjZjhkZTU4MmEx
NWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgx
MjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC0xLndvcmtlci5qcwppbmRleCBjMTQ3OTA1ZDVmNzZjNjc4NjQ3NWU5YTM3ZGQ5
YTNkYmIxYjFlMTg1Li43ZDM3NTE2Yzk2Mzc2ZWJjMWU2OTQwNWVlMzVhNDA5OWM3OTczNjFiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEw
MC4wJSA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTIuaHRtbAppbmRleCBhMmMyYzcwZDYyNTkwNGVlMWMwNGY5NTMzN2NlOTc1MDRiOTdiYWEwLi5i
MzcwMzRiNTIzOTYwNWYzNDIwNTEyMDAxMDcxMzU3NWI1NDgxYTA2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlIC8gMC4y
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMi53b3Jr
ZXIuanMKaW5kZXggZDdhMzdkMmMwMzc3OGZlNjM1M2I5MjlhZjE3YTg2NmZiMDc1N2U1Ny4uZTEy
NWM3MDQ0MGRkMzljMThhNTM1ZmYzNWVjM2IwZmM2ZmJkZjA2NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0y
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUgLyAwLjIp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sCmluZGV4
IGEwYmY0ZjM3ZDBjM2VmMzFhZmRkZTliYjIxOWYwYWEwMTlmNjY4NTIuLjJkNDI5ZjBjOGZiODMw
MzBjNTU3YTQ0NzQ2YzMxZWViZDQ5ZmRmYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2wtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcwppbmRl
eCAxNzA5ZjQ5M2RhNjQ1NzBkZmM2OTRmMDM2MGZlOWI2YmE4YWU4ZjQzLi5hZTQzYTYzNzZkN2U2
NDA5NTRiY2ZkYWYxM2YzNjQ1NzVhYTgyMDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKaW5kZXggYTI4ZjY4
OTQ4ZDkxMTZhMzY2MzUzOGE4YTU4YzdmODU2MWQ4NWM2Yy4uNGFjOGFjZDc0MTY3YzBhM2VkMjA4
ZTQ5MDliNmE4YmY5NDFlNTU4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzCmluZGV4IDI5MzVj
NTFmMjkxOGI4MjA4YjZlNTNhYmMwNmM2YjljNmY1N2VmNTMuLjhiYTFkMzNhM2MxZjE1NzllZTM2
MjBiN2IzNmVlYThiMDRhYTMwMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAppbmRleCA4N2EwOTM1ZGFiMjBl
ZDNhNWUzMTE5NDAwMGYxY2E5NGE0NDA3ZjI0Li5jNjczMTk0Y2FlYmI0MTQ4NDE5YmY1MmZlZDcy
NTJiOWEyZTVjMTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUud29ya2VyLmpzCmluZGV4IDY0YzgxMDgwZTNm
ZmFlZTFiYmVmMjM0MGVmMDgwZWIzZjUwYjVkNmYuLmIzOGQ4NGZhYjgxMmM4MGExODQzOTBmYjNj
OWZlYTEzODljNmQyYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2wtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKaW5kZXggYzE4ZjlkOTA1ODJlMzkyZTRm
NTMwM2NmMzQ4YjE3OWIxMmJmZDA1Ni4uOTQ2YTc3NGZkZjAzYTBkNTVhN2I2OTJlZDk2ZTczNjQ4
NGNiYTk4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdo
c2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbC02Lndvcmtlci5qcwppbmRleCBmZTMzZjRiMmJiYTM5YzQ4ZTlj
ZDI5ZGNmZTFmZDBmMTEyZGRiOTRmLi45OWNmYTI1ZWU1ZTA2M2QxOWU0MTc3OTU4MTgzYzVmMmFh
YTI5NzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdo
c2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNy5odG1sCmluZGV4IDNhZDk1ZGIxNTU3NGVmOGIzN2ZlOTY1ZTMzMDlk
YTA5NzYyNmU5MWYuLmVjOTM5Y2ZjZjExMmRjY2MzMmU3NWRkMmYwODc0NWZlNjlhOGY5MmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMz
MzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Ny53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTcud29ya2VyLmpzCmluZGV4IDIxZDUxZDdkN2Y4NjgxNDUyYTE1
ZTYyMTlkMjE2ZWZiMTljMGFhNmIuLmZiY2JiYzk5NjljMDE3YjFiMGQ5MThlYTk4YzY0MWJhMjE0
ZDgzNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgxMzMuMzMzMzMzMzNncmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsLTguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCmluZGV4IDk5NzFiMjI1YmExZGM5YWIxNmI4
MGZhNTdlNzY5YTBhZDU2Njg0MTMuLjUyZGE4YzljYjVkM2VlOGUwZDhlMjY5MTZiMGE5MjFiM2Y1
MmZiMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bC04PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
KDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC04Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53b3JrZXIuanMKaW5kZXggYjViYzY0YzhjOGI5
NzQ2MDhmZWUzNmFmNzQ1OTAwYWVkYTBjOTBhZC4uMmUzMTBkZTI2NGQ0MTNmMzFmMWE0MDNiODcy
YjYyMWZkNWFiMjU0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTgu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC05Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbAppbmRleCAwZDk5ZDE0NTdlYjY2
ZTg1ZWZlYWFmN2Q2ZTYyMjk3YWM0ZWY5ZDYxLi5kOGNkYTdmZmJiYjE4YzIzZDYzYWFhZTAzYjky
NmIwOTBmYmIxNmM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC05PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtOTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ2hzbCgwLjMzMzMzMzMzMzN0dXJuLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC05Lndvcmtlci5qcwppbmRleCBjYWUx
OTUzMWViMDI4ZWVhZWY3ODdmMTViMDlkOGJmNTQzZTdhNjBlLi5mYmZjYmFlM2Y1ZjE4NGMzODc2
NjIwNWEzMGI4MWY2ZjJhMzJiNjYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2wtOS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCmluZGV4IDdm
MDNmNzFiZTYwODRiM2E1NGNmOWQzMWUzNWZiYzczYjI0NTVjYWYuLjM1NWNlODhmNWEyYzE0NDQ1
NDY3M2VjYzc2ZjAzNGU2ODc5YjRmYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzCmluZGV4IDIx
YjQ0Y2U3ZjhjNDQ5NDBlNjliMTYyZTQ3YzAwYTAxMGUwNjcwM2UuLjE2Y2YxOTMyZjVmZWYxODQ5
NDIwYWFhMGMxMzM2OWY2YjRiOTYyMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbAppbmRleCAwMTQ5NTdkZWUxMmQx
ZTQ0MWFmNWU1YjM5N2I1NzM4M2I1OTE3OTVkLi5iOTEzMWE5M2I0NjNjMjMzZjIyMGNiZGZkYTZl
YThlZGMzOGVlYjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKaW5kZXggN2JmNzhiOTI4
NmNhYTc3YTJmMTU5OGQzYjQyMDYxNDhjY2ViZGI5My4uNWJiZDYxOGUwNzlhMmRkNGViYTU2MjVl
N2Y3ODdjMTg1ZGQ4ZmViNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bGEtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA5ZmRlN2JkOTYzZDhiYmY1
ZTIxMzhiNjkxZWRlYzYzYTliYTMwN2IyLi5iZjhiZDFiNWE4YjQ0MGM3ZjlkZDNkNDhiMjM1OTU1
YmY4NGQ4MTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKaW5kZXggZmY2YWI4MDE3
NjE1ZmE2MThmYzEzYWIyMTUwMTU0MmU4MGJkZWMxZi4uOTAwMTRjODIyZWNkYzhiYmFiNWY4Yzk5
MjllNzU2NWMxMTU3ZDVmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhz
bGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbAppbmRleCA1NjY5OTMxOGE1YzE4
NmJkMmZlZjMyYzdlOWQzZGJmNDY0YTcwOGI4Li42NTZlYWNmNmFjZGE2OWI2YTkzZDQwMDhjNTlm
MzljMWZmMjJmZDAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1oc2xhLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC53b3JrZXIuanMKaW5kZXggZjM5MTBl
ZjkwZjRjZjU0ZWU0NzMwMmJjZmU3NmJjYzFkYTA0MDEwYS4uMjUxZDQ3ZmY1OThlZjZhZWYyYjA0
NWU1ZWVjMjU0ODlmNzg5YmI2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDIwJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUuaHRtbAppbmRleCAxZTE5OTBmMmZh
ZWUwOTI0NzRhN2YxYWMxZTI2OWZjZjliYjNmNmMwLi43NzQwM2NiMmYxZjQyMmUwNTgzNzdkZmEx
YTk4Yzc1ZGU5NjE2MmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzCmluZGV4IGM5
NjMxZWMzMDI1YzUzMzUxOWUyMTllNmZjZGNmYWNkYjNhOWEyOGEuLjkyMjJmNGM1ZDZkOGFiYTEx
NTRiZTZjNmEwZWVkOTg1MTZiMmNjNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2xhLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCmluZGV4IDBmMWI2
NDRlYTIxMWM2MDViNzA1ZjRiNWU1NzQ4MWJmYzc5ZGQ1Y2MuLjYwNGQyZTcxYzg1ZTE4ZTJhMTJh
Y2I3ZjQzMmNjMWMyNDdjYmEyYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTYuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbGEtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMKaW5kZXgg
YzZlNDQzMGQ5NDc0NDcyYWQwNTRmMDc0ZDM2MTcyMDdkN2M2NWYzMi4uYmMxZDMwYmU1NWY0ODNj
NjgzYjI5MzQ1MzA5N2FiYWIyNjQzMDg4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwKaW5kZXggZGEyOTA3
NjJkNTdkZWQ5YTU4ZTljY2NlYWY3NzQ5NzZkMTIzY2EyOC4uYTM2ZjNiYjliNzExNDRlMWE2Y2U5
NDY4YmE5MzZhMjhlZmE5YjM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS03PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsKDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53b3JrZXIu
anMKaW5kZXggY2ZlYWVmZDA2ZDcxNjcwYTVkYTFiYzk5ZTEzZjE2OTgwMjQyMjU4ZS4uMGU4MWE4
MzRkMTczZTVjYzFkY2E1MzkzZDljMGVhOTdhNDU4ZDM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LWhzbGEtNy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTMzLjMzMzMzMzMzZ3JhZCwgMTAwLjAl
LCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
OC5odG1sCmluZGV4IDQwNDI3N2Q4YTBlNDdkODZjZTMyYWE4MzdjNjEwNTg5ZjY0M2UxMDcuLjNm
NWQxNWNkOTRiMjk5MDgzMThlYTM4YzQ1MWM0ZmIzOTk2ODU1ZWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS04Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTg8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtODwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5NTEwMjRyYWQsIDEw
MC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTgud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtOC53b3JrZXIuanMKaW5kZXggZmIzNDE1YWQ5MDM0ZTA1ZDE4MzJiN2RhN2M4OGU2
ZTQ4M2M4MzExNC4uYTUzZjRjZTY3OGNkY2RjNGM5ODJhOGQ3OGY4ZDZjOTRmOTQ3YTdhZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMi4wOTQz
OTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS05Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKaW5kZXggMmJkNWExMGE5N2MxOGUyODNhNDM2NmE1NmIw
NzJhNTM4ZTY5OTUzMy4uODUyNTg3NzNkZTk5ODMzNTBhZDFhMjhiNzJkZmQ4OTU5ZGFkY2JkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtOS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtOTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDAu
MzMzMzMzMzMzM3R1cm4sIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2xhLTkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKaW5kZXggMWRmMWM4MmM4ZmMx
ZmQ4MGJkYWI1MjhiN2JiNDMzZGIwZDY2MTIyMS4uZmZiYzRiMDY1NTU0YTQwZWNmZGUwNTAxYTE2
YmE0YWEwMjMwMmI3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
OS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdoc2woMC4zMzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAppbmRleCAzMzEyZDA1YTQy
NmFlOTQ4YTA3NGFjMGVkZmIyM2ZiMDBiZDVjN2U0Li5jZDg4ZGViZjIyYTYxZmRhN2IwMjNhZDFi
ZDE5ZWE4M2NiMTU3ZmRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYigwLCAyNTUuMCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMKaW5kZXggNGQxMzg2YTU5YjA5N2YwNGEyNmE4
MGUxOGU2YzRhOTY3NzMwOGJlMi4uYjA5NWYwZTY4MmEwNWYwOTdhZmFmNTBlMTNlMDQzODU2MmNj
YWFkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
KDAsIDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItMi5odG1sCmluZGV4IDcxNmQ0ZjgwN2U5NWE2NTJjMWUzNzVjNzQ5Y2Q0OGI5NzcwOGVmNmIu
LmI2NDIzZmIwMjA1NjNiYjIyYjdmMzhjNmNhM2E5NmFkODg4NmIxN2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMK
aW5kZXggMTAwMzA5ZTViYzIxNjlkMzhkZjk0MmFmZjRiN2E2ZmE3YWU3MDNjYS4uNzRiYmFiMzgy
MTA3NDAwM2U2ZTcxMzRlNzAzZDJiYTk0NGNmM2NjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAg
Y2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCwgMC4yKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYi0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRleCBiMGZhYTA1OTQ5ZGVm
YmM4NTRiM2EzOThkODlhZmY0ZjYwODdmYTFjLi4zMGYxM2MyOGY2ODBhYTk0Yjc1MTVmNDFlZWFk
NjZmY2M0YTEzNGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIs
ICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCmluZGV4IDZhYzQ3Nzk1ZWQ4Yjg0MDJlZmJjMjJi
NGNjZGM4MWZlMjI1ZjQxMjYuLjU4N2E1ZjM2Y2QwMmMwMmFlOGEwNjMyOWM5ZjE1N2VhYjA0NGQw
MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigw
LCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSww
LDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi00Lmh0bWwKaW5kZXggZGY4NTgwMTlhOTlkZGMwZjdhYWUwOTRlMzQzNGNjMGVkMGQwZjAxZC4u
Y2VmMDRmZDc5MmI0OGUxZWQ3NzRjNGM1OWZiMzIxZWYzZjhkMTI2YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5kZXgg
YWNkZmIyZGY0MTU2YTNhZWZiYTU0ODgxOTJiNzY4NjA3ZTdkMDNiOC4uYzJiMWMyYTM2NWVjNGU0
YzgyMGI5ZmZmZDliZTExYzA0OTYwMGFhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2ItNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKaW5kZXggYjM4OTAzYjBiMjMwY2Q5Mzc1MmZkMzZj
YzE2NzRiYjBhOGNlY2I5Yi4uMTdmNTU5MWU3NzNiYjQ4OTkwNWVmYjZhN2ZiOTEyNWNkMmE2OTNi
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2ItNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAy
NTUgMCAvIDAuMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUx
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiLTUud29ya2VyLmpzCmluZGV4IDdjNDRkZGQyMWZhZTc2OWJkYzI1NTI5ZmQxM2UwZGVmNTYy
NjEyM2YuLjcyMzc5MzY0M2UzY2FkYWI3NjI5MzZkYTEzMWYzZWIyYTY5MTM1NTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwIC8gMC4y
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbAppbmRl
eCBjNTRkOGRmZDBlOTI3MGRjYThlYjIwZGI4MzI0OTE4MGQ5ODgzNDU3Li40NjE3NGQ0MGFkZjQz
NjdhMDliMTcyYjFhMjZhNjM1NWJiYmNjN2Y0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYi02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi53b3JrZXIuanMKaW5kZXggMjFkNjJmNjIx
MzIzNmQ2MWFhNjdjZDhjNWEyYTBkZGQzMmNlZmI2OC4uMDRjM2U4MWIyMTg5Mzk3NzViY2EyZGY3
NDY3NmYxNWNkNzg5NjUwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4K
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiKDAgMjU1IDAgLyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAs
MjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKaW5kZXggZGJjODMxZGIzODNmN2U2YWM2MTczNDcyYWNi
Yjk0NDg3Mjg0YjU1NC4uNzgxZWJkMzI3MDU5YjdkMDJiNzA4MDU3ZDZmMjVlZGQ3YWQ1YWYzNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYmEtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYmEtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUuMCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS0xLndvcmtlci5qcwppbmRleCBjYmI2ODA2MTA3NTM5NzBjZWEwYzQ4MzUwMGY0ZmZm
ZGMxY2I4MzI4Li4zZGVhZDczZGMyZDQ3YjFkZGZkYzU5ZThhNmQyNGNkZmY3ZGYxMzQ1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1
LjAsIDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIu
aHRtbAppbmRleCBjMWY5YzZiYWY2YmMwZTQ2YzlhNzQxYmU0NTAxZTBkN2IyYjUxZWZiLi5iZTM2
N2E2NDBlZTc0N2FjNTczYmVkZmQ0YTFlMjcyZGJhNmY5ZWIzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYmEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMC4yKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5q
cwppbmRleCBlZTNhMDlhODY5OGI3MmRhMjE3NjVkYjRiMDE4NTA2YmNmODk0MDE3Li5mZGZiMWUy
ODdjY2VhOGUzNDY4MmJlNmRjYjYzMTVjZDk1YzhiOGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAwLjIpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZjk5MjY2
M2RmNmE4ZGY0YWE2NjRkMDI1ZjgwY2UyYjMwN2FiY2MyMy4uYTQwYzIyN2QxNmY3MzZkMjA1YWQx
ODQ5YjVkNGNiZGFhMmNhNTcwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2Jh
LTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
NTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2JhLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKaW5kZXggN2I1ZjM5MjZl
NDE1NDBkZmI1MTQ5MmVjNGU1MGEwNjdiNTk1YjAzMy4uYTQ1NmU2NTBkZjViNTcxNjcwMDFjMWI2
YTkwMDFjODM2ZDRlMjRkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
YmEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwg
IjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYmEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sCmluZGV4IDQ4MmM5NWZlZmM4Y2Y0NjlhODE3MTZl
ODcxYTMyZjNjM2FkMWFjZTQuLjA5M2UzNGUwOThmYTRlNGZhNzExYzEyNDMxYjU5NGI3NDY3OGJl
MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2JhLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
YmEtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCAyNTUgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtcmdiYS00Lndvcmtlci5qcwppbmRleCA4ZTAyOTM1MGQzODhmM2NiYWE1ZThkZjc2Zjc1NzY1
ZTUyYTcxNmM2Li40Y2RhMWJhMzIzMzEyMzhlYzBkNTg4NGMxODhlYjc5ZDZhMDM5ZjczIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUg
MCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1s
CmluZGV4IGRkZmZmNTUxZDdjNWNhOWY2M2MxNzVjNjA5ZThiNDk3MTY0ZjUzNzkuLjQ5NmU4Yjg2
MWRiNjZlY2MzMWQ5ZWE4MTE1NDU1OTdjOWExNDA3Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDAuMiknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2JhLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMKaW5k
ZXggMTRkMmIzMDE1Mzc4ZWUzZTAyM2YwYTBmZGFmZmY5YWNmZjY0ZmYzOS4uYmY5Yjc2YmZjZTBj
NGY0MGQyNmExMDYyOTYxMzFiYTcyZjkxNDMzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAgMjU1IDAgLyAwLjIpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lmh0bWwKaW5kZXggMzM5Y2Y1ZjkxOGI3
ZWY2NzE0MWU4YWZlMjkwYTI2YjczNDQxMzI0NS4uODMwNmI4MzZiMDhjN2NiYWM5YzlkNDc4Nzli
YWY4NjEyYTFkMDI5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUw
LDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
YmEtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcwppbmRleCAwMTZjN2NjNTFhOTIyMTcw
OWY1NzZjOTMxOGEzZmMwM2UzOTUzMTFlLi4wZTIwZTg0OWRhNmIyYjhiMjA1MDI2Y2E2YzEyNThl
NDlmZjljNGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCAyNTUgMCAvIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIs
ICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My5odG1sCmluZGV4IDY2
Mzc2OTNiNDEwZDQyNjNhNTVjM2U5NGYwZmI2N2MxZDU0OTZiOWQuLmNjYzcyOWEwNDNmMWIwZmU4
NTRkMWNiNWFmMjQ2OGQ2ODk4NmI1MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhleDM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtl
ci5qcwppbmRleCA4Y2NmZTZkNjk0ZWYwZWYxMmZlNWUxNDYzYWZhYWRlN2Q1YmU0MTJjLi4zMTJl
MDQwMmVlNTFkNGQ0ZmJkYjk4ZWRkODIxYjZkNWVjNTIzZDhiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQuaHRtbAppbmRleCA0MDNlYTkwMzg3MWYzNjk5
YThkOTM2ODAyMGIyOGYxODEwNTFhMjIyLi4wN2E1NjNhZGRkYTI0NDk1NGU3MjgzMzk2YTkxOGMx
MzQyZDFlNjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaGV4NC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5oZXg0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMGYnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzCmluZGV4IGQ4
NzQzYzMwZWMyYzM2MzgyYjJkMTM1NzRlMTVjNzFkZTc0YTIxNDIuLjkzYjU5YmIwYTQxYjMyZjJk
MGI3ZDU1NGNlZGZiOWI1NjFjNTU1NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwZic7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaGV4Ni5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhleDYuaHRtbAppbmRleCBjMmRiZTkwNGI1NjJjODIwNWEzZGM5M2FkY2Q0
M2Y1YzcxYWJiOGUyLi40NDk0NzgyYmMyNmI5ODczNDkwZTQ1OTRkOGRkMWMwYjRhZWM5ZjQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aGV4Ni5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oZXg2Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAwZkYw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaGV4Ni53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4Ni53b3JrZXIuanMKaW5kZXggYjZmZTU4M2E4Nzk5
ZTBjYWE0NDcwYWJjMjliNjM5ZDExYjg4YWE0Yi4uM2IzNzNlZTk1YThiYTc1NGU0ZTVlM2I5ZWRm
ODQzNjQyMzk5Yjg1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZGMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhleDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oZXg4Lmh0bWwKaW5kZXggYjA5MDk2ZWFlMGNmYzJiOTRlZWQ0NTQwYjQxNzMwNjhiMzcy
Mzg3ZS4uNTI1ZjIwNzcyN2U1ZDA2YTU3OGU0YTg0MDYwOTFkYjUzYzdkNGQwNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4
OC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaGV4ODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaGV4ODwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZmMDBmZic7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaGV4OC53b3JrZXIuanMKaW5kZXggMDZiNWZkMGZiZGNhYWNkNjJm
NGVkYWViYjNmZTIyYWE4YjkwMzczYy4uYjcxZjE1MTJjM2YzZDhlMmRlODMzNTg1MWIxNzBlOWY3
Y2IzYjA4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhleDgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwMGZmMDBmZic7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtMS5odG1sCmluZGV4IGY2Zjk5ODM4NDg0YWM2Mzg2ZmUwNjAzMTgyZTIxOTEyNGFiN2Ey
ODQuLjgwMjEwYTQ3MDYyMWEyMTQ5Mzg3YWIzZWRmY2RkMzJjYzc1NWY0MTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVz
Ij4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwgMTAw
JSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcwppbmRleCA1MDNm
NWI2NThiODdlMWNjMzhlMTE5ZWJkYzcxZTFlNDIyNDUzYmI1Li4zN2U3MTlkNGI4OTM3NWEzYWZl
NDA2YWMyOWEyZjE0NDFlZTY1MDY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAx
MDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKaW5kZXggN2RmOTExNTgwYTk2
ZDJlZjVlNmYzMDgxNTIzNzdkMWI5MTE4YzI3Yy4uMzYwMGZmNmRiMjIyZTg2OGY5ZjNhYTYzZDQw
ZjA4NTU3ZTMwZDAwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woIC0yNDAgLCAxMDAlICwgNTAlICknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtMi53b3JrZXIuanMKaW5kZXggYmI5MTgyYThiODg3YmYyM2RmY2I4Mjg2MzA0ODY4
NDIwOGMyNzJlOS4uMmY1YjRlOTFiMDNiYzE0Mzg2ZGVkMjllZjYwOGRjNjViNjQ0OWQwYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCAtMjQwICwgMTAwJSAsIDUwJSApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC0zLmh0bWwKaW5kZXggZTU2Yzk1ZmIyNzZkYTE0N2QxNmNhZjc0ZjZlOWVkN2M5
M2M2NWRmOC4uNWViZTJlYTcxZTYyYmM3MjNjODAyZDE4ZTY2ZjYyNjNmMDAwZDc3OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLTM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMzYw
MTIwLCAxMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMud29ya2VyLmpzCmlu
ZGV4IDA4MDlmZDQyNGUxNGI5ZGE5MTcwMmMzZmMxOWE2NjQzMTE2Y2NmOWMuLmY0MDFmMzhkZDE4
ZWViNTMwMmU0ZDgzOWNkZTg2ODFhZjY0ZTE5ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgzNjAxMjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbAppbmRleCBm
MjNhNzcwNTM5NDAzNjYwMzY5NmVkYzkyNWY1NzhmOWMyNjEwMzRiLi5mMjhjZjQ5ZDA5NjVjOGJl
ZmU1Y2Y4OWE0MGNhZTJhNThlMzkzZjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYwMjQwLCAxMDAlLCA1MCUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzCmluZGV4IGNjYmMzY2RhODhkMjhhOTIxZmNk
NWZmZmYyYzhjNWQzZDViZDc5MTkuLjg2MTE1YTg4OGM0Njk2ZWMyODk5M2NiNDg2YTAyMjgzYjAz
MDgwZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgtMzYwMjQwLCAxMDAlLCA1MCUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwKaW5kZXggMGVmOGEwYThjZGQ4NjRkOGY5NjgxZWY3
MTA0ZjBjNzllNjM5ZjUwYy4uODc3OWJmOTU0ZTIyMWJkYzlhZjdmMzNkYTY1Mjg5NWFiZjVmZTk4
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTUu
d29ya2VyLmpzCmluZGV4IDQyYTlmOTA5MjRlMTY1NDc5OGM3OTA3ZjMxNWVlY2I0Mzk1ZDgwYjYu
LjIxNmRlNTc1M2MzYjcxNzVlMTA0NWQzMWFhYmIyMTlmZDUwY2RhZWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTYuaHRtbAppbmRleCA0MjBiNzg3ZWM4YTFiMGYzNjdhNGYwYTc4N2Y5MmZiYzkzOGNhYzVlLi5h
NGEzZTc5YzRjNGZkYjNhNDQyMzBkZjEwNmJiZjE3MzM5YTg3Yjc4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbC02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgrMTIwLCArMTAwJSwg
KzUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3JrZXIuanMKaW5kZXggOWE1MzY4
NjIwZjk5MmZhOGU3OGVhN2QwZjAzYTE5MTM3MTk4N2YwMS4uN2E3ZDM0ZDczYjQ0NjI4NWQ5MTc5
Nzk5ZjFlMWRkNzI4NDZmOWRkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCsxMjAsICsx
MDAlLCArNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCmluZGV4
IGY1ODY5NThjZGRjN2ZjNDBhMmIxYWRiMjQ0YjM0ZjM5ZDUzMjkzYzguLjIzMzYyZjliMGJhYjM1
OGE1MjI0YjcxOGFmOTM4MDJiYjNhM2Q4N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaHNsLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MCwgMjAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLndv
cmtlci5qcwppbmRleCA2YzU5ODYwNmVmNmFkM2JjNTVlYTdmMzA5NzJkNGIxYjYwZDNiYTIwLi4y
ZGIwNDU4NWE0ZjAyZjRmYmUwZjZjM2UwYWNmOTljNTAzYTg2ZDIxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAyMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC1jbGFtcC0yLmh0bWwKaW5kZXggOTJjOWM5NWUyM2E1NjA2OTgzYTIxNmZkMzNk
NGE5MDNhZDFmOGZjNy4uNTM5YTljMTBlODU4YTJhZTY4MzlhYWMwYjU2ZDFhNDk3YjY5N2Q2YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC1jbGFtcC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAtMjAwJSwgNDkuOSUpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMi53b3JrZXIuanMKaW5kZXggN2Fh
YzFjOThlN2RkYzNmY2NmYmNkMTU5ZWMyNzI4ZDgzM2NjZjZkYi4uZTgxN2UwNWYyNjFmMzBkNDEx
NDc4OGYyMDdjNTg2YTgxYmMxNGI3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnaHNsKDEyMCwgLTIwMCUsIDQ5LjklKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAi
NTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xh
bXAtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC1jbGFtcC0zLmh0bWwKaW5kZXggYTZjZjE1MDY5ZjdiMmQ2N2U4MjY4NzgyN2Q0MjcwNmI0
NWE4NTkwYi4uODlhNmU4ZDAxNWE1YjRkNTE4YjRmZTdlYmY5MzNkM2YxN2ZlODJiOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1j
bGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAlLCAyMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1
NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMud29ya2VyLmpzCmluZGV4IDM0MTE1M2IwOTFk
MTM0YmVjODU5NzhlMDEwZDc5NDE2ODZmZGIyYmIuLmVkM2U2Zjc2Y2ExNTM0ZGU0MjJlM2ZjZmQ1
MTNkYTM1MjI4NGNhNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3
ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgx
MjAsIDEwMCUsIDIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIy
NTUsMjU1LDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1w
LTQuaHRtbAppbmRleCBhYzQxNGZkNmJlMDgxNTM0NjU3YTNhZjc4Njg5NDg2MjFmYTVlMWMyLi5h
NWM0ZTIxOTdmOTM2ZGFlNDkxMjQyYjVkZDlhZDU4ZmIwOWQ4MDczIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LWNsYW1wLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtY2xhbXAtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAsIDEwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAs
MjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LWNsYW1wLTQud29ya2VyLmpzCmluZGV4IDQwMzk2MmFmYzY0Yjk0OTQxNmEzZjkyMDE1ZDI2ZTU5
ZDI2YzYyZmUuLmE2ZDFlYmM3ODAzYzIyZTgyNjU4OTMyZGRlMmJlZTU2Yzk3MTE0MzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
Y2xhbXAtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIC0yMDAlKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLTEuaHRtbAppbmRleCBiZTU5NWQ3YTRjYzFlNDUzYWVlZjkyZGQwYzAy
MGRkZGU3NTAwNWQ4Li42YmFmYTZiYjQzMGIxZWVhMDEzZTU1YWNhYWFjOTY5Njc1YWNjZTM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8
cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2xhKDEyMCwgMTAwJSwgNTAlLCAwLjQ5OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAi
NTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
YS0xLndvcmtlci5qcwppbmRleCA4MTg1ZmRkN2M5MGI0MGUzNDU2Y2MxMjVjOTkyZmViYzVkNzkx
NzAzLi5mMDE3MDhkYjljMGNmMDk4NGRhMGU4MWZjYTBjNTA2MGFlOTc3YzY0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJu
b3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUsIDAuNDk5KSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS0yLmh0bWwKaW5kZXggYzFkMDQ4NmRkN2U1MjZlNDg5ZGNlNzc4MGEzMTdjNmZh
MGJhYTNmMy4uMjhlM2Q2ZTlhMzY0NjNmYzhjYjJkMjhkYmNhZmRmMzg1MzcwMWE2MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNs
YS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
YSggMTIwLjAgLCAxMDAuMCUgLCA1MC4wJSAsIDEgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLTIud29ya2VyLmpzCmluZGV4IDkxYzg4MmVjMDdlMzFhZDM4OWQxZmRhZTk2ZjYwMjM1M2Q0
Yzg0ZTMuLmViYjNiMjUwNmY1ZTk3YTY1NWVlMDlhYjI0OWVhMGE3NjQ1ZjJkMGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSggMTIwLjAgLCAxMDAuMCUgLCA1MC4wJSAsIDEgKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwKaW5kZXggODBiMGVjZjMzODMw
ZDI0Y2E4ZWU0OTM2ZTc5NjBmNjNmOTExNmU3YS4uMmM3ZjdhMTJiMTUyMGNiYTM4OGZkMzNkNmQy
NjMzODI4YWVkNGY4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtY2xhbXAtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4K
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDIwMCUs
IDUwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndvcmtl
ci5qcwppbmRleCBiMDMxNDE2NjAxZmJmNzRmMGYzNzJjZjI5NjlkNTk4NDk4NGNlNTdmLi45YWQ2
NjdjZDAzMDI4YzM5M2IxYzc0MDA4Mzk3MzhkNzhkY2FiODczIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAyMDAlLCA1MCUsIDEpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIuaHRtbAppbmRleCBhZTRlNjM3YTIyOTY4ZjhmMTRkMmVm
OGY5MzA2YTQ1NDg1NzI1NjZlLi41ZjEzYWM0NDdjZjAzMzE4Y2I5YjU0OTY4ZTA3ZDkxMGMxNjY5
YWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0y
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgLTIwMCUsIDQ5LjklLCAx
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3Jr
ZXIuanMKaW5kZXggNjcxY2ExYWQzOTBmOTRmYjExODQ5MDA2YWM0ZTkwNjZiMDVkMjM4Ni4uZTI2
NmM0NDU4MWM2NTM3YWRiNzBmMzNlMDc4N2EzZDQ0OTdkZTFkNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtY2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgLTIwMCUsIDQ5LjklLCAxKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMuaHRtbAppbmRleCA5ZTM1NjM0YjUz
N2M4NGFiZGUxNjNlYzg2NTQ1ZjY1MTMwOTgwYjgxLi5iOTFmZmQ3ZmRlNDc0YTBmMWVkZTY2YjZm
YmNmMTY3ZDBkZGU2NGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS1jbGFtcC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAw
JSwgMjAwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwy
NTUsMjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTMud29ya2VyLmpzCmluZGV4IGE2MDQ1YzYxNGFiMDVkNDk2Yzc3OGU3MjA5YzlkNWU1YjFh
Y2ViZjIuLmQzYzM5ZjExNWRkNDVmMzU1NDM0MWEyNjEzNDM0MTlhMzNhZDllMzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDIwMCUsIDEpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyNTUsMjU1LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sCmluZGV4IDg1
OGI0NTljMWY1NjNlNWU4MzY4Y2E1MzM2NThkOWZkZTJhYzdlMmYuLjJkNjY0MDJmNTIxNjI0YmI4
NjlhOWRhYTJjZjQyZTJjODIyYTgxYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
NDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEo
MTIwLCAxMDAlLCAtMjAwJSwgMSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDI1NSwgIjUwLDI1IiwgIjAs
MCwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1w
LTQud29ya2VyLmpzCmluZGV4IDc3YmU3YmUwNDFiZTZlOTgwNThiZmZhMGI4OWY0MTNlNGMxNzMw
N2IuLmZlYmFhNWY0MTc0ZTE1YzRmNmY2MzAwMzdlZWUyMTliOGFjNzk1MmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1w
LTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIC0yMDAlLCAxKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCwwLDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbAppbmRleCAyODUxMDhhNmU3NGE2MzZk
Y2FiOTI1MDIxZTczNjY5NjQ1YWUyOTNhLi5mZDJlZTQ1ZTliZTM0NGI2MzRlY2EyNzUyYTZmY2Ux
YjZhZWM5YmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS1j
bGFtcC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgNTAl
LCAyKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpz
CmluZGV4IGQ1MzRkNGQ2YzcyYjRmNDU5YzQ4MDI2Y2JhNTRhMWZkNmNmZmEwNTIuLjk0NDdjMGFh
YzA2NDQzYzdmMmJkYjU2NGQzODM0M2JhOWJjMDZiMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LWNsYW1wLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDUwJSwgMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtY2xhbXAtNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtNi5odG1sCmluZGV4IDgwNTY1MTFiNjMzMDBiNTE4NjhjZGRmZjFi
ZWEzNjEwMjkxZWJmNjIuLjc4OWM4MmVmYjY1MGFiZGI5ZGZkYTBkNWQxMjI4OGFiYzMxMzJkZjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTY8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCAwJSwgLTIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsYS1jbGFtcC02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzCmluZGV4IDMyYTc3ZDkyMWUy
MzZjNjU1MDUzMmU4ZjNmNjZlOTJmYWY2OTQ3YWEuLjI3NjUyYTgxYWE2OThiMjEwYzFmYzQxNDhi
YjZhY2YwNDNjNmRkYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
YSgxMjAsIDEwMCUsIDAlLCAtMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKaW5kZXggZjBlYTFhNzMz
YWM4OTY4OTM1YmIzODViMjlkZWYzMDE2YTE2ODYwNi4uOWU0YzRkOWVmMzhmOWY1ZWM0M2EzMTlm
OTQ1ZjgxZDg4NzBlNDcwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaHRtbDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdsaW1FJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQud29ya2Vy
LmpzCmluZGV4IGM5NTQ5NjZjMzhhMTQ1MGEzN2RkZmQ3MDc1MjdkNTVjNjNhOTA5OTIuLmE4MzIz
NGY3ZDAzM2IzMmYzMjMwZWRlN2JmOTljNzg3YWE3MDFmMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ2xpbUUnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbC0xLmh0bWwKaW5kZXggYjIzYTM3NjJlZjNjYjA0ZjBjNGNjZDIwNTM1ZGMx
YmFiNjY1MDU5Mi4uZTVhNzcwMjkxMDk4ZDRiYzAyZGQwYzliODVkYTI4MTA2OTNhMjYyYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBz
aG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTEud29ya2VyLmpzCmluZGV4IDI3ZGIxMjU0NDhhZWVlZjBhNjJkZmJmZDBkNTAwZjgx
NDRkMzY1NTQuLjhhMjg0YmU3ODNjM2ZmZjBiN2JmYzU2ZmRjNGJiNDRmYzIzNWMxYzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEw
MCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMi5odG1sCmluZGV4IDIy
MjdkNTVmYjBhYzIxOGJmN2VmNWNkYWJjZmQwMmIzYWNlZjY0ZTYuLmYyNzA3MjBjY2Q0YzcxNzc5
ZWEzNjUwMWZjODU2YTlmZjE1OWRhOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAgMTAwJSA1MCUsIDEpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcwppbmRleCA0ZWRiYWU0
ZDdlZGE3MDhmYzZmNGNkNDZkYzAwOWZiMjU2NmU0YTIxLi4xMzc4YTRhMmE4MjEwN2YyOTgwOTk0
NDc2Mjc3MGUxNjE4NzllM2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJ2hzbCgwIDEwMCUgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTMuaHRtbAppbmRleCBkYzdjYWFkM2Y3ZjYzOTliY2M4OTczNDk4MjU0ZTVlYzY3NzEx
MjJjLi43YmQ4Mzk0YjZjZjA3MjExMzY5YmFkYWU5MzE1N2YzZDUwOWY0MmU4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1oc2wtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LWhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0g
J2hzbCgwLCAxMDAlIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMud29y
a2VyLmpzCmluZGV4IDQ3NDRmOWU4NzNjZjQ5Nzc2ODhjNWE0MWNlMDNlODk2YTBjYzMyYzIuLmYx
MTk2ZjRiMDY0YWRmZWIwMzRkNzNlNTE0MDEzYjc4MTRlYmE5MDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUgNTAlKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2wtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbAppbmRleCBhZmZiNjVlNzZjMTdlNDNhZjcw
NThmYzI1OGE3ZTEyMDRkNTZmZjNhLi4wMWNjOGJmYWVlZTIyNjkxZjFkM2I1MWNlOWNjODhmMzBm
ZmI5ZWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhz
bC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwIDEwMCUgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbC00Lndvcmtlci5qcwppbmRleCA1NDVkZjMwN2Y3NTc5NDhlZWJiMWQxNGEx
YWFmMzhiNmNmNDhiNzdjLi5jYWViOWVjNGQ0MDIzYmI0NzBiOTlhZTNkODQzNjY5YjFhMzc3MmJk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hz
bCgwIDEwMCUgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS5odG1sCmluZGV4
IDQwN2Y2ZWUyY2MyNDI2ZGY0OGExOWQwMGZhOTkzYTNhZjkxNDM5ZDAuLmU1NmFkNjc3ZjQxZjIw
YWJmNjFkN2RmODIwYTY4MGM3NDA1MzZhOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUwJSAv
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2wtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKaW5kZXggOTYw
ZTMxODQxNGM5NzM3NGI0ZTdkMWZkODc0MTVlYWIwZGNjMTMwZC4uZWMwYTNlYjgwODA3NDkxYTRk
ODQzYTRkMGM4YTU5MWNkYWFhMTY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlIC8pJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsYS0xLmh0bWwKaW5kZXggMzE5Njc2ZTIxMDIzYTQ1Yjk0OGY4NzgyMmY4OWU3
ZWRhOWQ3OTJjNS4uNDJkNjUyYzc2MmY4ZWZiZWRhMTM4ZWUxMDlmMjYxYmVhNTRiODVhYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsYS0xLndvcmtlci5qcwppbmRleCAwYmJmNWFjY2Q1ZWM3MWU1ODM2NDFkMzhm
ZGU1NTI4OWYxZThhNTQ2Li5mMjU0Mzg4ZTg4ODBiNTllYTk3OTdmZjM0MTFiZWFhM2JmYTczMGVj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhz
bGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
aHNsYSgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5o
dG1sCmluZGV4IDAwMWUxYmFhNjJiZTU0ZDIxZjEyMTFiMDEzOGIyOGNlMTJhZDBlZWQuLjdjOWYz
MTI3NWM5NWZmNTU0NDliYjY2MDk3ODU1NDNjOTQ5OGZhNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LWhzbGEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtaHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEo
MCAxMDAlIDUwJSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi53b3Jr
ZXIuanMKaW5kZXggYzFlN2MwYTU2NjM3NTUxZGVjMGIxNGVlN2M1Zjk4OWEwNDI4Mzk1OC4uMWM1
ZTA4MTNkMTBkYTRjNGU1YzJiMGMzODJjN2E1ZTJlMDUyYmNkZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsYS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCAxMDAlIDUwJSwgMSkn
OyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRu
J3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAppbmRleCA0ZTllNTljMDUyM2Jj
M2Q1NDA0ZjM5NmE1OTE0MDk0Y2JhMTk3NTMwLi5kN2RjZmRjZjk1NDFlMzUwM2E3ODZhMjlhMmMw
Y2UwMDY1YTdjZjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2xhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUgNTAlKSc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwppbmRleCBiYjQ1MjEzYzRmZDk1
ZDNkMzhkOWM4NDA3YjlhY2UzNzdjMTA1NDYwLi5iMGFkMTJmOWI1NzU4YjdmMmNkMjFiOGYyMmIz
ZjU3MWE2NDZhMDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnaHNsYSgwLCAxMDAlIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBz
aG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
Yi0xLmh0bWwKaW5kZXggYmEwY2E1ZTFiYmI5M2JkOTg0ZTRkZTc1NjM5YzM1Y2RjOTViYWQ0MS4u
YmVlYjEzNjZkNTcwZWJkMWE5YWQ2MjJmNWZhZjBlMjdkMmQ2YzVmZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2ItMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTEud29ya2Vy
LmpzCmluZGV4IDE3YThmNDQwNTY2ZjA4OWM3OTc0YTViNWU0ZTQwNTZjMzI5MzlmYTIuLmMxYWE0
ZjI1OThkOGZkM2RjNzQzY2Y1ZmMxNDFjZjU3MmFmNDJmZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYi0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCwgMCAvIDEpJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
Yi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi5odG1sCmluZGV4IDQyMzU0YWU4Y2E2N2U2MjZjNDk3
NWJmZWFlNjAyNmZjOTgxNzQwMjMuLmZkZDMwY2FmOWU5YjJkZjlhZjA0YmI2ODhkYjA0NTJmZmIw
NDlhYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYi0yLndvcmtlci5qcwppbmRleCA3ZjZlZmM2MDYwZTQ0ZTI5OWVhOTFkOTkxZWQ1
ZGZmZDA2YWU5NTBiLi5kYmY1ZDE5YTVkODdkZTczNjNlY2EzNTg5ZDFmNTlkZDlhMDc1MzcxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigy
NTUgMCAwLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMuaHRtbAppbmRleCA0MDJl
NmFkNTdmMGUxNGUzNThiMWY2Njc2OTAzODA2NmE5YmFmYjAzLi5kMjM5Mzk3ZmRiNzJlYmYwOWJj
NmMwM2M4M2Q3OTgyNzc3MjY2Y2Q5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYi0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0z
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIDAgMCknOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCmluZGV4IGY1ZDU1MWMwNDFjMGU1
MTk2M2QwY2QxOTMxNzg5NmNmMDQ5MmQyYjUuLmRjMDFiYzc4ZjFiOTY0NGE4MDg4MGY5YWJmODZk
OGEzNjQzZmU5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxs
U3R5bGUgPSAncmdiKDI1NSwgMCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQuaHRt
bAppbmRleCAyNTU2YTljOWIxZWY5NzFiZGRlYjEzY2FlOTJhZjQ4ZDkwMWZhMTNjLi4xZjUyZWEz
M2QwZmViNDc0NzI5MjQ3NDAzNGRjNTUzNmM2MzllOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2ItNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYi00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYi00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDAgMCAv
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2ItNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIuanMKaW5kZXggOTY2
ZjQ2NTg2OGZkNmUwOTNlZGZmNjdjOTU2OWZmOTczM2JlMmNlNS4uOTE0MjNiMWMyZTQwOGU2NTIy
MGRiMzVhOGZmNGIwZmJiMmMwODkxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAwIDAgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYi01Lmh0bWwKaW5kZXggYzJmYzFlZThmNmMyMzY4YTc5ODNmZmUyMzA0MTRjM2ExMjRkODUw
NS4uNjFmZmFhZmVmY2JjNzRiNTljNzgzYTU0MDZmYWNjNzI0ZjAwMGNiMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtcmdiLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1yZ2ItNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoMCwgMCwgMCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS53b3JrZXIu
anMKaW5kZXggM2E1NDI0NmM3MGExMGQ3OGI0MzdhMjk3ZjJhZmY3MTBlMGY0YjBlMi4uYzQ1Njgz
MDQxOTk1Zjk3ZjgyMWQ5M2UyOTUzMTQ0MTk2Njg0NGRhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMCwgMCAvKSc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCmluZGV4IGY4NDJlZmFmMGU2ZWRhMjRiYmVjYzgw
YmJiYTFlYWUyODNiNzU1YTAuLjhhNDQ4ZTIzNDNmZDdmZTA1YTI4NmIyYWNiYzVjZjk4OWEwNWNh
N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEt
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYmEtMS53b3JrZXIuanMKaW5kZXggODhmN2QzNTQ2NWY1NDBhZTBiNTRi
NzE2MjA1NDY3ZmRhNTgwZTJmYy4uZGFmNTQxZDQwN2U4NzM0NGEwMTcxZTdiNTlhOGUyMTIxODcw
MDkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2JhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMjU1LCAwLCAwIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIu
aHRtbAppbmRleCAyMjY2MGNhMzliZTI2YTA1YzQ1NzY2ZjZkNWYyMzE2Yjg5MWU3NDc2Li5lZWZh
MTc3NGMwYjkwMGEwMTVhMjYzODRhZmYxY2JlZTRiNTA4NjkxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2JhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYmEtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDI1NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2Vy
LmpzCmluZGV4IGNkNGI0ODkwYmQ4OTUwMjE1OGY1YTU4MjVlYzQzZjEzYWY2MDYzNzguLjU0ZTUz
YzA3YzJkNjEzY2Y5NzQwY2NmODg1MDRiMzg3NjQxZTIwNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYmEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSAwIDAsIDEpJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
YmEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKaW5kZXggZTg5YTcxNWVhNzY2ZTcwNWQ5
MDYwNjk0YTU0ZWU4MGUwYTk3OWZjNS4uZmRkOWQ0NmFjNWM1ZTdkYTQ1YmIyOTRjYjA3Y2FhMmE1
MjUwYTlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAgMCknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYmEtMy53b3JrZXIuanMKaW5kZXggOTk5ZTBiNTk5OTA2Y2I1MTIyNDAz
NmFkN2ZhOGM3ZDhkNzUyOTMyOC4uMjRiNDNmMTljNGQ5NTdmNTZmNzU4YjcwZmFlMDdjNTg0OGNk
ZGY5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1yZ2JhLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMjU1LCAwIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhleDEuaHRtbAppbmRleCAwN2VlMzcwMTg1MTM5OTgwNjA3YzY2
NjQxM2IzOTUyNGQ2ZWVkYWZhLi5lZWM0YjllYmI1ZmE2YTc3MjVmOWY0YjgzYjBjNzI4YWI2NTRk
MTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgx
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnI2YnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcwppbmRleCBmNTk1ZTEw
ODA4NzE0MzA0MzFhNTJhYjQ2MGMxYjFlY2ZhNjg5ZDA4Li43NGJkMzk2OGY0ZTMwYjBlOWZjMDcy
MTFjYmY4NDhmYWE0Y2U3MDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZic7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLmh0
bWwKaW5kZXggMzMwYzRiYWMxNzQ5ZDZjMTc4NTVhZDI3OTY1YWU5ZDdkMDJlYTg1YS4uYWUwZjcw
NWZhMjA0OGJmMWU0YTBlYjAxNGQwZmNlODczYWZkZTI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXgyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmMCc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDIud29ya2VyLmpzCmluZGV4IDZmYjE2ZjMwZGVlOWE5ZDRlYWI0MjBlNTI4OWQ3ZmRh
YWRkZTUzNWMuLmUyZTVjYjIyN2JiYzU3NmZjMzc1OTc3YTQwOTUxZmY3ZTQ1ZDFiOTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKaW5kZXggMGE2OWMyODA0ZDQ3NDNk
Zjc1Yjg5ZWJjMTI5ZDI4MTM0ZTc4M2VhMS4uNjNmZWVlNmI3ZWNmOWJjMGVlMWJhZWVmNTAyNDk3
OTBjYWJhYTJhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcwppbmRl
eCA4MzJmNGRlYTEyMGQzNDNjMWE1MTAwNDU2ZjgzYjc1NzdlY2RhODRmLi42ZDk4N2Y3ODVlMjEy
ZjJhMzM1MjI4YTFiNTZiODE1MTYyZWMxZGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXgzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcj
ZzAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhleDQuaHRtbAppbmRleCA1NTY1ZTcwMDJlNTUzMDdkYjI2M2I3OTEwNjlmNTE3MTRjZWQx
MWEwLi4yNjRjNGM1YWRjNjMxMTcxODI4MjRkM2Q3NzIzOWRmYjczYTUxMzNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaGV4NC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhleDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5
bGUgPSAnI2ZnMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcwppbmRleCBmN2E3MDk3YWNkZjA5M2NlOGMw
NWY0MDU2OTdlZTc0NWEyNjc4NTgxLi5jYWZlNjFhZWRlN2U1MDZjZWJlMTBjNmMyNmUyNDVjNGU2
OGUwOWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg0Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmcwMCc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lmh0bWwKaW5kZXgg
YjFlNDUyYzIyNzI2ZGI3ZGRkMjQ4MGExYzExZjVkNjYyMDIyNjQxZC4uM2M3ZDU4ZTdiOWE1NmQw
NTdiY2FlNTkzNzdlNGVjMWM0NjY4ZmM3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4NTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg1PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDUud29ya2VyLmpzCmluZGV4IGE5MzE0NjdiN2E3OGViYjVkOGI5YTc3YTdiMDhjMDcxYmFhYzEx
Y2EuLjU3MzEzNzM3OWJiMzg0NjAzZTkxNWJiNWRjYzE4OWIxOTc5YjA0YWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhleDUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJyNmZjAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKaW5kZXggYjA5NTRlZjFmZTA0ODQ4Nzhm
N2E1M2I0MjczMWNlZGFjNzQxMzQzYS4uZTdjMGQyNmRkZGVkYzFmZDQzNjM2YTMzMzgwMmJiNWQ5
OTNkOTVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4Ni5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4NjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcwppbmRl
eCA3NTA1NDhkNzRlNDk4ODUzZGUyZGMyZGU3Y2I4MGMzNWExZjM0NTgwLi4zZmQ1ZWM0NDEwNWM5
YzBmYzk5ZWNmYjY4YmQ1NGZiMzY0Mjg1NTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg2Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcj
ZmcwMDAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDcuaHRtbAppbmRleCBlNTNjYjg3YThiYzI5MWIyODAwNTA4OTJmZjUyMjc0YzM3
N2FhMmRmLi43ZGQzMzEyZWJiNGM2NWQzNDE3NjMzYTJmN2FjYmRlNjg3MjI4NDI2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4Ny5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxs
U3R5bGUgPSAnI2ZmMDAwMGYnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4Ny53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcwppbmRleCA3Nzk2YTRlOTliMGUz
YTU1YWUxZjk0MThjOGE2NDc3OWIyMWM4ODkzLi5hOGMyM2UwMmYwMTY3YTIxMTg4NDMyMjkwZTZl
NDBlMzc4M2E5YmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg3Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcjZmYwMDAwZic7IH0gY2F0
Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0
ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4Lmh0
bWwKaW5kZXggYTU5MzMyZjA0MGQyYjhjNmFjNzg4MzUwYWJmNTE0ZTM4Yjg5MDhkYS4uYjI0NjAw
NDVjZGY1Mzk3ZWQ0N2I1OWMzNzk3YTIzMjBmNWNiNzA5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4ODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXg4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAw
MDBmZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNo
b3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCmluZGV4IDIxNTZlZjA2Y2M3NWQyNGQ1MGEwNTVhZjRm
ZjgxN2QwYjFjNDkwYmUuLjNkM2RmYzEzNWI3MDdkYzA4YjI1NjQ2NmQ0ZDRjOGM1Y2QwNmIzNTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwMDBmZic7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEuaHRtbAppbmRleCBm
YjE1NDg0NzhlYTM2NjY4NGZmYTM4Y2Y5ODY2ZjdmZTA3MjBhNzMwLi5iNTRkMjNlZmZmNTVlMDAx
OWY5M2FlN2MzMzU4NzIwZWE2YjBiMjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwJSwgMTAw
JSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0
IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
c2wtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtMS53b3JrZXIuanMKaW5kZXggZjFiMmE1MDg2ZmNmMzViODJmMDI3
MDkxYTYxNDdjNDc2NGJmOWNkYy4uZWUzMGQzMjZkMTllMTExNGE1MWE1OGM4M2VmYTUyOGM2Yjg0
MDg0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCUsIDEwMCUsIDUwJSknOyB9
IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3Qg
bWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bC0yLmh0bWwKaW5kZXggN2Y1MDk2NmUwYjU2NzgyZjljN2FkNTU3ZmI1YmI2MzA0Zjc5MmFhYi4u
ODg0NjhkOWI1YjQ5NWIxMDRkMWEyNzA0YzdkZjU5NzA3YzIxNDQwOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICdoc2woeiwgMTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKaW5kZXggYjA5YTky
ZGQ5NGFjMTJkZWU4NTdhZTE3ZTIzMGExYzEwZjJmYmRmMy4uNWM2YmUzNDE3ZjhmMGQxNDRlMzRh
Y2VkZjFiZjIwMjUzMTAzNjBlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woeiwg
MTAwJSwgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsLTMuaHRtbAppbmRleCA3MjQ0Y2QwZTM0YzBhODJmN2FiYTM4NzcwYzc3
OTgzOTFjNTc2MDUwLi44ZmZiNjNmNDNiYzIzNWZlZWIzZDNjMTU0OGVjYzI1YjlhMWU2MWMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2wtMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAwLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcwpp
bmRleCAwYjJhMDY1MmEzNTMwZGY0NjQzYzkzYTVmYjUwMGJkN2QxYjgxMDY4Li5hYzczYjUyOWRl
M2I3NTk2YmI2ZjNlNDg5ZTZlZjdjMzAzMjI2MDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaHNsLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ2hzbCgwLCAwLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5odG1sCmluZGV4IDM1Nzc2NjZhOGM3YmMwNDQ0YWU1
YWM1ZWU2MjEyNjlhMmRlNGIxMmEuLjM4NzQwODk5NDgyZWI1NzFhNTZjMzM3Y2VkZmE0NGFiZjk3
MDFiMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aHNsLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDApJzsgfSBjYXRjaCAoZSkg
eyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJl
IGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lndv
cmtlci5qcwppbmRleCBmMTc0MzQ3MjIxM2U4MGQwMzg5Y2NlMGYzNTk2NDAzNzljODBiNDc3Li5m
NDIzOWVjZGUwNzQ1OTFkMWM3Njg4NWQ3YmNiOGU3MDMzMTE4YWYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTUuaHRtbAppbmRleCBhM2I5MDcwODll
MjYyZjdjMmZjMTA2OTA3OTQ0ZTUyZmM2MjFkYzRmLi5jMzVhMmM0ZWI3YzhiNGRjYjc5NTQ2ZmE1
ZGUwNzEzYTFmODcxYWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAuJSwgNTAlKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtNS53b3JrZXIuanMKaW5kZXggMzMxZWMwNzAyMzMwYTc4Y2EwMzEwY2U4NGQ3MTk1
YjIxNzJmYTU3ZS4uMDkzZmM3ODk2YTM4MDViMjQ1OGNmZTk3ZTJjMWUxMmRlMDk5NzllZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwLiUsIDUwJSknOyB9IGNhdGNoIChl
KSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhl
cmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lmh0bWwK
aW5kZXggOWU4MGE2MjIzYjcyZWFmODcwODBkMTYxZWYyMGEzZDA4NWQzNTc4Zi4uODc5ZTFiOGUx
N2U0NjE2NDM3MzczNzM0OTM0MzE5ODhmNDc4NzcwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
c2wtNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2wo
MCwgMTAwJSwgNTAlLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2VyLmpzCmluZGV4IDNjYWQ4NGY3N2E0NWRk
NGVmMGU3ZmYyZDI1NThkZWMwZDNkOWFmNjEuLmQyMjUyYzIyMTc0YWFhZGM0ZDNlNzc1ZTFhYzFh
YTIwZjgzM2JmZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDUw
JSwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEt
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsYS0xLmh0bWwKaW5kZXggMDkwNDIwOWNlMzY4YTczNzU5NzAzZDlhMWI0OTZjODk2
ZTg5MjE5Yi4uMzRjYjNlMzViMzRmZjMwMjlmZTg0Mjg2MDE0YWVmOGM1MzkwNGJjMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaHNsYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwJSwgMTAwJSwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xLndv
cmtlci5qcwppbmRleCAwMTFmYmU3YmQ3ZDViNjVmZmIyMzIwODZkNzY5YjJmMDhlYjM3ZmRmLi5h
MGE3YjFlZjY5MzViZGRiY2FiYzYxZjdmNjdiMzAwMGZlMDBmZTM2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgwJSwgMTAwJSwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCmluZGV4
IDZlODllOWQ3MDA3NmZlMDhlMDYxYTk5YzJlZDVmNTgyYWMyMjVhOGUuLjZlMGZiZWE1YTk0MGUy
ZDVhNGQ5OWNjMDZmMDYyNmE2ODhhMjAwZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEt
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEo
MCwgMCwgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5qcwppbmRleCA5YWM3NWI3ZGM1Mjdi
MzczMmY0OWM3NTEyNGMwNmFlMzY4NmY4ODk0Li5jZWQ1ODNiZTMyMDQyZGZhNTE0OGU0N2Q5NmVi
NDVlOGMwNDQzZjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1
MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bGEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsYS0zLmh0bWwKaW5kZXggODJjYTg0M2E0MmRjNTRlMTZhMmVlMzViYzZiZDg2
ZTg4YjcxZjg5My4uYjUyNGFlYzQ5YTQzNzBlOTcyYzVjZjhmN2Q5NDk1NzgxMWVkNmJkNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaHNsYS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTM8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEsKSc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zLndv
cmtlci5qcwppbmRleCA1ZjUxMjZlZmMxNDJjMGJkN2Q4Y2UyNjhmODg3NTMwYTBjNDc5MDY2Li5j
MDhkYTM0YWQ5Y2U2YmQ5NzBhYzkzZTE2NmNhZGQ3ODJiZjhiNGIyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgwLCAwLCA1MCUsIDEsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sCmluZGV4IDI2
YmJkMjZiN2QxZDM5MjY2MmRkY2VhZTM2ZWE5OTBkZDcwMDkyODkuLmE3Mjc4OTg2NjRhN2ExZmE4
YTM1OTgyZDk1Mzk3NDQ5NDQ1YzFhOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2Rhcmticm93
bic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTEu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQubmFtZS0xLndvcmtlci5qcwppbmRleCA3MGIyNDQwODliNjQwYTc1ZWFhN2E5ZTk5
MjU3YmM4MmIyNDAzMzYxLi4yNjgxNzZmZGZlYzQyMDIzZjY3M2FhZmUzN2Q5NTg1OGQwZjZkYTM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZGFya2Jyb3duJzsgfSBjYXRjaCAoZSkg
eyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJl
IGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwK
aW5kZXggZDExMmQ1ZDY4MTE0YzQwMjQ3Yzc3ZmU1NjAxOWI5ZDFlZjkxMmZmYi4uOGI5OTE4MWMx
M2IxOWE0NjQ3ZWMwYTY5ZGYwYzcwZGFhNDkxNmFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
ZmlyZWJyaWNrMSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5uYW1lLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcwppbmRleCAxYWEwZjUyODQzNGVmMjdj
NmQ4Mjc1MDI5OGY4OTQzN2JmNDdmMWE4Li4yOTgyZTU3M2JjYzA0YTMzZmQ4ZDBlYThhNWI1YmFm
ZDYyNTY1ODY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZmlyZWJyaWNrMSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5h
bWUtMy5odG1sCmluZGV4IDA3YTBmNmNjODNiZDUxZTM1MTBiYjQxOTYxZGZiYmU0MmJkNjBhOWUu
LjdmZWFjMDJiZWYwYzUzNDcxMmUzMTg2ZjczYmZmNDUwZWFmZDFhYjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUt
My5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLm5hbWUtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTM8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmls
bFN0eWxlID0gJ3JlZCBibHVlJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRo
cm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMud29ya2VyLmpzCmluZGV4IGFiYzU3OWE4
ODlhZTI2NDU1ZGY2OWQyYjAyYzBhMTQ0ZTNlNmYyZjEuLjU2YTAwM2ZlMDA5OTNlZTMwOTgyMDdh
YjljNjdhMDEyMWVmOWZkMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZWQgYmx1
ZSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtNC5odG1sCmluZGV4IGE2OWMzMGU4NzY0YjA2NDVlOWRlYzNiYzEzMmI1NGVkZTQz
OTVjNzguLjkxMzc3ODlmYTc3NDJjYzFhZmZkMTgxOTBiZGJjNTVkNzBhNTQxODcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJyJyZWQiJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQud29ya2VyLmpzCmluZGV4IDdiMmYx
MTlkMGU3ZGZlZWRhOGEwODVlMTM2MzM5Y2M4OWE1YmM5ZGQuLmZkMTk4YmE3YTlhNDczMjViYzRk
YmQ0MzhhOGNiNzI0ZTZlYWM4NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICcicmVk
Iic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLm5hbWUtNS5odG1sCmluZGV4IDNmM2FlNjMxMTkyODIyYjA3NzYxODhlYzNlZmFmMzc3NjQz
NTRlNTkuLmQ0NTA5NzUxNTBmYzcxMDQ5MGRlMTVlZWMxMWY0ZjZkZDM2MTNjY2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJyJyZWQnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS53b3JrZXIuanMKaW5kZXggYTNmOWNm
MTQ0ZThjY2RkNjdmMWExYTA4NWVhNDNiYTBlNzYxOWM1Ny4uOTQwZTUwYmRmNTJkMGNmNWEzN2Rl
MGIwZmRjZWQ0OTlkMzVmOTFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyJyZWQn
OyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRu
J3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LnJnYi0xLmh0bWwKaW5kZXggM2JhMjQxYmM5MDg1NWIyYjFkYTJlZGFhNTUwMTExNTUxYjExYTE4
MC4uMmIxNmMwYzQ4MTY1NzIzOTc3MDFiNTlkYzRmMjBkYjUxOWU1YjZlNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdi
LTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2ItMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3Vs
ZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMKaW5kZXggYzFl
ZjQwNWM2YTViZDdjODU4NjhhNzA0NDNhYmI0N2UwOWFiZTliZS4uOTE1YjMxMzJiMTE5YTMxYjE1
NTgzYmU3ZTFlZmUwMWE4NzlmNGQ4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0x
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MjU1LjAsIDAsIDAsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5yZ2ItMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiLTIuaHRtbAppbmRleCAwNjE3ODRmOWVhMjI2NzI1NjJkZGE0OGEw
ODRhMDQ1YzhkNDc5NGZjLi43ZjNiZDI2MGZmMWViMGVkNDE2ZTJhNDdhM2NiMzg3NGFiYWMzODk3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2ItMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0y
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0
cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigxMDAlLCAwLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3JrZXIu
anMKaW5kZXggZTJjMjg3ZWJlMWZmZDNkZWRjNGI3MWE0MmNjZDkxNTcxNGQ2Njc5OS4uOTQwZjU1
NTE2ZTQ1NjVjNDY3MmM4OGI4OTJhMzY4YjdjY2UxMjgzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYi0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMTAwJSwgMCwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRu
J3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwKaW5kZXggMTY0MTY2NzI4NzAzN2M5
ZTk5NDE1MTFlY2M4NDI4NWU0YjJhZGRiNy4uZTZjYjMwMWQyZDhmY2U3MzVlZWVlZmE3Mjg5MGRi
NzhiZTlmNTM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5yZ2ItMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAtIDEsIDApJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
Yi0zLndvcmtlci5qcwppbmRleCBiZGI5YjZkYzdhMDAzMjQ0ZTY5MWQ2ZDMyZTE1NjgwMDNkZDZj
YTIwLi4xMzc0ZGMwZmZlZjM1ZWUwYzQyYTliNzdjNTFmNTU1ZDMwZjBjY2NiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2ItMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiLTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIC0gMSwgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbAppbmRleCBi
YzQwNTY5Y2E0NTc1ZjU4MTJmMDNiYzBjNTMzY2VkNWFmMTBmM2ZkLi4zMzQ3ZmRlNTA0OGRhM2Nj
MzIwNjA4Y2E4ZTA5MmFlNThjY2I2NDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDEw
MCUsIDAsIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYmEtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpzCmluZGV4IDI5MGYxNzUwOTZkNWNl
NGFlN2E1YmNiNjk1NjczNTg1NWY5MmNmOGEuLmM3YmQ3ZGNkNjgxMmQzZDM3N2EwNzY2MTJkZTQ0
MDYyZjBkNmJlYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDEwMCUsIDAs
IDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
YmEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS0yLmh0bWwKaW5kZXggZWRlZDUyNmRmYTQ4NjcwZGE0NDcxMGY5YmM5MjM5
NGUxMWM3ZjJhMC4uMTZkMzg1ZTU0ZjgyYjVjMmM4MDkwNTAxMTVhMTc2NGJhOTBhMjMyMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsIDEuIDApJzsgfSBjYXRjaCAoZSkg
eyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJl
IGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIu
d29ya2VyLmpzCmluZGV4IDAzOGIzODM4ZWQ4MjA5MGMxNTM5OTliMjMwM2FlYzZjMDkyNWI0ZDgu
LmVhZGVlY2M3YmRlZmY0MGU4NjIyMTdjMDE2NDhiZjZjMWMwZjE0MzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEt
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiYS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4gMCknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbAppbmRl
eCBkZWM3YWNlOTI5NTc0N2VkZmZhNGRmNmVmODVjYWI3MzdhNWIzMTJhLi5lYjRiZTBkMjg5YTlj
N2QwYzg2MGVlN2NkNzMyZGI5YmQ5NWY5MGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2Jh
LTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYmEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDI1NSwgMCwgMCwgMS4pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93
LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLnJnYmEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMud29ya2VyLmpzCmluZGV4IDliZGY3NzNjYTA5
MjZlODE1NWRiZDMyYzU3ZGEzZmM0ZmU2NGU3MDkuLjA1MzczOGUwYjUwNTEzZGI3N2Q1MmQ2MTk3
ZTU1NzUxNWEwMDRhZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwg
MCwgMCwgMS4pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LnJnYmEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS00Lmh0bWwKaW5kZXggOGIwYWVlNTZlYWIwMDE1NThhNmQ2YmE2YzAx
ZTExYzQyZTZkMTYyZC4uYTdhMzY5N2Q3NDY1MWMwYjhkZjNmZDJjNjg5Mjc5MDFjZmNmMWE4YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQucmdiYS00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEt
NDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUpIHsg
fSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBp
ZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00Lndv
cmtlci5qcwppbmRleCAwZGI0NGMzODgzNjE5ODViNWRjMzk5YjExNmY0OTgxMWQwNTAxYmNkLi42
MDc2OWU3MTcwNTkwZDI3MDZlYTFiN2VkNjA0NmNmODAwNmE5MzEyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsICc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sCmluZGV4IGEzZDk3
OTBhNzQ2MjI4MjhhOTUzNmZkZjFhZGRkM2NkNzgxYTBmYTUuLmU4NGZiNWI1OWI3ZjUxMWQzMWI5
MTBkYjhiODBiYmExM2Y5YmZlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2JhLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiYS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAw
LCAwLCAxLCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBp
dCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiYS01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS53b3JrZXIuanMKaW5kZXggZTgzMTdlY2QzMGE2MDhiZmMx
NTA3MTY2YzBmYjVhNjhjNzc0MTI1Ni4uZmNjYWI1MmZiNmU5ZjczNDIxZjMwMmU5YTI2MTQ4ZmM2
YmVhYjVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwLCAx
LCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTEuaHRtbAppbmRleCA1YzQ4YWVlZjczMTI5ODI1OTY0YWZhMzE5MGM2YjdlYWNmY2IzOWIy
Li4xYjJhM2IyMjU2OThhNjc0ZWE2YmIyZGE1ZGE5MTg4YWNmOTA1ZTc5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWNsYW1wLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFsw
LDI1NV0uCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMTAw
MCwgMTAwMCwgLTEwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTEu
d29ya2VyLmpzCmluZGV4IGI5OGM0MWNiMzEwMTY5NDhiZDA0ZWVmNWU3ZWE0MjZiNTYzNzQ3NzMu
Ljk3YWJiYzk2YzE5YmRkYzkyYzExZmMzMDdjMjM1NWQ4YTljMmI2ZDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigtMTAwMCwgMTAwMCwgLTEwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0yLmh0bWwKaW5kZXggM2RiMDE4YzVmMDhiZTQ2NjI2NzlhNjQ2MGZlMjkzNTEzMDY5ZjIz
Ni4uNDcxYjY3YjEzZDMzMDFlMTNlOGJhNzI5MGE4NzYwNGVmODA3YzU1NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UucmdiLWNsYW1wLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBb
MCwyNTVdLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTIw
MCUsIDIwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0y
Lndvcmtlci5qcwppbmRleCBkZTdmOTA2NzE0ZDFjMDU4MWNmY2NhNmRiNjRiMTQwMWI5M2UwNDgx
Li44NmMxZjI5ZGQ2NTU4OTI4MWE2ODlhZjQxNWEzMGE0ZWRkYzY1ZjUyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2IoLTIwMCUsIDIwMCUsIC0yMDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtMy5odG1sCmluZGV4IGJkZTIzNDgzNzc2N2JjYzhlNTVkZDk4NjkzZmVhOWMyZDU4NjFj
MzUuLjhmNjU5Zjc4ZmY1YjI5OWEzZmQwNzYwOWU0YWZhMTc4MDIyMjEwODAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
My5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1jbGFtcC0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8g
WzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0y
MTQ3NDgzNjQ5LCA0Mjk0OTY3Mjk4LCAtMTg0NDY3NDQwNzM3MDk1NTE2MTkpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMud29ya2VyLmpzCmluZGV4IGE1OTRkYTBjMTdk
NmEzYTEzYzk5YmE0Yzg3OWYxNzI2MWFkODE5MGQuLjJhZmM2YmI3ZGEwNTk1N2EwYjA4OWZjYjIx
NDIzMjk1N2RkMjRmMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJz
IGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjE0NzQ4MzY0OSwgNDI5NDk2
NzI5OCwgLTE4NDQ2NzQ0MDczNzA5NTUxNjE5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtNC5odG1sCmluZGV4IDM2NjgwNTNjMDU2NjNiMzdlZGYwMjA3NGExYTI2MjA2MDFmZmYy
OWYuLmFhMGU5YTVhMTU2MDcwODExMGZkNzY5NDk5YmY3MWQ0OWI4ZTZjODIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
NC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItY2xhbXAtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1jbGFtcC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8g
WzAsMjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0x
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC53b3Jr
ZXIuanMKaW5kZXggMGRjYmNiYzgzMzhlZDYxOTdhM2JkY2ZjZjcwZDZjZGNlMmY4MzBkMi4uZDNj
OTc5NDlmMWI2MWJmMjhkYjgwMWMyMWE3YjJjYmRhZmYzYWVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiKC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRt
bAppbmRleCAwNDkxM2M0Mzg0YmE0MDBjZjQ3MTUyMTljZTdhNDUyZDVmNjczNDA1Li5jNDA5NzJj
ZTQ0Mjg4ZGY1YzgyMTY5M2JiNGVmZjU5MDE0MDg5MGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1w
LTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
Y2xhbXAtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMTAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUu
d29ya2VyLmpzCmluZGV4IDIxZWJlZmYyNGU4NTMyMzAwNTMwZjgzMjhlZmE5NWViODI4ZmZlODUu
LmYyNWEyY2FkYTZlMmRmZDYyMTA4OTczMTAxNDdhZmM5NTM0MjMxZTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLCAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
ZW9mLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWVvZi5odG1sCmluZGV4IDMxNTg2YzY1YTU3MjIyZGFkY2M5Yzc1YTdjNGIyNTRlOWQ3YmNk
NGUuLjUyYTc4ODMzMjNlZjA4ODk1ODNjNzIzMTNlYTE4NzJjMDI4YWQzNWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1lb2YuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Y8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1l
b2Y8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MCwgMjU1LCAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5qcwppbmRl
eCBlYWQ0ZGRkNWY5ZjZiODk5YzkxYjYwNDNkZGM2MzkzMzYzZjkxNDgxLi5kOTc5ZWVjM2RhMjli
MWZiYjVlMGIzMjQzZGZiOTU0YWNiMDhkMDhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiKDAsIDI1NSwgMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0uaHRtbAppbmRleCAyODIx
ZmYyYzMxY2NmYjg1YmNhZjgxZTI2MTU1OWNjYjYxNzUyYzEyLi5mMDRhZTdjMWZhMWEzMzMyZjMw
MDBhMTkxYjBhMTVhNjQ0N2NkNWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2It
bnVtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsMjU1LDApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2ItbnVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2ItbnVtLndvcmtlci5qcwppbmRleCAzMzNmZTBmZDMwNDRkY2JkNjY3ZjY4
NDFjNzZkZjgzZjQ0ZTE1ZDY4Li41OTEzYTdjODNkN2JjNTFkNzc0MDM0NDA4ZjFjNmI0NTYzNmRl
OWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiLW51bS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAsMjU1LDApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItcGVyY2VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKaW5kZXggMGZkOTI3YmZlOGQyMTYzYmU3MmQ5
MjVjNGIzMzg3OTA1ODUyOTk3MS4uZDIxYjkwNjUwOTU4Yzg5MDUyYzBlMjJhZGNlMzlmMWIzNGQ2
MTM1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkNTUzMgQ29sb3Igc2F5
cyAiVGhlIGludGVnZXIgdmFsdWUgMjU1IGNvcnJlc3BvbmRzIHRvIDEwMCUiLiAoSW4gcGFydGlj
dWxhciwgaXQgaXMgbm90IDI1NC4uLikKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiKDAlICwxMDAlICwwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItcGVyY2VudC53b3JrZXIuanMKaW5kZXggNjc1MTNmYjUyNGM3MTFiYTIxODEyZDAwYjM1MzJi
ZGJmYmQyOGEyNi4uYzFkMTRiNWEyN2ZiYWU5ODU0ZGRmZjYzMzJiYTE1ZWIxMDc5N2JhNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1wZXJjZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5DU1MzIENvbG9yIHNheXMgIlRoZSBpbnRlZ2VyIHZhbHVl
IDI1NSBjb3JyZXNwb25kcyB0byAxMDAlIi4gKEluIHBhcnRpY3VsYXIsIGl0IGlzIG5vdCAyNTQu
Li4pCiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYigwJSAsMTAwJSAsMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1w
LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLWNsYW1wLTEuaHRtbAppbmRleCA2ZTQwMzI0OWU2OWEzMWU5ZGNkZTE0ZjNiZTAxYjZmMDY1
OWI0NDM4Li4xNWIyZTQ5ZDMwMjQzOGUxZmU0NTAzMTEzZGVhM2U3ZmRjYWM3MTNhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1j
bGFtcC0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtY2xhbXAtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgLTIpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFt
cC0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCmluZGV4IDU2MWYyMzIyOGQ0OTZlMDRmZTI3YmRl
Y2Q3ZTYyMGEwODVkYTZlZmIuLmFjMTE1MGM4MDk5MDIyZWRjN2VmYjBmNGY3OWNjNTg5YThhOWEy
MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAs
IC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5odG1sCmluZGV4IGM2NWI0NDA1NjAy
MzIyOTA3OTM1Nzg5MmI4MDk1ZWEwNDQ3M2FlNmQuLmRhZjZhYTNhODMyMTMxMWJkYTQxZTUxYzRk
N2ExYzI2OGY5NmQ0YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLWNsYW1wLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAw
LCAyKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2VyLmpz
CmluZGV4IDdkN2IyN2M2YjVmNTk0OTg0MWM0OGQzMTJjMDFhMzQzMDIyNTExYTIuLjIzOThmMGFl
YmUwZWJhZjYyYTI1YWRlYTkxZjU5MWEyYTk3ZWMzYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LWNsYW1wLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVv
Zi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtZW9mLmh0bWwKaW5kZXggNWYwNWY3ODhmZjIzZjVkN2E0YzNhZWJlYTVmYzg3NWU0MDUyNGUz
OC4uYmM0MDYwYWFmYzY0OTZiZjVlMGU3YWZmYzFhNDU5MzdkNjBiNDUyZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtZW9mLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1lb2Y8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBj
bGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mLndvcmtl
ci5qcwppbmRleCA4ZmE4YjUxZTk3YTJlNjBmMTEzMzY4NjE5NWYxNjA5MGJhMTQ5YWJhLi40MTVh
MDZkNDQ0NTE2YWE3NGVjYzNjZDMzZWI3YzZjZGEwNDhhOTBjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LWVvZi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMi
PgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
bnVtLTEuaHRtbAppbmRleCA4Yjc1YTNmYTRlZTYyNTUyOWFhZWFkOGUzYjE0NzJiMDhhNjQ0YzY1
Li5jZTkzY2RkNmFkZTUwOTg0N2RmOGFkMzc2ZGI1YWViNDBjODhiNWYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLW51bS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLW51bS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAgLCAgLjQ5OSAgKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1udW0tMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1udW0tMS53b3JrZXIuanMKaW5kZXggMmRiYjkyODU5YWVhMzU0YmYz
YWMwNmNiYzA2NDUzZWZlNTliNTczYS4uNzgzMzViNjI1YThmYzEwNGI2YjRhMzJlYWNhYjU2ZGI4
MzBhY2FhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAy
NTUgICwgIDAgICwgIC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAi
MCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yLmh0
bWwKaW5kZXggYzg0M2I5YWIxYzhlYjViNjk0ZTkxOTkyYmMwODg0ODQ4ZWRhMmMyNC4uMjVjYzJi
YTU2MGVhMGFkZmZmMjVmNjBhMDVlNTRlNDc2ZGM5MDljNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0t
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1udW0tMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1u
dW0tMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoICAwICAsICAyNTUgICwgIDAgICwgIDAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEy
NywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51
bS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLW51bS0yLndvcmtlci5qcwppbmRleCAzZDhhMjZhMDNhMzk5YzcxOGRiOTZjNWU4
NjgzNzEyMzJlZTBjMWZjLi40Y2FlYjAyN2MwYWYwYmFkNTkxZTkwNGFhNzIwNGVlMDQxOGQ1OGQ3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiYS1udW0tMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAg
MCAgLCAgMC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUs
MCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5odG1s
CmluZGV4IGNjZDAyYWVjYjFmOGNjMTg2ZjJiMDBhZmMzNzhkMDc1ZjI0MWViZDAuLjhlZmZlMWUw
MDBjOTMwY2ViMmYyNDA3OTNlNzI5NGU1ZWMwNDc2MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJj
ZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtcGVyY2VudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCUsMTAwJSwwJSwwLjQ5OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAs
MjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1wZXJjZW50Lndvcmtlci5qcwppbmRleCAwOTUyMTY2MWZkOTgzYzgzNGM3Yjk0MzRmNDMz
NWQ4ZGNjNzQ4MzZhLi5kNTA0N2U5MzRiNDAxZGE5OTdhMjBlZWJhMWFlY2ZlZDEyMmU4NjM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1wZXJjZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCUsMTAwJSwwJSwwLjQ5
OSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sCmluZGV4IGJhNTc3
ZmQ5YTk1MjkxZmNkMGQxMzExZWU4M2NhYzc3MjQ4NWI2MjIuLmQ4Y2FhZjk3M2ZiYWFmMWUzYTJk
MzlmYzhlNjgxMDliYjBlOGNkODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJu
b3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAw
ICAsICAyNTUgICwgIDAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1zb2xpZC0xLndvcmtlci5qcwppbmRleCA1ODVlODUxYjAzM2E5NGFjMjFiM2E2ZGNlYTk0OTY0
ODIwNzdiMDBlLi4wYjQ1ZWU3ZjUxZGJjYzdjNWQ0MmM2MzhmYmRhMWJjMmJjZTZmZDVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1zb2xpZC0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAg
ICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sCmluZGV4
IDZmYjg4NGMxNGVmYWU4MzBkZmY1MjNlZjhiY2IzMmU3YTBiMzE4YTYuLjEyMTE2Y2QzMGM2Nzg2
ZWNmNDIwMWIwZDJlMDcxZGVjMTViNTY3ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29s
aWQtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoICAwICAsICAyNTUgICwgIDAgICwgIDEuMCAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xp
ZC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCmluZGV4IDYxMjY1NDAyYTJhNjA1M2I0ZTcxMzk4
ODlmMTE4MWU2OGZmMjI0YzUuLjhiZGJmYzdlZDcxZjA0YzkyZjY2YTM3Y2Q1MjRmNWM2YzRjOTE1
MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1
NSAgLCAgMCAgLCAgMS4wICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMu
aHRtbAppbmRleCBlNDhhNTg2ZjIxM2JmODJhZGIwNzQ4ZTA0YTVlZjFiNDc0MDNmY2M2Li4wOTY1
ZmVjYjI4MDYwMjI4MWY1NjEyNWRlZDRkNGY4YzI1YWRlOTBjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
c29saWQtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLXNvbGlkLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICsxICApJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLXNvbGlkLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKaW5kZXggZGI0NTE2YWRjNjU1NTU4
NGI3MDlkYjBlYTMzNjQ4OTBhMjFmZDEyZC4uODYyYjc2NDIxZjI5YzYwNGIzMmI5MzI3MzYzNGNm
OTZlNGViODI4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAg
MCAgLCAgMjU1ICAsICAwICAsICsxICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNv
bGlkLTQuaHRtbAppbmRleCA1YTQ4YjhkMWFkM2YyZDIyNmJiNDVkZGM1OTdlMmZkYmQ0ODRmMmNj
Li5kMTIwMzk4Y2MyMmMzNmU0NDFjYjIwNWJkMzc5YjkzNzYwYzI1NzJlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtc29saWQtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5yZ2JhLXNvbGlkLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKCAtMCAgLCAgMjU1ICAsICswICAsICAxICApJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2JhLXNvbGlkLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMKaW5kZXggMTgxY2M0NWJk
ZWUyNzY1MWI3MjBiYzE3NDUwZmNmMDQxMzMzNDYzYS4uODhjMTE3NTM2MDY0YmVlMmNlOTMyMzZk
YjlmOTQ4NTI2YThkNDA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKCAtMCAgLCAgMjU1ICAsICswICAsICAxICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0
bWwKaW5kZXggZTljOTcyNmI3Njk5MjVkMWQwZjdjNmJhZWI3NmFkMGE4ZGVlMjY2YS4uNGIzNGE5
ODJjYzUwYzM2YWU3OGVlZDc1MzJkZWM3M2U5YzNlYWU0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5zdmctMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmF5JzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgs
MTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN2Zy0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zdmctMS53b3JrZXIuanMKaW5kZXggNzFiY2I2MDVmNmVhODI1ZGM5Zjgz
NjgzZDJlZjhiNmUwMDAxODJiYi4uY2FhNTI3NGNhOGE3ZDllY2EyNmY1MjNhNDE1ZjZmMjkzYjMz
MzRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN2Zy0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnZ3JheSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI4LDEyOCwx
MjgsMjU1LCAiNTAsMjUiLCAiMTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5zdmctMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnN2Zy0yLmh0bWwKaW5kZXggZGNmZWMzMWQ1NGQ0MDg0NDM5NWJjNDk5MjM4NTdkZTkwMGU4
YjRiYi4uODkzZGRmODVjNzNlMTJiMDQ4ZDNhNGMzZjI0ZDdiYTE4ODk2MGQ2MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2
Zy0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5zdmctMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90
ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmV5JzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3JrZXIuanMKaW5kZXggMGFjODA1NDQw
ZTk0MDY5ZjgyNDIxYzljMjg4YmY4MDViNWMxYWU3ZC4uNDU3NmM5MDIzZWM4ZmUxODYxNzZjYTNl
YjQ3NDk2OWRjNzdjYWU4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnZ3JleSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI4LDEyOCwxMjgsMjU1LCAiNTAsMjUiLCAiMTI4LDEyOCwxMjgsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAppbmRleCBjZTM1YTc0MjQ5OWQxZGRjYTM1YTNh
NzMwYjRiMDE1NjNmMzRiM2VhLi4yZWMzZTIzZGYwYmYzNTM4OWU2ZDI5YzgzNDU5MGI0ZDdiNmI5
MWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3lzdGVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5zeXN0ZW08L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnVGhyZWVERGFya1NoYWRvdyc7CiBh
c3NlcnRfcmVnZXhwX21hdGNoKGN0eC5maWxsU3R5bGUsIC9eIyg/IShGRjAwMDB8ZmYwMDAwfGYw
MCkkKS8pOyAvLyB0ZXN0IHRoYXQgaXQncyBub3QgcmVkCi0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5z
eXN0ZW0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKaW5kZXggYWI1OTA3ZGVhZjcwYzYxNGNkYzk1ZTI5NDg1
YmFiMmNkOGVlMmNmOC4uYTlmYTgxMWM3ZDI1MzRjMmE0MzA2NmIzODQyZmZjN2FjNmIzODJkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnN5c3RlbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnN5c3RlbS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnVGhy
ZWVERGFya1NoYWRvdyc7CiBhc3NlcnRfcmVnZXhwX21hdGNoKGN0eC5maWxsU3R5bGUsIC9eIyg/
IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pOyAvLyB0ZXN0IHRoYXQgaXQncyBub3QgcmVkCi0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5odG1sCmluZGV4IDNlN2Rh
ODlkYjk0MjE4MTFiMDZiMmEzMjE1MTU5ZjIzYzQ2MDYwMjYuLjNkYjgxODliOGE3OWVlZjk2MjYw
OGVjNjcwYTIyNWE5MjQxNTkxNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLnRyYW5zcGFyZW50LTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50
LTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICd0cmFu
c3BhcmVudCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29ya2VyLmpzCmlu
ZGV4IDEwYmI1M2I1ZTRkYTM0ZTI1ZmJiMjAxMGE3NjczZmYwYTBhODVkNjEuLmI0MWNmMGRmNmM3
MmEyYTA3YTUxOTA5ZjhhZTg4NmQ0NDdmOTdjZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNw
YXJlbnQtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICd0cmFuc3BhcmVudCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0y
Lmh0bWwKaW5kZXggOWRkODc2MjVmNWJjZjc4MjJiMzY2OTNmYjk4OTJiZTM5MzViYzU5NS4uNDVl
ZTJlMTUwNWYyODk5Y2ZiMDM2NjYzYzNiYjNjZDZmYzA3OTE2NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJh
bnNwYXJlbnQtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UudHJhbnNwYXJlbnQtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ1RyQW5TcEFyRW5UJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJl
bnQtMi53b3JrZXIuanMKaW5kZXggMGRkMDc4NDY3ZjdmYWZhMTM5MzQ3ZDU3ODIwMmNmNmM5ZGNl
Zjg3Mi4uYjk2YmQwYjE4NjhkMDI3OWMxMGY5ZGZjOTliYzllNjk1YTkwMGZiZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFy
ZW50LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ1RyQW5TcEFyRW5UJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkuaHRtbAppbmRleCAz
NzIwNTU4MDdjMTJlMTdiNWY0YTQ0Y2JmZjVlYzAyZmI0ZjJmM2JhLi42ZDcwNDlhYzg0MjIxNzM4
ZGVjMjYwNmVlN2FmMDFlMjM2Zjc1M2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmVt
cHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIHZhciBn
ID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxsU3R5bGUg
PSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkud29ya2VyLmpzCmluZGV4IDE0NjUyMGU5ZDcwZjYz
NDNlOGU2ZmE3NTA3YWYyYWMzM2YwMjljNWIuLjg1ZWIzMTEwNWEyNmM2NDQyMWM4OWNiMTkyNDhm
ZDE2Mzg4YTZkM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwg
MCwgMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuYWxwaGEuaHRtbAppbmRleCA2OTZjNmU2YWZiNDIwMWUyOThhMWFmMzJlY2QxYWJk
YzkzYjRhN2RkLi4zNGI3NGY1ZTI3ZmE0NWZlOWI3ZDdmY2IzOGYxZWVlNWIyZDgxYjkwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRp
ZW50LmludGVycG9sYXRlLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5
MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwg
Ijc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
YWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCmluZGV4IGZlNTNkYjIyMDI5MzUwOGU4YTM1MjE3
ZDQyNGNlYTMzYzIyNDMwZDMuLjZkNzAzOTIwOGNlYzVjZWE2MzQ3ODRjZTRjNjk3YTg0N2E0ZDFh
ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5MSwx
OTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkxLDE5MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIx
MjcsMTI3LDEyNywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCA2Myw2MywxOTEsMjU1LCAiNzUsMjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCmluZGV4IGE5MjQ2Nzc4
NTVjZWI0M2IyNWZmOTUzNzNjMWMxZTc2YWFiNWI1ZGIuLjc0MjcxOGYwMjQyNDAzZDVhMTc0MGVl
ZDE3YjQ5NjM1ODEwMGVlZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5jb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAx
OTEsMTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5MSwxOTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUi
LCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwgIjc1LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci53b3JrZXIuanMK
aW5kZXggODdjZWE1M2Q1MjNhODQ4ZDRlZmMzMjAxMzY3Yzc4ODkyN2RkMWNiMi4uNGRjMGIxMWE0
ZTdmMDJmYTI4NTQ5ZDdmOTNlM2NjNTAxNDMwY2RjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5j
b2xvdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTEsMTkxLDYzLDI1NSwgIjI1LDI1IiwgIjE5MSwx
OTEsNjMsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEyNywxMjcsMjU1IiwgMyk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgNjMsNjMsMTkxLDI1NSwgIjc1
LDI1IiwgIjYzLDYzLDE5MSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29s
b3VyYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwKaW5kZXggMTljNGU0N2RmNTQyNjI1MDM1ZTNiZTgw
ZGQ3YmZmODEzMzZiODViOS4uM2ZiZDNhZGFkYjNmODM1ODQ5YzI3ZWE4Y2RlNzIyM2NkN2YyNjdj
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuY29sb3VyYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5j
b2xvdXJhbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMTkwLDE5MCw2NSw2NSwgIjI1LDI1IiwgIjE5MCwxOTAsNjUsNjUiLCAzKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjYsMTI2LDEyOCwxMjgsICI1MCwy
NSIsICIxMjYsMTI2LDEyOCwxMjgiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCA2Miw2MiwxOTIsMTkyLCAiNzUsMjUiLCAiNjIsNjIsMTkyLDE5MiIsIDMp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBo
YS53b3JrZXIuanMKaW5kZXggMzRjMmQwMzc3NTdkNDNmYzE0MDRiZWU2NmQ1Yjk3OGE0Mjg4NjBm
YS4uNDQ5Y2ZkZmQ1ZGI2NjE1NzA3MzQxNTUwOTQ2M2RjNTk0OGRiYmFlYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3Vy
YWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMTkwLDE5MCw2
NSw2NSwgIjI1LDI1IiwgIjE5MCwxOTAsNjUsNjUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjYsMTI2LDEyOCwxMjgsICI1MCwyNSIsICIxMjYsMTI2
LDEyOCwxMjgiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCA2Miw2MiwxOTIsMTkyLCAiNzUsMjUiLCAiNjIsNjIsMTkyLDE5MiIsIDMpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbAppbmRleCA3ZjVjZDdiYzJi
NTM4ZmU1YjE0MDBkYjQxOWM5NDYwZTAxZTAwMWUzLi44NmNiOThhMGY3NDY5MTMwMzg0ODQ2YTQy
ODQ3ZTFiZmFlYTYxNGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVy
cG9sYXRlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMjU1LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMjU1LDEyNywyNTUiLCAzKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEwMCwyNSwgMCwyNTUsMjU1LDI1NSwg
IjEwMCwyNSIsICIwLDI1NSwyNTUsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAxNTAsMjUsIDEyNywxMjcsMjU1LDI1NSwgIjE1MCwyNSIsICIxMjcsMTI3LDI1
NSwyNTUiLCAzKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVs
dGlwbGUud29ya2VyLmpzCmluZGV4IDMzYmRmODhiMDRmY2M0NGRjZTQyMGMzYjhjNTFlOTdjNzRk
MTE2YjQuLjk4ZWU0NjczNGZjYzk5YWRmNDYyNzQ0YmJlNGY3NmZhMGM1MmE1MmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm11
bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDIwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywyNTUsMTI3
LDI1NSwgIjUwLDI1IiwgIjEyNywyNTUsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMTAwLDI1LCAwLDI1NSwyNTUsMjU1LCAiMTAwLDI1IiwgIjAsMjU1
LDI1NSwyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1MCwy
NSwgMTI3LDEyNywyNTUsMjU1LCAiMTUwLDI1IiwgIjEyNywxMjcsMjU1LDI1NSIsIDMpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLmh0bWwKaW5kZXggZjBmZDlh
ZmFiNjZiZjE0Y2IwN2I2OGNjNDU4ZmIyNTdhMzVjZWU5Mi4uNjMyN2Q0MDMwMzdjZDRkNjg0MTdl
Yzk4NmM3M2Y1Njc3YzRlNmFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIw
LDI1LCAwLDI1NSwwLDI1NSwgIjIwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAs
MjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA5MjE2
ZDBmYzUxMWQ3ZGFiNmQ1MWNhZWQ1YzQ3MjJiZDg1NTc1ODk4Li5kNTYxOTE3M2RjYWY4OWQ3NzZh
ZTNkNGE3N2I1MjMwODZhZWFkOTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyMCwyNSwgMCwyNTUsMCwyNTUsICIyMCwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDgwLDI1LCAwLDI1NSwwLDI1NSwgIjgwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbAppbmRleCA5
NDU4NzNlZWE2OTg2NmMyMzkwYTU3Njg5MjY2NDNmNjViMTE0MGFkLi5jYjY4YTZjZTE5YjFkMTE5
MzcxN2FhZTkwYmJlMGNmYmViYTgyYzFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5vdmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJs
YXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2LDYgQEAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMCwyNTUsMjU1LCAiOTksMjUi
LCAiMCwwLDI1NSwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTAx
LDI1LCAyNTUsMjU1LDAsMjU1LCAiMTAxLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCAxNik7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNDksMjUsIDAsMCwyNTUsMjU1LCAiMTQ5
LDI1IiwgIjAsMCwyNTUsMjU1IiwgMTYpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMTUxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTUxLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCAx
Nik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53b3Jr
ZXIuanMKaW5kZXggYmY1YTVhNTU5YzMyOGZiMmMyZmExNzY1NjVmMjk3ZGE0OTAwZDA5OC4uMGMx
YmYyYzA4YWY1ODg3ODE0ZmI4ODk0OWM2NDgwYWI3N2FlNDg3OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUub3ZlcmxhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM4LDcgKzQyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
MjUsIDAsMCwyNTUsMjU1LCAiOTksMjUiLCAiMCwwLDI1NSwyNTUiLAogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMTAxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTAxLDI1IiwgIjI1
NSwyNTUsMCwyNTUiLCAxNik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
NDksMjUsIDAsMCwyNTUsMjU1LCAiMTQ5LDI1IiwgIjAsMCwyNTUsMjU1IiwgMTYpOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUxLDI1LCAyNTUsMjU1LDAsMjU1LCAiMTUx
LDI1IiwgIjI1NSwyNTUsMCwyNTUiLCAxNik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92
ZXJsYXAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5vdmVybGFwMi5odG1sCmluZGV4IGYyMDkwNGUyNDhkM2IwNWJhYzBmNjQzZmFjOGFl
YTQ5MmM4YjNmMjcuLmE4YWI3MzhiNDE5ZDM2ZTBhZjc4MmUwMzZkOGNkYTAwNDViNTg1N2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLm92ZXJsYXAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MzAsMjUsIDAsMjU1LDAsMjU1LCAiMzAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDQwLDI1LCAwLDI1NSwwLDI1NSwgIjQwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MCwyNSwgMCwyNTUsMCwyNTUs
ICI2MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
ODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCmluZGV4IDQy
Yjg0NzMxYjI3MzY0Y2M3OTcwY2E4NTM2ZmYzYjQ1ZWQ0MThjYzEuLmMwYzM2NDM1ZTI4MWM4NzIw
MTY1ZDcxNGFhZWY1Yzc3ZDNkNmY0Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAyLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFw
Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMy
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzAsMjUsIDAsMjU1LDAsMjU1LCAi
MzAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQw
LDI1LCAwLDI1NSwwLDI1NSwgIjQwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA2MCwyNSwgMCwyNTUsMCwyNTUsICI2MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsMjUsIDAsMjU1LDAsMjU1LCAi
ODAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LnNvbGlkLmh0bWwKaW5kZXggYzU4NWJiMDg1N2IwYmY0YjUzYmU5ZGU2YzAwNzI2YWY4MjI4NzAz
Mi4uYjFmYmE0MDkyYTViOWUxMDAwNTNhOGI1OGJlZGFkNDFlNWQxMzY0YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5zb2xpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5zb2xpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYs
NiBAQCBnLmFkZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMKaW5kZXggNGI1MDAwODBh
NzNlYWZlZWNkYTVmOTYyZjdkZWVkZDkxNTgxM2JmNi4uNGExMjI4OWYyYzcyM2Q0OTA0OTFjZDE5
NDViMzNmMjM3YmE2MjI1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBnLmFkZENv
bG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS52ZXJ0aWNhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUudmVydGljYWwuaHRtbAppbmRleCBmZmRiMzJkZTg3YzA1MDI5Y2U2YzAzOWRj
NjhmZGYxY2RhNjcyZDdiLi5hM2VlYTQ3NzVlNjMyMTAyMGEzYmUxZDNjNTkyNGEwZTEyZjMxNGRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS52ZXJ0aWNhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2Fs
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAxOTEsMTkxLDYz
LDI1NSwgIjUwLDEyIiwgIjE5MSwxOTEsNjMsMjU1IiwgMTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywx
MjcsMTI3LDI1NSIsIDUpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MzcsIDYzLDYzLDE5MSwyNTUsICI1MCwzNyIsICI2Myw2MywxOTEsMjU1IiwgMTApOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbC53b3JrZXIuanMKaW5k
ZXggODIxMmFkODI2MDhlZDU0ZmUyYzFjMGU5OTY2ZjAzNjAyMDMwZGMyMi4uMWMxNjI0ZDZjMjQ0
MDgwNDA5ZGFiM2MxNWI4NWFlOWRmNGM0NTdlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZl
cnRpY2FsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMTkxLDE5MSw2MywyNTUsICI1MCwxMiIsICIxOTEs
MTkxLDYzLDI1NSIsIDEwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCA1KTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDM3LCA2Myw2MywxOTEsMjU1LCAi
NTAsMzciLCAiNjMsNjMsMTkxLDI1NSIsIDEwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
emVyb3NpemUuZmlsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC5odG1sCmluZGV4IDdjOGVlYTgwOGUxZTE2YTdi
MDgwZjFhMGY0ZDdiNTg1MTBkNjE4YTYuLmNjNjFiNTBlNDhiMjUyYTAzMWI4ZTU1ZGE2NGE5Yjll
ODIxMjAzMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLmZpbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVy
b3NpemUuZmlsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LmZpbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMKaW5kZXggNGRiZTE0NjIzODI1NGI5
NDdkMmZkZjliOTU2ZjM3MDg2M2VjY2RlZS4uZjMyNDJjMjEzMTRlNmQ5ZTJhNjhhYmEyMzBlZmQx
YjcxODlkZjc2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0MCwyMCwgMCwyNTUsMCwyNTUsICI0
MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5maWxsUmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3QuaHRtbAppbmRleCA1ZWIzN2M4Njk5NzMwZDAy
MDhlYjEyODA3NzRjZTM1NmI1YTNhN2M3Li4zMDMzYzk0ZTI1YzhmNmQ3NzdhZTI4NjU5Mzg4YTU4
NjRkOTQxOGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdy
YWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0PC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCw3ICsyOCw2IEBAIGcuYWRkQ29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmlsbFN0
eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9z
aXplLmZpbGxSZWN0Lndvcmtlci5qcwppbmRleCA5MzVlMTZhN2RiOWI5ZmQ5M2EzMTVkOTczYzJl
OWFjNzk3MTM3ZWE3Li41MGU4NjAwNTcxNDRlMTBjMjk2ZjliNDJmNTYwNjU0NDEwMjMzYmI2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Qud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGcu
YWRkQ29sb3JTdG9wKDEsICcjZjAwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAw
LDI1NSwwLDI1NSwgIjQwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLnplcm9zaXplLnN0cm9rZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwKaW5kZXggNzIxNWE5
NTU0ODM2ZmZiNzdhNTM4Njg3ZDJmNzIyYjA3MTIxMzFjNC4uZWNjNjEwZGQ0YjQxYTkzM2M4OWI3
YjAzODQxMzVmMDZiNzJhNjU2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUu
c3Ryb2tlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjAs
IDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1NSwwLDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUsICIyMCwy
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjEs
IDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZS53b3JrZXIuanMK
aW5kZXggY2RhNGRjNDZjMTY1Yzg1MTY0ZGZlNmIwYjNmZmQ0MjhlNWIxZjBhOC4uNDYyNDA1MjAy
MGRkZWY3ZGNhYWRjNWU1NGEyOWJkMDY4ZmU3MGYyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDIxLDIwLCAwLDI1NSwwLDI1NSwgIjIxLDIwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxOSwyMSwgMCwyNTUsMCwyNTUsICIxOSwyMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjEsIDAsMjU1LDAsMjU1
LCAiMjAsMjEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDIxLDIxLCAwLDI1NSwwLDI1NSwgIjIxLDIxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Qu
aHRtbAppbmRleCAyMWM5NGVlYTdmZmYyODJkZGI3NTFkYjlmNjlkZWI5NTk2NTU3ZmIwLi5jNmE0
MjFhZGQzYTljZDg4NzA1NjQzN2U0YzljZWQzZjQ5NzVmYzIxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJv
a2VSZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6
ZS5zdHJva2VSZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9r
ZVJlY3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1
NSwwLDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUsICIyMCwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjEsMjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tl
UmVjdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwppbmRleCA3OGI4ZThmMTI0
NjUyM2YzZTIxZjg5OGI0MGRlOWVmMTk4YTRkNWI2Li5kY2EyMzljOWJiZDQyOTYyYjRkMDA2MTQz
ZDFiZWM2ZDZhNDYxNjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5zdHJva2VSZWN0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMCwg
MCwyNTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIwLDIx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMSwg
MCwyNTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5l
YXIubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5saW5lYXIubm9uZmluaXRlLmh0bWwKaW5kZXggNDdiMWVlNWIyZmIxZGUxM2EzNDk2N2ViMTA4
NTRkZjI1YmU0YzYzMy4uNTFkNDhhYzBmZTEzYmRiMDQ3OGZiMmQzYjA0YThmYmRkMDI4NTAyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFy
Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmxpbmVhci5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFk
aWVudC5saW5lYXIubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVMaW5lYXJH
cmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3Jl
YXRlTGluZWFyR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90
IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgSW5maW5pdHkK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxp
bmVhckdyYWRpZW50KDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdy
YWRpZW50KDAsIEluZmluaXR5LCAxLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFy
Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNTAyOTIxZjYxZjBhOTU0NWM1Y2ViOTQzMzEzMzQ4
MjYzMjgwMTM4NC4uYzgyNjhiMDA5OTM3YjA2NWJhOWRmOTM1MDJkOGQ4NTI2YTkwOWVmNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5v
bmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQubGluZWFyLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImNyZWF0ZUxpbmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJl
IG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIEluZmlu
aXR5CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVMaW5lYXJHcmFkaWVudCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5l
YXJHcmFkaWVudCgwLCBJbmZpbml0eSwgMSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNm
b3JtLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci50cmFuc2Zvcm0uMS5odG1sCmluZGV4IDQzYjE3ZDYxMDZjY2EzYzNhYjMwMjAyOWM5OTcxMzgx
ZTFkYTU5YTUuLjc5NzgwMmNlODlkMGIyNjgxODA4ZTgxNmNkMjI5MGVlZTExOGI1M2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFu
c2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmxpbmVhci50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3Jh
ZGllbnQubGluZWFyLnRyYW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lYXIgZ3Jh
ZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0
IHRoZSB0aW1lIG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJMaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0
aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEud29ya2VyLmpzCmluZGV4IGY3
NzVkODUwOTVmODE4MzgxNjZmZGRjZDQyNmFmZmRiMDk3OGE4ZDMuLmFkYTBiOTY4OTc2N2U5NGNk
N2Q1YmJjZTM2NTU5NGRiMDY3Mjk2OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IGNvb3JkaW5h
dGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBm
aWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCmluZGV4
IDQ0Yzk1ZTdjMDUyZTI1Y2EyMmIxMDM5YjlhZmRhMDdmNTgwMzNhOTEuLjgwYjg3OTE5ZWZkYmMx
NmZjM2I5MGZlMmE5OTMzMGU5YWJmODQ0YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5saW5lYXIudHJhbnNmb3JtLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJl
bGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmc8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5l
YXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNw
YWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5m
aWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0u
Mi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5l
YXIudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGJjYThkZjBhZjRiYjc0MjVlNzQ2MmE1ODgw
ZDU5OTlmZDAyZDYxYjIuLjMzMDU4MjQ5NTIwNWY3YmQzYzRmNDZlYmZlYzVkZWM5MDUyYWUwY2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci50cmFuc2Zvcm0uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUg
Y29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5l
YXIudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCmluZGV4IDk2M2I3ZWFkYjExYzJhYTk1YzIxMjVk
MDZmMTU2Yzg5OTQ5ODkwYmUuLmM3MzBiZDVhODk3NDJhYjM5NWZlODA0ZGVhNGU0NGViOWY3NDc5
MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmxp
bmVhci50cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5M
aW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGlu
ZyBlZmZlY3RzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiTGluZWFyIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJv
a2VuIGNhY2hpbmcgZWZmZWN0cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZpbGxSZWN0
KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFu
c2Zvcm0uMy53b3JrZXIuanMKaW5kZXggNmFjZmQwMGVmOTJhMTkyYzNiZTUyZGZhNDk3NTBhNWJm
ZDhiN2Q3My4uNTQ1NWYyNGI3N2JjZTE5M2Y5ZTk3NzY2OTliZTkyZGI5Zjk5YWVmYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5z
Zm9ybS4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5saW5lYXIudHJhbnNmb3JtLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJMaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2Fj
aGluZyBlZmZlY3RzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoNTAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUuaHRtbAppbmRleCAx
YWVjMjRjNjVkYmRlZjRmZTk5OTQ3YjRhYjRmMjNmMTY4MTBmYmMyLi4zMDIwYzYwYTY4MzVjMGJl
NjIyNzExODY3OWJlYmMyZjRkODcyMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lm9iamVjdC5j
b21wYXJlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIHZhciBnMiA9IGN0eC5jcmVhdGVMaW5lYXJH
cmFkaWVudCgwLCAwLCAxMDAsIDApOwogX2Fzc2VydERpZmZlcmVudChnMSwgZzIsICJnMSIsICJn
MiIpOwogY3R4LmZpbGxTdHlsZSA9IGcxOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgZzEs
ICJjdHguZmlsbFN0eWxlIiwgImcxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5j
b21wYXJlLndvcmtlci5qcwppbmRleCBhZmZkNjQzODhiODBkODdlNWJlZDljZjNiNWM1MDczMTM5
YmZmOTQwLi5mOTA4Y2M2ODA4ZWJmNmYyZmQ3MzQ0NzJlMzg4YjlkYzFjNGE2ZDNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFy
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmNvbXBhcmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIHZhciBnMiA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAw
LCAxMDAsIDApOwogX2Fzc2VydERpZmZlcmVudChnMSwgZzIsICJnMSIsICJnMiIpOwogY3R4LmZp
bGxTdHlsZSA9IGcxOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgZzEsICJjdHguZmlsbFN0
eWxlIiwgImcxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0
bWwKaW5kZXggZWViNjI0MjZkMDQ4ODU5N2Q0ZjQ4Y2U3ZjU0ZTI2YmNiNWEwZDVmMy4uZTdjMjJl
MzYyOTM5OGQxZDI0M2ZmNjY1MzYyY2YwZjcyMjg4OTAxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2Fu
dmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuY3Jv
c3NjYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAg
Zy5hZGRDb2xvclN0b3AoMSwgJyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy53b3JrZXIuanMKaW5kZXggOTY5
OTk3N2E2ZmU0YmE5YjExYzhhNDdiYjk0N2YwNzcwNmYyNDU5ZS4uYjRmMjg0ZjdjNzBkYTFhY2E1
MzI0ZDlkNTI2NjdjY2EyMDY4YTgwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGcuYWRkQ29sb3JTdG9wKDEsICcjMGYwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci5odG1sCmluZGV4IDc5NTY3M2Jh
ZDdkNjI5MTcwMGNiZGVkNTY2NWJhNDg3YTg5ZWM2ZTMuLjBiNzJhODM1MjdmY2VhNmY4N2NjMmMw
M2Y2NzgyYTE4MTZiYjBmMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2Jq
ZWN0LmludmFsaWRjb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgYXNzZXJ0X3Ro
cm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCAnbnVsbCcp
OyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xv
clN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBm
dW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgbnVsbCk7IH0pOwogYXNzZXJ0X3Rocm93cygi
U1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCB1bmRlZmluZWQpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIud29y
a2VyLmpzCmluZGV4IDFmYTYyZjNiMTdlZGM0NDk2MWI0ODM1NzU3MjM3ZTZlZDc4ODFmNjguLjUy
NmVkYmZmYjYwNjE4MTliNzBiODNkNTc5NDJiMDY1YTJmODc2OWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmpl
Y3QuaW52YWxpZGNvbG91ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9u
KCkgeyBnLmFkZENvbG9yU3RvcCgwLCAnbnVsbCcpOyB9KTsKIGFzc2VydF90aHJvd3MoIlNZTlRB
WF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOyB9KTsK
IGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3Ao
MCwgbnVsbCk7IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBn
LmFkZENvbG9yU3RvcCgwLCB1bmRlZmluZWQpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0Lmlu
dmFsaWRvZmZzZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lmh0bWwKaW5kZXggMmRkODdmYjQ3Y2Y3YzBhYTcxZmJhY2Y5
N2ExYjBmOTYyZjU0YTU1OS4uZDg0MTg5NWM5N2U4YzM2YmJmNTZlMWYyOTk4ZDVjMWNlYjAyMTQ3
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2Jq
ZWN0LmludmFsaWRvZmZzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNl
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpF
X0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgyLCAnIzAwMCcpOyB9KTsKIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoSW5m
aW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChOYU4sICcj
MDAwJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNldC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9m
ZnNldC53b3JrZXIuanMKaW5kZXggMjhmNzExMTU3OWY5ZjdmNmViYTgwMGY4Y2M0M2UwMDJiNjM3
ZjcwNC4uMjNiNWQ3YTNkODU2Y2QwNjdlMjFhNTkzM2NmNWIzZGNmNWFlZTIxMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRv
ZmZzZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VS
UiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgyLCAnIzAwMCcpOyB9KTsKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoSW5maW5p
dHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChOYU4sICcjMDAw
Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwKaW5kZXggYzdmMzZh
MzE5OTNhNzc3NWM3ZTQ0MDUzMjlkOWMxNDUyYzU5ZTdjYS4uNjZmYTYxMjJhZjM4YjI0YjZhOTk5
NmJhYjgwMmNhYTYyN2U0YjUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGcuYWRkQ29sb3JTdG9wKDAuMSwgJyMwZjAnKTsKIGcuYWRk
Q29sb3JTdG9wKDAuOSwgJyMwZjAnKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVw
ZGF0ZS53b3JrZXIuanMKaW5kZXggMDI4ZDkzNDI0MTY4MTRkNmMzODlkYjYxMzM3ODgzMWQzM2M0
ZmJhNC4uZjZjMTUzMWQyMTI3YmZiNjRhMTkwYzg4YjBjNWYwNDQyN2VjNTRiNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2Jq
ZWN0LnVwZGF0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgZy5hZGRDb2xvclN0b3AoMC4xLCAnIzBmMCcpOwogZy5hZGRDb2xvclN0
b3AoMC45LCAnIzBmMCcpOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhp
bmQuaHRtbAppbmRleCA2ODE5ZTE2MDFlZjkyODg4Yzk4ZmNjMjdiZjA1MzQ3MDdiM2E2ZTQ2Li40
NTI5MmRkNmZlMWMxODVkYTFmNDZkNDY2YjAxMGRhYWJmM2Q2NDg0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5iZWhpbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmJlaGluZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5
OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLmJlaGluZC53b3JrZXIuanMKaW5kZXggMzk3ZmY0ZWFkMTQyMzZmOGEzZTAzMjFiM2EyYzAy
YzA1NzlkMzA3ZC4uOWUyMGMzYjQyZTdlZTAwNTdlYjIwY2FiYWE1NTA4N2VlMGE5YTEyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYmVoaW5kLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1
NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCmluZGV4IDBjODFiODFlODQyMjY1
OWYwNjM3YjMwZmFkZTRlZjBmODk4ZmVkMTUuLmUxOTk2YWQ4ZjdiNjhmNjNhNTdmZGRkOTNiNWNm
MDg5MWU3YWUxYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5i
ZXNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSww
LDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLndvcmtlci5qcwppbmRleCAx
NDVlNTExOWUyZTk1YzY4YTdhM2ZlOTUxM2VkMWRmMDE2ZGZjNzFjLi4yYmI4NzkyMTk5MmU5YTA4
NTc5ZWQzYTBiMjRiMTkwYzg5NTk4YWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90
dG9tLmh0bWwKaW5kZXggNTE0NTc3NTBiNjE5Y2JmNDg3YTRlNGI4MDcxMGY4MTdhZDY1ZWUyMi4u
YTRjYWMwOTUyMTE1OTQ0YmUwYzhmZjc4YjgwY2Q5ZTQxMDI3OWIwYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYm90dG9tLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5ib3R0b208L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAi
OTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5ib3R0b20ud29ya2VyLmpzCmluZGV4IGRhYTI0YjA2Y2Q4ZmFlODNjOWYxZTc1ZjhiMmE0
YTEyNTA0NGRhY2UuLjkxMzVmMjg2OWQ0N2EzOTc4NjFkOTMwNzI1NjZkM2ZlZGE0YTA1NmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLmJvdHRvbS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwy
NTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLmh0bWwKaW5kZXggOGY2YzMwMjVk
OWY3NDdmYzY4OWZhYzdhNmExYjZkOTdiNGE5N2ZmOC4uMjM0YzhmMjQ4MmQ1ZmM1OTI3NDk4ZGM2
ZDZkYzZlMWFjZDk5MzBlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5jeWxpbmRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIu
d29ya2VyLmpzCmluZGV4IDg1ZjI0OTU3MWJlNzIwMzM1YmIzNjhlMWQ3MTU4MjU2MTgzMTg0MmIu
LjA3ODY2ZmU0OGRiNmViYzNjODRmNTJmZGUwNjQ1YzNkYTdmZTIzMmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5jeWxpbmRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmZyb250Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCmluZGV4IGM1YjQ2YmVmOTA2YzczZWVkNzcwOTJm
NDQwY2RmOTlhYWUwZGJlNDYuLjVhYzFkZTg2YTY0YWM3YmVkMmMwMzEyOTgyNmIwNjUzMWFjNzA1
MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmZyb250Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUs
IDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmZyb250Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmZyb250Lndvcmtlci5qcwppbmRleCBhNzc1OGU5ZTZiNjRkMGM2
M2U0NzhlNzU0Nzk1YmI1ZGQzMTRiZmQwLi40ZWFlZTQ3ZjcwZDE5MzVhMDhkMzc4YzFkNzZmZmIx
OWY5ZTY4NTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4
LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCmluZGV4IGE3
MDI1NTc3NzgxYTg1MGVmNjg3MzVhNzU5ZjdkMjYzYTZlMjgwM2MuLjgxNjE1NjYyOGIyZTlkM2I2
ZGZiNzcxMmMzNmFhOWEwN2RhZDFlZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5y
YWRpYWwuY29uZS5zaGFwZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLndvcmtl
ci5qcwppbmRleCA0MTMyM2Y2MzJhOWJiYThmYjUzMzc4OTU0MzE5ZjQ1Mzg4ODFiMDg1Li4xNjE2
ODMzZWJiOTQ3MzViMDM1MjE4Mjk4NzcyZTZmZjRjODhjY2M3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLnNoYXBlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM1LDcgKzM5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1
LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LnNoYXBlMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuc2hhcGUyLmh0bWwKaW5kZXggZjRmOGJiNTUxZGRiMjQ2NGM5MzBhOGZlNmQ0YjRj
YzE3MzA4YTllNS4uMDdhY2FhODZlYjI3ZmNmZTAyZjgyYzAwMWNmODRiMjBjOTBkNWY1MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuc2hhcGUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuc2hhcGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAs
MjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLnNoYXBlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzCmluZGV4IDRhMGI5YWRmNDYwNWRiODEz
ZjI4ZjZmZmM1NDY0ZTMyMmYzNGQyNTUuLmM2ZjkyMTczN2ZmNzg1YThhMmZiMzljNmRjNmNkZGY4
Yzg5ODNiNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLnNoYXBlMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsNyArMzksNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0
OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAppbmRleCAzNmY0Mzll
YTcwMDkxZjk1YTU2M2E4YTFiNjRkZTk4MjcwMDdiZTZjLi4zZjgwY2E5OWQ5ODE1ZTc2OWE2ODlh
YjE2YTY2ZGNkNjU3ZTg1N2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUu
dG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUs
ICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMKaW5kZXggNDI3NWU1NmY3ODIw
ZDRiZjgxOWRjZGYzYzhiODZhMjgxZTM3YmVhZi4uNTE0NjQ0MTk2OGVlMDJmNjYyNWNmZGY0YTRj
M2QwZjk5MWFmZGY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4
LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCmluZGV4IDliYmY0ODliODBkNTA1
NjVlMzViNDMyOTU4M2E5ZjBjNDNkYzJjYzMuLjRhODNiMjZjMzRiYTkyZDg4MjI2MjQxZGZkNDFh
MzhmMThiZjAwYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuZXF1YWw8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3Jh
ZGllbnQucmFkaWFsLmVxdWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3
ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1
NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmVx
dWFsLndvcmtlci5qcwppbmRleCBmNTIyNGEzMmFmMDk0OGVlNmU3ZDdkMTIxMjJhNTMwNWJhOGU4
ODY3Li4zODUzNzRjMDkzY2Q2NTIxZmEyODg2YjU3ZGI2NjFhYjY3M2NlM2NiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC5lcXVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAs
MjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMS5odG1sCmluZGV4IDJjZGNkODg0M2ViOTViODdlNDQzNGQxNjc4ZjA5ZmNiYWEwMjZlYjYu
LjM2ODJiYmEwZjA5ZTBjOWE2MGQyMTQwYTg5YzBkZThkOWJkZmRiMDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lk
ZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Z3JhZGllbnQucmFkaWFsLmluc2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcwpp
bmRleCA5YTNmOTVhMWYyZDM5ZDc2YzhkMTAzZWQ4ODViMGZiMTQ0Mzg2NDVhLi4yZmUxNjU2Y2Nk
NDBkNGRmZDYwZTJhZmY2Mzc5ZDA4ZWY1MjE2MDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApp
bmRleCAwYTc5ZGJlZjJkYmQ3OTYxOWIzNDk4NWZhODc5MWYwNWI0NDExMzMxLi4wMmQzYWIxYWY2
MTVlZWY1NTA1NWZhM2QxMTJjY2IzZDFiYTJlMGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJh
ZGlhbC5pbnNpZGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1
NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3JrZXIuanMKaW5kZXggNDcxNWQ0
ZTJiYjQ1ZDhjNjM2MzRmZGJjZmFiNWU3MzdiNGM5OGMyNS4uNWY2ZTE4NWEyNDk4MmM0YzA5ZThk
YTQ3ZjM0ZTliMTZkZjIwNjA5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwKaW5kZXggMjVkMjc2
ZWRmNDM4OTIwYjc5NmNmMjA0YzAzOThiM2VmOWMxOGQ2MC4uNWFiYWRkZjE2OGMyMzViNTRiOWVm
NDhjZDE4NDJhMTU0MzA4NTVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRl
MzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1
MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLmluc2lkZTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCmluZGV4IGIxZjU1MzBjMTQ2NGYzZjcz
MjE2YTUzYWNjNzJkMWU4ZTk3ZjBhNDYuLjk2MzEzY2ZlYTBjOTQ4ZDljYjE1NmEwOGNiOGRkMDgz
YWU2NzZmMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5pbnNpZGUzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1
LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKaW5kZXggN2RlMzExNDgzOGMzMWFk
YzEzZDllY2MyOWFmNzk4NGFlYzhlZDgyYi4uMzljYWNiOTAxZTZiOWRkNTdjNTgzYTg5OGE2ZmQ2
ZTRjYjY5MWJlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0
ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIGVpdGhlciByYWRpdXMg
aXMgbmVnYXRpdmU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBp
ZiBlaXRoZXIgcmFkaXVzIGlzIG5lZ2F0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKCJJ
TkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwg
MCwgLTAuMSwgMCwgMCwgMSk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEp
OyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsgfSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGM2YTk4Y2Fj
ZGZlNGVkNTliOGM4Y2FiNWExMTVmNTI2YWFjY2NlZTQuLjk3OWUwMjA3OTZiMjQ4Yjg2YzU5NjMy
YWVmYzEzNGU2ZjcyYzFkZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhf
U0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBpcyBuZWdhdGl2ZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0
X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdy
YWRpZW50KDAsIDAsIC0wLjEsIDAsIDAsIDEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJ
WkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCAw
LCAwLCAtMC4xKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgLTAuMSk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKaW5kZXggMjJkYmUy
NzdhYTNjYjRhOTg5YTFhZmQxZGEyODk4MjU0MTkxZTFlOS4uY2U2NTdkZWM0YzI1NzNjYmE1MmYx
YWIyZWY1Yzg4NmZmNjI1YzYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLm5v
bmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5jcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1l
bnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9y
IGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTkxLDcgKzk1LDYgQEAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFs
R3JhZGllbnQoMCwgMCwgMSwgSW4KIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgMCwgSW5maW5pdHksIEluZmluaXR5
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIu
anMKaW5kZXggYmJkMmU5NWEyZWVmYzc4M2Q5NDBlMDBhMzdiNmFkMzNhMjk2NzU2Mi4uNmEyZDZl
MGViMDQ5NzNjZDRlODBjMjg4YjVjZTM5MjI4YmQzMjY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZp
bml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZVJhZGlhbEdyYWRp
ZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC04Nyw3ICs5MSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlv
bigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIEluCiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgw
LCAwLCAxLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgw
LCAwLCAxLCBJbmZpbml0eSwgMCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lk
ZTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMS5odG1sCmluZGV4IGJhMDY3NmJiN2E5NzVkNWY4ZjRmMWMwNDcyMzlhNzhhYzhkMDE0
MzQuLjI5NWI5ODVhNzIwYjYxZjQ1NDk5MTE2N2YxZmQxNDkzYTk5YTYwZTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxLndv
cmtlci5qcwppbmRleCA1ODI4MGE2ZTQ1ZDNhMjQ1ZGExNDEyMzVkMThjNDY1MTdjZmIyYmIwLi40
NTg5YjBjNTJlNjQ5YTNmZTlhY2MyYjMyNDMzNDZhYzRmYzA1NTNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5v
dXRzaWRlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAs
MjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRl
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUyLmh0bWwKaW5kZXggMjRjM2E3MzllMjQ0NWEwMWU4MzUyNzMxZDZmNzZhN2I3ZDU2NzRi
MS4uMzYzNjE4MzYxYjM5MThhNjhiODBhNjU2ODE4OWJkNzcwNDMyMTBiMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIud29y
a2VyLmpzCmluZGV4IDdmMWIxMDFiZGRhNWU3MzYzZTliNjAwNjVlZTg0ZDdmNzQ5MThkZWMuLjkw
ZjllNjY1NTNmYmRmYWUzMjI1OThhMDUyOTY3MDI3MTk1ZmI3ODcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTMuaHRtbAppbmRleCA0MjU4OWRkMWRmY2YzYmY3MjMwNzJlODJhMTg5NTY4ZjI3YzRlY2Rj
Li4wYjI1MTQ1NTE4ZDc0MmJiNjk1ZjhmODg1MGJkMWI4YmI2N2E4YWQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy53b3Jr
ZXIuanMKaW5kZXggM2M0MTM5MjEyNmNkZWQ2ZTM4MTQxNGE4ZjhkOWUyMDk5OWFmMDk4Mi4uNDAx
ZDQ2ZjdhMTU2MzJkNmJjNjE5NmMyNDg3MTdkZjg5ZDA4MjlhYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3
ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1
NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gx
Lmh0bWwKaW5kZXggN2ZjMzQzMDI4ZmQ1NTVjMDhkZTNlZWU0ODI0NzUzMjA0YTNmYjhmNS4uZTA5
MTk5NzVkYTk0YjUzYjNjYmE1YzFlODE3NjQyY2VmZTJlNGE2YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGll
bnQucmFkaWFsLnRvdWNoMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAw
LDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCmluZGV4IGQxNzZj
MDEzOTNiZDNmNzY2MDdkNDZjYTFkYzdjMWQ3Mjk3MDA2ZmIuLmM1NWY2MWE1YWVlMTNkNjE1YTI1
ODkyNTQ5MzI5NjFkZjMxYWU5MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwKaW5kZXggMWM4NTk3ZDBj
NjEwNGU3ZDRlNmM3OWYwMGYxNWU3ODRiYTgzMTNlMy4uNTQ2ZjM1NDMzYTBlOWQ1MDU5NGRkYzU5
N2RhZmM1ZjY0NGY3NjFmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAw
LDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
dG91Y2gyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50b3VjaDIud29ya2VyLmpzCmluZGV4IDJmZmJjNzU3YmVlOGEzZWZlYmRlNDFkZDI2
YTI0YTU1YjM3MjdjZTEuLjg3MGY4YzRjY2MzMjQ0NDFiYWE1ODQ4ODBjZGEyNTIyZmM4YTE5ZmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlh
bC50b3VjaDIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC50b3VjaDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUw
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwudG91Y2gzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwudG91Y2gzLmh0bWwKaW5kZXggMWE4YTgxZTA3ODkxMThmZDBhYWU2ZmIyOWQ1MDRm
MTUzY2M1MjI4Ni4uOTQzYjQ0NDE2ZjAwMmE3N2Q2M2YwMDBjNGRlNDFkZDVjNjkzODhmZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRv
dWNoMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC50b3VjaDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwu
dG91Y2gzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2Vy
LmpzCmluZGV4IDRlYTliODY1MGVmMzVmYWI0NjhlNDM1NGRlZjk0YTZjYzFlMTU4NDYuLjBjNGVl
ODNlMjhhYWY3ZTJlYTViNmE5ZWYxM2Y4MGU1MTU2NGNjNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zv
cm0uMS5odG1sCmluZGV4IGEzYjQ2NmY5YWVjODNlNDUyYzZlNDYwZjA1ZTAzNDJiOWZlMzQ4N2Yu
LmU5NDZiODlkOTE3ZDZkYjFkYzFhMDlkZjQzNGYyZTA3NzQyYzkwMzcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFk
aWFsLnRyYW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SYWRpYWwgZ3JhZGllbnQgY29v
cmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1l
IG9mIGZpbGxpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRo
ZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3
ICszMiw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLndvcmtlci5qcwppbmRleCAzNjgzNDkxODdk
ZDg0NTJlZTk2YjhjNjY5NGNjNWM4NGQyYjJjMjk1Li4xYzYzMjBhNWUwMDc1ZjlkOGJiOGQ0ZGRh
YmZkNDIwZGI0MWU1MjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUg
cmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAxMCwgNSk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKaW5kZXggMmVhM2Qy
YTBiZWYxNWE3ZGVhN2I3MDNjMDk4MjdmMzUzOTNiMmUwOS4uYzFjZDNlMDA5MDBhNjI0YzM3MjYy
Y2U4MjE1NjU4OTU4NWZiNTYzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlh
bC50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUg
dG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZzwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJhZGlhbCBncmFk
aWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQg
dGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGxSZWN0
KC01LCAtMi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJh
bnNmb3JtLjIud29ya2VyLmpzCmluZGV4IDE1MTljMzM3MzQ2NjJiNjdhY2M3MDIzYWM1MTBjYzI3
MDkyYjkyYjEuLjk5ZGE4NzQ1MjI3ZjQzYTBjMDY1NWVlZmYzMjA3MmFjMjcxMjcyMjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFu
c2Zvcm0uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRp
bmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRy
YW5zZm9ybS4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwudHJhbnNmb3JtLjMuaHRtbAppbmRleCBlYjNmN2JhMDI4MDM2NjZkNDlhNzg2ZjBjOGZh
NzZlZWFkOWRiZTY0Li4zNDhiOGI2MDY3NGI0YTNhNzI0ZDdhN2QwY2I0NTM2YjUzMzE0NGNkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwu
dHJhbnNmb3JtLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwudHJhbnNmb3JtLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmFkaWFs
IGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZm
ZWN0czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBj
YWNoaW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5maWxsUmVjdCgtNSwg
LTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9y
bS4zLndvcmtlci5qcwppbmRleCA1MjM5Mzc2ZGI0ODIyZDk2M2NiYWRhMWMwNDA4MzkzOWM0OGVm
YzRkLi40YThmYjBlMDFjNmY3Y2UxMjdlZjFkZDkxMTE2Y2IyNmEwMTdmZWE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3Jt
LjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJh
ZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5n
IGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsUmVjdCgtNSwgLTIuNSwg
MTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1
LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbAppbmRleCBiM2JlNGU5ODE2
ZDA5NDk0NzVkOTZjNGUzMjE0YTZmMjAxY2NhZTZlLi45MWVlMjY0NDJmOTlmODYwZDVlMDRiMjBh
MmQzNGE4YjkyY2ZhOTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMuY2FudmFzPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dHRlcm4uYmFzaWMuY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3
ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1
NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZh
cy53b3JrZXIuanMKaW5kZXggYTk5NjlmNjUyMjI2MGMyZDk1ZWJkM2IwODdjOWNhMGMyYTNiMzdk
YS4uYjgzNjY1MzZhZTVjYjhkZTVjMjBlNzBlMTM3NzU4OWQxMGU3ZDUwZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2Fu
dmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyAr
MzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUs
ICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1sCmlu
ZGV4IDczMGZiMDIzODNjNTk2YmZlZWM2NTJmNDgwZTg5NjdiYTU3MjgxOGMuLmMxZTM1NjUxOWIz
NjMwODE5MTk1NGJiM2FjZmE0OTQ1MDA2MzFhNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMuaW1hZ2U8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0dGVybi5iYXNpYy5pbWFnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjgsMTYgKzMyLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwg
J25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJl
cGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLmJhc2ljLmltYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCmluZGV4IDJkNGRmZDhlZTZmYjY2MDY4
N2U2ODAyZTZjOWJhZDYxZDQ4MjE2NzQuLjU0M2FhZWYyMGYyMDE0MzNjYmZlOTU3NDRiMDYzNDA4
MDY1MTk0NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCwxNiArMjgsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQuaHRtbAppbmRleCBmY2FlY2JjZTc2MDdm
YjVkMjg3YmYwMzAzZDMyOGYwNzk3ZjBlMmQ1Li4wNzU0NzBmMGEwMWJkMzI3NmE1YWZlMzQ0ZjI1
YjU2ZmRiMDlmYmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2lj
Lm5vY29udGV4dC53b3JrZXIuanMKaW5kZXggYTVkYWNlZjg4NWVmYjM4NzlkZDMwZWIzNDg0MDFi
ODgwODdmNWMyMy4uMzFhZGQwNjVhYzI2NzE0NTU4Nzc0NjNkNTcyMTkyYmZiYzYzODZkZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5ub2Nv
bnRleHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uYmFzaWMubm9jb250ZXh0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJv
Y2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2lj
Lnplcm9jYW52YXMuaHRtbAppbmRleCA0NjUyYzQwN2NjZmQ4M2I1NDZiNDRmODBhMGU2ZmJhMGRl
ZDg2MWE5Li4yMjkzZDIxYmY3YjcwMGNhOTVhZWJlMWIxNThmYTY3NmM4NmE2YzE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52
YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2lj
Lnplcm9jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uYmFzaWMu
emVyb2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBA
QCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7
CiBhc3NlcnRfdGhyb3dzKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3Jl
YXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
YmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMud29ya2VyLmpzCmluZGV4IDMyNmNlNTM1ZDQ1MjQw
ZmJhYjNhZDNhZDlhNGY1MDM1MjM2ZGQ1YjYuLmMwMTUwMDJjNmFkYTE0MmVmZDY2ZTZjMGQ5Zjc1
ODc2Y2I0NmIxM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy56ZXJvY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7CiBhc3NlcnRfdGhyb3dzKCJJ
TlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3Jl
ZW5DYW52YXMsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRtbApp
bmRleCBmN2QwYzVmZGY2MWRmM2M3YmNmZjY5N2Q1MWI4ZGVjY2NhMmQ5ZWRmLi5kYWYyZmQyNjhk
OTAwM2I2YjE0ZWU5YzAyNzJmNTA2ZjVlN2VhMTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmNyb3NzY2FudmFz
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4uY3Jvc3NjYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDE2ICszMCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKLSAgICB2YXIgcGF0dGVybiA9IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4
dCgnMmQnKS5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOworICAgICAgICB2YXIgcGF0
dGVybiA9IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKS5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOworICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcwppbmRleCA2ZDNiYTMx
YmFjZTUzZWRiZTcxOTRkOWRiODNlOWM2MDhkNDI3NmJkLi5lYTcxOWQ0MjM1OTdiMWEyNzk0ZTVm
ZjUxZjljMjVlOTlkZDhlMTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwotICAgIHZhciBwYXR0ZXJuID0gb2Zmc2NyZWVu
Q2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBl
YXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CisgICAgICAgIHZhciBwYXR0ZXJuID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcp
LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbAppbmRleCAzMGZk
NjVhMjZiNmZkNjM2ODlmZjNkMzViNzJlOTU2N2QyZjUxNjlhLi4xOTNiYjlkZDRjMDFiM2MzZGU3
MWEwMjM0MzU1OTEyMzdmNmJjZjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5pbWFnZS5udWxsPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dHRlcm4uaW1hZ2UubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzEx
LDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihudWxsLCAncmVwZWF0
Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLndvcmtlci5qcwppbmRleCA0NTRl
NjE5YThiMDYxZWY2N2U1YTcwOWFlZDJkOTQ5MWMxMzkwMmJkLi42YjVhZDY0YzdjNDY1MmYwZDM5
YjY1NDMyNDBjMDVmOTgwNmExNzQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMKQEAgLTQsMTYgKzQs
MTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmNyZWF0ZVBhdHRlcm4obnVsbCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFn
ZS5zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1h
Z2Uuc3RyaW5nLmh0bWwKaW5kZXggYmNjNGFkMDBjYjhjOWEyMWFkZWY1ZGQxMTgzZjFjNDRkYjAy
ZTJjYi4uMDcyMmY4ZjI4MTczZjVlOTUzYzY4NGExNGZjYjE2NDRlNWY2MzI0OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5zdHJpbmcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmlu
Zy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXR0ZXJuLmltYWdlLnN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLmltYWdlLnN0cmluZzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguY3JlYXRlUGF0dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0Jyk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMKaW5kZXggNmQ3MzJlN2Iy
MDA3YmQ1NjVkYTNkNTRkNGU4ZDg5OThjNTI2NjEwMC4uYzY0Zjk3OGMzZmE5ZDc2ZjdiMmE5Yjlm
ZThiMTdkMTc3OGRhNjkxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5pbWFnZS5zdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguY3JlYXRlUGF0dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0Jyk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQuaHRtbAppbmRleCBmMDM0N2VhOTczMmY5Y2Vm
NDIzNzUzZTVmNDM3Yjk0YTk1YTk2NGZiLi44ZGZmOTQ4MjgxMzkwMDgyZjJmNzE4YjkyZWM3MTVi
ZTkwNjEzNDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKHVuZGVm
aW5lZCwgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmlu
ZWQud29ya2VyLmpzCmluZGV4IDhlZDUxYjZjMWJiNWY3OTI1YmNhNDdkOGEzOTFhYWQ1ZGQxMDky
MjYuLjUyMTYzYzA5MWM1MGM1MDg3MDhjODk0Y2I5Y2Q0N2E0ODFmOTgwZTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdl
LnVuZGVmaW5lZC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4odW5kZWZp
bmVkLCAncmVwZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwK
aW5kZXggMjNjN2U3OGFkOWYzNzBmYWNjNDg0MTFmZTE2OWYzMDI3NTI4ZTQwMi4uNjMyYzVhZWZj
OGI5OTZmM2ZmNGViYTFlNGNjN2UxNjY2YjRjMGI4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5tb2Rp
ZnkuY2FudmFzMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
Lm1vZGlmeS5jYW52YXMxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCmluZGV4IDZjYTRkNmRhMzVhMGE4Nzhl
ODY0ZDk3NTk3ODcxMzI4NGIwNzhhYTguLjg0MWE5ODAyYzFiNjMzMmQ1ZjJkNGIzNjE4MTRjMWNj
NDM1ZmNlZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
Lm1vZGlmeS5jYW52YXMyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLm1vZGlmeS5jYW52YXMyLmh0bWwKaW5kZXggZjc0ODhmY2NhN2VjNTg2ZjcxNTBlNzNhOTkz
OWMwZDQzMDdmZmY5OC4uZjFmMjY4NTUxYmUxZTM4ZjkyNDU4YTdkNTVjMzcxNDExMGM3OWI1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnku
Y2FudmFzMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
bW9kaWZ5LmNhbnZhczIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLm1vZGlm
eS5jYW52YXMyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpz
CmluZGV4IGE4NzJiYjhlYTJiZjdhYjY0MTUzNWYxY2IzMDAzYjBlNWJkYTc2ODIuLjMxZDc0NjJh
YWE0NWNmYTk2ZGZmMTU4N2UzODM2YTlhMTA0NTU2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLmh0
bWwKaW5kZXggOTI1ZTVjYjVlYTgzZTU1ZDY5OTU0MmZhZjhiNDgyZjUxYzdhMjY5My4uYWUzYmRi
MmRiYTU1M2EyNzdkNTJlMzE5ZTcwZjhjZGExZTU0MjM2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
YmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm5v
cmVwZWF0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxNiArMzIs
MTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9y
ZXBlYXQuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKaW5kZXggOTMxNjMxN2Q2MGFjMWE0
YzIyZWYxMWUzYzI0NDIwMDIzMzRhMDEwZi4uOTAzY2FiNzE3NGEyNjk0ODZhOWNjMWM1Y2M2NmVi
MDljYjEwZjJiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0
LmNvb3JkMS5odG1sCmluZGV4IDJiODFkYTE0NGIzZTBiMjk3NDdjMDg2NjI0ZTg2Yjk1NWQ4Mzkz
ZTEuLjk1Mzg2MWNkZThjYjRjZTRiYTE1MDRmZTk1ZmM2ZGUzNGU0YjZjYTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29v
cmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5ub3JlcGVhdC5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMwLDE3ICszNCwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdu
by1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNs
YXRlKDUwLCAwKTsKLSAgICBjdHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7CisgICAgICAgIGN0eC5m
aWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIuanMK
aW5kZXggNDIxMGVhYTRmOWYxYzA0OWE2NGFkNzBhNjFhNGEyNjUyYTQwMmQ5Ny4uZjg0MzIxNDRj
ZGI0ZDIxMzU1YWM4ZGY3ODU2MzZlYzE1OGEzMTY0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsMTcgKzMwLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJl
cGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUo
NTAsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbAppbmRleCBiZGMzYWI5NTRm
NTRhNjU2OWM3YjQ1OGIyZDdjNzI4ZjUwZTVhMTQwLi5mNDc1YWFlOTlhMzY5MjE3YTQwZTA2NWYy
M2FjYWQ1MzQzM2M0M2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQuY29vcmQyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwyMSArMzAsMjEgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7Ci0gICAg
Y3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRt
YXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOworICAgICAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQy
Lndvcmtlci5qcwppbmRleCAyMjZkYjA0ZTFjNjJhMWQyNDY5YmE3ZWFmMjMwNjIzOWNmZGI2YjM4
Li5hYmY2MTk1YzQ4YTY5NGQzYTM4NzQ1OWE3ZWRjNTA2ZGU5YmE4MWMyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3Jk
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5ub3JlcGVhdC5jb29yZDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiwyMSArMjYsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3Bv
bnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKLSAg
ICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgMCwg
MTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOworICAgICAgICBjdHgu
ZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJu
OworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KC01
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMuaHRtbAppbmRleCA4YzAyN2FmMmE0Y2ZjNWQz
NmZhMWQxNzhkYTE1NWY4ZDMzNTA4NjUzLi4yYzU0YWQ0MGM1OGViZjNjM2ZmNjljYWFkMzYxOTVh
ZTdkNDg5ZTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBl
YXQuY29vcmQzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxOSArMzIsMTkgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOwotICAgIGN0eC5maWxsUmVjdCgtNTAs
IC0yNSwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10
LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4g
eworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJl
cGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRy
YW5zbGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwgNTAp
OworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCmluZGV4IGRhOTNj
NTNkMjkyMzY1NDgzNWQ2NDk2YTgxZTdmYzQzZGQ4NDIzNzIuLmExYTQzOGFmMWViNmQ4NjE4ODVk
ZjYzNGFkOWIwZTM5ZTQ0ZDIyOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE5ICsyOCwx
OSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7Ci0g
ICAgY3R4LmZpbGxSZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxsUmVj
dCgtNTAsIC0yNSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbApp
bmRleCA5MTYyNzJmY2FkZTc4OTMzNzRkMjZlMmYwNWM0MmU4YjY3YWZiNzhmLi4zYTczNzRkOWQz
YzRjODZiN2Q2NzM0OGE0N2NjYzI0YjZjYTgyZmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91
dHNpZGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQu
bm9yZXBlYXQub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEg
KzMyLDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUwKTsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsUmVjdCgxMDAsIDAs
IDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoLTEwMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgxMDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRl
Lndvcmtlci5qcwppbmRleCBkOGI1OTAwNzA3NjQwMWU4ODcwMmJlYzhkMzBiODcyOTE5ZjBjMGI2
Li4wYjJjNThkNTJlNjQ3ZjM1N2RlZmY1MGFiMmZjMjA4YThhNmJlMGQyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNp
ZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQubm9yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVz
cG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
LSAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3QoLTEw
MCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBj
dHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KC0xMDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
NTAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFJlY3QoMTAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2Fu
dmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9y
aWVudGF0aW9uLmNhbnZhcy5odG1sCmluZGV4IDQyNTc2ZmE1ZjhjNTg3ZDRkOWU5OTZjYzg3OWRj
ZGJmMTUxZTAyZTcuLjhmZjA3YWQ4ZTkxMzE5ODNjZTY3MTQ3YTAwYzVhOTZjYjQ1ZTliM2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3Jp
ZW50YXRpb24uY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5j
YW52YXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPkNhbnZhcyBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWlu
dGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiQ2FudmFzIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0
aW9uLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMKaW5kZXggM2E3Yjg1MjFjMWUy
YzE1ZmJlNjNjNDUzMjQ4YjE2Yjg3NmU5NDc5Yy4uZDAxN2YwODMwNmYyYmYzMTMyMWZiY2M0MWE1
MDExNDJjOTkxMDdjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFzLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQ2FudmFzIHBhdHRlcm5zIGRvIG5vdCBn
ZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0bWwK
aW5kZXggMGI5YmRhMzFiODBhYzFmMGUxYzBiM2NlZDA3YWU4YTdhNTFmNDM3Mi4uY2EwYmIzMzUx
NDQzY2ExZWYxNWE0YmYyOGRjMTM3M2QyNzNhMDdhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRp
b24uaW1hZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBh
aW50Lm9yaWVudGF0aW9uLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZSBwYXR0ZXJu
cyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90IGdl
dCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKLSAgICBjdHguc2F2ZSgpOwotICAgIGN0eC50cmFuc2xhdGUoMCwgLTEw
Myk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Ci0gICAgY3R4LnJlc3RvcmUo
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnNhdmUoKTsKKyAgICAg
ICAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAzKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDEwMywg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5yZXN0b3JlKCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9y
aWVudGF0aW9uLmltYWdlLndvcmtlci5qcwppbmRleCBhMWZhMDIyYzZmZGE0ZTlhMDA2MGE5OWEy
MWI0MTE1NjkzMjdkYjI3Li5mNzcxYjIyNmNkN2M2MjM4NzIyZjA5MTY3NjExOGYwNzhiMjM1MDIy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2UgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4g
cGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRl
cm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
LSAgICBjdHguc2F2ZSgpOwotICAgIGN0eC50cmFuc2xhdGUoMCwgLTEwMyk7Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7Ci0gICAgY3R4LnJlc3RvcmUoKTsKLSAgICBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnNhdmUoKTsKKyAgICAgICAgY3R4LnRyYW5zbGF0
ZSgwLCAtMTAzKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDEwMywgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5yZXN0b3JlKCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy5odG1sCmluZGV4IGUyZGQw
NmE1YjU0MDQ0N2Q0MTBlMDc3ZTZjODIxYmQ1OTZmZTliYTcuLjhmY2ZiNzFkMzc2YzhkYTQzZGJl
ODU2ZWFjNmQ5YzY3MjZiZDQxZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5y
ZXBlYXQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE2ICszMiwxNiBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0
dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMu
d29ya2VyLmpzCmluZGV4IDA2MmM1OTU2YzQ2OWVjOWRiYzEzMDk1MTc3ZDkxMjAyZTNkYjhkM2Yu
LmZhMDk0YzM1YjQ4MzAzODlkNzE3YzZjNmEyNzhmZjEwYzBjMzEzZWUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
LnJlcGVhdC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdu
by1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBl
YXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0LmNvb3JkMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKaW5kZXggYjdkOWE1N2E2ZDc2NDE1
ODc4NzgyNzJkYmRhMDdhYzI3YmZkNjYxZC4uMWE5NzMxYWEwOGIzYzI3ZWY5YjI5NDQzODVmNGMy
NjNmNmI2YWU2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNv
b3JkMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI4LDE3ICszMiwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRl
cm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
LSAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgs
IDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOwor
ICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKC0x
MjgsIC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQxLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMS53b3JrZXIuanMKaW5kZXggOWY0NDJhOGQ1MWU0YmM4ZGQ1YjY0NTdmNjc2MmZk
YTU4ODVjMzBkMC4uOGNhNTk2MTBmZWMwNjMzOTdmZWMwYmE3Y2VhNmM4YzM4NDY2NWIyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCwxNyArMjgsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgtMTI4
LCAtNzgpOworICAgICAgICBjdHguZmlsbFJlY3QoMTI4LCA3OCwgMTAwLCA1MCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3Jk
Mi5odG1sCmluZGV4IGZmNWI2N2RlNzdmZjU1ZmVkOTMxMTNmMGY3ODZmYjBiMmFiMDY5YWYuLjYz
YjFjYWMxM2I2MzQ5OWI0NTNhNzYzNTMwMmZlYzgxMTZjNTZhNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
LmNvb3JkMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5y
ZXBlYXQuY29vcmQyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAs
MTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIud29ya2VyLmpzCmluZGV4IDVlMmYxMjE2YzQ4MDBjZGNl
ZDlhZjE4ODk5N2Y0MzIzMGVlYTQ0ZjUuLjVhYzIzZmVjZDkxZTlkZjRjMzVmYmJhZmNkNGUxMWU4
ZDQ2ZWY0MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0LmNvb3JkMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMu
aHRtbAppbmRleCAwMmM0NWZkNTI4MTQ3MjgyY2M1NzA2MTE1NmQyZjdiZmRkZGVlNTE5Li43ZTE0
ZTAwZDZmM2E5ZWExMjQwNGExZTRlMzVlYzMyYmUyYzA3YWY1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5j
b29yZDMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTggKzMwLDE4
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEyOCwg
NzgsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQzLndvcmtl
ci5qcwppbmRleCA2MjJiY2VjZmJhNWNhMDcwYzY3ZTRkOTE1MDRkNGU5N2EwNzU4YWRlLi4yYjg5
NDFhMGViMTYyYjg3YTJhMTA0ZDdiM2QwMjJjMWMxNzFlMDQ2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDE4ICsyNiwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1y
ZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOwotICAgIGN0eC5m
aWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwg
J25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgudHJhbnNsYXRlKC0xMjgs
IC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNp
ZGUuaHRtbAppbmRleCA2NDg5ZTIzNWRjZWUzYjI1NjIwMDBkMmZmYWY1M2NhMGE4NmI4YzNlLi44
NjJhODBlN2RjMTZmZTlkZDNkZjE4ZTRiNTYwNWI3NGVlZDRhMGNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE3
ICszMiwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQn
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAy
NSk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmlsbFJl
Y3QoLTUwLCAtMjUsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdC5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzCmluZGV4
IDI0NmJjY2VjZDg3NDAzMDMwOTJlZTA1YTcwNWRlMmIxZjhlNWM0YmEuLjFkNmZiNGI5ZjdkNWU5
ZTEyZDU3ZGFiZTZlOTg1NGNiOWI2Y2I1Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNp
ZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCwxNyAr
MjgsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUp
OwotICAgIGN0eC5maWxsUmVjdCgtNTAsIC0yNSwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0
dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KC01MCwgLTI1LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0eC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKaW5kZXggMTNlN2I4ZDMwYmZmMzBm
MDY1MmI0OGU1ODU2Nzk1MmQzZmI5YTU2OS4uY2NkNmNhNTg0MWEwMTJiYzkxYzBhZmZjODgyYTE2
NmYwNGEwZGMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5i
YXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMwLDE2ICszNCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRl
cm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ3JlcGVhdC14Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAg
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMud29ya2Vy
LmpzCmluZGV4IGFiYTAxMTgyZDlkMGIwZDY4MWI4NjU0YmFmOWFiNGRiN2I5Y2I0YjguLjFkZmEx
MWE5YTg0YWQ5ZmY0YWQzM2JhMDYzZjMyYmFjYjI4MDViYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXR4LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVh
dC14Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgnKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQucmVwZWF0eC5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbAppbmRleCAxZmMyZTUyMTg0ZGNiN2Q3Mzcx
YzFhZTNlMTEwMmUyYWMyZGFiOTQxLi5iNWZiZWVjM2I3Mzk5YzdlMzMwZThiMWU2MDMwOTRiYjVk
YmUwNmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdHguY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29v
cmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRl
cm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC50cmFuc2xhdGUoMCwgMTYpOwotICAgIGN0eC5maWxsUmVjdCgwLCAtMTYsIDEwMCwg
NTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgMTYpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwg
MCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4g
PSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOworICAgICAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgwLCAxNik7CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAtMTYsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAxNik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29y
ZDEud29ya2VyLmpzCmluZGV4IGU0Nzc3ZTA1ZDI5MjYzY2Q0MWMzZTBlYjJmOGM2MmRmNDhmZTRi
NzkuLjNlMDdjOWY5NzE3YWY5MjM3MzZiZDA1YjAwNTIxNjc3NDBkY2E5ZmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29y
ZDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eC5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3Bv
bnNlLCAncmVwZWF0LXgnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgu
dHJhbnNsYXRlKDAsIDE2KTsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAs
MjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoMCwgMTYpOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgLTE2LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAs
MjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAi
OTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS5odG1sCmluZGV4
IGM2ZWMxMjIzY2RiZWZlOWM0NGY0ZjY1MDBjNjlmYjEzNGRlNDM4MmIuLjE4MDU2MDhkMWVjMjQy
ZTVlZmI5YjgyMWNhODJkYjVkNDJjZTk3MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXR4
Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE4ICszMiwxOCBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteCcpOwotICAgIGN0
eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIg
cGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14Jyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDE2KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCmluZGV4
IGZjOGE0YTAxM2MxZmYwNTQ1ZmVmYThlN2FiYzJhNTA0MzJlNjE3OWQuLmUyY2IwNDZkMjg4M2Mz
MWU5YzExZTEwZTE1OGU0Zjc3NTA2OTliNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0
c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE4
ICsyOCwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteCcp
OwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDE2KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
NDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14Jyk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKaW5kZXggZjY3OGYx
YzI4ZmZkY2NlMTRiMzdhZjQyMDBkMzE3OWE5MmY0NzFkNi4uMjU5YzVhNWQxNzgwODg0ZTFmNzJk
Mjg2YjEwM2RjNTgzMjljMmI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0eS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDE2ICszNCwxNiBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteScpOwotICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQ
YXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwy
NTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFz
aWMud29ya2VyLmpzCmluZGV4IDQwZGZkYTk0NWJlZjk0ODJmODQyNzFlMWYyNmZkMzhlM2I0Yzk5
ZTQuLmFhODg2ZWY5NjEwY2YxNTJmZWIyNTE1MmEwYjNhMTNiMTA4ZGE0NTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXR5LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25z
ZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVw
ZWF0LXknKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEuaHRtbAppbmRleCA2ZDNlMzQzNGQ1
NTI4MTEwMjUyNTkzNGEyOGRmNzE4NGIxNDNmNmIxLi4zNzNmYWZlYThhNjZhZDZhNGNmZDY4Mzdj
OTVjYjU3MmMzNDhlY2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkuY29vcmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMiwyMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQteScpOwotICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNDgsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNDgs
IDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDE2LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDEsIDAsMjU1LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBj
cmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIg
cGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAgICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDQ4LCAwKTsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KC00OCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwgNTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDEsIDAsMjU1LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHkuY29vcmQxLndvcmtlci5qcwppbmRleCAxMDhjNDYyZjZlY2I5MDhmYWYwZjdjNGY5Yjg1Yjdh
MWMyNzg3M2QyLi40ZmJlZGNhOWU3MzQ0MWM3MGU2N2UzMjczZjMwMzUxODEwMzA2NmM0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHkuY29vcmQxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC00OCwgMCwgMTAwLCA1
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0g
Y3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXknKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNDgsIDApOworICAgICAgICBj
dHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCA1MCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMSwgMCwy
NTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLmh0bWwK
aW5kZXggNTc5MGJkYWY3NDg5ZTJlODE1Y2ZkOTkzZmIzZDVhZDE0NmYyMmE3Yy4uMWVmNTJkZDhk
MTA4NDY2Zjc5YmJhNTI3ODg3MDZkYWMwYjNmMDY1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0
c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdHkub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTggKzMy
LDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDE2LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteScpOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpzCmlu
ZGV4IDQ5NTg2NzQzNDA4Y2ZhNzBiZjcyYjdjYTE2ODNjOTE2YTI2YjNjNzAuLjUwYTE1MTc5ODk3
ZWMwZmVhMWZmMDAyODNjYmE4MTk3MmQxZmViNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHku
b3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDE4ICsyOCwxOCBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQt
eScpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxNiwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXkn
KTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLmh0bWwKaW5kZXggMGIwODJkZmE5NzQ1ZGEwMTkyMzIx
YjU3MDRhYzgyZjQwMDI4YTIxYS4uMzkyZGZiNjZlOTFmYzI5Nzg0NDcyYTcwZDY5Y2VkMTkwMjIz
NmJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5y
ZXBlYXQuY2FzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucmVwZWF0LmNhc2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0dGVybi5yZXBlYXQuY2FzZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC5j
YXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVu
Y3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIlJlcGVhdCIpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQuY2FzZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcwppbmRleCAwMTMwZmUz
OWJlNjA4NTNhNzBlZTgyYjkwOGYyMjU4MzgyY2IyMjVmLi4xZjc1NTdlNDgzZjAxNjhhMjcyZTM2
MDczZDE2MGE1OGIyMWY0MGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHgu
Y3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJSZXBlYXQiKTsgfSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucmVwZWF0LmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnJlcGVhdC5lbXB0eS5odG1sCmluZGV4IDAwOTczNmNjMWVmMjM3ZWFlZGE5YWMyODZkYjc0
NWJmYTJlODdjNWEuLjlmNDBmZTY5NTc3N2Q3M2YyN2JiODRlN2RlOWZlNDA2YmVjZDMxZDIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVt
cHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0dGVybi5yZXBlYXQuZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5yZXBlYXQuZW1wdHk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE2ICszMiwxNiBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICIiKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0
dGVybihiaXRtYXAsICIiKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzCmluZGV4IDgwNDJh
M2M3OWUwYmM0NGM2YTcwNDkwMWFhYjQ3YjcyZjYxYzc2N2MuLmEzMWFmYTcxMzliN2Y5NjFlYTA3
ZjE2NTc2YmVlMGMzMzRjMzgzOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICIiKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
LSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICIiKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucmVwZWF0Lm51bGwuaHRtbAppbmRleCA3ZTc4YWUwMTVhZWI1ODdmMGIzYjVmOTAx
NDBjZWM0MDU3YWM5OWViLi4yNDZkYzBhNGVhYjVkZWI1NTgwMjJkODk1MzM4OTIzYzU0M2UwYmI1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVh
dC5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5y
ZXBlYXQubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0Lm51bGw8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnQoY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVu
Q2FudmFzLCBudWxsKSAhPSBudWxsLCAiY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFz
LCBudWxsKSAhPSBudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGwud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIu
anMKaW5kZXggZWU2MjNkZjFmMTViMGRkNDMyMWJlMDY2ZGNhMDE2ZTU3MWM0YmNiZC4uNWM2NWJm
YjM5ZjE4ZDFlN2JmOTc4Yjc4NDYzOGNlYTRkODdkNTZjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIu
anMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnQoY3R4LmNyZWF0ZVBhdHRlcm4ob2Zm
c2NyZWVuQ2FudmFzLCBudWxsKSAhPSBudWxsLCAiY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVu
Q2FudmFzLCBudWxsKSAhPSBudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXgu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxz
dWZmaXguaHRtbAppbmRleCA3Zjg1ZjNlNDc5Y2RjNDBiOTRlNDI5ZTMyZjNiMDhjNzY3NTI2ZDFi
Li40YjBmMjVhZmJmOTM2OWVmYTU1NjBlNDhjMDBlNzA2ZmZkNjc5ZTAyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVs
bHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0Lm51
bGxzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAicmVwZWF0
XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXgud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3Jr
ZXIuanMKaW5kZXggYzZlZDE0MTdkMTZhNzljODAyNGQ0YjczNWE5ZTJiMjgzYmI5ZTRiNy4uMzI4
OGUxMjgyNTdiOWQzZTk2M2EwYTQxNjg3NjM0MDYxYzU0NTQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVs
bHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3Mo
IlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2Fu
dmFzLCAicmVwZWF0XDAiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVk
Lmh0bWwKaW5kZXggMjk4YmE5OTc2ZGMxOGQyZDZlNWY2Njk1Y2U0M2QxNzcwZWZlNmNmNC4uMDcy
MmFlNWRkYzk0OWZhNzQ4NGQxOGZmNDc1MmE0MWY5NTlkYzE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVk
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dHRlcm4ucmVwZWF0LnVuZGVmaW5lZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlv
bigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCB1bmRlZmluZWQpOyB9KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIuanMKaW5kZXgg
M2EyNzViODI2MzNiZTk3ZjU5OGIzMWVhNjgyZDlkY2I1MjFmN2IyOC4uMDIwYWRmN2MwMDI2ZTNm
ZjhmYjA1MTg2M2E4YTcxNmE5NTU3YzBjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQud29ya2Vy
LmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgdW5kZWZpbmVk
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwKaW5k
ZXggNzllMzc5ZWM0NzU2ODMyMmFhNjA1MzIyNjg3Y2RjMDNhZmYyN2Q0Yy4uMDNmNDY1OWZkNzc2
OGZmYzdlMWNjMmYwYjBkMzFiY2I2ZTVlMTdkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRl
cm4ucmVwZWF0LnVucmVjb2duaXNlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlz
ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAiaW52YWxpZCIpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZC53b3JrZXIu
anMKaW5kZXggMDhjMDc2YjZjZmZmY2E5OTMxNDIzNzJlMmRkMGJlOWU4MWMzNDM2NS4uMmQ3Nzk2
ZDBhZTM4ZWM2YTBlNzdjY2M4YjhkMDI2OTZkODdhNjU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJl
Y29nbmlzZWQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dz
KCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNh
bnZhcywgImludmFsaWQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51
bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVu
cmVjb2duaXNlZG51bGwuaHRtbAppbmRleCBjOGY0Y2NmNWY3MDcwNjUxMzI5NGYzMzBmZmJiMmMw
YzM1OGViYWMwLi41ZDViNzA1MzZjNGRiNTYwZTgzMmVkZjY0NjlmMzhjZTNiM2Q1MzAwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJl
Y29nbmlzZWRudWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxs
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGw8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAibnVsbCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBl
YXQudW5yZWNvZ25pc2VkbnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcwppbmRleCBmYzRh
NDU1MTBjN2QwM2U5MTMyMGQ4ZWRlYzRhOWRjYTZiNjI4ZjhjLi5kMTY5NzliNmU5OGVhZDE1MTE5
ZTU1NGM3OTY1NTdjYWQ2ZmQyYTg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRu
dWxsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lO
VEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
ICJudWxsIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwKaW5kZXggMDY5NzY4
NTgyOGU5ZGE2ZDJkYzlhN2JjNzFmNzgxODMwNjQwNzNiNS4uYTA1MDA4ZWQ4NTExMjg2OTVlOWQw
NTQzMjljMWZiZWZlNjFhMTc1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
dHJva2VTdHlsZS5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyAr
MTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHgu
c3Ryb2tlU3R5bGUsICcjMDAwMDAwJywgImN0eC5zdHJva2VTdHlsZSIsICInIzAwMDAwMCciKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCA0OThmMmY5OWFk
OTE0YzJhZmMxYjMzZDhjNDEzZGY4NGRmN2Y0N2U0Li4zOTllOWRkYTcwYTkwZDM5ZDBkMDQ1ZGY1
M2RhNjQ4MzhmOGY4NWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxlLCAnIzAwMDAwMCcsICJjdHguc3Ry
b2tlU3R5bGUiLCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5jYXAuYnV0dC5odG1sCmluZGV4IDIxY2E4NmIyOWI1Mjc3ODc0MDJmMmYyNWZjY2Q3
M2VlZGZkMjBlNjguLmZjMTA4YzBkZTQ5MWZhN2UwNWY2NWY3MmE2YmFhOWM3NzEwODRiYjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAuYnV0dDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNh
cC5idXR0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBj
b3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJsaW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00
Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDE2LCAwLDI1NSww
LDI1NSwgIjc1LDE2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwzNCwgMCwyNTUsMCwyNTUsICI3NSwzNCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1LDAsMjU1LCAiNzUsMzUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM2LCAwLDI1NSww
LDI1NSwgIjc1LDM2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0Lndvcmtlci5qcwppbmRleCBiOWQ1MDNjODA1MTVh
Mjc5YjU4ZWQ1YTc0Zjk2Zjg4MjM0ZmRiNzBiLi4xMzAyMGFkYjA4NzU2ZmYwNjk0YmJkOGJhYTRj
MzAzY2RhOTVhMmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0
dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdidXR0JyBpcyByZW5kZXJlZCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDE2LCAwLDI1NSwwLDI1NSwgIjc1LDE2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNCwgMCwyNTUsMCwyNTUsICI3NSwzNCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzUsIDAsMjU1
LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDM2LCAwLDI1NSwwLDI1NSwgIjc1LDM2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5j
bG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQuaHRtbAppbmRl
eCA2NmIwODUzMGY1NGVmM2EwNjk3MTFjYTYyNGVhYzQ3YzI2YmIyOGU5Li42N2ZjMzU4YjA0MzZi
Y2ZmZDI3MzIwYTMzNzI1MTNhMzdhMmI3NTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5jYXAuY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5saW5lLmNhcC5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAuY2xvc2VkPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1
bmNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBv
ZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAi
NDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
NDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5jYXAuY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9z
ZWQud29ya2VyLmpzCmluZGV4IGY1MjM3ZDZjMmIwNzg2MzFlNmMzZWQxNjljNWE3MDZiNzhhNDUz
NDEuLmI0Y2ZlNTAxODA4YWNlOTY2M2UyZGMyNGU1ZjBiYTI4MzM3Y2M5YzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJMaW5lIGNhcHMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNs
b3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52
YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQuaHRtbAppbmRl
eCBjYmY3Y2ViYzhiZmE3MDY4OTYwYzhhNDEwYzU3ZjNhOWIyMTJkNzA3Li5iODQ5OWZjYTA1NmJj
YjE3MmRhNWFlNjNkNTdjMjY4OWNlYjg3MGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5jYXAuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNh
cC5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmxpbmUuY2FwLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAuaW52YWxpZDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9y
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM2LDcgKzQwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5saW5l
Q2FwIiwgIididXR0JyIpOwogY3R4LmxpbmVDYXAgPSAnYnV0dCc7CiBjdHgubGluZUNhcCA9ICdi
ZXZlbCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVDYXAiLCAi
J2J1dHQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmNhcC5pbnZhbGlkLndvcmtlci5qcwppbmRleCA0YzM0OTVmMjc3YWFiZTE2NDM4N2QzOTA4NzA2
M2QwNDNiMmJlNTg0Li40NjA0NmQ0MTYxMTJjYWNlZDM1NzQ5YzNjMzJlOWI5ZWQ0MjQ3OGEwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMg
aWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAs
ICdidXR0JywgImN0eC5saW5lQ2FwIiwgIididXR0JyIpOwogY3R4LmxpbmVDYXAgPSAnYnV0dCc7
CiBjdHgubGluZUNhcCA9ICdiZXZlbCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQn
LCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jYXAub3Blbi5odG1sCmluZGV4IDhiN2E1OTljMzJiMTYyNDUyZDY1YzNjN2Y1
ZDYwNjk3ZjBiY2I5YWMuLjE1NGFhZjc1MjA3MWI4M2JmZjYzYjg2ZWI0YWE1YjY4Nzc5MDkxNjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAub3BlbjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5l
LmNhcC5vcGVuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIGNhcHMgYXJlIGRyYXduIGF0IHRo
ZSBjb3JuZXJzIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgZHJhd24gYXQg
dGhlIGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAw
LDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuY2FwLm9wZW4ud29ya2VyLmpzCmluZGV4IGI2N2RjNTc5OGJkMmQ1Zjc3YjYzM2QxY2Q4YWM4
YzQzOTRjNDMzM2YuLmU2NzFiNTVkMDZkM2QyYTkyOWQxOWZlNTBhNzc2ZWUwYmIyYTM4NzAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lcnMgb2YgYW4gdW5j
bG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1
NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJv
dW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQuaHRtbAppbmRleCBm
YjM4M2NiYTliZGViYzAzZTU5ZmFmOWY4YTc4ZWJjMDU1ZDQ3NTdiLi41ZmM5MDE5OGU4OGMwYzFl
MWE5NjM5ZTBhNjMxMGZlNjRhODAwOTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91
bmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
bGluZS5jYXAucm91bmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jYXAucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPmxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdyb3VuZCcg
aXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUsNyArNTksNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1NSwwLDI1NSwgIjgyLDYiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY3LDQzLCAwLDI1NSwwLDI1NSwg
IjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1LDAsMjU1LCAiODIsNDMiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5y
b3VuZC53b3JrZXIuanMKaW5kZXggNzU5MjM5M2IzY2I3NTQyOGQzMzE5NTQzNzM4MDNlN2U2M2Rk
ZGRiZi4uMzhmYWFlNjIzZmE2ODVhNDg2NDE2MWEwN2ZlOGM4YTMyMTc0YWI4ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJvdW5kLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJsaW5lQ2FwICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NTEsNyArNTUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw2LCAwLDI1NSww
LDI1NSwgIjgyLDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDY3LDQzLCAwLDI1NSwwLDI1NSwgIjY3LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0MywgMCwyNTUsMCwyNTUsICI3NSw0MyIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODIsNDMsIDAsMjU1LDAs
MjU1LCAiODIsNDMiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1sCmluZGV4IGVmOTY0NmU2MzI4MDRlZjA3MDBl
YjRlZjc0ZDE0NTBhMjE3ZjUxMDMuLjhjZDA5YzY4M2ZhZDM0MTVjODZkY2FmMDhmZWQwMzg1YThj
ZTFmNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY2FwLnNxdWFyZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5saW5lLmNhcC5zcXVhcmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVDYXAgJ3Nx
dWFyZScgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUNhcCAnc3F1YXJlJyBpcyByZW5kZXJlZCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDYsIDAsMjU1LDAsMjU1LCAiNzUsNiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDQsIDAsMjU1LDAsMjU1LCAiNzUsNDQiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ1LCAwLDI1NSww
LDI1NSwgIjc1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSw0NiwgMCwyNTUsMCwyNTUsICI3NSw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1
YXJlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2Vy
LmpzCmluZGV4IDZlMDdhODAxZTEyZTc1OTQ4MzlkY2FiNmE2OGMxYzYwOTc5ZGE4OGMuLmFlYWMx
ZTNjMDRmMmU3N2Y2MWY4NjdlZDUzNzM1ZjY3Zjg4N2FlMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC5zcXVhcmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJs
aW5lQ2FwICdzcXVhcmUnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNiwgMCwyNTUsMCwyNTUsICI3
NSw2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0
NCwgMCwyNTUsMCwyNTUsICI3NSw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsNDUsIDAsMjU1LDAsMjU1LCAiNzUsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ2LCAwLDI1NSwwLDI1NSwgIjc1
LDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUuY2FwLnZhbGlkLmh0bWwKaW5kZXggMTZhNGY0OGQyMTA3MGZkMWJmNTEyMTA4NDJiM2Q3
NTI3ZTA1MzkwMC4uOWQ0NTQ4NzY3YWU1OGViOGM5NGY1ZjkyMDA2Nzc4MTBmMTgwOWFiMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY2FwLnZhbGlkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUu
Y2FwLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQg
dmFsdWVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lQ2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogX2Fzc2VydFNhbWUoY3R4
LmxpbmVDYXAsICdyb3VuZCcsICJjdHgubGluZUNhcCIsICIncm91bmQnIik7CiBjdHgubGluZUNh
cCA9ICdzcXVhcmUnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVDYXAsICdzcXVhcmUnLCAiY3R4Lmxp
bmVDYXAiLCAiJ3NxdWFyZSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMKaW5kZXggYjM2NGYzZDFjNjhlODBiYWY5ODZh
YTgzY2E3OGUzZDIyMDE0MzhmYi4uZGE4NGViOTFkZmVkMmNiOGRiYjlmNTg3OTQzODg1NTc4Nzg5
OTlmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQgdmFsdWVzIHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgubGluZUNhcCA9ICdyb3VuZCc7CiBfYXNz
ZXJ0U2FtZShjdHgubGluZUNhcCwgJ3JvdW5kJywgImN0eC5saW5lQ2FwIiwgIidyb3VuZCciKTsK
IGN0eC5saW5lQ2FwID0gJ3NxdWFyZSc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ3NxdWFy
ZScsICJjdHgubGluZUNhcCIsICInc3F1YXJlJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuY3Jvc3MuaHRtbAppbmRleCAzMWZjM2YzNTAwOTk3MTg1NGIyNjYyOTgyYjE4
YzU4MTU0ODdkYzYyLi43NDc3ODdjN2JhMzc1ZTlhODI5N2E4NjI3NWE1MWM4MTFkYTUzOGRkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuY3Jvc3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5jcm9zczwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAw
LDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jv
c3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3Mud29ya2VyLmpzCmlu
ZGV4IGI4NTIzMWU4N2RhZTg5NGIxNDkzMjJkZDg1MjA5MmZlYjFhOGRhNzAuLjJjOGU2OGJmYmQx
YTRmZTRjNmEzODE4MTk0MzRiYWI3NjBkYjM5NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNyb3NzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5j
cm9zcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgs
MSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5kZWZhdWx0cy5odG1sCmluZGV4IGU5ZmM1MDliNWQ4YzAxMTAxMzE2MzljMjFkYWNjMjYyNmJi
ZmNmNGMuLjEwNTFkOTk2MDlkNjk1N2VjYjI4Yjk0NmUzYmExNmFhYjI1M2YwMmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5kZWZhdWx0czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmRlZmF1bHRz
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRT
YW1lKGN0eC5saW5lV2lkdGgsIDEsICJjdHgubGluZVdpZHRoIiwgIjEiKTsKIF9hc3NlcnRTYW1l
KGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgubGluZUNhcCIsICInYnV0dCciKTsKIF9hc3NlcnRT
YW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0eC5saW5lSm9pbiIsICInbWl0ZXInIik7CiBf
YXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMTAsICJjdHgubWl0ZXJMaW1pdCIsICIxMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5k
ZWZhdWx0cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy53b3Jr
ZXIuanMKaW5kZXggNjcyYmVlNTRlZmY3NmU4NDEzOWQzZGFjMzY2MzA4OTJhY2RjYTg2ZS4uZTkw
NGQzOTExMmRkNjc1NDllMWY2NTIwOTY4MzgxNGFmOGFiOGUxYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmRlZmF1bHRzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxLCAiY3R4
LmxpbmVXaWR0aCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4
LmxpbmVDYXAiLCAiJ2J1dHQnIik7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdtaXRlcics
ICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQs
IDEwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1sCmluZGV4IGM3MjFkMjliOTAwNmFiY2NlZDk3
YmQwMTZlY2ZjNzVhNzA2OTY4MzIuLjBlNGRkMTNiZjRkNDQ1YmVjYmMxYzI4MmMyNzBlODUxY2Ni
YTc2OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5iZXZlbDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5saW5lLmpvaW4uYmV2ZWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVKb2luICdi
ZXZlbCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC01OSw3ICs2Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg0LDE1LCAwLDI1NSwwLDI1NSwgIjg0LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwxNSwgMCwyNTUsMCwyNTUsICI4NSwxNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTUsIDAsMjU1
LDAsMjU1LCAiODYsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg2LDE0LCAwLDI1NSwwLDI1NSwgIjg2LDE0IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
YmV2ZWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3Jr
ZXIuanMKaW5kZXggOTRkOWVmYjcyZWZhZDYzZDY0MGFiYTEyYTAyZTA4MTE3MmVlMTZmNy4uZDY4
YjQ5MTFhYzUzMTlhOTE5MGQ4NWQ1YjdlZDFlNzIyN2ZmM2U5OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5iZXZlbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImxpbmVKb2luICdiZXZlbCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUsNyAr
NTksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwxNSwgMCwyNTUsMCwyNTUs
ICI4NCwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
ODUsMTUsIDAsMjU1LDAsMjU1LCAiODUsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDg2LDE1LCAwLDI1NSwwLDI1NSwgIjg2LDE1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxNCwgMCwyNTUsMCwyNTUs
ICI4NiwxNCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQuaHRtbAppbmRleCA4NzRlZjgzM2RlZDEwN2M0NzgwMTc4
NGZiZjM3YjI1OWY4OTIwZjY0Li5iYTkyYjRjNTNmZTZmZWI1Y2UzOWQ0ZjlhMjEyMGE5NWZhZDAz
MzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5jbG9zZWQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQubGluZS5qb2luLmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBqb2lu
cyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhIGNsb3NlZCByZWN0YW5nbGU8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5z
IGFyZSBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLndvcmtlci5qcwppbmRleCAxOTVmNTAwMDI2ODk4
NmYzZjcwY2U4M2RkMWVhZWViOGU2NGNlOTAzLi5mYWIxYzYzZWNlNTM3ZWE5YTU5ZWMwNjYyZDAy
ODA5Zjc2NGVmNjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNs
b3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBkcmF3biBh
dCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwy
NTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi5pbnZhbGlkLmh0bWwKaW5kZXggZTE1MzM2ODk1MTljNDBkYTJiZGZmNTkwZTJkYTJjNzBj
MTI4MDgwYS4uMGQwN2JmYTY4Y2ExYzAzODM2MGI5Mjk4ZTNlNzEzYTFkNDViMjIxMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5pbnZhbGlkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUuam9pbi5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVKb2lu
IHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVKb2luIHRvIGludmFsaWQg
dmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNiw3ICs0MCw2IEBAIF9hc3NlcnRTYW1lKGN0
eC5saW5lSm9pbiwgJ2JldmVsJywgImN0eC5saW5lSm9pbiIsICInYmV2ZWwnIik7CiBjdHgubGlu
ZUpvaW4gPSAnYmV2ZWwnOwogY3R4LmxpbmVKb2luID0gJ2J1dHQnOwogX2Fzc2VydFNhbWUoY3R4
LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4LmxpbmVKb2luIiwgIidiZXZlbCciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZh
bGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC53b3Jr
ZXIuanMKaW5kZXggMWYzZmI0YWU5Y2NhNzJlZDRkNmNmMzRlMTdmMzlkNGViMjUyOTRmOS4uMDQ4
NjNlNWYwZGNhZmU1ZjUyYjY2YmUwYWUwYzBjZDc4ZTEzNTI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTZXR0aW5nIGxpbmVKb2luIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ2JldmVsJywgImN0
eC5saW5lSm9pbiIsICInYmV2ZWwnIik7CiBjdHgubGluZUpvaW4gPSAnYmV2ZWwnOwogY3R4Lmxp
bmVKb2luID0gJ2J1dHQnOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4
LmxpbmVKb2luIiwgIidiZXZlbCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuam9pbi5taXRlci5odG1sCmluZGV4IDlhNDYzZWQ3YzQ3ZDMyZGM4ZDE2MDEwNzhm
ZGI4MjU4YTM0YjEzMWMuLjQ1ZWI0N2NmMzExZWMyZTU3ZDJlZWYwN2RlMjE5ZTM5ZWI0ODc1YWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5taXRlcjwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5saW5lLmpvaW4ubWl0ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVKb2luICdtaXRlcicg
aXMgcmVuZGVyZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4gJ21pdGVyJyBpcyByZW5kZXJlZCBjb3JyZWN0
bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC01MCw3ICs1NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDg5LDExLCAwLDI1NSwwLDI1NSwgIjg5LDExIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwyNTUsICI5MCwxMCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTEsOSwgMCwyNTUsMCwyNTUs
ICI5MSw5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
Miw4LCAwLDI1NSwwLDI1NSwgIjkyLDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLndvcmtlci5qcwppbmRl
eCAyZDQzMmZjYTk5YWFjM2U3YWY5NDM1ZTAzYmFmNjNhZTU1YmU4OWVjLi4xNzA3MzAxZDEzNjk2
MjEwNDNmNzJlMDUwNWIwODFmNjRiMWFkMWIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5qb2luLm1pdGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5qb2luLm1pdGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZUpvaW4g
J21pdGVyJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg5LDExLCAwLDI1NSwwLDI1NSwgIjg5LDExIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwy
NTUsMCwyNTUsICI5MCwxMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTEsOSwgMCwyNTUsMCwyNTUsICI5MSw5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5Miw4LCAwLDI1NSwwLDI1NSwgIjkyLDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
Lm9wZW4uaHRtbAppbmRleCA4M2I1NWI1MTE2YzNmZTc0NzQwNzVjNDc3ZGYwZTdlMDhjYjM0MmRi
Li4xOTQxYjFhYmY1ODQzNDQ1MzYzYTI5MWU3ZmE5MDUwZDMwZGU2MmI2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLm9wZW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5qb2luLm9wZW48
L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBhdCB0aGUgY29y
bmVyIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIG5vdCBkcmF3biBhdCB0
aGUgY29ybmVyIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwy
NTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4ub3Blbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5qb2luLm9wZW4ud29ya2VyLmpzCmluZGV4IGY4NDY2MzExZTJhYWY3NGFhMTJlZmVmYTcyNmFk
M2E1YjY0NjFmOGYuLjNjYWQ3NGU5ZWEzYzUwYzA2YjU0N2YzMjU5ZmFiZmMzZGUwMzExMGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ub3Blbi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXIgb2Yg
YW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi5wYXJhbGxlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxl
bC5odG1sCmluZGV4IDUyZmEzOTgxMTQ5ZGJjNzllYTk3MTY5NTUxNWM1YTVmZTM4MDIxZGYuLmRj
N2M4YzJiZDY0NWI3NGNiNTk0OGRmNjg1ZDMxZTU3MGYzMTA2MzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxsZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5wYXJhbGxlbDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpv
aW4ucGFyYWxsZWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgam9pbnMgYXJlIGRyYXduIGF0
IDE4MC1kZWdyZWUgam9pbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBkcmF3biBhdCAxODAtZGVncmVlIGpvaW5z
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcwppbmRl
eCBlMTNiMzJkNzU2MWFhMWIwNGQwZDVjMzA5NjQ3OWNmZDA3ZTVlY2IwLi40OWNkYTc2MTNlMWE2
ZmY2NzYzZjZkNGJiOWViZTI4YzhhNjFhMGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTGlu
ZSBqb2lucyBhcmUgZHJhd24gYXQgMTgwLWRlZ3JlZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMw
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4ucm91bmQuaHRtbAppbmRleCAyNmNlMmQ5MzgwMjkxYjlmNDhlY2Y4ZGFhNmU3OTJkYTE5
NGNhYTljLi41NGE5ZWYyODBmNzYxYzRkMjdlNTBmMmM0ZTY5NzczYzUwNzhmZDZkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4ucm91bmQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5q
b2luLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5saW5lSm9pbiAncm91bmQnIGlzIHJlbmRl
cmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtNTcsNyArNjEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxMywg
MCwyNTUsMCwyNTUsICI4NiwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgODcsMTMsIDAsMjU1LDAsMjU1LCAiODcsMTMiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg4LDEzLCAwLDI1NSwwLDI1NSwgIjg4LDEz
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4OCwxMiwg
MCwyNTUsMCwyNTUsICI4OCwxMiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQud29ya2VyLmpzCmluZGV4IDBj
NTE2NjMxOGVmMDJhZWRlODA5MWYwMzJlODBiMzlkZDIzMjQzOGIuLmNjZTg4OGNlOTQ2ODc4MTg5
NTNkOGI0N2ZmMmIyNzMxNjA5YzU1OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmpvaW4ucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpv
aW4ucm91bmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAncm91
bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTUzLDcgKzU3LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMTMsIDAsMjU1LDAsMjU1LCAiODYsMTMiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg3LDEzLCAwLDI1NSww
LDI1NSwgIjg3LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA4OCwxMywgMCwyNTUsMCwyNTUsICI4OCwxMyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODgsMTIsIDAsMjU1LDAsMjU1LCAiODgsMTIiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9p
bi52YWxpZC5odG1sCmluZGV4IDE2Y2UwMzUxNzhlYTljMzQ1MzE2ZTg2MjIwMDNmMmExMzU2ZmVj
YmIuLjczN2ViNDg2NDE0OWQ2OWQ0NzE0MzhiODBkZDE3MzY5YjA4MDdiNjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4u
dmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQgdmFs
dWVzIHdvcmtzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShjdHgu
bGluZUpvaW4sICdyb3VuZCcsICJjdHgubGluZUpvaW4iLCAiJ3JvdW5kJyIpOwogY3R4LmxpbmVK
b2luID0gJ21pdGVyJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywgImN0eC5s
aW5lSm9pbiIsICInbWl0ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4udmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi52YWxpZC53b3JrZXIuanMKaW5kZXggMTYxODAzYjgwMzQ0OGI2OTRm
NzNjODhlNDNlZGUyZWU0M2QzYmNjMi4uNzhmMGE0NTU5YTQ5NjY1NzdlMjNkZWU4MTg0OTMzYjI5
NDNiMDBlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUpvaW4gdG8gdmFsaWQgdmFs
dWVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgubGluZUpvaW4gPSAncm91bmQn
OwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAncm91bmQnLCAiY3R4LmxpbmVKb2luIiwgIidy
b3VuZCciKTsKIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpv
aW4sICdtaXRlcicsICJjdHgubGluZUpvaW4iLCAiJ21pdGVyJyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUuaHRtbAppbmRleCA2MmRlNTMy
MjdmMDBjMTlhNGJiNzRjZDRiYzQ4YzU4OGEwMjdjZjVmLi4xNGE2NWVhNDZlM2FmNTI1M2JhNTdm
YzAwMjg4OTgwYmNjYjAxYTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5hY3V0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxp
bmUubWl0ZXIuYWN1dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5hY3V0ZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+TWl0ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xlczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1p
dGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zOCw3ICs0Miw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS53b3JrZXIuanMKaW5kZXggNjNmOTA5ZTU2NTI1
OTE5OGJhMmVmNTg3MDdlZjJmOWMxZGU0NmQ1NC4uMDg1YTRmMDdjNDRlNmViM2QwM2ZiZjMwMTZi
NjRiMTZiZjM5M2ZiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
YWN1dGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXdu
IGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwy
NTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRl
ci5leGNlZWRlZC5odG1sCmluZGV4IGYxNTMwOWIyZDBkYjc1MTdlNDc1MGRiZmU2MjU0NjFkMjll
ZTQ1MzQuLjg5ZWI1MDkxOGNiZmIxOTIyMWVjN2ZlY2I4YTRmZDM0ZGQxNjQzNjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5taXRlci5leGNlZWRlZDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5saW5lLm1pdGVyLmV4Y2VlZGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9p
bnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcwppbmRleCAwMmIx
NjUzZmRlY2I5N2E4YzJmNWY4Yjc2MjYzNDYzZGU0ZTExODZmLi4zZmNlN2I4NTNkZGNjZGFlNGVj
NjVlZDYyMDdjMDA3MGZhOWVkNWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5taXRlci5leGNlZWRlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBq
b2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAs
MjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC5odG1sCmluZGV4IGU4ZDg4NjNhOWU3YTk5
OGUyZDA0ZGVhOGQzZjJkMzcwNjEzYjJlYTUuLmM3Y2JkODIzNDQ4ZGQ4Mzg4NWIyNjc1YWYxZGIw
ZDNjMDM0YWQzZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmlu
dmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUu
bWl0ZXIuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0
dGluZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
Myw3ICszNyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLjUsICJjdHgubWl0ZXJM
aW1pdCIsICIxLjUiKTsKIGN0eC5taXRlckxpbWl0ID0gMS41OwogY3R4Lm1pdGVyTGltaXQgPSBO
YU47CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAi
MS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLm1pdGVyLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIuaW52YWxpZC53b3JrZXIuanMKaW5kZXggMTYyOGY3ODZkMzQ0NGVjYzg2NmQzYTExMTQz
OGQwOGI4NGY5YzAxOS4uYmQwNWU1Nzc1YzBmNDcyMmVhZDVmMzY0NmU5YmRkNDAxMDE0MzkxYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52YWxpZC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbWl0ZXJMaW1pdCB0byBpbnZhbGlkIHZh
bHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0U2FtZShjdHgu
bWl0ZXJMaW1pdCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41Iik7CiBjdHgubWl0ZXJMaW1p
dCA9IDEuNTsKIGN0eC5taXRlckxpbWl0ID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGlt
aXQsIDEuNSwgImN0eC5taXRlckxpbWl0IiwgIjEuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGluZWVkZ2UuaHRtbAppbmRleCBkNmY4YTYw
NzcyMDY5YTA1MzdhZTlkMmRjMWE5YTQwMDM0ODM1NWRmLi5mNTA5YzViYWU2NmMzYTg1Mzc1YjY1
MjJkMDYzNTRlNWMwMTdkYWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5saW5lZWRnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxp
bmVlZGdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUubWl0ZXIubGluZWVkZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci5saW5lZWRnZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+TWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRl
ciBsaW1pdCBpcyBleGNlZWRlZCBhdCB0aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3Rh
bmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIk1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhj
ZWVkZWQgYXQgdGhlIGNvcm5lcnMgb2YgYSB6ZXJvLWhlaWdodCByZWN0YW5nbGUiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS53b3JrZXIuanMKaW5kZXggYTBkMWFh
YWM3NmY1MzdkMzQyOGFkNjIzODAwOTlhNTlkMWNkYjBkZS4uZDA0ZmEzOWU0MTZlZjNmNjJmZjRj
YWQzZTRmNjAzNTBjOGJmNmEwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIubGluZWVkZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLmxpbmVlZGdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9p
bnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCBhdCB0aGUg
Y29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwy
NTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLm1pdGVyLm9idHVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIub2J0dXNlLmh0bWwKaW5kZXggMmU4N2E4NzMwNzIwYjZkM2IwNDZiMjM0NzJmNTAzMDM2
ZTJkNzRlNC4uNmU0NDBhOWNkZTFkMzE2ZmRlMGJjOGNkZGQ4OTVlMWZiOWVkZGIxMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIub2J0dXNlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUubWl0ZXIub2J0dXNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBhcmUg
ZHJhd24gY29ycmVjdGx5IHdpdGggb2J0dXNlIGFuZ2xlczwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biBj
b3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzgsNyArNDIsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1
NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLm9idHVzZS53b3JrZXIuanMKaW5kZXggNTc5NjM1MmM5YjRlNWU5ZThlZTQwMDZhNTJlNWRj
MmU2MjdlYmMyYy4uNTBjMjJhZjRkYzdhNGYwODlkZGRlZGM1ZmU1MTM4NmExNjQwZTE1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGgg
b2J0dXNlIGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJp
Z2h0YW5nbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUu
aHRtbAppbmRleCBhNzEyMWY1NTBkZDczZTQxZjFkM2ZiZTM0MTYzMmE1ZjZmMzY0YTMwLi42ZTJh
OTZiYmU1NDIxZWFlNTQ2MDgyZDY1NDNkNzVlYWM3NWVkNTRiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
bGluZS5taXRlci5yaWdodGFuZ2xlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBh
cmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCBy
aWdodCBhbmdsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0
IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCByaWdodCBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAs
MjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUud29ya2VyLmpzCmluZGV4IDcxN2Q3ZjIzMDdkYjc2
YWZkMzc1NTMyMzU1YTc2M2IyYWM5NGI1ZGYuLjM2ZTI1ZmIyMmI4YWNlNmYwYzdiZWY3N2IyMGIw
MzNlN2RiMzNkNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJp
Z2h0YW5nbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnJp
Z2h0YW5nbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBh
cmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkLCBvbiBleGFjdCBy
aWdodCBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAs
MjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxp
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQuaHRtbAppbmRleCA4
Y2Q4NmI4NDdhYWIwNDgyMjI4OWYyMDdmZGYzOTFlNjk4ZDRhYmQwLi5jMGU2ZWUyYmViOTQ2OWM4
ODdiOGMwODAxODZmZGIyYmE3YzIwNGZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5taXRlci52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUubWl0ZXIudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5taXRlci52YWxpZDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2V0dGluZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3JrczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRp
bmcgbWl0ZXJMaW1pdCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5taXRlckxpbWl0ID0gMS8xMDI0OwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQs
IDEvMTAyNCwgImN0eC5taXRlckxpbWl0IiwgIjEvMTAyNCIpOwogY3R4Lm1pdGVyTGltaXQgPSAx
MDAwOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEwMDAsICJjdHgubWl0ZXJMaW1pdCIs
ICIxMDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLm1pdGVyLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLnZhbGlkLndvcmtlci5qcwppbmRleCA2MGFmMTk1M2JlN2E3NDUxZjBmZjkwYzg0YTdk
YWNiOTgwNjc1ZjUxLi45OTJkMzdkMjFhZTA5Njg2MjQ0ZmVhOGMzNTIzZGJlYzgyMWU1Y2NiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIG1pdGVyTGltaXQgdG8gdmFsaWQgdmFsdWVzIHdv
cmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubWl0ZXJMaW1pdCA9IDEvMTAyNDsKIF9h
c3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLzEwMjQsICJjdHgubWl0ZXJMaW1pdCIsICIxLzEw
MjQiKTsKIGN0eC5taXRlckxpbWl0ID0gMTAwMDsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0
LCAxMDAwLCAiY3R4Lm1pdGVyTGltaXQiLCAiMTAwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5odG1sCmluZGV4IDEyZjEwYjI2OGNi
ZDI4ZGY5YTAxNTg1ZWVhZjM1ZjUxZWJlMTNjNmQuLmI4ZTBhZTIxZmZiZGNkNzY2Y2QwMjU1NDAx
MGU4N2QxMjM5NzZjY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LndpdGhpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5l
Lm1pdGVyLndpdGhpbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLndpdGhpbjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+TWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIG5vdCBx
dWl0ZSBleGNlZWRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBp
cyBub3QgcXVpdGUgZXhjZWVkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgs
IDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci53aXRoaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0
aGluLndvcmtlci5qcwppbmRleCBjMmU5NDYzNWI2ZTdmZmRhYTgwMjAwZGE2NzIyZDAyM2YyMzU0
NzZlLi4yMDJjNGVmNTczMTA2YjBlYzNhNjI3NTY5NGY2YjI4NzZiOTZiYTgzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRoaW4ud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBp
cyBub3QgcXVpdGUgZXhjZWVkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgs
IDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51
bmlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24uaHRtbAppbmRleCA2MjZh
MWE1ODUyZTY5MWY0MDQ0MjkwNzdmNjljMWEzYjRlOWYzZjZjLi4xNzg1MjdjNTJiODc5OWU4NDM5
MTIzZWEwZWRhNDFiYjhhZDE4ZmM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS51bmlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUudW5pb248
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQubGluZS51bmlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMs
NyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1
NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUsMCwyNTUsICIyNSwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS51bmlvbi53b3JrZXIuanMKaW5kZXggZTJjNjY2ODliODRhYzRjMTJhNDYyMzEzZjIz
YzQwYjI1NmY4MzUyNC4uNDNjZTZiN2QwNjhiNWM4NTUyZjdmMzI5Y2Q2MTM4Zjg0ZDk1MzFmNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMSwgMCwyNTUsMCwy
NTUsICIyNSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMuaHRtbAppbmRleCAx
ZGQxYmJmN2JkZGQzN2QxNzExYjI4YzQ4NmRmM2IyYzAxODBlMmMzLi5iNmI5MGExMjAwYjMxN2Jj
ZGM5Y2VkODY2YmNhMjFjMTk0Mjc2ZTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS53aWR0aC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRo
LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUud2lkdGguYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS53aWR0aC5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+bGluZVdpZHRoIGRldGVybWluZXMgdGhlIHdpZHRoIG9mIGxpbmUgc3Ryb2tl
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImxpbmVXaWR0aCBkZXRlcm1pbmVzIHRoZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC00OSw3ICs1Myw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAsMjU1LDAsMjU1LCAiODUsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDI1LCAwLDI1
NSwwLDI1NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2ljLndvcmtlci5qcwppbmRleCBlMWU4
YTA1ZDQwZWQxMWVhZWUyOGZhZWFhNDE4ODY3NjgwMGMzMWE5Li5mMzEyMGI2YjU4NjY4ZWQ0NTJh
ZTJkNGNlZTViMWU0NjhiYjcxMmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS53aWR0aC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lk
dGguYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lV2lkdGggZGV0
ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDUsNyArNDksNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODQsMjUs
IDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwyNTUsMCwyNTUsICI4Niwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwKaW5kZXggMmY3MmM4ZDA3YWU5MjQ1ZjdkZTZmZDg0
N2IzOWQ3ZDNkM2Q2NWFiOC4uNmM2MDkxNDJmMDg4NWY4ZWUwYzlhODk0MWU4ZTZkM2E5MDM4YmQ0
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0aC5pbnZh
bGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmxpbmUud2lkdGguaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0
dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZVdp
ZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBA
IF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41Iik7
CiBjdHgubGluZVdpZHRoID0gMS41OwogY3R4LmxpbmVXaWR0aCA9IE5hTjsKIF9hc3NlcnRTYW1l
KGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgiLCAiMS41Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFs
aWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3Jr
ZXIuanMKaW5kZXggMmMzYmU4MmE4ZTI4ODc0NjE0ODMwMDYyODE1YjgxODU2Y2M5YWM2Zi4uMzdl
MjcwNzM0YTZmMTVkOGZjNGI3OGRiZjBmMzQ2MjYyMjdkNmFiNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNldHRpbmcgbGluZVdpZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0
eC5saW5lV2lkdGgiLCAiMS41Iik7CiBjdHgubGluZVdpZHRoID0gMS41OwogY3R4LmxpbmVXaWR0
aCA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEuNSwgImN0eC5saW5lV2lkdGgi
LCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUud2lkdGguc2NhbGVkZWZhdWx0Lmh0bWwKaW5kZXggYmI0NjA3ZmZjMThmODdlNmU4ZDBmNWRh
ZmM1Yjk5NDYzY2RiNWNiNi4uZTJlMzZjOGM2ZDQxMjQ2OGQxYzU1OWRjOTMwYWYxNzY1NWNlODgy
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUu
d2lkdGguc2NhbGVkZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0PC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5EZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBhZmZlY3RlZCBi
eSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJEZWZhdWx0IGxpbmVXaWR0aCBzdHJva2VzIGFyZSBhZmZl
Y3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNSwgMCwyNTUsMCwyNTUsICI1MCw1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcwppbmRleCA3ZmVkYWVkYWU0
YzdiM2ZjMmQyNDBiMzBiN2JiODJmNDdlNDYzODkxLi5jZmY2OTMwMmFiODYyNGJjMmQ2NTczOTJm
Y2VhNDE2ZjUyMjY0ODY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0
aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndp
ZHRoLnNjYWxlZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1
bHQgbGluZVdpZHRoIHN0cm9rZXMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9u
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw1LCAwLDI1NSwwLDI1NSwg
IjUwLDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9y
bWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1s
CmluZGV4IDcyMzcwZjU5MjY2YzM4NjlkMGFlZjI4NjdmNDNiYTRmN2Q0N2UzYzMuLmU5OTc3MGQx
NzkwYjc3ZjdmYjIwMGExYjZmNjcxMDU5OTAzYzNlZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5s
aW5lLndpZHRoLnRyYW5zZm9ybWVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIHN0cm9rZSB3
aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9uczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgc3Ryb2tlIHdp
ZHRocyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTUs
NyArNTksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgODQsMjUsIDAsMjU1LDAsMjU1LCAiODQsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDI1LCAwLDI1NSwwLDI1NSwgIjg1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwyNSwgMCwyNTUsMCwy
NTUsICI4NiwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC53b3JrZXIuanMKaW5k
ZXggN2JkNGVmYmFkZmY5YjQzYzIwNmUwMWJjNmI2NTBjNjc1NzdkMjY2ZS4uY2JkY2EzN2FkMzEw
OWFmZjc0MDI5NWY4Njc2ZDU3OTcwZThhYjdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiTGluZSBzdHJva2Ugd2lkdGhzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1h
dGlvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC01MSw3ICs1NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAsMjU1LDAs
MjU1LCAiODUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDg2LDI1LCAwLDI1NSwwLDI1NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC5odG1sCmluZGV4
IDZjZmIxOTliYzVmY2UwZWMxNWNmYTEwNjJlMjdkZmZlN2QyNGZiOGIuLjg5YTk2YWIyNzgxYzIw
M2JlY2UxZTU4ZWM5ODBjMmMyZDg4OWNiYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLndpZHRoLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lk
dGgudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQubGluZS53aWR0aC52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLnZhbGlkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3M8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0
aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5saW5lV2lkdGggPSAxLzEwMjQ7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAx
LzEwMjQsICJjdHgubGluZVdpZHRoIiwgIjEvMTAyNCIpOwogY3R4LmxpbmVXaWR0aCA9IDEwMDA7
CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxMDAwLCAiY3R4LmxpbmVXaWR0aCIsICIxMDAw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLndpZHRoLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRo
LnZhbGlkLndvcmtlci5qcwppbmRleCA4ZTc0OThmZjI1ZmUyN2U2NTBhN2Y5MDY4NjNjZTQ2ZWI2
YTA1ZTEwLi43ZmE3ZmU1MDc1YWI1MGU3NWViZTU1Y2VkNGRkZDlkYzdhYWIyYWE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTZXR0aW5nIGxpbmVXaWR0aCB0byB2YWxpZCB2YWx1ZXMgd29ya3MiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5saW5lV2lkdGggPSAxLzEwMjQ7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZVdpZHRoLCAxLzEwMjQsICJjdHgubGluZVdpZHRoIiwgIjEvMTAyNCIpOwogY3R4
LmxpbmVXaWR0aCA9IDEwMDA7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAxMDAwLCAiY3R4
LmxpbmVXaWR0aCIsICIxMDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwKaW5kZXggMWE0Y2ZlOWNjNjY4NDUwNmRiZTUyNmVi
NGRmOTA0Y2NlOWIxYzFkZC4uMDAwZmI1NTM1ZGMyMjg0MjljMjQ2YzJjZGZlNjg2NDVlMDRjOWVl
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJh
d3MgcGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBwaS8yIC4u
IC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4
Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAtTWF0aC5Q
SSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIuanMK
aW5kZXggMTg1MzZjOTg4ZWI5ZTE0YTg3MjA1Y2E1NTA1MmU2NzA5MmZjZmFhNC4uZGEwNTdlZDM3
ODI5YWE5OTU3ZjUxMmMyODNhZTNiNzM1ZGU2NDBjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLmFuZ2xlLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJh
cmMoKSBkcmF3cyBwaS8yIC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwg
TWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjIuaHRtbAppbmRleCBhYzFhNWE2NjI5NjFiMDQ3YmViYmZlNzg5YWI3MmNlMzBmNDExM2JjLi45
YTljNmNkMjBkOGRlNTY4ODg2YTM2NTEzYjQ5YTA3OGU4Nzc1MTRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5h
bmdsZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyAtM3BpLzIgLi4gLXBpIGFu
dGljbG9ja3dpc2UgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgLTNwaS8yIC4uIC1waSBhbnRpY2xvY2t3
aXNlIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDAp
OwogY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi53b3JrZXIuanMKaW5kZXggN2E3ZGVm
OTc4YTZhNDNkMzExODc5YjZmY2QwZGM4ZmMzNWY2Y2VkZS4uZjFiMDdlYWQ1ZGEyZDBmY2I0NzM5
ZWVkZTk5NDdmZjg1YjQ2Yzg2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5hbmdsZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyAt
M3BpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAtMypNYXRoLlBJ
LzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LmFuZ2xlLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5odG1s
CmluZGV4IDA2ODQwMjQwNzgwZGYzNThiMmY2ZDZhZWM5OTRlOTVkNzQ1Y2U0MzUuLmYwNmQ3MDBh
NmZkZDgxMTcwOTViNTBhMjMwOTI1NjdkMWRlMzc2ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuYW5nbGUuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmFuZ2xlLjM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdoZW4gYW50
aWNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkg
d2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsICg1MTIrMS8y
KSpNYXRoLlBJLCAoMTAyNC0xKSpNYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4zLndvcmtlci5qcwppbmRleCA0YzRiZmE4OTkyY2UwZWY5MDU0ZTdjOTUw
NWVlM2M4NzZjMzcwZmY0Li4wZWE2N2M1OGU0MGRhOTliNzk2MjFiYWM4YWIxYTU2YjVlMTRjYWQy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdoZW4g
YW50aWNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoNTEyKzEvMikqTWF0
aC5QSSwgKDEwMjQtMSkqTWF0aC5QSSwgdHJ1ZSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5hbmdsZS40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFu
Z2xlLjQuaHRtbAppbmRleCBmNDc2NjljY2Y5ZmFiMjE2YTUyYzRiMDU4NWQxMzIwODAwOTJlNDVm
Li5iMDc2YzU5YzU0ZGVhYzY3ZDc5ZjBjZGNmOTk3NGM0ODczNzRiODBmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFy
Yy5hbmdsZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xl
IHdoZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwgY2ly
Y2xlIHdoZW4gY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICsz
MSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5hbmdsZS40Lndvcmtlci5qcwppbmRleCA2NzU4MDhjOTczNWNhYjYwMmVj
YmMxNmI1MDNjNDMwOTFlMmE4ZGZkLi5jNmQxOWM2MGMwMmU2ZTQwMmQyY2NkNmYyNjAxZjY2MWE4
YzcyMDgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUg
d2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5hbmdsZS41Lmh0bWwKaW5kZXggOTAyMGZmMTllOGM3MThiMjliNWI5NTJjMTdmYmRiZGMx
NzczZTQ5Mi4uNDg2OTMxZjAzZTNjYmQ0NTM4NWY1M2YxZDc5ZWU4ODZjOWYzMzM5ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5hcmMuYW5nbGUuNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd3JhcHMgYW5nbGVz
IG1vZCAycGkgd2hlbiBjbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaTwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdyYXBzIGFu
Z2xlcyBtb2QgMnBpIHdoZW4gY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAs
ICgxMDI0LTEpKk1hdGguUEksICg1MTIrMS8yKSpNYXRoLlBJLCBmYWxzZSk7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS53b3JrZXIuanMKaW5kZXggYmE1YzUyMTk4YzlhZTli
ZjlmNDg2NjNhOGYxYmYyNGFkOWI0ZmE3Ni4uZGMzMjAwZDIzYWE2YmYwZWMyOTExOGUwNjI1OTA0
Zjg3ZmUxMDY4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmds
ZS41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMgbW9k
IDJwaSB3aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAoMTAyNC0x
KSpNYXRoLlBJLCAoNTEyKzEvMikqTWF0aC5QSSwgZmFsc2UpOwogY3R4LmZpbGwoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5hbmdsZS42Lmh0bWwKaW5kZXggOWE5ZDlkZDVjYmM5ZDY3NDg1NTBlNTY3NDJhMjkwYTc4
MDBkODM1Zi4uN2ViNDY2YWY0YmUwYmNhZDUzYjBmMjI1YmEzNjk2NWEzODA1MjFmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjY8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5hcmMuYW5nbGUuNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBmdWxs
IGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdz
IGEgZnVsbCBjaXJjbGUgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lndvcmtlci5qcwppbmRleCA3MjAx
YjY5ZGJhMWNkMjUwZmI0MTM5NDEyNjYyN2UwZmUzY2YxNjcyLi40ODYwMjdlMmU0MTY0ZDM3NGY3
NzhhMWE1ZTUwYzhlMDEwNGQ2MmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmFuZ2xlLjYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuYW5nbGUuNi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdz
IGEgZnVsbCBjaXJjbGUgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1sCmluZGV4IDA3N2ZlODg4MzczNTMx
Y2JiY2U4Nzg2NzZlYTljZDJiN2Y3MGViMjEuLmVkMjcwNDA4OTZlMDRmYmEyMzJlZDY5ODUwMjJm
YTcwNDY1MTllMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVm
YXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFy
Yy5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmFyYygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lzZTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
YygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRzIHRvIGNsb2Nrd2lzZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAs
IDE1MCwgLU1hdGguUEksIE1hdGguUEkvMik7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
ZGVmYXVsdC53b3JrZXIuanMKaW5kZXggZjZkYjQ5ZjBkMmQ4YmE5N2JiMmE5MjM2MDRjNTgyMGVm
NWYyYjRhZi4uMGVhZjhiYWM2ZGJkZGIzMGIyNjdlYzVjYzNmNGU5NDllOGFkNDY5NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZhdWx0Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1bWVudCBkZWZhdWx0
cyB0byBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAw
KTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuZW1wdHkuaHRtbAppbmRleCBlYzY2OWIwNDllNWI1MjY0NjU4NjdkNTY1NWQx
NmNjNzE3MTI3YzA1Li45OWI0M2UwN2M0NTllNThlNTRkN2YyNWUxYWM4ZmEyNzQ2M2EyOTMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5lbXB0eTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBhbiBlbXB0eSBw
YXRoIGRvZXMgbm90IGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygp
IHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5vdCBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUg
c3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0
eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMKaW5kZXggZjc4ZTRhOTJhM2FjODU5N2I1YTA4ODI3
OWQ0ZWVlZGY5YzE3ZGUyNy4uYmRhZDc3Nzk4MDc5OWFlNGQzOGUyOGRhOGIxN2ExYjlkYjM5OGI4
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggYW4gZW1wdHkgcGF0aCBkb2VzIG5vdCBk
cmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJ
LCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC5odG1sCmluZGV4IDY0OWMzMDQzNjk2
OWVmMDdlNjUwMjcxMmU0ZjZjMDFmMmU5YTNmYmMuLjJhOTA4YWYwNzdlOGZiZDI1ZTIzNTIxZjE1
YmJiODU0MzAwYmRiZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
ZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuZW5k
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnBhdGguYXJjLmVuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgYWRkcyB0
aGUgZW5kIHBvaW50IG9mIHRoZSBhcmMgdG8gdGhlIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBhZGRzIHRoZSBlbmQg
cG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAg
Y3R4LmFyYygtMTAwLCAwLCAyNSwgLU1hdGguUEkvMiwgTWF0aC5QSS8yLCB0cnVlKTsKIGN0eC5s
aW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVu
ZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC53b3JrZXIuanMK
aW5kZXggMzc4MmE2ZDgyY2ZiMTEyNTAzYTc1MDBkN2ExZWJiYzE3ZTQwZGMyOC4uZWRiYjczMjQ5
OTdlMGJmNjUwN2Q4MzlhODE5NzY4MWQ2OGFmMTE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5lbmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuZW5kLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgYWRk
cyB0aGUgZW5kIHBvaW50IG9mIHRoZSBhcmMgdG8gdGhlIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5hcmMoLTEwMCwgMCwgMjUsIC1NYXRoLlBJLzIsIE1hdGguUEkvMiwgdHJ1
ZSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdh
dGl2ZS5odG1sCmluZGV4IGM0NmQ1NmNlODE5OTgyMDU2ZWQyOTkzZDk3MDAxNmVhYjQ1M2VmZjUu
LjM4YjdiODY3OWVhZTg0ZTdiNDQ3MjgxN2QxYTU3MGI2ZjUxNTZlYTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YXJjLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIG5lZ2F0aXZlIHJh
ZGl1cyB0aHJvd3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhy
b3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguYXJjKDAsIDAsIC0xLCAwLCAwLCB0cnVlKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMK
aW5kZXggZTM4OWFhZmJmODZhZTk5YzE2ODNhNDdkNDU2NGI2NTdkYzQwNjgzMi4uZTg0ODhhMGFi
YmEyM2UxODFiZjJiYTZhMTA0Zjk4MTg4NDM2M2QwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgSU5ERVhfU0laRV9FUlIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90
aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5hcmMoMCwgMCwgLTEsIDAs
IDAsIHRydWUpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5ub25lbXB0eS5odG1sCmluZGV4IDc1YzcwZGE0MjY1MDQ1MDA2NTVhMTM2N2RiZjJj
ZDU2ODc2MGJjYTUuLjBmODkyZDg2OTJmZTFiNGVhZTZlNTZiZjU1NzgxNGU5NDMxYzkyZDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1wdHkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLm5vbmVtcHR5PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguYXJjLm5vbmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRo
IGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQg
cG9pbnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmMoKSB3aXRoIGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQgbGlu
ZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5tb3ZlVG8o
MCwgMjUpOwogY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndvcmtlci5qcwppbmRleCA0NDQ2NjU0
ZGFjYzU5OGE3Y2Q3YmMyZDk4NDUxN2IxNmQ1ZDFlYTIyLi4wMmRjZDdiOGJkNmVhOGRjZDY1NTk1
NTcyMDRlNmNjOWQzM2IzODRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLm5vbmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
Lm5vbmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBh
IG5vbi1lbXB0eSBwYXRoIGRvZXMgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBv
aW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmMo
MjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJLCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLm5vbmZpbml0ZS5odG1sCmluZGV4IGU2NzQzZTQxZmM2Y2Y3ZjRhNTM4OTc1NDE4NmY5Mjhi
ODEzM2Q2NTUuLjI4ZTRhOGQzNzY1YmZkNmI2Yzg0NTIwZDZiZDlmN2NiNTRjZTE1OTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMubm9uZmluaXRlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguYXJjLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC02Nyw3ICs3MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmlu
aXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLndv
cmtlci5qcwppbmRleCA2YTgxY2ZlYzUwM2MzMGQ3ZTgzZmRkOTcyODUwNDhjZTUxZTYwZGRkLi5j
ZTNmODJhMDIyODJmODg0NzMwZjIyNTM2NzQwZjc2YTg4OTAwMDk0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmMoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NjMsNyArNjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUs
MCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1sCmluZGV4IGQ2ZGQ3OTMwOWRkMjEx
ZDZjZTExZDEwNDhiYzljMTdjNjk5MTllMWQuLjZlOTczYzM0OGVmYTliOGQxZjg0MzhhMDBkODQw
YjYzNjBjNjFhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Nh
bGUuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFy
Yy5zY2FsZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNjYWxlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
Pk5vbi11bmlmb3JtbHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi11bmlmb3Jt
bHkgc2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTks
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNjYWxlLjEud29ya2VyLmpzCmluZGV4IGYzNWJhNDU5YWZkZjM1ODkz
NzUyMGYyNTg1ZjM0NDVhYzc0ZWNiZTcuLjI3ZWQ4NDRhOWVmMjkzY2NiNGExMzlkMzcxN2Q2ZmU1
MzhjMzI0OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUu
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTm9uLXVuaWZvcm1seSBzY2FsZWQgYXJj
cyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzksNyArNDMsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUs
ICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zY2FsZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNj
YWxlLjIuaHRtbAppbmRleCBjM2RmZGRlZjEyYzQ0YzNmNWZmNDkzOWRlNjFhNzI3OTQ0MmFlYjM1
Li44ZTU3YjBjNmIwYzlmZGE0YmYxYTZjMGE3ZjdmOWMxZGUxZDJiOTYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2NhbGUuMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFy
Yy5zY2FsZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5IaWdobHkgc2NhbGVkIGFyY3MgYXJlIHRo
ZSByaWdodCBzaGFwZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkhpZ2hseSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwg
MCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi53b3JrZXIuanMKaW5kZXgg
NGFjZTAyMThhZjczZWVjOGRiY2EzNmUzNjYwNjI0OTFkNjk5YmM5Yi4uOGNiMTRlYjk0YzEyZTg0
OWFhYTNjMmQxZTBkMGY5ZTU5ZTg1OTg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnNjYWxlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJIaWdobHkg
c2NhbGVkIGFyY3MgYXJlIHRoZSByaWdodCBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS5odG1sCmluZGV4IGZiYWI1ZDExZjIwY2Rm
ZTMwZDJiZDk2MTNhZDgxOWI1ODA0NDlhNmQuLjk1YmQ4N2EyMjAyOGEwYjVkYTVhYzZhYTAwMTA2
NTZhYTkyMjRjNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Vs
ZmludGVyc2VjdC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxm
aW50ZXJzZWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNlbGZp
bnRlcnNlY3QuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd2l0aCBsaW5lV2lkdGggPiAy
KnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMg
aXMgZHJhd24gc2Vuc2libHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5hcmMoMCwgMCwg
MjUsIDAsIC1NYXRoLlBJLzIsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzCmluZGV4IDMx
NDgzNTQyMzU2MmM3MGFmYmM5MDMzNmJjODJkOGE5MzMyMGVlZGIuLjJiMmI0NzZiNTk3MGE3NWU4
YzlhYmFiMGZlMzU2MjA4MDE1NjA1YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2libHki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5hcmMoMCwgMCwgMjUsIDAsIC1NYXRoLlBJLzIs
IHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zZWxmaW50ZXJzZWN0LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2VsZmludGVyc2VjdC4yLmh0bWwKaW5kZXggZTk2YjhmMmJjOGJiYzE4ZWE5ODJkNjA3NzBmMmQ3
ODViYWVlYTUyNi4uODU3YjdjMTA1ZDQzN2E5NDc0MDIxNTllMjc2NDQ4MTIxYTc4NDM5YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFy
Yy5zZWxmaW50ZXJzZWN0LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXdu
IHNlbnNpYmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTcsMSwgMCwyNTUsMCwyNTUsICI5NywxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5NywyLCAwLDI1NSwwLDI1NSwgIjk3LDIiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDMsIDAsMjU1LDAsMjU1LCAiOTcs
MyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMiw0OCwg
MCwyNTUsMCwyNTUsICIyLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4y
Lndvcmtlci5qcwppbmRleCBiZjI5Y2QxMmRkYzUzMmVmNGZiNTJhOTFhYmYzNjQyNDZlYmVmZWVk
Li5iMmViM2UzMDcwMTBmNzlkNDRhNjNmMjM5NjJkOGU2ODU2MWJlZTc5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVz
IGlzIGRyYXduIHNlbnNpYmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5NywxLCAwLDI1NSwwLDI1NSwgIjk3LDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk3LDIsIDAsMjU1LDAsMjU1LCAiOTcs
MiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcsMywg
MCwyNTUsMCwyNTUsICI5NywzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyLDQ4LCAwLDI1NSwwLDI1NSwgIjIsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy5zaGFwZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEuaHRt
bAppbmRleCA4YmU2MmExZGJhMDliMzAwM2Q3YjhlZjYwNjRmNzUwNGNmY2FjY2I1Li40YTUwNDFh
OTA0NmIzZjY2ZjQxNmQ2ZGI3NDQzM2IyMWM3NjljYjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zaGFwZS4x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gcGkgZG9lcyBub3QgZHJhdyBh
bnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5vdCBkcmF3
IGFueXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjAsNDgsIDAsMjU1LDAsMjU1LCAiMjAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnNoYXBlLjEud29ya2VyLmpzCmluZGV4IDNiZTZiYzZmZDQ1ZWE0OWViOTA5ZjZhZGJk
OTUyODNjN2NlZmY4ZjkuLjQ1YmYzYjFkZWYzNzk4M2NhNGQ5MjExYzNmZDM0NmY4ZDYyMTcxMTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIHBpIGRvZXMgbm90IGRyYXcg
YW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zaGFwZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnNoYXBlLjIuaHRtbAppbmRleCBkOWI1M2Q5ZGI3N2Q0NWRkNGRlZjZjMWU4ODJiMDM3ZDliZWUx
ODBiLi40MmZhNDA4YjQxNDJiZjI4ZmVlMzFhYWEwZWMxZmFmOGUzNmFlOGYxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmFyYy5zaGFwZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gcGkgZHJh
d3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IGhhbGY8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1ZmYg
aW4gdGhlIHJpZ2h0IGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCw0OCwg
MCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hh
cGUuMi53b3JrZXIuanMKaW5kZXggOThlN2IxZGRjNWZkNzA4ZTc3ZGRhNTgxNWY5OWZjMzY0NDEy
NDUzZC4uNWU4OTUzMjBlYjU4ZGQxZDA0NGQzN2FkNTJjODc0OWY2NTdmYmY1NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0
IGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCw0OCwgMCwyNTUsMCwyNTUs
ICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMuaHRtbAppbmRleCAw
M2I0NGQ3NzJhYzVmMmQ4ZjU2OWQwNjYwNjkzMjVmZmMxOWJiYjVkLi5kZDUxZGExMDIzOWFkNDQ4
M2ZiYTA2NTYxNWQ3NTY2N2IzMmMyNTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnNoYXBlLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmMuc2hhcGUuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zaGFwZS4zPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gLXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0aGlu
ZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gLXBpLzIgZG9lcyBub3QgZHJh
dyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zaGFwZS4zLndvcmtlci5qcwppbmRleCAxZjA5ZjU4NmFlZWZjZjQyMDk2ZmViNzE1
YjVlNGZjZWI3Y2Q2MGMyLi41ODNjZjZkYWQ4N2NkYjYzOWMzYWY0ODkzYzRlYmMzNWM3MGJiMTBm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5vdCBk
cmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy5zaGFwZS40Lmh0bWwKaW5kZXggNjg3NjdkZTUyNWY4YWU5OTA0YzNmZmQxNDQzYzQzMzZk
OGE0OTU5MS4uYTY2YWQxMWJiODAwNDA4NjAwZTdhMjk2NTc3MDcxNDhiMTcwZDcxZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBlLjQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5hcmMuc2hhcGUuNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZnJvbSAwIHRvIC1w
aS8yIGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBxdWFkcmFudDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkv
MiBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5zaGFwZS40Lndvcmtlci5qcwppbmRleCBkMjk5YzViNjc1Y2UzMDBjMmI2N2Y0
YjgwMTM1Mzg4OTA4ZTAxY2JmLi41Zjg2ZjJjMDIzY2Q4MTdhNjE1ZWY5NjQ1ZmFhNjY1ZDIxZWFm
NTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkcmF3cyBz
dHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hh
cGUuNS5odG1sCmluZGV4IGU2YTJhYWRiYzgyZDZjZGNjYjRiMjhmNWY5NmMwMTUyMGY2ZjYyYmQu
LmE0YTlkY2ZkMjExY2JjZmQ1NjQwNDEzNjJmMWI5YmM2MjhkMTM5ZDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS41PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LnNoYXBlLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byA1cGkgZG9lcyBu
b3QgZHJhdyBjcmF6eSB0aGluZ3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcgY3Jh
enkgdGhpbmdzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3JrZXIu
anMKaW5kZXggMjFhMGNhM2M3N2Q5YjE5Y2YwNTdkYzk1YThlZjRhNmU5Y2ZmZGU4Yi4uMmM3N2Jl
NjQ0OWVlOGQwMmZjNzdlODIxOGYwMjlkYzRjZTNlMGExZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnNoYXBlLjUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcgY3JhenkgdGhpbmdzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS5odG1sCmluZGV4IDU1OTVlMzI4NGE2ZTkzMDA2
NzgxZDI1M2Q0YjgxNGY2YjVjZDdhYWQuLjQwYmI1NzY0YWM0NjcyOTlkMjg2YmY1NGZhYTBiNDUy
Yzc5OTNiN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGll
LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
LnR3b3BpZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgYW50aWNs
b2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBh
bnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBj
dHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQsIHRydWUpOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAi
NTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLndvcmtlci5qcwppbmRleCA1NTI1NTcxNTRh
MjEwZjRhNWU2MDUyNWI1YzA2NjBkOTI0YmQwN2VlLi5jMjg1MmYzODdhZDE1YTBhMjY4NWFkNDAx
YzY2NDBlZDFjZWRiYmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90
aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwg
MipNYXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnR3b3BpZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3Bp
ZS4yLmh0bWwKaW5kZXggNGVhNDJiMmQzZWNmMGFmMzg1MDJlMzgxMTc3OWU0MWY4YjNiODU3Yi4u
MDkwMTRlN2M3YzAyZTllMzhmM2U5NTg4MjAyOThmYzUzOTdiZDIzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMudHdvcGllLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMudHdvcGllLjI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5h
cmMudHdvcGllLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIGEgZnVsbCBjaXJj
bGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1
bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgY2xvY2t3aXNlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAs
IDIqTWF0aC5QSSAtIDFlLTQsIGZhbHNlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMudHdvcGllLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy50d29waWUuMi53b3JrZXIuanMKaW5kZXggZDlmNDFkODVkYThjYmE3MGM2NTc0MzBlNjQ3NTMw
YTczMjFkMWUyOS4uYzA3ZmQxY2ViMTIwYTI0YzExZTJlMGIyZDI5MmYzMWQ1Mjc1OGRkMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBlbmQg
PSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0
eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJIC0gMWUtNCwg
ZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMy5odG1sCmluZGV4IDAx
YmFlMDc0ZGI4MDYyNjEwMDYwODc4Nzc4N2RiNzY5ZWNiMDFkYWQuLjJiYzAwMDg3N2Y0MDg5OGZl
ZDE2ZGY4Zjc2ODBmYjM3YmNkZDE5ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMudHdvcGllLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGguYXJjLnR3b3BpZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnR3b3BpZS4zPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3Rh
cnQgKyAycGkrZSBhbmQgYW50aWNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hl
biBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5Q
SSArIDFlLTQsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50
d29waWUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4z
Lndvcmtlci5qcwppbmRleCA0MWM0MDBlN2YxMzEyMTc1ZWFmMWJmOWU4ZjhjNjc5NmZmMzk0ZWRl
Li5lZWNjZTA1YjhjNDQzZDE3NmI4M2UwZTVjNjU3ODZjMjYyYjBkNTFkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9IHN0YXJ0ICsg
MnBpK2UgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdp
blBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJICsgMWUtNCwgdHJ1ZSk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwy
NTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lmh0bWwKaW5kZXggOTkwNjM3NzA0
NWE5MWY2ZGRlN2VkYTY4MTAyZjc1ZGY2MmY4ZDEyZC4uZjVmMDVmYzhhM2Q3OWY1ZjU3ZTU3MGEy
ZWIwZDE2NGI4NWJkM2IyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy50d29waWUuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGll
LjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0aC5hcmMudHdvcGllLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMudHdvcGllLjQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFu
ZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGkrZSBh
bmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBj
dHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFlLTQsIGZhbHNlKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwg
IjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC53b3JrZXIuanMKaW5kZXggMjQxMDcxZmQ4
MzUwNjA0NWY2ZTAwNTM5Mzg2NDRkMGRhOTNlZjdhYy4uNjE4ZmQ0MjY1ZGFjZThjOGIxYjBiYjg1
ZTUxMTcxZDQ4YTJkMjNiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy50d29waWUuNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50
d29waWUuNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5v
dGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJICsgMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyYy56ZXJvLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLmh0
bWwKaW5kZXggNjBiNzNlMDQxZmQwMmQzMjJjZjkwM2E4NmVmMjhmZmEzZGNjODhjNi4uYmY3NzQ4
NmVmYWU0ZWIxNzFlOTcwY2I5YmQ2ZTlmNzNhNTI1NmY0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnplcm8uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy56ZXJvLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyby4xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9
IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0YXJ0
QW5nbGUgPSBlbmRBbmdsZSBhbmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCB0cnVlKTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSww
LDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4xLndvcmtlci5qcwppbmRleCA5MWYxNWQ0
ZTk1Njc5NGVjZjU1MWNlMzdhNjk5YTk0NTgyOTgxNmMwLi40ODljMWU5NTA2ZTI0MDJhZmViMGI5
NDFmYjU4ZDZmMmNjYzMyZmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnplcm8uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56
ZXJvLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3Ro
aW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAs
IDAsIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLmh0bWwKaW5kZXggMzA2
ZTUzMTI4MDdiOGU2OGRiNzNhYWFhNDhhNjA0NGJjYzEwZmY0ZS4uNzMwZTJmNjVjMDkwOTExZWVj
ZDI0N2I5YTRlMTc4YWExYzI0N2FlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy56ZXJvLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnpl
cm8uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyYy56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyby4yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5hcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFu
ZCBjbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xl
IGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy56ZXJvLjIud29ya2VyLmpzCmluZGV4IDQyMzhiN2RhYzg2OTM2YjcyN2RjOWNiYzFi
NDI0YTgwMzE1ZWI2MjcuLmRhZDI1ZmJmZWU1YjRhMTA4YjhiMTg2ODY5Y2IyNjJiOGRkZjliNDEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xl
ID0gZW5kQW5nbGUgYW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJl
Z2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1
MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy5odG1sCmluZGV4IGVkNzdjM2I3YTg2ZjJjN2Mw
NWNlZWZhZjRjZGNmZjJlN2QzM2VjNTkuLmM0OTUzZGZlZWYxN2M5NzU0OWEyODZiNGUzZjRiZDBh
NGE5MDlmYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3Jh
ZGl1cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmFyYy56ZXJvcmFkaXVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnplcm9yYWRpdXM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFy
dCBwb2ludDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFydCBw
b2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYXJj
KDIwMCwgMjUsIDAsIDAsIE1hdGguUEksIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuemVyb3JhZGl1cy53b3JrZXIuanMKaW5kZXggZmIxMmE4ZjQzOGM0ZDZhNjc0YzMy
MGE1OTU1OWYzMTAyNjMzNjZiNy4uNTg5ODgwNzEzYWIzOTZjZjY0MTJkODAwZTRiZTYyYWIzYTRk
ZTc2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVz
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIHplcm8gcmFkaXVz
IGRyYXdzIGEgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyYygyMDAsIDI1LCAwLCAwLCBNYXRoLlBJLCB0cnVl
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS5odG1sCmluZGV4
IDFmNzMwMjU2ODNiMzlhMGUxODhiY2ZiOGUwMzkyYmY0NTcxNjZkMTguLjIwODJkZWVlY2ZlYzVi
NWFjODc0MTJjYjZhN2MzNTE4NDkxMTc4MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmNvaW5jaWRlLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5jb2luY2lkZS4xPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
VG8uY29pbmNpZGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBoYXMgbm8gZWZmZWN0
IGlmIFAwID0gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQMSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMz
LDcgKzM3LDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAi
NTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEud29ya2VyLmpzCmluZGV4IGE2
NDZjMzY0MDE5ZTY4ZjIyZTQ3YWE1OTRlM2YxNmViNzAzZjg3MWYuLjI0MDhlMTRkYWE3MDA3YzA3
YTAyNDA1NjUzNWJjYjkwZTdjYzJhMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyY1RvKCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBA
QCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAwLDI1
NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIuaHRtbAppbmRleCBkNzdkNWRlNjJiYTJiZmJmZDJmY2Ez
NzVhZjk3ZDYxYTVlZGRlNzY1Li5jZjY0YWU3MmFlMzhmOGM1NzhkNTYzMjM3ZmNhNGY4YzFmZTcz
ZDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUu
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
YXJjVG8uY29pbmNpZGUuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0g
UDI8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSBpZiBQMSA9IFAyIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmNUbygxMDAsIDI1LCAx
MDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2lu
Y2lkZS4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lk
ZS4yLndvcmtlci5qcwppbmRleCA1NDU5NjE5ZjM0MjQwMTIxN2U2ODQzMmQyOWMzYTg3Mzg0MDEw
YTI3Li4zM2M2NDYyNGIyOTliZWM4YmJlNTU5NzNlMWQ0YjA4ZTMwOTQ2OWJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQ
MSBpZiBQMSA9IFAyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsK
IGN0eC5hcmNUbygxMDAsIDI1LCAxMDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmNvbGxpbmVhci4xLmh0bWwKaW5kZXggZTFjZDE0OTVlY2ExNWJiZDdjMjU2ZGU3
M2Y3MDA0OGEyNjVjNmI5MC4uMWY4MTU2NWU1NDFjYjQyM2YyNDFiZTE4OGNhMzg3NjE0YzJlMTgx
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4x
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
YXJjVG8uY29sbGluZWFyLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEg
YmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIGFs
bCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBzdHJhaWdo
dCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKC0xMDAsIDI1
KTsKIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLndvcmtlci5qcwppbmRleCA1ODBjYWM4ZGJmMTEw
MTgwNDcwN2QzY2I0Y2I0NjZjZGQyNjIyODQ0Li43MTI2NGFhYzE1OWFmYmFlMmUyNWE0MGQzNDZk
OWIwMzhjOGY5ZWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
Y29sbGluZWFyLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5jb2xsaW5lYXIuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkg
d2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAxIGJldHdlZW4gUDAvUDIsIGRyYXdzIGEg
c3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVUbygt
MTAwLCAyNSk7CiBjdHguYXJjVG8oMCwgMjUsIDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIuaHRtbAppbmRleCAxMjg3YjU3ZmY4OTU1ZjFl
MGYyM2U2NDFhODJlNGIyNDgyYzMxMWUwLi40NzQ3OTVjMjcxN2U5MTM4NzY4NTE2YzZmNjlkZTNj
NDViNjljMjljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29s
bGluZWFyLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGlu
ZWFyLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUs
IGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDE8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygp
IHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBh
IHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5tb3ZlVG8o
MTAwLCAyNSk7CiBjdHguYXJjVG8oMjAwLCAyNSwgMTEwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yLndvcmtlci5qcwppbmRleCBjZWVh
ZTQ5MmUwYWE0MTZhNWVkMTU4ZjFiMzBjMGI1MTRkM2E0ZDAwLi44MTBkMjdjYzVkYWRlNTZkYTBk
YzJjNDBjY2Y2ZTEyOTYxOWNmOTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAyIGJldHdlZW4gUDAvUDEs
IGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4
Lm1vdmVUbygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCAxMTAsIDI1LCAxKTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKaW5kZXggMGM1NmU0
ZGJhZGU3ZjViZTkxY2Q1NzI1MGRiMjk5Y2QyNTFkOTU5OC4uYjlhMDNhZGQyNmRjNTE5OTQ1YTlj
YzVhNmRiZWVkNjg4MjAwM2M4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLmNvbGxpbmVhci4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLmNvbGxpbmVhci4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5j
b2xsaW5lYXIuMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMg
b24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQMS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRv
IFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDAgYmV0d2VlbiBQMS9Q
MiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBj
dHgubW92ZVRvKC0xMDAsIDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy53b3JrZXIuanMK
aW5kZXggNTM2YmQwZDgzNjM3ZTA4NjI5NzhmZmZlNjg4ZWUxZjZhNTAzMjdmNC4uZGY4OTllODA0
NjM0NzAzNTZmY2ZiYjJkNjI3ZjQ3NzUxN2I3ZTljNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMCBiZXR3
ZWVuIFAxL1AyLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICsz
NCw2IEBAIGN0eC5tb3ZlVG8oLTEwMCwgMjUpOwogY3R4LmFyY1RvKDAsIDI1LCAtMjAwLCAyNSwg
MSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0
aC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4x
Lmh0bWwKaW5kZXggOGI1NDkwNjM3N2M0MDM0ODRiMTg4Mjk4NWZhNjgzN2I5OTdmZjFiOC4uYjQz
ODMxODg2MjBmNDkzZjhlNDRjMjU1YThjOGU0NTI2ZmM4Yzg2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5lbnN1cmVz
dWJwYXRoLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50
IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBz
dWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMg
ZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHguYXJjVG8oMTAwLCA1MCwgMjAwLCA1MCwgMC4xKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggY2Vm
Y2YxMWU4ZDFlMTNkZTgxODQzMDM2Zjk0MTA5NDVmMjgxZGY4Ni4uOWE4YWUwNTdlNmEzZWJmMzEz
NzU4ODc4YTllM2Q1MTJhOWY5MDQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50
IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmNUbygxMDAsIDUwLCAyMDAsIDUwLCAw
LjEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGgu
Mi5odG1sCmluZGV4IDgwNTYzODlhMzExMDA4NTdmNjczZGEyYjFkMWZmNTdjOTU2OTI1YTguLjVi
NTRiZDI5YjZlY2M3ZDM5NjE5ZmVhOWFiNjY0OWUzODQyZjhmZGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uZW5zdXJl
c3VicGF0aC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2lu
dCBpcyBhZGRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50
IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguYXJjVG8oMCwgMjUsIDUwLCAy
NTAsIDAuMSk7IC8vIGFkZHMgKHgxLHkxKSwgZHJhd3Mgbm90aGluZwogY3R4LmxpbmVUbygxMDAs
IDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJw
YXRoLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1
YnBhdGguMi53b3JrZXIuanMKaW5kZXggZDZhYjA0ZTFkMzlhZDMyYWFhMWU3YWYwZGNiOTg0ZTg3
YWU5NGJiYS4uYzdmNzQ0MDgxNzUyNjYxZDc4MmZkNTEwMmNjZDc5NWRjZjM2ZmVhYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGgu
Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBh
dGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBjdHguYXJjVG8oMCwgMjUsIDUwLCAyNTAsIDAuMSk7IC8vIGFkZHMgKHgxLHkxKSwgZHJh
d3Mgbm90aGluZwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLm5lZ2F0aXZlLmh0bWwKaW5kZXggZDI1OGQwYmQ2NTk0YWM3ZjczYWZiN2ViYmJhZWRm
NDdhODg3YzJmMi4uMGJkNmViMmRiYjU3YTQzOGZlZGY3OTg0OTgwODAwYTVlNjNlNmEwZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8ubmVnYXRp
dmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmNUby5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJj
VG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uPC9wPgpAQCAtMTEs
MTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0
aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIGFuIGV4Y2VwdGlvbiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5ERVhf
U0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
bmVnYXRpdmUud29ya2VyLmpzCmluZGV4IGI5NWY0YzUxNjVhZmVjZTBhYjkzZDVhNDhjYWMwNGQz
OTU3Y2U2MTQuLjU1ZWNmNTRjMzgxYmY1NjY1NGYxMGE4YWNjYzAyOTFiNjQ3ZjQxZGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5uZWdhdGl2ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLndvcmtlci5qcwpA
QCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhy
b3dzIGFuIGV4Y2VwdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUuaHRtbAppbmRleCAyMjI2
ZjU3MTM5YmEwMjU4ZGZiODBjZGEwZTQ1MDk4YzAwOGE4NmQ4Li40MzdlODA1YjBhOWE2YjNjYWI0
ZWRlZDIwOTI3OWM5MzM2ZmRjNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8ubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLmFyY1RvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLm5vbmZp
bml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNjUs
NyArNjksNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwy
NTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubm9uZmluaXRlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCmluZGV4
IGM4YjAwNzU5MWNlNzQzYTY4NTczZmNkZmIxMGU5ZTg0OWY2YjZmZWIuLmM5YWE2ODI0YzEwNjhm
YTllZWJhNjMxN2VhMzk5OGFkMDhmY2Y2M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmNUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02MSw3ICs2
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwg
IjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwKaW5kZXggNjk0OTBlYTU4MTdlMmRiYTlkMjY3
NjVmMjU1ZTA0M2QxNmMzMmUwMi4uMGMxNTNiZDAyZWUwMzg0ZTQ1MjA2YWNkOTcxNDI3YmE2Nzkx
MmZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjVG8uc2Nh
bGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5hcmNUby5zY2FsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8g
c2NhbGVzIHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8gc2NhbGVz
IHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzUsNyAr
MzksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUs
ICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAi
OTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2FsZS53b3JrZXIuanMKaW5kZXggODBiMzQxOWYyMGRk
MWVkOGI5YTJhMTc2ZTA2NWI0ODFmZGUyY2FlOS4uZGViMmU3NWFhOTVjYzUxZTIwMjI2ODc0NDU4
ODY5ZGIzOTk2ZjllNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
LnNjYWxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2Nh
bGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBzY2FsZXMgdGhlIGN1
cnZlLCBub3QganVzdCB0aGUgY29udHJvbCBwb2ludHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAw
LDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLmh0bWwKaW5kZXggZmU5NDQxMzdjYjI4NjEw
ZDJlMjY1MTJjNTJlMTRjNTMzYmJlNzVmYi4uYzExOTFiMTJmNjA0MGFkYzc0NDUwMDIzMGY2ZmFm
YTkxYTg5YjkwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNo
YXBlLmN1cnZlMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFw
ZS5jdXJ2ZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFwZS5j
dXJ2ZTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBr
aW5kIG9mIHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC00Niw3ICs1MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ0
LCAwLDI1NSwwLDI1NSwgIjgwLDQ0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA4MCw0NSwgMCwyNTUsMCwyNTUsICI4MCw0NSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDYsIDAsMjU1LDAsMjU1LCAiODAs
NDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDY1LDQ1
LCAwLDI1NSwwLDI1NSwgIjY1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2
ZTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZl
MS53b3JrZXIuanMKaW5kZXggMmU3ZTNkOWMxMThmYTdmNjFjMDYwZjNkYjBhNzZjYjg1OThjZDhh
ZS4uMDhjMjkxMTJhNTY2NDZhOGY5OGFiMmM1MDE2YmVkM2MzNWIyN2EyOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5k
IG9mIHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA4MCw0NCwgMCwyNTUsMCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1
NSwwLDI1NSwgIjgwLDQ2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA2NSw0NSwgMCwyNTUsMCwyNTUsICI2NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uc2hhcGUuY3VydmUyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hh
cGUuY3VydmUyLmh0bWwKaW5kZXggOTI2YjA0M2Y2NTE5M2NlNDg4NDEyNzJhMzE1MzQxODE1Zjcy
N2JmYy4uZjA1MmE3ODk4NWZlZjkwNGMwNGQwMGM2ZWYwMzM3MzU2ZDQzOWYzMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFw
ZS5jdXJ2ZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBj
dXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NSw3ICs0OSw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc5LDM1LCAwLDI1NSwwLDI1NSwgIjc5LDM1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NCwg
MCwyNTUsMCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1NSwwLDI1NSwgIjgwLDQ2
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKaW5kZXggZjJm
YWZiMDY0NzQ0YWFkNzk1MjZlMjBkN2M5NjVjYmU4MzU4NjFhNS4uNGFjYjk0YTYwYjg3YTA5ZTVl
NWI1YTczZDA2NGFiNDk2MDViMmJkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NDEsNyArNDUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3OSwzNSwgMCwyNTUs
MCwyNTUsICI3OSwzNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODAsNDQsIDAsMjU1LDAsMjU1LCAiODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NiwgMCwyNTUs
MCwyNTUsICI4MCw0NiIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLmh0bWwKaW5kZXggYTMzNDFj
MDRmMWM0YzQ4YjE1ZGM4YWNhNTZiZmQ5ZjYyMDcwNThlNC4uNTAyOTYyMzdlZGJlNWNmMGIwNzdi
ZmE1MzcwNDNkNTgyNDVjY2Y1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnNoYXBlLmVuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5zaGFwZS5lbmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5lbmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5zaGFwZS5l
bmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBm
cm9tIFAxIHRvIFAyPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjVG8oKSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8gUDIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmVuZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndvcmtl
ci5qcwppbmRleCA1MjcxNjc1MzE5NDMzNjcyNTI1YWU5ZTQzZGIxYjZkZWQ5ODlkYmIxLi41OGM0
MDcwNGVjMjZmNTA2NWNiZjVhMTdjMDM1YTgwZjg2MjA0ZGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiYXJjVG8oKSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGZyb20gUDEgdG8gUDIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbApp
bmRleCA1MDcxNTI2ZTQ5YzJkNTJhM2VjMzQ0Zjk0MGYxMDI2MjczYjY5MGNhLi43NWExZThjYmZj
YWFiNzJkMWU2ZTUwZDUzOTc3YzAxMjZiMmMzNzAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyY1RvLnNoYXBlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIGRyYXdz
IGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0IGxp
bmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2hhcGUuc3RhcnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLnNoYXBlLnN0YXJ0Lndvcmtlci5qcwppbmRleCA4NDgzNTY4NmQxNjQwYzA0MTc3MWZlMTYw
NmZjYWFlMjMxMTk1NTE3Li44OGQ3NzRiNzVmMGNmNGYyODk0YTg3YWE3YWI4MjkzY2EwMWY5YjE5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5zdGFy
dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgZHJhd3MgYSBzdHJh
aWdodCBsaW5lIGZyb20gUDAgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbAppbmRleCBhNjk4OWQwZGZlYzE4YmFiZDc0ZjEw
ZWVkMmEwNzQ5NTQ4NjZlMTNmLi5kNTMzNWU4ZjI3OTFjM2Q3MDcyYWVlNDM1ZjJkZGNmZGU2MTU4
MmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3Jt
YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNmb3Jt
YXRpb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5hcmNUby50cmFuc2Zvcm1hdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnRyYW5zZm9y
bWF0aW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbyBqb2lucyB1cCB0byB0aGUgbGFzdCBz
dWJwYXRoIHBvaW50IGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIGpvaW5zIHVwIHRvIHRoZSBsYXN0IHN1YnBhdGgg
cG9pbnQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwg
MCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby50cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMKaW5kZXggYTU0NWJkM2Q1MWY0M2NjMDNl
OWNhOWI2ODkwNDcxNTRiM2ViNTEwMC4uNDg5ZTA2ZjZhM2MzNGRjNjAyYjBkYTY4OWUwYzg3ZDQy
OTMyYWJlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnRyYW5z
Zm9ybWF0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
dHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBq
b2lucyB1cCB0byB0aGUgbGFzdCBzdWJwYXRoIHBvaW50IGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAs
MjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1
NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjEuaHRtbAppbmRleCA3N2Y2OWY1OTM1ODU3NzQ3
ZDA1NzkxYWQ0ZWM5ZTJkMDYyMDZmMjMwLi45ZTY4ZTVjZDQ3MGNjYzAyYjcxNDlmMzc0M2JiYjAx
OGU0YzczY2JkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVy
by4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFy
Y1RvLnplcm8uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+YXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAw
IHRvIFAxPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9t
IFAwIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRvKDAsIC0yNSk7CiBj
dHguYXJjVG8oNTAsIC0yNSwgNTAsIDUwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby56ZXJvLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnplcm8uMS53b3JrZXIuanMKaW5kZXggZDFkMmU4N2I0Y2EwZTFiZDI2ZDgyYjAzZjA0
MWUxNGRhZTFkNGY3Ni4uZDJiNjIzODhlYzhhNjBjNWM4ZjViNzg1NzVmMzhhYjJlODA3MjYwOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBh
IHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4
Lm1vdmVUbygwLCAtMjUpOwogY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwgMCk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLmh0bWwKaW5kZXggZGViZTNkMzE0ODJjNDEwMGE1
NTQzZmQ5YmYxMmI3OTk2MGJmM2NkYy4uNjA0MThlNzdmYWQ3MDZiNzRmMDNlNjFlMjY5Y2YyZjc4
MjY4ZDJlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8u
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNU
by56ZXJvLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby56ZXJvLjI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0
byBQMSwgZXZlbiB3aGVuIGFsbCBwb2ludHMgYXJlIGNvbGxpbmVhcjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgd2l0aCB6ZXJv
IHJhZGl1cyBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMSwgZXZlbiB3aGVuIGFs
bCBwb2ludHMgYXJlIGNvbGxpbmVhciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1vdmVU
bygxMDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCA1MCwgMjUsIDApOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLndvcmtlci5qcwppbmRleCAzZmY1NWNlNTBjOTdl
YjMzNGQ4NWIyYzk3NTMwNzdlMDJiY2YzZTU1Li40MTc0ZTMwODUyNGZkNjViNjhjZTBmNzRmNjBl
ZjI0MGMyZTgyMDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
emVyby4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVy
by4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHplcm8g
cmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxs
IHBvaW50cyBhcmUgY29sbGluZWFyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRv
KDEwMCwgMjUpOwogY3R4LmFyY1RvKDIwMCwgMjUsIDUwLCAyNSwgMCk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYmVnaW5QYXRoLmh0bWwKaW5kZXggNDZjNDdkNzRiZGNkNThkNTlhNjQ4ZGViODVjMjY0
Y2Y3Y2JhMzlkOC4uYmUxYWRjMzBkMWQxNzgxYzY4MjU1NWM2ZWM0NjdkMTFhYmZkMDM3MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZWdpblBhdGg8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5iZWdpblBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5iZWdpblBhdGgud29ya2VyLmpzCmluZGV4IDMwMDY5ZTM2OTkyZGQyNzNlNTlj
YzVkMGVlYmQ5NDk1YmVjODc0ZDguLjI3MWI2ODliY2U1NTY0MzI4YmM5MWRjOGFjNTQ0NTkwN2Q0
Nzc1MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5i
ZWdpblBhdGgoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLmh0bWwKaW5kZXggNDJmMmYwNDZiMGUwOGNjODEw
NzdjMTNhODdmM2VmYzBkMTVjNGRmNC4uNTZmMDk4Mzg0YzViNTVmNDk3ZmNiMDExZGJiNzY4MDIy
ZTdhZDg2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZl
VG8uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0
eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmJlemllckN1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSwgMTAw
LCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5i
YXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5i
YXNpYy53b3JrZXIuanMKaW5kZXggNTdlMTA4NDRmZWE0NTE0Mzk5NmM5YmIyOGFhOWE1YTI1OWUy
MDAzZC4uNTZiMGQ3NzE5MTU5NjgwZWE5YjM4NjVjNDMyNWQzNjMzMTQ1NTNhYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJhc2ljLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHgubW92ZVRvKDAsIDI1KTsKIGN0eC5iZXppZXJDdXJ2ZVRvKDEwMCwgMjUsIDEwMCwgMjUsIDEw
MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
ZW5zdXJlc3VicGF0aC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCAyOWNlYjBkNTE4OTFkOWVjMGM3NzI5MmIy
OTc4NmUyZDc5Yjc2NDYwLi4wNDY0YmJkNDlmMTFhNzBhN2FkMjgwZDQ0NDNiNzcyNmIxNmU5Yjhi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1
cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBh
ZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0
aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXdu
IHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmJlemllckN1cnZlVG8oMTAw
LCA1MCwgMjAwLCA1MCwgMjAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUs
NDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBh
dGguMS53b3JrZXIuanMKaW5kZXggNWM5NDIyNjcwNDY4NzkyZTUwMzQ3YTg3YzQ5YmRhOGJhNTI5
YmRlYi4uZTFiY2Y4MWNlNGRmYWZmZmNmMTdlZTY5Y2E0NTg5NDM1YjU4ZWY2NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVy
ZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5v
dGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguYmV6
aWVyQ3VydmVUbygxMDAsIDUwLCAyMDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwy
NTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVz
dWJwYXRoLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVu
c3VyZXN1YnBhdGguMi5odG1sCmluZGV4IDkzNzc3M2IxNzYzMzRiOGRkOWFhZTRjMzI2MDg4MWFj
MDQ2ZjIzZWIuLmRiZThjZDJhYzYxNTBkY2QzNjc3NGJlYmFkY2JjNjcyNWJjYzBlYzQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBh
dGguMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVu
c3VyZXN1YnBhdGguMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPklm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYg
dGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5iZXppZXJDdXJ2ZVRvKDAsIDI1LCAxMDAsIDI1LCAx
MDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKaW5k
ZXggZDQ0MTE0NTA2NzA2NTU5MjM2M2RhMjVkNzY3ZTcxMmQ5NmU3YmM3MC4uMjY4OGQ2YjUyZWQ2
MTNkYmIyNjE4NjFmNzMzOTRjN2FhMjYzZDk1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0
aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmJlemllckN1cnZlVG8oMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUs
IDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25m
aW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZp
bml0ZS5odG1sCmluZGV4IDU4ZGU3MDA3MjZlOTdhNTEwNTVkN2RlYjk2MTlhMzFhM2I5YmJiYTMu
LjMxMTM5MGVkNWIzODA1MzkxNzI4ZWY2MGUxOTlmYmM1Y2Y5MGNkYTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemll
ckN1cnZlVG8ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25maW5pdGU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmJlemllckN1cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBp
cyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiYmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC05OSw3ICsxMDMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0
NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5u
b25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZl
VG8ubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA2YjE5OWRkZTE4MGMwYzhhMGIwMzU2MDNhOGNj
MGUxMWZmNTdiMzNhLi5jNjM2ZjY4NGNkZmIyMGU1M2Y5OWY5Zjg2N2NlYTAzNWM3OTllOWFhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25maW5p
dGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImJlemllckN1cnZl
VG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTUsNyArOTksNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCmluZGV4IDJlOTYyMzU4
NGE3NDA0YmFiZDlhN2VmNzQ5YzY2ZTgwNTFkZDBlMGUuLjk3NjE0YjJkNDMyOTI5MzEyMjQxNWRl
ZjQ4ZDYyYzZhZDlmMzNiNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5i
ZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5i
ZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YmV6aWVyQ3VydmVUby5zY2FsZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCmlu
ZGV4IDdjMDVkZTEyZTZlMWI4ZjE5Zjk1NjA0ZmRkNTYxNTZlYzI5OTlmMTguLmExOGRhODQxOWQx
OThkZjMwZGJjZTZjMDhmYzIxZjQ5NDY0MjU2ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemll
ckN1cnZlVG8uc2hhcGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLnNoYXBlLmh0bWwKaW5kZXggYzYwMWI2YmE1NjdmYmJlNzE5YTU0MWVmN2Q0Y2VkNzE3MmJm
MDhhMC4uMWY5MzY3ODkxMTczN2Y1NzdjY2U2ZWNkMzg3MWM4NjMwOWFkOGI1YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1
cnZlVG8uc2hhcGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZS53b3JrZXIuanMKaW5kZXggZWJkZWRhMTRhMjc5ZDY4MjdhZjcwMzUzODBlYWRk
MTg5MzkxNGQ1MS4uM2FjMjMyNzMxODViNGYxYTQyNWU0MTBmMDAxYTcyYWMzNjdhNjk5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjks
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAuYmFzaWMuMS5odG1sCmluZGV4IDRkNjFlM2Q4ZTg0ODhlNDNmMzE5Y2I0YzlmZTUz
ZDU1NmQ4Y2ZjZjIuLjdjZTQ1MjAyZjg1YzFmM2MzN2YwNmI2NWY2OWJmNzRlZjIzZDE1OTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC5iYXNpYy4xPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguY2xpcC5iYXNpYy4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMu
MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtl
ci5qcwppbmRleCAzOTFkNzQ1ZjY1ZTdlNGM1ZTZkNWQ5ODEzZDQ2NzQ4ZTUzMjI1NGZlLi41NTdk
ZTFhYTZlNjUzZDJiNTJmZGNhNzdiY2M3YWViMGMyNGUwZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5jbGlwLmJhc2ljLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJh
c2ljLjIuaHRtbAppbmRleCA0NTkxZjc3NDU3ZTZjMzUxNTZhOTM1NmI5NjdmZjNkMWQ5ZGFjZTdm
Li4zOTAzYTMwOGNlNzE4N2FkNjZjNmQxZjliZjhhZWI4Mjk2NGI2N2FmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsaXAuYmFzaWMuMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmNsaXAuYmFzaWMuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgs
NiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKaW5kZXgg
OTY1YTMyODQ1MGZlMDlmOWRjYmI3MjZiYzEzOThkNWQyMGJjMDlkYi4uNjAwM2ZjNGE5OTRjNDMz
ZGZjODkzN2YyOWE2MDZhOTFkZDdjMDQxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5l
bXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkuaHRtbAppbmRl
eCAzOTU1NWE5N2E3Nzc5ZWYzYWU5MGYyMTY4NzM3NDU4Nzk3MTVlNzJjLi43OGVlNTIyOWRiMDM4
Mjg4MGY2NTVmNmExMWE1YTAxZTBkYThiMDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bGlwLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGguY2xpcC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuZW1wdHk8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xpcC5lbXB0eS53b3JrZXIuanMKaW5kZXggZDIyYjI3ZWMyMmNjMDU3N2Y4Zjc4MzUxNzM3
MDc5YjM3NDUzMDMxYS4uMzE0OGM3NWI1ZGFkOGU4MTMwZGJhMGJhYWNmMmFkNzRiN2VmZmIyMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVtcHR5Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguY2xpcCgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0bWwKaW5kZXggZDdiYzNiZDI0NTlkYjI2Y2RhNjQ4
ZGUyM2MwMTgyNTkxZjgxMzVhMS4uNjZlNzQwNDM5YjZkZWFkZjIzMTRlMzViZDkxMTkzYmM4NWRh
ZDA1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xp
cC5pbnRlcnNlY3Q8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5jbGlwLmludGVyc2VjdDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5jbGlwLmludGVyc2VjdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xpcC5pbnRlcnNlY3Qud29ya2VyLmpzCmluZGV4IDZkZDAyMWNkZmE3MThmYmFmOGQxZDY5MTRi
YzkxZjJhY2U2NzU4NTYuLmQ4Y2IwNTVjODllNTAzYTIzNmMwZmVjNDZmZjYxNDkyOWE1YmIzMDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmludGVyc2VjdC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBj
dHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQuaHRtbAppbmRleCBiZjVkNTQxODM1
YjU1MzdhMDc0YjliYjJkMjAyMDA4Y2IwOTRmNzYyLi40ZDEwYzJjMDAyZmEyYjFiNjM4YTlkYzg5
ZTcwZWU0MjUyOGZkYTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5h
ZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmNsaXAudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAudW5hZmZlY3RlZDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xpcCgp
OwogY3R4LmxpbmVUbygwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xp
cC51bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVu
YWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IGNlNmJiZDAwZTA3NmQzY2FjOWEwNDcwMTYxYWVkODI3
ZGY2ZWI4YzcuLjM3Mzc1YmNhZjM0NmM1YmUxNWExYzA4NDU3MTVhNWI5NzFjNGZkOGYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLnVuYWZmZWN0ZWQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5j
bGlwKCk7CiBjdHgubGluZVRvKDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLndpbmRpbmcuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2lu
ZGluZy4xLmh0bWwKaW5kZXggYmFlOGU5NGNkMzdjNzMwMDlkMTVhMTk1NTNiMjFkMjgzZmY2MzY0
MC4uNDUxNGRhZTcxZTJmYjFiNzg1MTEwYTA0MGNmMjM2NjQzZDAzZDM4YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC53aW5kaW5nLjE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5jbGlwLndpbmRpbmcuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzIsNyArMzYsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcu
MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEud29y
a2VyLmpzCmluZGV4IDU4NjUxNDdjMDlkZGEyNjhhZmNiZWMyODdiNGRhYTVjYWVjYjYxODIuLjE4
NTEyZTBkY2FkODA2NzI1YWYwYWQ4NTEzZjhlY2E0NzRkMDg5YTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmNsaXAud2luZGluZy4yLmh0bWwKaW5kZXggZWMyNTY4OTcwY2ZmNzU1NWNjMjE1ZTBjNjE5ZmNj
YmZhZTFhZmYzYi4uMjFjZDYzYzk0YTlhNWQ3OGIyOGVkNDkwNDJlM2QwYzY1MWUzYjZjNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC53aW5kaW5n
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0aC5jbGlwLndpbmRpbmcuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzUsNyArMzksNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LndpbmRpbmcuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5k
aW5nLjIud29ya2VyLmpzCmluZGV4IDY0OWM0MzQ2YWQwN2ZkZmE0MWNkNjE5NjMxNWVlYjJhODU5
OTg0ZmQuLjk0N2Q4ZmY0NDY2MGQ4OTA3ZDE1ODIwNTdlYTI3ZWI3MTE2Njg5NzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHguY2xpcCgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbG9zZVBhdGguZW1wdHkuaHRtbAppbmRleCA4Y2M1MTY4ZDM1ODI1YTI1MTNj
YTNjMWY3OGJiZTQwYTA0ZTE0NGE0Li4yYWEwZmYzYTA0NGU4ZTI4MTBjNmY2YTIxMDVkZDcwNGEy
ZTJlMzUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVt
cHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmNsb3NlUGF0aC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bG9zZVBhdGguZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3Nl
UGF0aC5lbXB0eS53b3JrZXIuanMKaW5kZXggYmUwOWZmZjVlYmRkMWUyNThhODg3NjVkZTgyNDc5
MGU2ZGUzZmE2Mi4uMWQwMjZmOWJiNjNjNjQzMGE4ZmNhNjFmMGI5YjI5OWZiNDg4ZDc2NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4
LmNsb3NlUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS5odG1sCmluZGV4IDNmNGYxODM5ZjdlM2Q0MWE3OTkz
NGE0ZTJkOGM3MzcyMDllZGQzZmYuLjU2MWE4M2JiNmQxMjIwZmQxZjQ1NDNkYmNiZmE3MGZiYmE0
M2I1ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3
bGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGlu
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmNsb3NlUGF0aC5uZXdsaW5lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmxpbmVUbygy
MDAsIDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5jbG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xvc2VQYXRoLm5ld2xpbmUud29ya2VyLmpzCmluZGV4IDA0ZjMzOTJlNjg4OWYzNDlmYTFk
OGIxYWFjMzcwMjRmYjg5YmRlOTguLmI2NWFjOGQzZmRiZGMwNGUzMmYyYjQ5NTdjZmZhMTQ4ZDBk
MWE1ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3
bGluZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5u
ZXdsaW5lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMs
NyArMjcsNiBAQCBjdHgubGluZVRvKDIwMCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lmh0bWwKaW5kZXggYjMw
ZmJkNjk4NjI2MDU0MGM0ZGRhNzJkZmE4NDNhMTEwMWVhNDJkZS4uNTc2MzJmMWVlMDNjYTZhNDgw
ODhiZjIxOTg4YmI3ZGYyZGNmNTZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xvc2VQYXRoLm5leHRwb2ludC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5jbG9zZVBhdGgubmV4dHBvaW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5saW5lVG8oMTAwMCwgMjUpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQud29ya2Vy
LmpzCmluZGV4IGY1OTBlNzZmZmQ1YmVkOWM3NjBlOTkxMzc2NDlhMmNiZjNmNGJmMDAuLmEyZGE0
OWJkODA1YjA5MjM4NGMyOTg4MDM5MDg4YmMzYjg5YWU2ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmNsb3NlUGF0
aCgpOwogY3R4LmxpbmVUbygxMDAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC5jbG9zZWQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5m
aWxsLmNsb3NlZC5iYXNpYy5odG1sCmluZGV4IGUxM2VhNmY3NjBlMTIyYTcwNzE4MGY5NDljMmVi
ZGQ0YzA4OTg2MGUuLjE1OGQ1Mjg4MGU3M2Q1MGNiMTExNjY0NDgxNjUyMmY0OGM2Mzc4NWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwu
Y2xvc2VkLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsK
IGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxs
LmNsb3NlZC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5j
bG9zZWQuYmFzaWMud29ya2VyLmpzCmluZGV4IDNkM2MzYzcyMzI2YTg0NDBmYmVjZDQ3YzFkNTg4
YjQzZmNhYmI2NmQuLjdhMWNjMzdkZmRlNTIxOWIyZmJlY2I5NjBlMDEwMmRiZDdjNjE4ZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYy53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLmh0bWwKaW5kZXggN2ZkYmU0
N2E5NDYyZDFjNTgxMWM1NDBiODNmODQxN2EyMzU4NGQzZS4uMzIyYzkxNzM3ODRkYWMwNDVkODkw
NmYzM2NmZDc1NmFjYThhZTQ0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAiOTAs
MTAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEwLDQw
LCAwLDI1NSwwLDI1NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFm
ZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51
bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCA0NzNkYWQ2NGFmM2EzNTMzYjZlOTYwMzI4NGM2YTUz
NDE0MWUyOTc0Li43NWNhODdlNmNjNjFmNzcxNGQzMGFiOTQ2NjljNjJiZDUyY2ExMzE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZm
ZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3
ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsMTAsIDAsMjU1LDAsMjU1LCAiOTAsMTAiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEwLDQwLCAwLDI1NSwwLDI1
NSwgIjEwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAuaHRtbAppbmRleCBiOGM2ZjJhZDRhNjczMzBk
ZDg1YjM2ZjExMzExNzdmYmEzMzNhZTU1Li42NjJiYmJmMTNmNThhYjQxYzMwNjEyMWMyOWNlNDY5
MjA1YTUwNTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVy
bGFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZp
bGwub3ZlcmxhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwub3ZlcmxhcDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHgucmVjdCgx
MCwgMTAsIDgwLCAzMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAxKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmZpbGwub3ZlcmxhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5v
dmVybGFwLndvcmtlci5qcwppbmRleCA1ZTUzMDFiODIwM2VmM2M5ZjIwNTAzZWM1MjFhMWJiNDIx
YTNjNzVhLi5mYzE2Njg3YjlkN2ZjZTMwM2Y1ZGE1NDE1YjM5YTY2ZTZhMzI2MDQ3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xvc2VQYXRo
KCk7CiBjdHgucmVjdCgxMCwgMTAsIDgwLCAzMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwx
MjcsMCwyNTUiLCAxKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5maWxsLndpbmRpbmcuYWRkLmh0bWwKaW5kZXggZDAxYzVkZjhmNDg4YzU0MjExZjEx
YzdlY2Y0ZWU2ZDE1MzBiYzk5NS4uZTI3MjRhMWZkYTQ2NDEzMmIyMjg3ZTc2MTNlMTA0NTRjNjMy
MzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5h
ZGQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRo
LmZpbGwud2luZGluZy5hZGQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5maWxsLndpbmRpbmcuYWRkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1
MCk7CiBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLmFkZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmls
bC53aW5kaW5nLmFkZC53b3JrZXIuanMKaW5kZXggMzdkZjNkNWE5YTgyZmJlZTdmZjZjZmVlMTUw
NmFjNjBmOThiNjk0OC4uZWU5NzE1N2VhMjY2N2I5ODdhNDJmMDUzMWE0Y2FjNmY2MTNkMmZkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbAppbmRleCAzMmFm
YmY2MDMyN2Y4N2I3NWIzODQwMDMyYmVkODdlYzg1MmNmYTEzLi40ZGM0NDIyMmJkMzAxMGYyYWMx
NGNiNDgzYjBmM2JlYzIxODhmMjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGlu
ZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGlu
Zy5zdWJ0cmFjdC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndp
bmRpbmcuc3VidHJhY3QuMS53b3JrZXIuanMKaW5kZXggMzdmNmM3MTE3MWIyNWQ2NzAxYzMxMDIy
NWEwZWRlM2E2ZDQ2ZWZmMy4uNTU4YTM1ODIxZGFkYjU1NzUyY2MyMmFjZTY5NmJmMDM4MTg2MjRk
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0
cmFjdC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5k
aW5nLnN1YnRyYWN0LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwg
MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFj
dC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0
LjIuaHRtbAppbmRleCAzNzQyNjMyZjIxYTY5Njg1NDhjZTRkZDc4YjdhMmJmMjgwMjU2ODAyLi5m
NGMzNzVhYmYxMDI1OWM5ZWE0ZjlkZjIxODdlMGNiYmI0MTE1NmFjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5maWxsLndp
bmRpbmcuc3VidHJhY3QuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5saW5lVG8o
MTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi53b3JrZXIuanMKaW5kZXggODY0Y2Zk
NWYzZTg3YjZjYTBiNjZkYTNjYzMyYjA3ZjNjZjc0YjBkZC4uOTRiMGEzOGQyYjBhYzJkZWZlMGQ1
OTA2YzViZGU4NzdjMWM1YzBlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7
CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZp
bGwud2luZGluZy5zdWJ0cmFjdC4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmls
bC53aW5kaW5nLnN1YnRyYWN0LjMuaHRtbAppbmRleCA2OTM4MDZhMDRkN2ZkODdhMTc5MjBmOGZj
ZTNiZmY3ZTE0NWYxODNkLi5jNmJkZjk5YmQ0NmUyOGMyZmUxNzEyMWY2YzA5YTIxZTM3OWVhYTZh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRy
YWN0LjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1
YnRyYWN0LjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwud2lu
ZGluZy5zdWJ0cmFjdC4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICsz
OSw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmls
bCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy53b3Jr
ZXIuanMKaW5kZXggMjc2YjBjYmM3YzM5M2QxNjAwODE3MjhkYzUzNTljMTBiM2M2MGVkNC4uOTEy
NzQ0NmQ1YjNlNmIwMDgzMGNiNGFjMGUwMTMwZTdkMTM2NTA0OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0
eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDEwMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
bml0aWFsLmh0bWwKaW5kZXggZDQ2NzQ0ZDAwZWM4ZTA3NDU5NTdlN2E4YjhkOWQyNzUxNGVlZWEz
OS4uYjk3MTZjZTU2ZmYxZWMxMTIwODNkNzhjMzIwN2RkYmJjYTRlODNmMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pbml0aWFsPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBhdGgo
KTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwu
d29ya2VyLmpzCmluZGV4IDU4NTY3MTQ4NzZlYTA4YTdiNDlmNDVkYmQ5NzI2YWRhMjkyODExNGIu
LjQzOGI3NzFkZTQ4NmNkMmQzNWMyMzYwMDkzZmRiMDQwMjMwZTk4OTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5hcmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5o
dG1sCmluZGV4IDQ1NThhZjE2OGIwYWQwNzIzMjNiN2NiZDc0M2VjNTE2Yjk2NjUzMjIuLjcxYWYz
NjllZWQ3NmY3ZmMxYmRkNjBlYzZhYzY1MmEwNjM2NGFkMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguaXNQb2ludEluUGF0aC5hcmM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJ
blBhdGgoKSB3b3JrcyBvbiBhcmNzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIGFyY3MiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAy
MCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwg
MzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5hcmMud29ya2VyLmpzCmluZGV4IDlhNmU3NmUw
NWJiNGM2MjQyM2I1MWI0OTc5MGQ2NDBmMjJkNTdmY2EuLjMxZWI1NDU1ZTEzNzBkZGI2ZDllMDQ5
MjhhNGIwZTliMDc5ODg0ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguYXJjLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQ
b2ludEluUGF0aCgpIHdvcmtzIG9uIGFyY3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjAp
LCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MzAsIDMwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMw
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJhc2ljLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJhc2ljLjEuaHRtbAppbmRleCA3NzRlZjc2NjRmNzY4YTU0ZTA1NTJhNWYwMDhmMDhjM2Vm
ZGZhODZjLi4yNzU4Y2FkZmQwMDI1MGRlNWJiZWY5NTE2NjllMjZlYTgxNjZiYzU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlz
UG9pbnRJblBhdGguYmFzaWMuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUg
cG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0
aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgwLCAwLCAy
MCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwgImN0
eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgImZh
bHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKaW5kZXggOGUyZmJlZTQ5
NjBlNmY2Y2E0Mzg2ODJlMjc2ZGVlNjhjNDc5YzY4NC4uZjNiZjhkYWFkMmRkY2I1NjRhODhlNTRm
ZWM4ZGEwNjFjZmU2NjM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0
aGUgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LnJlY3QoMCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgxMCwg
MTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCksIGZh
bHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5iYXNpYy4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
YXNpYy4yLmh0bWwKaW5kZXggOTIxNmM3M2ZkNGQ2NjE2MjliMjQyNjE5MjZlYjJiMTY5ZjlkN2Uy
YS4uMzNkMjMxY2IzZTY2YTAxY2ZiMmI1NGVkODc3NmU4MjFiZWY0NzIwMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJhc2ljLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50
IGlzIGluc2lkZSB0aGUgcGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBv
aW50IGlzIGluc2lkZSB0aGUgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LnJlY3QoMjAsIDAsIDIwLCAy
MCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCBmYWxzZSwgImN0eC5p
c1BvaW50SW5QYXRoKDEwLCAxMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDMwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgInRydWUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcwppbmRleCBiMmJmOTQxMGJhNzBh
ZDkwNjIzOTIxMWY1YjJlM2RhZTY2ODU4MjhiLi5iYzFhYzAxZDJlN2E0MjU3MzBiMTNkOWEyNjQz
ODExYjdlY2M1NTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5iYXNpYy4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
aXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRoZSBw
YXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgyMCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEw
KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgdHJ1
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
ZXppZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemll
ci5odG1sCmluZGV4IDUxOTAxODQ2NjIyYzk4YjE0YWUxZWMwNDcyMjI2ZWE5OTliZDkzZTkuLmVl
M2EyMWRmYjE0Yzc3ZThiZDRhYmVkOGQ2ODA2MjhkYTNhNjEwYTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmV6aWVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5iZXppZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIgY3VydmVzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0
aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoNzAsIDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMzAp
LCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg3NSwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1
LCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDc1LCAzMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGguYmV6aWVyLndvcmtlci5qcwppbmRleCA1ZDJmOWUwMDg5ZjJkNTAwOWIwYzBjNGNlYjg2
MGFhZDM1OTk4NzQ3Li4yMDNiMWM4NDA2MjhkZTg0MjM5N2I2YjQwZmViNDk5NmI1ZWM1ODQwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iZXppZXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJl
emllci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3
b3JrcyBvbiBCZXppZXIgY3VydmVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcw
LCAyMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgdHJ1
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoNzUsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwgMjAp
IiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3NSwgMzApLCBmYWxz
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1LCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmlnYXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdh
cmMuaHRtbAppbmRleCA4NzAzZWVmZmU1MDMwODAwOTZhYjA0NGNmY2M1MzE2YWFkZjIyMjU5Li4y
ZDRhMmQ0YzA5ODc5NDkwNWIxNjU2MDRkNjBiZTgyOTQ1MmEwYjBkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRo
LmJpZ2FyYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJnZXIgdGhh
biAycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBsYXJnZXIgdGhhbiAy
cGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzCiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMw
LCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJmYWxzZSIpOwogX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludElu
UGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMud29ya2VyLmpz
CmluZGV4IDk3NGZmNzU5MjM0NmI5NWE3MzhiNDRmYWQ5NjQzZjI1MTU0MjY0ZTMuLjYzMmI3ZWEy
NTExZjM3NDE1OTNlNmM1OWIwYmFjZDJhMjAxYTFiOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHVuY2xvc2VkIGFyY3Mg
bGFyZ2VyIHRoYW4gMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCgzMCwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCki
LCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSwgZmFsc2UsICJj
dHguaXNQb2ludEluUGF0aCg3MCwgMjApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCgzMCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAzMCkiLCAi
ZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLmh0bWwK
aW5kZXggNmQ2ZDg3ZDAwMWYxNDZjNmZjNGVhZTZlYzdmYjkxMWMxNjdmOWMwYS4uNjY2MDAzMDdh
NDQxMTdmOTQ1NDgzOTg0NzIyOWQyOTE1ZTg5ZWYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2U8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJ
blBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRoIGFzIGJlaW5nIGluc2lkZTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJ
blBhdGgoKSBjb3VudHMgcG9pbnRzIG9uIHRoZSBwYXRoIGFzIGJlaW5nIGluc2lkZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC0wLjAx
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEpIiwKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDEwLCAyMC4wMSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAs
IDIwLjAxKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoLTAuMDEs
IDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApIiwgImZhbHNlIik7CiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgyMC4wMSwgMTApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDIwLjAxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtl
ci5qcwppbmRleCA4YmY5YjE5YjJhMTdiMjczNDBjMjAyODI3NmZkYTYyMDc1Zjg2OWY3Li5kN2Qx
ZTNmOTA5OWY1NmUyMWM5Nzc5MzgxMTNjZWM3MzZhNzM1MTYwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBh
dGggYXMgYmVpbmcgaW5zaWRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEw
LCAtMC4wMSkiLAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpIiwgImZhbHNlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRo
KC0wLjAxLCAxMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDIw
LjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSIsICJmYWxzZSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguZW1wdHkuaHRtbAppbmRleCA5MjE5ZDUwZGQwZDhiOWYwMWQ5ZjhkZTc5NjZl
ZWNmNWY5MzJhYmYxLi41MDYxZjdmNDcxMWRkOTViZDZhMDFhZTgwMWY1NjA3NzY3MzZhYzE3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
aXNQb2ludEluUGF0aC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHk8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyB3aGVuIHRoZXJlIGlzIG5v
IHBhdGg8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8gcGF0aCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMCwg
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzCmluZGV4IDgyMjgz
ODQwMGI0NjExZWI5NmRmNDc1ZTI4NDBiMGY2ZWUzNjY2ODkuLjc5NTIzODM1N2M0NjA0ZmNmMGJm
NGE3ZTQzYzhjMzRmMzlmMzlkZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgwLCAwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCAw
KSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCmluZGV4IDZlNmJkMmVm
MzZmYjgwOWVlNTdiZmYwNjczODFhYjYzZjYyZmExMTYuLmRlYzQ3YjIwNWFhMzgxZGNlNzNmYzI1
YTM0YzUyNjZmMjMzNzkyMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlz
UG9pbnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50czwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSByZXR1cm5zIGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50cyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5maW5p
dHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXQKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MCwgLUluZmluaXR5KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
MCwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pIiwgImZhbHNlIik7CiBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTiksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoTmFOLCBOYU4pIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5p
dGUud29ya2VyLmpzCmluZGV4IDkxYzJkMzZjNWExYzczYjM3NmNiOWY3MTM1NDZkNTIxNGFhOWM3
MDMuLjg2ZjI5MmM0Njk2YTcxMDE1MjllZmU2ZGZiYTkzNjBhNzY1OWY0NGUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHJldHVy
bnMgZmFsc2UgZm9yIG5vbi1maW5pdGUgYXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCBJbmZpbml0eSksIGZhbHNlLCAiY3R4
LmlzUG9pbnRJblBhdGgoMCwgSW5maW5pdAogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
MCwgLUluZmluaXR5KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCAtSW5maW5pdHkpIiwg
ImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCBOYU4pLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTikiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKE5hTiwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aChOYU4sIE5h
TikiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lkZS5odG1sCmluZGV4IGMzMTc1OTg5YjZk
OWYwMDhiNTEyZjM4MDhkOTAyYmI2YTg4NGZmYzQuLjJjM2U0MDNhMjQ3NzBiZjBkZTU3M2Y1YTMw
N2RmOTI0OWY4ZWYyM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
aXNQb2ludEluUGF0aC5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRo
KCkgd29ya3Mgb24gcGF0aHMgb3V0c2lkZSB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdvcmtz
IG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fz
c2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoMTAsIC03MCkiLCAiZmEKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAt
MjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjApIiwgImZhbHNlIik7CiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0
aCgzMCwgMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIw
KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHNlIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgub3V0c2lkZS53b3JrZXIuanMKaW5kZXggMTFiODFkMjE1Y2FlYmY4NWI0MDFjODhk
MDdhMDM1ZGY5ODM3NTc2ZS4uNmZkZDcyZmM3OGY3NTFlOWZhZGIzNDNkNmU3ZDBiOTEyYmY2MjA2
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0
c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgub3V0c2lkZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBh
dGgoKSB3b3JrcyBvbiBwYXRocyBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApLCBmYWxzZSwgImN0
eC5pc1BvaW50SW5QYXRoKDEwLCAtNzApIiwgImZhCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludElu
UGF0aCgzMCwgLTIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgLTIwKSIsICJmYWxz
ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDApLCB0cnVlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIsICJmYWxzZSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5zdWJwYXRoLmh0bWwKaW5kZXggZGRmN2IyNzkzZjQ1NjcwZjRkMDBlZDRj
MjE2NzQxZTc2MjM4ZjdkZi4uMzBiMDQ1OTBmNTQ1OTAwZjliYTJjZjFjOTUzMjQ2Mjg4YWIxMDRh
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguc3Vi
cGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnN1
YnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5pc1BvaW50SW5QYXRoLnN1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRo
LnN1YnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB1c2VzIHRoZSBj
dXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHVzZXMgdGhl
IGN1cnJlbnQgcGF0aCwgbm90IGp1c3QgdGhlIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5yZWN0KDQwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMTAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMTApIiwgImZhbHNlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTApLCB0cnVlLCAiY3R4LmlzUG9p
bnRJblBhdGgoMzAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCg1MCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSIsICJ0cnVlIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLnN1YnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKaW5kZXggYTQ1M2M4MDVkYjgxOTIzMzM1
NDI2YWI2OWY4NTI4ODg0YjlmZjZmMy4uY2YzNDE2OWQ2MDNjOWJhZGUxM2RjYTAxZTE0OGI3ODkx
MTI5MjFlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGguc3VicGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGguc3VicGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSB1c2VzIHRoZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJwYXRoIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCg0MCwgMCwgMjAsIDIwKTsKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MTAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEw
KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUw
LCAxMCkiLCAidHJ1ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEuaHRtbAppbmRleCBh
MWU4NzY2MGRiNzFlZGRhYmE1YWYwMzMxNGMxNjM0NWJjMTYxMGIyLi5hMmNlMGZiZmM3YWJjOTc1
ZTkxNWVmMjMzMGNkZDRiNTJhNzZiYmU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3Jy
ZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0OSwg
MTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFscwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUx
LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MSwg
MTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5q
cwppbmRleCBiZWJjNmQ2Mzk1NTNkNTRhYjdlNmE2NTA0MjIwNzBjYTM5MTMzMWU5Li5hMDg2YThl
MjIyM2VhODAxOGQ5ZGM1OTQyYjY3ZTFjZmM2MGRhMGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFu
c2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg0OSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5
LCAxMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCki
LCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCg3MSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50
cmFuc2Zvcm0uMi5odG1sCmluZGV4IDE5OTUyOTVmYWIyYjI5M2E5ZDJhMGEzMGQ1ZDFjM2JkMjM0
MWNkYzAuLjIwY2YyNmU0NGRhNTRkNGQwMjVhYWQ1NzIyNjE4MWYzNTZkOTkyNzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0
aC50cmFuc2Zvcm0uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRs
ZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5z
Zm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDks
IDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIs
ICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJh
bnNmb3JtLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgudHJhbnNmb3JtLjIud29ya2VyLmpzCmluZGV4IGEwOTJjYjlhNjczZmJhMzg1NzU5MmI2ZWM1
NWI2MmRlZjBjYjI5M2EuLjc1OTYxNTk2MmFhZGVjOTY0ODk2YmY1ZjQyZWY0YWNmOWM4MTEzZGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC50cmFuc2Zvcm0uMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9p
bnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0
cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFs
c2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLmh0bWwKaW5kZXggYjQzZTEwNDJkZDhj
ZjJiMTU4ZGM0YzAxNDhkMDRhZDRmZmQ0Yzg3Yi4uMmMxMGE3YjI3NzViZmNhOTJhMGQ0ZjgxNzcy
YWI0MjFiZDhkZDdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5pc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2lu
dEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0
LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRy
dWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHgu
aXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMKaW5kZXggY2Qy
NDRhNjhiMmQ0Mjg5OWYyZWU1NjAxZmUyOTU1YmIwY2QzMTkxMy4uNjk0YjA3MzgzNDc0ZDQ5NDAw
N2M4YTFlN2EzZWVmMjI5N2ExOWVmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25z
IGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoNDksIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwgImZh
bHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCg1MSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDY5LCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUiKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoNzEsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQu
aHRtbAppbmRleCBlNzk1NjI0MDBiNTJjMWYwNzU3ZjMzMWE4MTM3MmM5NzI3MjM3YjIyLi42MmY4
ZWRmOTU3MTFmNDFkYzVkOWUxZjFlOWIyMDA4NTQwZDk0NTFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2lu
dEluUGF0aC50cmFuc2Zvcm0uNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3Jt
LjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9y
bWF0aW9ucyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMg
Y29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNsYXRlKDAsIDUwKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoNjAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMTEwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgxMTAsIDEwKSIsICJ0cnVlIik7
CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSwgZmFsc2UsICJjdHguaXNQ
b2ludEluUGF0aCgxMTAsIDYwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
NC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uNC53b3JrZXIuanMKaW5kZXggNmVjMjAxMzYxNjExZTFmN2MzZjgyYTI5NjYyZmExNjQy
Mjk1NmMzZi4uYTQxYjRhZWU1YjQzMDc4ZjFlNjBlOWExZjE4NjI4NmU2MTJjNzcyZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0
aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4LnRyYW5zbGF0ZSgwLCA1MCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCg2MCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCkiLCAiZmFsc2UiKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDExMCwgMTApLCB0cnVlLCAiY3R4LmlzUG9p
bnRJblBhdGgoMTEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMTEwLCA2MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTEwLCA2MCkiLCAiZmFsc2Ui
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLmh0bWwKaW5kZXggZjA1YTM5ZDdhZDY2YWMyN2NhMDE1
MTZkZGJhOWViMmE4OTA1ZDMxMC4uMzJlNTc0Mjg1NWEyNzE3MDgyMzQyOWFlYjUxOWM2NTcxNTEy
NDIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
dW5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC51bmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50
SW5QYXRoLnVuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgd29y
a3Mgb24gdW5jbG9zZWQgc3VicGF0aHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQg
c3VicGF0aHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMjAsIDIwKTsKIGN0
eC5saW5lVG8oMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwg
dHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwg
MTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcwppbmRl
eCAzMTZlNzkxYjJmNDQ0YWIxZTM5N2E2YTE5YmNlMzYwNGViNThiMGYyLi5iOGNlODMzNGU0ODk5
NDA2YzI4Y2U4NzcxYTM5MjM2NWVkMTE1ZDIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgc3VicGF0
aHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5saW5lVG8oMjAsIDIwKTsKIGN0eC5saW5l
VG8oMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwg
ImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRpbmcuaHRtbAppbmRleCA4YjBlMDdmMTAxZThjNmJi
MGU2ZGE4ZmU3ZWVlMzdkZmRiMzVhMmFmLi4xNmIxOGQ3N2U2MTVlOTgzNzNiMWM4N2Y4MzNiZTJi
NGYxZGRjODEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC53aW5kaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgud2luZGluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9p
bnRJblBhdGgud2luZGluZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHVz
ZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVtYmVyIHJ1bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgdXNlcyB0
aGUgbm9uLXplcm8gd2luZGluZyBudW1iZXIgcnVsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDcgKzQwLDYgQEAg
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDUsIDI1KSwgdHJ1ZSwgImN0eC5pc1BvaW50
SW5QYXRoKDQ1LCAyNSkiLCAidHJ1ZSIKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUs
IDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUsIDQ1KSIsICJ0cnVlIik7CiBfYXNzZXJ0
U2FtZShjdHguaXNQb2ludEluUGF0aCgyNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgo
MjUsIDQ1KSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgNDUp
LCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDUsIDQ1KSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLndpbmRpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgud2luZGluZy53b3JrZXIuanMKaW5kZXggZmRlMGExN2VkZDZkNjk3MjMyZDQwMDViMGZj
ZWE1ZmYyZWIyZTVmNi4uYjFlOGZkZDQ5ZWRmYjdkN2ZlMzgwM2Y5ZDJjNDA1MTUwY2U2OGIwNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGlu
Zy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgu
d2luZGluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgo
KSB1c2VzIHRoZSBub24temVybyB3aW5kaW5nIG51bWJlciBydWxlIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyAr
MzYsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgMjUpLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoNDUsIDI1KSIsICJ0cnVlIgogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoNSwgNDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNSwgNDUpIiwgInRydWUiKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0NSksIHRydWUsICJjdHguaXNQb2lu
dEluUGF0aCgyNSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDQ1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpIiwgInRydWUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxp
bmVUby5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy5o
dG1sCmluZGV4IGZlNGZmZWMzZmU4NGE5MTM5ZWFmMDYxNzhiNThiZWQwNjA0MTU5YzUuLmZmODI0
MWIxNTYxMWFkOTAwZTIyMGNhNmViODlkY2NhNGQzYWYzZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubGluZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubGluZVRv
LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0
eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5saW5lVG8uYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmxpbmVUby5iYXNpYy53b3JrZXIuanMKaW5kZXggYzA3MDk3NWIyMWQyMGZiOGZi
MDViYzJlNTk1NjM4MDAxYjU2YmRmNS4uZWEyZmY4MzcxZmNlMmJiM2UxZjE0MTNjMDY1YWZmMTMw
NjlhM2FmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKaW5kZXggOTIx
NjgxOWE1NGMzZWZlODcwMGRmNzgwMzQwOTc3NzM1ZjdlM2JjMS4uOWE4ZmViMWFkNzI4YjAxOWUw
NzkwM2Y1ZDFiNTJiOTYzZDY1NGFkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjE8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5J
ZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhpbmcgaXMg
ZHJhd248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhp
bmcgaXMgZHJhd24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0
eC5saW5lVG8oMTAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGlu
ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bGluZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKaW5kZXggNzAxZmZkZDQxZDIzMDlkOGFj
NDY1ZWE4NTA2MGQ3MGYyMzk4MTA4OC4uZGMzZDUwMDgwNzA2N2YwOTQ5NjdjNmJlNzgwNWE3OGEx
MjI1NjU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1
cmVzdWJwYXRoLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5l
VG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYg
dGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlzIGRy
YXduIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgubGluZVRv
KDEwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1
cmVzdWJwYXRoLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJl
c3VicGF0aC4yLmh0bWwKaW5kZXggZmI5YjA0ZDVhNWQzMzliYTkyYjJkOTZlYWRiZDhlOWJjZDIy
YWRjMS4uZGJjMjFmMzA2YjRkNDcxOGU4OWYwMzZkZmYxZWI1ZjI2YTYxMmZjYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxp
bmVUby5lbnN1cmVzdWJwYXRoLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQg
aXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1YnNlcXVlbnQgZHJhd2luZzwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vic2VxdWVudCBkcmF3aW5n
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8o
MTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3Vy
ZXN1YnBhdGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVu
c3VyZXN1YnBhdGguMi53b3JrZXIuanMKaW5kZXggNjk5ZTQ0MDQ4Y2JhMzlmMTcyNWIzZDQ3ZWI1
ZmYxMzhiNDg4OWM2Yy4uYTM0Mzc2NmNhMjk2NTg3NDFlODg5ZjhjMzVhODQ4YjMyOWI2YjZhOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRo
LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJl
c3VicGF0aC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMg
bm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50IGRy
YXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4Lmxp
bmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8u
bmV4dHBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2lu
dC5odG1sCmluZGV4IDA1NzY4YzBjZDg1N2ZhMzRiMGZmZDRlMDcyZjRkNWUxNGVjYTQ2YjEuLjhm
M2U3NGE4NjVjNzQ4M2Y2OWIxZmM1YzRmYjQ2YTVlNmUyMzVmNjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5lVG8ubmV4dHBvaW50PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGgubGluZVRvLm5leHRwb2ludDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3JrZXIu
anMKaW5kZXggMjI2MmI4YmMxMDI1NDE1ZjMzZDNmYTE0MmQ0Y2M1NDgzYWNkYWMwMy4uOTY4ZmQ0
N2M5MmIzMGU0YzIwZGY0MjQzMTVhMTVhZjgyMmIwYWNlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgubGluZVRvKDAsIDI1KTsK
IGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
bGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLmh0bWwKaW5kZXggNGVhMjA5Mzc5NTQxNDAwMGI5ZTRj
OTU0OWI2YTVjMmNjZDA5ZjhlZi4uNTA0MjdiNDMwYTBlMzBkNDQ4NzZjYjBlNTgwNGY1ZmM2YzFi
Y2M2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5p
dGUuZGV0YWlscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9u
ZmluaXRlLmRldGFpbHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5s
aW5lVG8ubm9uZmluaXRlLmRldGFpbHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVUbygpIHdp
dGggSW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMgdGhlIHNlY29uZCBh
cmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJsaW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBmb3IgZmlyc3QgYXJnIHN0aWxsIGNvbnZlcnRz
IHRoZSBzZWNvbmQgYXJnIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3IgKHZhciBhcmcxIG9m
IFtJbmZpbml0eSwgLUluZmluaXR5LCBOYU5dKSB7CiAgIGN0eC5saW5lVG8oYXJnMSwgeyB2YWx1
ZU9mOiBmdW5jdGlvbigpIHsgY29udmVydGVkID0gdHJ1ZTsgcmV0dXJuIDA7IH0gfSk7CiAgIF9h
c3NlcnQoY29udmVydGVkLCAiY29udmVydGVkIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFp
bHMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUu
ZGV0YWlscy53b3JrZXIuanMKaW5kZXggMTNkNjE1MzA2Y2VlOTQ5OTg2MjBlZGJkMTJhODExOTM4
N2FmOTJiYS4uMzc2NTFiYzJmODY4NzVlOTRhZGNmOGFiMzNhY2Y1ZGEzZjBiM2I1ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlscy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUu
ZGV0YWlscy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVUbygpIHdpdGgg
SW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMgdGhlIHNlY29uZCBhcmci
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGZvciAodmFyIGFyZzEgb2YgW0luZmluaXR5LCAtSW5m
aW5pdHksIE5hTl0pIHsKICAgY3R4LmxpbmVUbyhhcmcxLCB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkg
eyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1cm4gMDsgfSB9KTsKICAgX2Fzc2VydChjb252ZXJ0ZWQs
ICJjb252ZXJ0ZWQiKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggOGRkNzczZTgyMDcyNjkzMzUz
Y2E0ODNlODdkZDNhMjY1NzBhNDJkZC4uNzI4MjMxNjc3NmRjYzJkNTg3YTcyNGI1MWYyZjRiNTg2
MjFjZmU0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25m
aW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmxpbmVUby5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8ubm9uZmluaXRlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5saW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgibGlu
ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAs
NDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDRmOTdi
OWIyZGEyM2RhMTdmNGJhZWEzOTcyZWYwMTUyZTYwMjViMmQuLjA3OGYxYjNlOTE3MGEyOWQ4NTQ4
ODhkY2U4OGI5MjM5MDUzNDRjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5saW5lVG8ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxp
bmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkw
LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRtbAppbmRleCAzNmUxNGFjMTE0YjI2NTRlZGJhYmVm
Y2FmZDgyMjk1MDYxYzAyMTBiLi5jYzM4ZTkyMjI3MTg2ZDc2ZGY4NmNhM2YxM2EzODMyNGU0NGEz
NDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5i
YXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
MCwyNSwgMCwyNTUsMCwyNTUsICI5MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2lj
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2Vy
LmpzCmluZGV4IGQ0YjkyOGE2NmM5MWY3YmY4OGU5OTEwM2MzNDE4ODFmYTA1YmNkNmYuLmVmYTdi
ZTRiNDNhMTA5Mzc2MDIwZmQxYTkxNGQwYmJiMWExNGMwMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDkwLDI1LCAwLDI1NSwwLDI1NSwgIjkwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3Zl
VG8ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlw
bGUuaHRtbAppbmRleCA0MWY0NTE0Mzg2OWUxYWYxN2JkNmJmOTQ0ODZmYmNmNjM1NzY5NGQ0Li5m
NjI0NDA5NWRhZDgwOGM2MTI0OTM5YTEwMGQ3Njg4MmY3NGE0OTEwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLm1vdmVUby5tdWx0aXBsZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLm1vdmVUby5tdWx0aXBsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsNyArMzAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRoID0g
NTA7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2Vy
LmpzCmluZGV4IDdkNjQ4ODQ5NjFhZTY0ODNhNGE2OWNjZTQ1MjRmZTk4ZTQyMWY5YzAuLjgzZDhk
Njc4MzczZjU4NzQwMmJkOGQ5ZDc3NjA1Njk4YzdiNTM2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcj
MGYwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5tb3ZlVG8ubmV3c3VicGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1v
dmVUby5uZXdzdWJwYXRoLmh0bWwKaW5kZXggMzkwYTI2MTU0YTU2NzU4YjJiMzFkMzc5NTE4MDIy
N2JiMjliYzhmYS4uOTZkMjdiNjUwODNiNGFlYTNiMDhlN2VhN2FiNTlkZjc5ODhlZGJmZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92ZVRv
Lm5ld3N1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRvKDAsIDUwKTsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1v
dmVUby5uZXdzdWJwYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3Zl
VG8ubmV3c3VicGF0aC53b3JrZXIuanMKaW5kZXggM2RhYzYwODExMjA1NGRiMGI2YzFiOThhOGQ0
NjQ0MDMzNWE1ZjkzNi4uOTE4OGM2NjA1NzE0NmE3ZjkzODI4N2E1ZDZmMzU4NGIxODRlYTg3YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2
IEBAIGN0eC5tb3ZlVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUuaHRtbAppbmRleCAxMDAyNTlhNGE0MDBi
M2I3YjQ0Y2EwNjEzNGM2OGVjYjVhY2M4ODQ2Li5kNzU1YTQ2NmI2NDRiYTYyODFkMGNmMWViYjc3
NDhhZjYzNzA4NDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRv
Lm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubm9u
ZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5ub25maW5pdGU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPm1vdmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJtb3ZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyAr
MzQsNiBAQCBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpzCmluZGV4
IDg0ZDg5NzIwNzY3Yjc3NzZhZmYzNmEzODhmN2QzYzFjYjA3ZjhmMzIuLjY0NzUyNGYxNGU1MzUz
OGViZWZiZDc1NmFiM2I2MTQwN2E5Nzg1YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIm1vdmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3
ICszMCw2IEBAIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMuaHRtbApp
bmRleCA5NTdiODkwMTM3ZWE1MGZiMWI4NzIwNTI0YjA4Mjg2N2YxMzdlYTk2Li5mMDAxZjlkMWUy
NWU2OWRiYTExZjJiOTRkNzFkZjM0NWMwZjczYzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5i
YXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7CiBjdHgu
cXVhZHJhdGljQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcwppbmRleCBk
MDc0ZGZhNTdjNmU0N2U5Zjc1N2ZhYTJhYzVhN2EwYTAyMGFkYjY2Li40NzNlYTlkMDBhZjIyNTUw
NjM2MzhjMGUxNTNjZDM1ZmZkZjBkZmUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUp
OwogY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBh
dGguMS5odG1sCmluZGV4IDhmM2MxMGY5MGMyNWE4MzUzYzc4NDUwMDU5ODBlYTY4MTI0Y2QzNmEu
LmVkOTQ3ODlmZTZmNDJkM2JkOTI1OGJkNWY0NGM3ZGI5N2Y0YjZjZGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3Vy
ZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVk
IChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0
aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAg
dG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygxMDAs
IDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4x
Lndvcmtlci5qcwppbmRleCA2N2IwYmIyMjI4OTI3NWU3Y2UzYmQ4YTZkNzQxYTUzMzRhNDhjYWQx
Li42ZjY3NWE2ZWEyMmYwNDA4NzhkODdmZmUyOTYyMWUyNTIzNDQ1ODY5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRo
ZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQg
bm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5x
dWFkcmF0aWNDdXJ2ZVRvKDEwMCwgNTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSww
LDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4yLmh0bWwKaW5kZXggMGE2MWVjZDgzYzE1OTQ4NWEzYjIwZDE2YjRkZTQ5
Y2IzM2MyMTExNi4uNTc5YzMzNTA0N2EyYzI2NjViMTA3NWZmN2VlZmQ1Yjc0ODI0ODY5OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJl
c3VicGF0aC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1
cnZlVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9p
bnQgaXMgYWRkZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2lu
dCBpcyBhZGRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnF1YWRyYXRpY0N1cnZlVG8o
MCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4y
Lndvcmtlci5qcwppbmRleCBhOGI4N2NjY2M4NGMxOGI2OTFjYTdjMmNkZTQxY2YxYjU4NGJjZWNi
Li5iZWYwNjNjMWRlMTFkMzJlYWZiYTAxNGZmNDBhMzFlZDM4OWVlZTRkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRo
ZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygwLCAyNSwgMTAwLCAyNSk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFk
cmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1
YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwKaW5kZXggOTgwNmNhMDhjNmRkNjAyNzNhODI1
Y2I5ZTU1YTg3OWVmMjg4Zjk1NS4uYzBjNjZmZjIzNmZhZjM4MjdiZjAyOTk2NTY0Y2MxOTlhY2Zh
ZmEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZl
VG8ubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRp
Y0N1cnZlVG8ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cXVh
ZHJhdGljQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0aWNDdXJ2
ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ3LDcgKzUxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAs
NDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZS53
b3JrZXIuanMKaW5kZXggNDg0MTA1MzI1NTU2MGE0NWEwNjYzZjE4MGMzYTg3YzA2Zjg2NzI4NC4u
MjYzZTg0MjhhM2FjZjdiM2I2NDRjZmJmODA1NWMyMjkwMDFhYjU1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5p
dGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJxdWFkcmF0aWNDdXJ2ZVRvKCkg
d2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbAppbmRleCA5ZDFlYzRm
ZDRiY2FkNzU0ZjE4MTE0YzU4OTNjZGEwZjE1MTZkYzRmLi4zNDEzOWE2ODk3NTAzY2ZjMWYxMmRm
NjkyNzAwNTQ2NDNlMGVjMDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2Fs
ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
c2NhbGVkLndvcmtlci5qcwppbmRleCAyZTQxMDZlZDljNzlmN2JiZmZlMWJhMWE0YTUwZTc4N2U4
NDQ3ZDUwLi43NzBhYjkzOGY3YWViYTU3ZGNjMzE3ODQ1ZDNjMjY0MGEwMDA2YTgwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNj
YWxlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS5odG1sCmluZGV4IDQwZTQ1
NGE3ZTQxNDE4N2MyNDIzOWVjMDgzNDAzNmE0Nzc0NWJmMjQuLmY1ZTU1ZTNmMWRmMTI3ZDFiM2Zi
YTVhMTFhNmI0Zjc0OTc5MTBmMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hh
cGUud29ya2VyLmpzCmluZGV4IGU4NzEwZjlhZGIwZTBlOWU1MmZhZWM5ZjE4ZTEwYWIwYTE0NTJk
N2IuLjlmZjg0ZTIyZjFjN2VlNjA3NzgzN2Y2YWYzMWQ3YzU1YTMzMTU5MzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC5iYXNpYy5odG1sCmluZGV4IDA1OTY2OGFiOWRiNGM4NTY0YWM5ZDAyODZiMWNhNzk5MWIz
MzcwMmYuLjAxZWUwMjU1YzMxYjc3NjI2ZjlmZDVkNjMzYzIwODI0OTY1YWRlZjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0LmJhc2ljPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
cmVjdC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMud29ya2VyLmpzCmluZGV4IGFiY2FjYWQ1YmZi
NmRhNGVmM2Q5YmM5ZjRkZjIyM2YxYzIwYzY5YzIuLmQ2M2I3NTIwY2M2NjM1ZjAxZGU4YzM2ZGFi
YjJhMjYxN2JiOWU4NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNp
Yy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0bWwKaW5kZXggOTQzZDdjOTE5MzgwYjUz
ZDZjOGQ2MjllMTU3YWRjMGVkYmExMWViZC4uZDJhODMyYTkxNDI5ZTk4ZDBiNzc2ZmRlZDU1ZDVm
YTZmMGUzOWZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xv
c2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVj
dC5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0LmNsb3NlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubGluZUpvaW4gPSAnbWl0ZXInOwogY3R4LnJl
Y3QoMTAwLCA1MCwgMTAwLCAxMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuY2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNs
b3NlZC53b3JrZXIuanMKaW5kZXggOWEyYjdlNTYyM2NiYTI3ZTI1MDFlZGI2MmIzNTg5MWFmMDVi
ZGYxMC4uYjc3MmZiMGU5NGQ1ZWEzNjcyZmQ3ZWViNDE2NzkzYzgzZWE0MzhmZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5saW5lSm9pbiA9ICdt
aXRlcic7CiBjdHgucmVjdCgxMDAsIDUwLCAxMDAsIDEwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuZW5kLjEuaHRtbAppbmRleCBiNDRjNmE4NGEzMWUxOGMxYTdjMTVlMjUyZjQzZGVlY2Y0
YjA2ZTYxLi41OTIzNjIwYjY4NGJkMWQ5M2ViOWM1MjBiNDExMTgyYWNmMTVjMGViIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC5lbmQuMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LnJlY3QuZW5kLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnJlY3QoMjAwLCAxMDAsIDQwMCwgMTAwMCk7CiBjdHgubGluZVRvKC0yMDAwLCAtMTAw
MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKaW5kZXgg
NzJiMmQ4YWZmMWM1NWQwZjg1ZThlNmMzNzM5ZjI3ZTdjMjc4OWI4Mi4uZDI3NTdlZTQ5MWFkODYy
YmVhNDcyMWI1MDA0NGU0YmM4MjVjMGMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuZW5kLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0LmVuZC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCBjdHgucmVjdCgyMDAsIDEwMCwgNDAwLCAxMDAwKTsKIGN0eC5saW5l
VG8oLTIwMDAsIC0xMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
LmVuZC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi5odG1sCmlu
ZGV4IGE0OGIyN2Q2MWI5NzI1YmExZGE1ZDRlMzMyNzc4OGM0YzZkOGVjMjEuLjA2NWIwYTBlYmNm
MzgzM2FlNzRlZjI1NDg5YTMwNjgxZjYwNTg1NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0LmVuZC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuZW5kLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5yZWN0LmVuZC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5lbmQuMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
ZW5kLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIud29y
a2VyLmpzCmluZGV4IGE5NzE4NzQ1YTM5MDA5ZjJlMzY1MjI4YmRhYzNiNTI1YjdhZGE4YWEuLjA0
MDE2ZTE5YWM1NTA3YjA1MGQ0MTUwY2ZkN2JlODZmOTNiNDFlN2QgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS5odG1sCmluZGV4IDU1
ZWRiYWJkMzFlYjI4MzI3NWUwMmNhMmNhZTY3NjM0MGUyZGVjZDcuLmQ5ZTY4ZDE5MTM4MGZkNjFm
NDc1N2UzNzY2NWQxN2ZiNzZkMjJlOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0Lm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQucGF0aC5yZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5uZWdhdGl2ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1
LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggNGVlMGI3MzBmZDI3MTRkZTA4NWY4YWQ5
ZGQ2ZDgxMTNlMGRmOGNjNS4uNGUyOTAwZjM2ZjgwNDk3ZjZlZWI1MTdiMThmYzNmOGRhNGJjYjdm
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAs
MjU1LDAsMjU1LCAiNzUsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDM3LCAwLDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLmh0bWwKaW5kZXggOTgyZThiOWMxODkyYTJiMjAyNWNi
M2VhNzRiNTMxYWNjMjUwODBmMi4uYjdiYjc4NDViYTc0NjcxN2ViMTE5YTNjODliYzZhMzgwOWZi
OGQ5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmV3c3VicGF0
aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGguaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5y
ZWN0Lm5ld3N1YnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5ld3N1YnBhdGg8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtNTAsIDI1KTsK
IGN0eC5yZWN0KDIwMCwgMjUsIDEsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QubmV3c3VicGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC5uZXdzdWJwYXRoLndvcmtlci5qcwppbmRleCAxYmFjZGFhZDBjNjVlMGE3YmQ3MDU4NWMz
MGYzMDlkOWYxYjY5NjY0Li4wNzQ1ZWJmMjNmYWRkOWI1OTJiZjdlMDE4Mzc0YjdkYjg5N2U3ZjQ3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRoLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHgubGluZVRvKC01MCwgMjUpOwogY3R4LnJlY3QoMjAwLCAyNSwgMSwgMSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGQzYzYyZTVlNjkyMDNh
OGE3NTRjYTRhMmRjZGMzYTlmZTA4NjA4YTguLjQ1ZmQ1NWRkYWM2Y2QzYzMzZGQxOGEzOTVkYjdk
NGJmMjUxMTYwOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5v
bmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLnJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5ub25maW5pdGU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPnJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicmVjdCgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Nyw3ICs1MSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDM1NTgyZmQ2NjRiM2UwODM4
YjE2MGM3ZTkwYTFmNTVhY2RlNjE4ZDcuLjE0NDIzMmU2NDVmMGY3YjUyZWJlYzFkNTc2YTVlZGQ0
N2M3ZjE4ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZp
bml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmlu
aXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicmVjdCgpIHdpdGggSW5maW5p
dHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LnNlbGZpbnRlcnNlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LnNlbGZpbnRlcnNlY3QuaHRtbAppbmRleCA3Y2ExYWY1OWQ1MGIwNmY2YTBhOTI3ZGI5ZTcy
NjdmZDIyYzhjYjdlLi5jZjM3Zjc2MjE1ZjQwNjk0MjkzNzczNzE4YmQ1ZjY1YjQ4M2E1ODdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJl
Y3Quc2VsZmludGVyc2VjdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Quc2VsZmludGVyc2VjdDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHgucmVjdCg0NSwgMjAsIDEwLCAxMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzCmluZGV4IDBjMjYxYjY0M2Q2NDdkNDc1
ZDk2N2M5ZmEwODdhMjYwZTUxZDI0ZmMuLmNjYzgwNmU1OWVlYjA4YzdiYTkyNThkZDQ5ZDQxODdm
MzZiMjZiNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNlbGZp
bnRlcnNlY3Qud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNl
bGZpbnRlcnNlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDQ1LCAyMCwgMTAsIDEw
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcuaHRtbAppbmRleCA0NTMyZGRi
OWVkZjE3MmFkNDdiZWRhYjFiM2RiMTY2NDMxYmMwYWU1Li41ZGYzOGMxMDY1YTk3MzRkNTBlM2Yy
Y2Q4MzkwOTAxNTMzMzllOTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC53aW5kaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2lu
ZGluZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLnJlY3Qud2luZGluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Qud2luZGluZzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMCwyNTUsICIyNSwxMiIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTIsIDAsMjU1LDAsMjU1LCAiNzUsMTIi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDM3LCAw
LDI1NSwwLDI1NSwgIjI1LDM3IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwzNywgMCwyNTUsMCwyNTUsICI3NSwzNyIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC53aW5kaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lndp
bmRpbmcud29ya2VyLmpzCmluZGV4IDcyZjNlM2EwMTllZjI5MzkzZWFjN2YzODIwZDI4N2Q5NGNi
Y2U5MDAuLmJmZjAzYTQxMDRkZjkyMzE3YWYwN2FhM2I4YmRjMzNlYjk4ZTM1NTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LndpbmRpbmcud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUsICI3
NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0Lnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVy
by4xLmh0bWwKaW5kZXggMjg3M2E1Mjg5NThmOTYwNGEzYzMzZDVjY2U3ZmRjMWUzZGQ4YjI1NC4u
ZjNmNDIyMWEzNzIzOGU4NTYwMmVlZDRlYzA2MmEwYzdlZWFiZGQ3OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0
Lnplcm8uMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC56ZXJvLjEud29ya2VyLmpzCmluZGV4IDdhZDY0MDRiMWNhOTU2YTM3
MzU1ZDZjMTRiZTk1NmU0NTNkZDdhOTkuLjM5N2NhZTE5NzAzMmM3N2Q4YjQ5ZDYzMGMzMTQ1OTI2
NzRhMjUzZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwKaW5kZXggMGJkZWFkMDcwZDMxNTY4ZmUxYWI1MWU5
Mzk4MjM3MTVmYzVmZTA4YS4uZTg2YWE1MzJhZWVlZTQ3ZmM5YTk4Yzc5NjQxODQ3ZDYyZjMwNTQw
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1MCwgLTEwMCwgMCwg
MjUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIud29ya2VyLmpzCmlu
ZGV4IGNkNDM3MDFhYjQ5NWMwZDBhNzkxOTUwY2QwYjhjNmYwNzE1OTVhYTUuLjhhODdkZThlNGM1
MDRjNWI0YjZiMzYyYTA2ZThlMDU2MTgxZDA4MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuemVyby4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVnaW5QYXRoKCk7CiBjdHgucmVjdCg1MCwgLTEw
MCwgMCwgMjUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
My5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLmh0bWwKaW5kZXgg
MDJhODRlM2U4NDAwZDY2MDY5YzlmNWQ1MTRiOTNmMjNiYzA5ZDM5NC4uNWM3ZTgxZjQzZTViMmQ2
YmUwMjczNGQzMTg4Y2JjNTBkYTNiZjc1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuemVyby4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGgucmVjdC56ZXJvLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uMzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuemVyby4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0
Lnplcm8uMy53b3JrZXIuanMKaW5kZXggMTkxNzY4MzhkNTJjN2EyYmI1MmY4OWY4ZGM5OTY4NDJi
NGQ0MjRiMS4uOTc5OWFlMjk5OTAxYjg3NzY1ZjNjYjU4ZDZjMTVlNzRkMjNiNzBlNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4zLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgo
KTsKIGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC56ZXJvLjQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnpl
cm8uNC5odG1sCmluZGV4IDdjODA3ODA1ODhmNmY5YjFmNWQyMDQ2Mjc0ZmEwOTY3NGRjMmVmYTYu
LjQ0NDVhNTBjMjM3YjZmNTk0MWYwZmI1MWNiOGRiNjA5NTk3YWJhOGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVyby40PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVj
dC56ZXJvLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4LnJlY3QoMTAwLCAyNSwgMCwgMCk7CiBjdHgubGluZVRvKDAsIDI1KTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjQud29ya2VyLmpzCmluZGV4IDdjOTEyMzZjNzQ4MDg0
M2RjZmYwOGEzMGZhY2Q1YmJmNWU2N2UyZDUuLmYxMzdjMDc1ZmFmNDlkYzQ1YTgyMTc4OWViZDBm
YjQ4YjY0YjQ1OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnpl
cm8uNC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHgucmVjdCgxMDAsIDI1LCAwLCAwKTsKIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbAppbmRleCAzZmM2MzQ1NzdhNWFmMTFiYzdi
Mjg0MTkzNTVmZjViYzhiZWFjOTZiLi5hYjQ2ZDRkODRhZTFiYmJjZDE5NWFiODFhZTEzMGM4YzE5
NWVhZGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0Lnpl
cm8uNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuemVyby41PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5tb3ZlVG8oMCwgMCk7CiBjdHgucmVjdCgxMDAsIDI1
LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUud29ya2VyLmpz
CmluZGV4IDFlODM5MDE2ZjI2NTNjNGZkZWMyNGVjOTM3Mjg5NzUyZDMzOTczMTIuLmMzZGIwYWVh
ODgzMjJkNjFlM2JiZjY2MjNhODlhOGRjYWRhODU2MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgubW92ZVRvKDAsIDApOwogY3R4LnJlY3QoMTAw
LCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCmluZGV4
IDQ1MGVmM2MzNjY4NGVjMDkzYzVjNmM3Y2E0ODM5OWExM2VkMzIxYzUuLjczNmRhZjlmOTZjZGEz
YzE0ZjZmMWNlYTE1MDQyMTgyYjYzNWNiMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lnplcm8uNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0Lnplcm8uNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnJlY3QuemVyby42PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjY8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmJlZ2luUGF0aCgp
OwogY3R4LnJlY3QoMTAwLCAyNSwgMTAwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuemVyby42Lndvcmtlci5qcwppbmRleCA0NGJkYTdlZTcxZjA0MDk2ZTgyZjhkNGNlOGM0
Mjc5NGVlMzk0NmY3Li4zYjBjYTY0ZDJhZTMyYWE1MWRlODM1MGM4NjA5ZTQ3YzBlY2Y2MzQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjYud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmJlZ2lu
UGF0aCgpOwogY3R4LnJlY3QoMTAwLCAyNSwgMTAwMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLmVtcHR5Lmh0bWwKaW5kZXggMTRlNDg5YWJmNTMyNzI1MzZkZTAyZWUyMTJlMzM3
YjlmYjk1ZmU1Yy4uYzI5NDc3ZTJkZWU0NDQ3ZWY4YmM2M2RiOGQyMmViYTYwYjM3OWY3ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UuZW1wdHk8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5zdHJva2UuZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkVtcHR5IHN1YnBh
dGhzIGFyZSBub3Qgc3Ryb2tlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkVtcHR5IHN1YnBhdGhzIGFyZSBub3Qgc3Ryb2tlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg0MCwgMjUpOwogY3R4Lm1vdmVUbyg2MCwgMjUp
OwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcwppbmRl
eCBkNmRiMmEwMWI2ZDIxMjZkYWJjZWQ4ZDE4ZWYyYWQ5ZDU1MGZlZmRhLi4yMzUwMzgwNDc4NzBm
OTY5YjExODQ5YWZlYjZkZTRmMjc5MWUwMjA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRW1w
dHkgc3VicGF0aHMgYXJlIG5vdCBzdHJva2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
bW92ZVRvKDQwLCAyNSk7CiBjdHgubW92ZVRvKDYwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sCmluZGV4IGM3Mjc3YjkxY2FkZDk1MDczM2I5YTY4YmI3
OWY2MmNhODNhMGUwMmYuLmFlYTIwYjJiYjMxMjllMGU2MDllOTdmNWVlNWFmYjZkNTI3ODk2OGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5v
dmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLm92ZXJsYXA8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlN0cm9rZWQgc3VicGF0aHMgYXJlIGNvbWJpbmVkIGJlZm9yZSBiZWluZyBkcmF3bjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZWQg
c3VicGF0aHMgYXJlIGNvbWJpbmVkIGJlZm9yZSBiZWluZyBkcmF3biIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgY3R4Lm1vdmVUbygwLCAzMCk7CiBjdHgubGluZVRvKDEwMCwgMzApOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMTI3
LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAxKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC53b3JrZXIuanMK
aW5kZXggNTE2MDg0NzkxYzg3NjVkNmFjZDFjN2E5YWU4MTlhNWVjYjczY2FlZi4uZDk3Y2ZiY2E4
MGZkZGQzOTQ1ZTVhZGE5MWI0OGRjOGE0MzI5MTE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTdHJva2VkIHN1YnBhdGhzIGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd24iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5tb3ZlVG8oMCwgMzApOwogY3R4LmxpbmVUbygxMDAs
IDMwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDEyNywwLDI1NSwgIjUwLDI1IiwgIjAsMTI3LDAsMjU1IiwgMSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
cHJ1bmUuYXJjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFy
Yy5odG1sCmluZGV4IDA2NTMxNGU4MjA1NmQ5YzUwYWMzMGMzNWU0NzI3ZDZjZGFjZjQyMDcuLmUz
MjNjZTE3OTQ4YTQ2NzBiZmI0OWJkNDA3ZjMxNTE1MTMyYjFlODEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0
cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJl
bW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubW92ZVRv
KDYwLCAyNSk7CiBjdHguYXJjKDUwLCAyNSwgMTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5qcwppbmRleCBlYmE1
MjMzNTIyZmRkNThmNjFkZGU4Mzk5MTE1MDYwOTNhOTVhOGYwLi44MTJkNzEwZGFlNWZkNDI4Nzdj
YmQwZWI1ODg0NDE2MTFmYzI1ODFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnBydW5lLmFyYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJa
ZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3ZlZCBi
ZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5tb3ZlVG8oNjAsIDI1
KTsKIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLmh0bWwKaW5kZXggN2M4ZmZlMTI3ZDBhMDA1
ZDVjMmRhMjRlZWQ4M2E4YzQzY2ZiYWQwOS4uZGE3MmM2OTE3N2JjYTJlMzk4OTUzNjg3MmIzZjI1
MzE0ZGI5NzVhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNsb3NlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2UucHJ1
bmUuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRz
IGZyb20gY2xvc2VkIHBhdGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZzwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3Ro
IGxpbmUgc2VnbWVudHMgZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9r
aW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHgubGluZVRvKDUwLCAyNSk7CiBjdHguY2xv
c2VQYXRoKCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmNsb3NlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmNsb3NlZC53b3JrZXIuanMKaW5kZXggOGIyZTkyMGU3ZjQzMGIzYTNkNTAzZmVmYTRjN2RkY2Zl
NTYyMmNiOS4uNDA3OTg0Y2EyYTQ2MTk3NGZkNjUxYTQ3ZmZkNzM5NzY0Zjk2NDA1MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50
cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5jbG9zZVBhdGgoKTsKIGN0
eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lci5odG1sCmluZGV4
IGVmMDkxOTYzNGI3MDc0YTlkNjVmOTkyMWU3YTViOTc5YzVlNGY3ODguLjI3OTYyY2IyM2EwYTIy
ODcyNGUxNmE0Y2M0MDIyZDRlYTk0NWYwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcgd2l0aCBtaXRlcnM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJa
ZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRo
IG1pdGVycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmxpbmVUbygtMTAwLCAyMDApOwog
Y3R4LmxpbmVUbygtMTAwLCAxMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUuY29ybmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUuY29ybmVyLndvcmtlci5qcwppbmRleCBlMGIwYWQ1NTY3ZTkyMmZhYzc0
ZDk3NjlhZjlhMWFjNTRkOGJmMzMzLi4yMGU5ZTRiMjM1ZDQyYWJlODQ2NDljNjA0NzFkZTE5OWJi
NzhlM2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5l
LmNvcm5lci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5jb3JuZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRoIG1pdGVycyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygtMTAwLCAyMDApOwogY3R4LmxpbmVU
bygtMTAwLCAxMDAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
cHJ1bmUuY3VydmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
Y3VydmUuaHRtbAppbmRleCAyZjBkZDFlNjU4YmI4NTM1MmNmZDA2YmY1YjY3MzNjNzk5ZGEzNzM1
Li42MmEzOWJmOTkzNGEyMGFlODhlZjMxMDM2NjEwMGY3YjU3Njk5MzZkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5j
dXJ2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJl
emllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBz
ZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92
ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBjdHgubW92ZVRvKDUw
LCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbyg1MCwgMjUsIDUwLCAyNSwgNTAsIDI1KTsKIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMK
aW5kZXggNTRkNjk1NWMzNTNjZDUzMGViMzI3NTA5NTdmZWYzOWE3ZDcxYjkzYy4uMWFkNmQ5YTYx
MDkwNjIxODcwOTNlMGY4MmFiZWQ2ZWJmMTE4ZDZiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBxdWFkcmF0aWNDdXJ2
ZVRvIGFuZCBiZXppZXJDdXJ2ZVRvIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg1MCwgMjUpOwogY3R4LmJlemllckN1cnZlVG8o
NTAsIDI1LCA1MCwgMjUsIDUwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnBydW5lLmxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UucHJ1bmUubGluZS5odG1sCmluZGV4IDJhNjU5ZWFiZTBhYTdhZmQ3ODVkYmMyZDljMGYwMDZj
NzFjOTFlYWUuLjE4MThjNzJhODFhZjdkZTdlZmM4ZjIyODRlNzI2ODI3ZmVmNTJmNGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5w
cnVuZS5saW5lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92ZWQg
YmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUg
cmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5tb3Zl
VG8oNTAsIDI1KTsKIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UucHJ1bmUubGluZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUud29ya2VyLmpzCmluZGV4IDgyMjlmMzQxN2EyZjRi
M2Q1YTkxODA3YmY5YzIxMWVlNWJiM2Q4ZTguLmFkMWNhODMwODA2NzJmNTBjMTI3YTFjMTk5MjFi
NTZmODMzNjBiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
cHJ1bmUubGluZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5saW5lLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmci
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5tb3ZlVG8oNTAsIDI1KTsKIGN0eC5saW5lVG8o
NTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
cmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0
bWwKaW5kZXggYjRiNGFlYjBiNjUzZjMwOWU4OWU2ZWMwM2I0ZjRkZTAyNjFiNGQ4Yy4uZDI2NTZh
YjM5NTNlN2MwN2FlOGM1Zjg2Yjc1MjZlOTk0YzcyNjk1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Q8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5zdHJva2UucHJ1bmUucmVjdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+WmVyby1sZW5n
dGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVm
b3JlIHN0cm9raW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0cm9r
ZVJlY3QgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBA
QCBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogY3R4LnN0cm9rZVJlY3Qo
NTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Qud29ya2Vy
LmpzCmluZGV4IGUzYjJmZjgzNzJmM2YzZmRhZGZlMzJiODFkMDE0MDc0MjA2YTI4OWYuLjEwMmI2
YzE0MjkyMzFiNmZmZGI1NzJlNDNiZGM5MzllMjVlYjk1ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0
cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcs
NiBAQCBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogY3R4LnN0cm9rZSgpOwogY3R4LnN0cm9rZVJl
Y3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS5odG1sCmluZGV4IDYxZTlh
N2VhODIxMjgwMWUyNDU5MTY0M2QwMGQ3ZGUyYTYxMzIwZDkuLjU5YjRlMGUwYTI2NmYwZjRiNDNm
OWI5MmYxZWU2NDkxMzljMTEzYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2Uuc2NhbGUxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5zdHJva2Uuc2NhbGUxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnNjYWxlMTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1
cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQg
YnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDEsNyArNDUs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5
OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEud29ya2VyLmpzCmluZGV4IGU1ZmM4YmNjOTIz
ODVkNDIzNGEyYjU4NGNkMTMzNDY0OWIzODMyZGUuLjI0NTM0MjZjZmViNjllYmE3ODI0MGE3ZmNi
Njg4NzRlNDlkYTM3NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2Uuc2NhbGUxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnNjYWxlMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZSBsaW5lIHdp
ZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM3LDcgKzQxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUs
IDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi5odG1sCmluZGV4IDBiYzRj
MjZkMDQwYWIzYTY2YjY3YjIwYjEyNGI5ZmQ0NmM1ZDYwYWYuLjkwNWMwNGFiNDFjZWU5ZmZjYTdk
YmU3OWUyNjJjODNhYTM1MjVlMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2Uuc2NhbGUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5zdHJva2Uuc2NhbGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnNjYWxlMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1
cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQg
YnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyArNDcs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5
OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0
OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTks
NDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIud29ya2VyLmpzCmluZGV4IGI1MzJmYjdhM2Q4
ZDBmM2FkYzk4MTA2ZjRhODczZmJiZmUwMDFlZmEuLjMzZTFkY2RjMTU3NzhmZmIyMTkwN2NmNWIy
ZWY0MjEzMzQ5MTQ1NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2Uuc2NhbGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnNjYWxlMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZSBsaW5lIHdp
ZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUs
IDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lmh0bWwKaW5kZXggNjIyMGU3YzU0
ZmNjNjYwOTI1NWNhYTM3YTQ3ODI1MGVhYzU0NzVkNC4uNjg5Njk2NTcyMTE1Y2Q2YzUxZGY1YTdl
NjAyMDQ3MDRiOTg2MTVkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0
cm9rZS5za2V3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguc3Ryb2tlLnNrZXc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uuc2tldzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U3Ryb2tlcyBsaW5lcyBhcmUgc2tld2VkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0
aW9uIG1hdHJpeDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlN0cm9rZXMgbGluZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zv
cm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01Niw3ICs2MCw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAw
LDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
c3Ryb2tlLnNrZXcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5z
a2V3Lndvcmtlci5qcwppbmRleCAxMjVjNzBjOGVkZDYwYjdmZjEyMjQwN2U1OGM2ZjZiZDFjY2Ez
NDhmLi5iMjA0YmVkMWMxZGY2NDdhNmM4YWM1MDQyZmQ3N2M5N2M3ZDRlN2Q3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlN0cm9rZXMgbGluZXMgYXJlIHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFu
c2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01Miw3ICs1Niw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAs
NDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5
LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJv
a2UudW5hZmZlY3RlZC5odG1sCmluZGV4IGZjMmRmZjk0MWJhYjIwZDg0NzM5ZjQzOTBkYjViOGJm
ZGNlNmZkOTUuLjAyZDk3YTY1NTc5YjRkN2U0NDU4N2EwMWYzZmRiNzk5ZmI5NzI5ZmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS51
bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9r
aW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMK
aW5kZXggNmMzYzE2NTU5Yjg2NjI1Y2IyZTViODI4MWIyMGMzZWY4YzQ3YmQ3ZS4uZDkyOTY5N2U1
ODMwZjM5ODQ0ZWZmZWFjZTg1MmI0NjQ1MmU1NzUyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJTdHJva2luZyBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5zdHJva2VTdHls
ZSA9ICcjMGYwJzsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5p
b24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UudW5pb24uaHRtbAppbmRl
eCA3Njg4NGNhNTQ2N2Q0NjdlODc2MTlhYTljNWYxOTE0NjQ1YTNhNDAyLi5kYTUyMjZiZWNmMDk3
MTg4M2MyMzFmMDliNzg0MmI2NWY5MzM2ODA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguc3Ryb2tlLnVuaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS51bmlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS51bmlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS51bmlvbjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFyZSB1
bmlvbmVkLCBub3Qgc3VidHJhY3RlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucyBhcmUg
dW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5tb3Zl
VG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAsIDQwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2UudW5pb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS51bmlvbi53b3JrZXIuanMKaW5kZXggMDU5NGIyOGNiZjY4MjYzNzU5NmZlOThj
OTI1ZTVkMWExMjQ2NDJhOC4uZTg0Y2VlMTczZjkzZjIzNDE2NTA1NTkxNGEyMTZhNWExZmNlYmUx
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN0cm9rZXMgaW4gb3Bwb3NpdGUgZGlyZWN0aW9u
cyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0
eC5tb3ZlVG8oMTAwLCA0MCk7CiBjdHgubGluZVRvKDAsIDQwKTsKIGN0eC5zdHJva2UoKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwKaW5kZXggZTdjYjhlY2U0ZjE0
Mjc4ZDk0NDVlMmEwYzM0MzkxZWNkZWEwOWQ4Zi4uZDhkZjBlNTBjMDlkOWQ5MmI2Y2M2NmI2ODhk
NGZmYmMxNmYxNjAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5z
Zm9ybWF0aW9uLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5z
Zm9ybWF0aW9uLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC50cmFu
c2Zvcm1hdGlvbi5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyAr
MjgsNiBAQCBjdHgudHJhbnNsYXRlKDAsIC0xMDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLndv
cmtlci5qcwppbmRleCBhYzliYzFiYjE2YTdhODlmZTMzMjZkYTc4YjhlNzNiOGQxY2JmZWViLi5h
ODQ4OWIwNDk5NGVmZWY1MTM3Zjc5Mzk1MzkwN2I1NjQ1NTE1NWJhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnRy
YW5zbGF0ZSgwLCAtMTAwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbAppbmRleCBhYmE1
NDZiODY3ZTdmOTUzNjFhZTk5YTJjYWQ5YmIwMzA4YzFkOTA3Li5iYmQxZTQxMTRiODAyNWI5OTNj
MTVhNGU2MGJmM2JhYjU2ZDI1NmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5UcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3
aGVuIGRyYXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0
aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5yb3RhdGUo
TWF0aC5QSS8yKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3JrZXIuanMKaW5kZXggMmY4
NDE4ZGJlZGZlYTg4ZTg3ZjE3NGRkZTkxYTM2OTVmMWNjMzg2OS4uZmY3MGNjNGQ5YzBlOGM5MzBk
MjI3OTBiNTY4MWEzOGZlNGVmMTcyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcg
cGF0aHMsIG5vdCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5yb3Rh
dGUoTWF0aC5QSS8yKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbAppbmRleCA3ZjM4ZGFlZDhh
ODkxNWFkYTlmMjY1ZmEzYzA0NzgwYTgxMmQ4YzNkLi4wMDExMWVjNzUzZGFlZGU5OWY3NzdlNGVk
MzAzMzFlODNhYjViODFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJh
bnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
dHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5UcmFu
c2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRy
YXdpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5v
dCB3aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0eC5zdHJva2UoKTsKIGN0
eC50cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRy
YW5zZm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggNjJiZGU2M2U5MTVlNjM5
NzM5YWIyYTEwMDc1MmM3ZDQ0YzExNjg3Mi4uYThmMjM3OWQ2NTFlNDc0YmUwODJhMTg5NGExZjMx
NzYwNWFhZmU5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9y
bWF0aW9uLm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
dHJhbnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3
aGVuIGRyYXdpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5zdHJva2UoKTsKIGN0eC50
cmFuc2xhdGUoMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMS5iYXNpYy5odG1sCmluZGV4IDgxNTJjZmM5NzMyZjdjNGRhNTlmZGFlYTkx
ZDNmNzQ1ZjEwMWNlYWUuLjhkNGZiMjlkMGY4YzA0YzU4MTc5ZjkzMTA1MTY0MjE1NTkxYTJiMmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEu
YmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVh
dGUxLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUx
LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgZXhp
c3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZzwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoaW1nZGF0YSkgZXhpc3Rz
IGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VEYXRh
KGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0YShj
dHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMS5iYXNpYy53b3JrZXIuanMKaW5kZXggMjUwYTE2MWYzMjI1OGRhZGM0OThhODI0OWMyNWRl
NGQzNDcwOGRhMi4uOGQ3OTVlYzFmZmU5YzA0ZTcyODkyZjQ1ZDkyMzQ5ZmJlMGUwNjAzZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3Jl
YXRlMS5iYXNpYy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFn
ZURhdGEoaW1nZGF0YSkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVu
dChjdHguY3JlYXRlSW1hZ2VEYXRhKGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpLCBudWxsLCAi
Y3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSIsICJudWxsIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKaW5kZXggYTM4NWQ3MmUzOTcwYzMw
YWY5MjcyZGM3ZmJmYTM0YTBhYmM4ODE1OS4uY2M4OTViNzE0NGM3NWIyYTIzOTJmNjQ2ZTMwZTQ5
Yjg0OTUwZTYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
aW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1h
Z2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBvZiB0aGUgcmln
aHQgc2l6ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNr
IGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAodmFy
IGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YTIu
ZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNz
ZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcwppbmRleCBkYTA1NDNjNDQ5NTJmMzMz
ZDQ5ZTE1ZTc3YWVkZGU2NTFmZjRmMjJhLi4yNTdiYmQ4YzU3OTgzMjZiMzBmYmVjZmExODUwYWE0
Mjk3MTllM2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNr
IGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGZvciAodmFy
IGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YTIu
ZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNz
ZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuemVyby5odG1sCmluZGV4IGJiY2FkYWQzMWM1MmI3MjFmZjBjMmVkMTkwMTRhOGRk
MGQxMDE3MDguLjEwMDBlNDRjODYzMjA0MzE5MmEzNTAzMGQyN2Q1ZWJhYjQwOTUyZGYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVy
by5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEuY3JlYXRlMS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm88L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9y
PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEobnVsbCk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcwppbmRleCBmM2JlZDg0ODhlNmM0
Yzg0ZjY1NmNiOTcwMjEwZGQ0MDVmZTM3YzVmLi42OTNmYzU5MjdiZmQ1ODQ0MGQ3MDI3YWYzYzc3
MzUzNDgxYmY3ZWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJjcmVhdGVJbWFnZURhdGEobnVsbCkgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKG51bGwpOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy5odG1sCmluZGV4IDEzY2I1ZGU0Y2NkMjRkYjg4
Zjg2NjkzYzFhOTM2MDQxMmNkMDQxMWEuLjMzNzFiOWRhY2I0ODcwYzk5MjU5NDIyZDZlOTgzMDU5
ZjYxMTZlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTIuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5jcmVhdGUyLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3cs
IHNoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gp
IGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmNyZWF0ZUlt
YWdlRGF0YSgxLCAxKSwgbnVsbCwgImN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkiLCAibnVsbCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCmluZGV4IDgyMTkwZDZj
YjBiMTcyMWI1Y2U0NzlmMzlmZjZjOGQ3NmEzMDNmY2YuLjM2MTI4ZDk4YTQwMzE5NmM1NmZkMTVh
NWU5MWEzZGVlZmM2Y2RlMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5zIHNv
bWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpLCBudWxsLCAi
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSIsICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
aW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi5pbml0aWFsLmh0bWwKaW5kZXggZTdjZWQ5ZDIxNjY3ZmM4NWUzNjNmZGQ2YmFjYmYwZjQyZjU0
Y2ZiNi4uYzdjMDgwODIzNmVhNDdmNzE2Mzk1MzUwODU0NTZkMGExOGE4ZGMwYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0
aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5p
dGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgcmV0dXJu
cyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXpl
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0
YS5sZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICBp
c1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAi
aXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWwu
d29ya2VyLmpzCmluZGV4IGQzZmVhMjRkNTg2ZThjYTY2OTlkZGQ0M2QwZjMwN2IzNTY5OTc4YzMu
LjE1MTIyMTA2NThlOGNiZDFmM2UxM2IxMDI0NTg4YjMxZTNiMTAwOTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0
aWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3
LCBzaCkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdodCBzaXplIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0YS5s
ZW5ndGg7ICsraSkKICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICBpc1Ry
YW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNU
cmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbAppbmRleCAy
NWQ0OTA1MmJiNGNhZGM2YmFjNDYxYTRjMDYzZTFmMWUyZjYyYjI4Li41ZDRiMWQwZjMzOWIxNjgw
NTI1MGI3NTRhNDEzMGMxMmU2MzJhZWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3Jl
YXRlSW1hZ2VEYXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFyZ2VyIHRoYW4gdGhl
IGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHdvcmtzIGZvciBzaXplcyBtdWNoIGxhcmdl
ciB0aGFuIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGZvciAodmFyIGkgPSAw
OyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsgaSArPSA3ODEzKSAvLyBjaGVjayB+MTAyNCBwb2lu
dHMgKGFzc3VtCiAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgaXNUcmFu
c3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNzZXJ0KGlzVHJhbnNwYXJlbnRCbGFjaywgImlzVHJh
bnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpz
CmluZGV4IGQ4YWUxNGNmNGIyZjMyN2M0NTlmMDczZWYwNjRkMGMwNWEyZjg2NTYuLmFkMzRlNmQw
MmMwZjNiYjVhYjg1Y2JjNGQ4NTM4M2EzM2U3MTg2MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB3b3JrcyBm
b3Igc2l6ZXMgbXVjaCBsYXJnZXIgdGhhbiB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUs
NiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IGltZ2RhdGEuZGF0YS5sZW5ndGg7IGkgKz0gNzgxMykg
Ly8gY2hlY2sgfjEwMjQgcG9pbnRzIChhc3N1bQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09
IDApCiAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5z
cGFyZW50QmxhY2ssICJpc1RyYW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5u
ZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi5uZWdhdGl2ZS5odG1sCmluZGV4IGQ1YzQyZWZlYTdiYjU3ZjE5Y2Y3MmMwNjBmMTM1ZGExMzZm
ZTdlYWEuLjRjNDJjNmI4ZGQ3ODZlYzYwMWI2ZmU0MDhiMzM4ZTZhNjlmZjYyOGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5l
Z2F0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUy
Lm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0
YWtlcyB0aGUgYWJzb2x1dGUgbWFnbml0dWRlIG9mIHRoZSBzaXplIGFyZ3VtZW50czwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUlt
YWdlRGF0YShzdywgc2gpIHRha2VzIHRoZSBhYnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUg
YXJndW1lbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCB2YXIgaW1nZGF0YTQgPSBjdHguY3Jl
YXRlSW1hZ2VEYXRhKC0xMCwgLTIwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRhdGEubGVuZ3Ro
LCBpbWdkYXRhMi5kYXRhLmxlbmd0aCwgImltZ2RhdGExLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEy
LmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhLmxlbmd0aCwgaW1nZGF0
YTMuZGF0YS5sZW5ndGgsICJpbWdkYXRhMi5kYXRhLmxlbmd0aCIsICJpbWdkYXRhMy5kYXRhLmxl
bmd0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTMuZGF0YS5sZW5ndGgsIGltZ2RhdGE0LmRhdGEu
bGVuZ3RoLCAiaW1nZGF0YTMuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTQuZGF0YS5sZW5ndGgiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCAxMWYx
NjQxYWI1OWQyYzc1OGY2YjgyNTQyY2NjNjc5ZjA1NWU2ZWRiLi41YjJmOGViNTQ4YzNiYzBhMzc2
ZDFhMTU5MTAxYmY0ZjQ4Mjg4Mjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGFrZXMgdGhlIGFi
c29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIHZhciBpbWdkYXRhNCA9IGN0eC5jcmVhdGVJbWFnZURhdGEoLTEwLCAtMjApOwogX2Fz
c2VydFNhbWUoaW1nZGF0YTEuZGF0YS5sZW5ndGgsIGltZ2RhdGEyLmRhdGEubGVuZ3RoLCAiaW1n
ZGF0YTEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTIuZGF0YS5sZW5ndGgiKTsKIF9hc3NlcnRTYW1l
KGltZ2RhdGEyLmRhdGEubGVuZ3RoLCBpbWdkYXRhMy5kYXRhLmxlbmd0aCwgImltZ2RhdGEyLmRh
dGEubGVuZ3RoIiwgImltZ2RhdGEzLmRhdGEubGVuZ3RoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
My5kYXRhLmxlbmd0aCwgaW1nZGF0YTQuZGF0YS5sZW5ndGgsICJpbWdkYXRhMy5kYXRhLmxlbmd0
aCIsICJpbWdkYXRhNC5kYXRhLmxlbmd0aCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25m
aW5pdGUuaHRtbAppbmRleCBhZTM2ZmM3MmFhNDg4ZDhjMDAyNTAwZGE5ZGExMjliNGJlYTcwZmYz
Li42ZjhhZmMwMzAzZmExZDMzNjJmZDBkYWI3ZmUwYjM2NjgzMTljNmI2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmlu
aXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5u
b25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YSgpIHRocm93cyBU
eXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKCkgdGhy
b3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3
ICszNyw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4
LmNyZWF0ZUltYWdlRGF0YSgxMCwgcG9zaW5mb2JqKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgbmVnaW5mb2JqKTsg
fSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVJbWFnZURhdGEoMTAsIG5hbm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKHBvc2luZm9iaiwgcG9zaW5mb2Jq
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcwpp
bmRleCAwNjA5ZDA1OTUxZDRjNGRiMDdlZWJiMzcyOGNhMmU3NGI0Y2ZiNjA0Li4zZjU4OGIwYWQ2
YmRlZTFkNzgwYWQzYWNhMGFhNjdmOTFiYmIzM2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoKSB0aHJvd3Mg
VHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMz
LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3Jl
YXRlSW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmopOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBuZWdpbmZvYmopOyB9KTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUlt
YWdlRGF0YSgxMCwgbmFub2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEocG9zaW5mb2JqLCBwb3NpbmZvYmopOyB9
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC5odG1sCmluZGV4IDJkNTllZmYzOGIxMGFlZWZi
ZDdhYWEyYzkxOWU2MjE4ZTBhN2I0OTkuLmIxYTEyM2FmNWU2OTcwYjliY2MyYTU2YWIzZjM0NjE2
NTJjNzU1MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTIucm91bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5jcmVhdGUyLnJvdW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEodywg
aCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCk8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJ
bWFnZURhdGEodywgaCkgaXMgcm91bmRlZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwg
dywgaCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5jcmVhdGVJ
bWFnZURhdGEoMTAuMDEsIDEwLjk5KTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEo
MCwgMCwgMTAuMDEsIDEwLjk5KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLndpZHRoLCBpbWdkYXRh
Mi53aWR0aCwgImltZ2RhdGExLndpZHRoIiwgImltZ2RhdGEyLndpZHRoIik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhMS5oZWlnaHQsIGltZ2RhdGEyLmhlaWdodCwgImltZ2RhdGExLmhlaWdodCIsICJp
bWdkYXRhMi5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5yb3VuZC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5q
cwppbmRleCBiMGM0YTAzY2NiNmY3MTBiYzVkNzdmN2M1NTZmYzZlNTIyYmIwODU3Li43YTRkN2Qw
ODUzZjMxZmI1NDQzOTcyZTJmYjVhMTVkYzA2NzllYzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHcsIGgpIGlzIHJvdW5k
ZWQgdGhlIHNhbWUgYXMgZ2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyAr
MjAsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLjAxLCAxMC45OSk7
CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLjAxLCAxMC45OSk7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhMS53aWR0aCwgaW1nZGF0YTIud2lkdGgsICJpbWdkYXRhMS53aWR0
aCIsICJpbWdkYXRhMi53aWR0aCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuaGVpZ2h0LCBpbWdk
YXRhMi5oZWlnaHQsICJpbWdkYXRhMS5oZWlnaHQiLCAiaW1nZGF0YTIuaGVpZ2h0Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTIuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMi56ZXJvLmh0bWwKaW5kZXggOGM4OGNjOWI2ZmI3YWM3MzVhZjlhZDNmOWE0
NGUxYTQyNzNjYjg5NS4uNDNhMjE2Y2RjNjBjMmZmOTYwYmFkZjYzOGFmMDFiMjRhMmYxZjIzOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi56
ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRl
Mi56ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5jcmVhdGUyLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVy
bzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dzIElO
REVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93
cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJv
d3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAs
IDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMCk7IH0pOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi56ZXJvLndvcmtlci5qcwppbmRleCBjZjU0YjNjNmVmYjM3YmNhNjBl
NDVmZmM1MGQ3NGFhNTI1MDExMDFiLi5lNjQ5NzdjYTE2MTc3OGVkZDRmNTVjMzc1YjdmMGFkNGNk
ODE3M2VhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5j
cmVhdGUyLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmNyZWF0ZTIuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNy
ZWF0ZUltYWdlRGF0YShzdywgc2gpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHpl
cm8iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVY
X1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOyB9KTsK
IGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJ
bWFnZURhdGEoMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFzaWMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCmluZGV4IGNmYjVlM2My
YmE1N2M4MjQyMGNmYzBjYjY5YWE1MmY1ZmNjYmEzZjYuLmY5ZTczMGE5YmEzYmE2OGYxNTNhYzA0
N2M0NGM5NzcyZmE3MzE4OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5n
ZXQuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGV4aXN0cyBhbmQg
cmV0dXJucyBzb21ldGhpbmc8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0
aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogX2Fzc2VydERpZmZlcmVudChjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApLCBudWxs
LCAiY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDUwKSIsICJudWxsIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQuYmFzaWMud29ya2VyLmpzCmluZGV4IDY4MjQ5NDVkOWY4MzM4MWZkMmUyN2ZjZDVjZjlm
M2U0YmI1YmFlYjAuLmQ0ZjRlNTFmZGMzNGViYzYyOGFiZTA4NzAyNjEzZTMxODAyMjVmMmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmJh
c2ljLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGV4
aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmdldEltYWdlRGF0
YSgwLCAwLCAxMDAsIDUwKSwgbnVsbCwgImN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCA1MCki
LCAibnVsbCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC5odG1sCmluZGV4IGM1ZTE4OWI3YmY1OGY3NDU3
YzliOTU3NGYwYzcyOWEwNTJiNDViMjkuLmFiNTQ0YTk3ZTU3MjEwNGU0ZTQ5NGM4YjE2NGExMTM4
MzczNDNjN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5jbGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5jbGFtcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LmNsYW1wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuY2xhbXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRo
ZSByYW5nZSBbMCwgMjU1XTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5n
ZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4Lmdl
dEltYWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwg
MjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhMi5kYXRhWzFdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIyNTUi
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIi
KygyKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcwppbmRl
eCA5N2EyYTE0Nzc3NjBmM2FkOGRmOWU2OGRlYWRlNGIyYzk3Nzk0MGM1Li4xNDgyOTZlYTliZjFj
MzQxYzI0ZjViZjNiYjE4ODEyNTI4MTM0MzAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5nZSBb
MCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4LmdldElt
YWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVswXSwgMjU1
LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhMi5kYXRhWzFdLCAyNTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMSkrIlwiXSIsICIyNTUiKTsK
IF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygy
KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwKaW5kZXggYzk1MTZkN2E3
MzVlOWY4M2UwM2I3ODQzOGYyNmFhY2QyZGQ5ZjhmOC4uNmRiZDk1MzJhYTY3YmU0ZTViYjQ1M2Ji
MjkwMmIxZDc1NTY0OTk2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lmxlbmd0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGg8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LmdldC5sZW5ndGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMg
YSBjb3JyZWN0bHktc2l6ZWQgVWludDhDbGFtcGVkQXJyYXk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5z
IGEgY29ycmVjdGx5LXNpemVkIFVpbnQ4Q2xhbXBlZEFycmF5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBp
bWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0LCAiaW1nZGF0
YS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lmxlbmd0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubGVuZ3RoLndvcmtlci5qcwppbmRleCBmOGEwOGUyODY0MmRkNmYwNWYzMDlh
Mjk5ZDJiMWZlODU4MjAyMzcxLi5lYmI4Mjc5ZjczYjJjOTBlMGQ5MWRkMGZmYTZkNjdjMTI5ZTBj
YzI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
bGVuZ3RoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQubGVuZ3RoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VE
YXRhKCkgcmV0dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWln
aHQqNCwgImltZ2RhdGEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdo
dCo0Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25maW5pdGUuaHRtbAppbmRleCBhYjkwYTgzMWY5YzUz
NGNlNTBmNDQ4YmQxZTkyNTc4ZTZkNzA4OGUzLi44ZDMwYjU1MmE0YTEwYWYzY2I5OGExZGJlZmJh
MGRjZTAyMDRlZjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFn
ZURhdGEuZ2V0Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkg
dGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEo
KSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTY1LDcgKzY5LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIHBvc2kKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9zaW5mb2Jq
LCBwb3NpbmZvYmosIHBvc2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmosIDEwLCBwb3Np
bmZvYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsg
Y3R4LmdldEltYWdlRGF0YSgxMCwgMTAsIHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggYmZkNWZiMDM4YWZkYzM0
ZTJhZmRmNjMyNGIzNDFiOTljOTY4MGUyNC4uYjcwOWNhNmU5OWZjZTcyNTA5MmUxMGQ1YTI4Mjli
MjJkMTU5YmFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImdldEltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3Qg
ZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNjEsNyArNjUsNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgcG9zaQog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VE
YXRhKDEwLCBwb3NpbmZvYmosIHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBv
c2luZm9iaiwgMTAsIHBvc2luZm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgcG9zaW5mb2JqLCBwb3Np
bmZvYmopOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnByZW11bC5odG1sCmluZGV4IDQ3M2Q2ZjZl
ZmFhZmJmZDYwNjg4Zjg0NTkxYWZmMWYyNTMyNzMzMzguLjMyZjhkNTJmMzU4NzM5NGU5NGFlY2U1
ODc3YjhiYTU0YTFhY2VlMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5ub25wcmVtdWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmltYWdlRGF0YS5nZXQubm9ucHJlbXVsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURh
dGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1
cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9h
c3NlcnQoaW1nZGF0YS5kYXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSA+
IDIwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIi
KygyKSsiXCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+IDEwMCwgImltZ2Rh
dGEuZGF0YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdIDwg
MjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
bm9ucHJlbXVsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5ub25wcmVtdWwud29ya2VyLmpzCmluZGV4IDZkODVhNWMxMjhlYjc4N2ZjZmMzYzIzNDA3
MDkzNTRkYTQzMGQzYmMuLjI2OTY4NWVjYjc2ZGQ4ZjAwNmJmOWY1YjJkNmQ2YWZmNWQ2YTFlMDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5ub25w
cmVtdWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5ub25wcmVtdWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFn
ZURhdGEoKSByZXR1cm5zIG5vbi1wcmVtdWx0aXBsaWVkIGNvbG91cnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzFdID4gMjAwLCAiaW1nZGF0YS5kYXRhW1wi
IisoMSkrIlwiXSA+IDIwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbMl0gPiAyMDAsICJpbWdk
YXRhLmRhdGFbXCIiKygyKSsiXCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA+
IDEwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPiAxMDAiKTsKIF9hc3NlcnQoaW1nZGF0
YS5kYXRhWzNdIDwgMjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5vcmRlci5hbHBoYS5odG1sCmluZGV4IDRiZjMwYzA4ZGY0ZDNhMzlkZTc4
NDI5OWY5MzdhZWEwYjRmZGNjZWYuLjk2ZTc4YmNhYjhmMjE3NjQxZTUwNGY5OWMxNmRjMzZhZTE5
Mjg1NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC5vcmRlci5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5hbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5nZXQub3JkZXIuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgp
IHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudDwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMg
QSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEwLCAxMCk7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA8IDIwMCwgImltZ2RhdGEuZGF0
YVtcIiIrKDMpKyJcIl0gPCAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdID4gMTAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIu
YWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLmFscGhhLndvcmtlci5qcwppbmRleCA2MTFhOWM3NzgxZmJlYTI3OTU1MDZmMjQ4ZTBh
MzRiOTQwY2E2NDkyLi5hOTcyNTFmNjU3OGE4Y2U0NjRiOGRlZTMzY2JlNDdkNDYxMTZlYWI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIu
YWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldElt
YWdlRGF0YSgpIHJldHVybnMgQSBpbiB0aGUgZm91cnRoIGNvbXBvbmVudCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogdmFyIGltZ2RhdGEgPSBj
dHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVszXSA8
IDIwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0gPCAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0
YS5kYXRhWzNdID4gMTAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuY29scy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMuaHRtbAppbmRleCBkM2FiZWMzOGEyNGZhZGY0ZjRmZjc5
YTNkNmFkNTY3NWRmNWNkMzk1Li44OTIyYzMyNDliMzVhMTJlNDM4OGRkODgzOTI0OGU0OWY2YjVh
NDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
b3JkZXIuY29scy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5jb2xzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29sczwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmNvbHM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVy
bnMgbGVmdG1vc3QgY29sdW1ucyBmaXJzdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1vc3Qg
Y29sdW1ucyBmaXJzdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHgu
Z2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0s
IDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEuZGF0YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0sIDI1NSwgImltZ2RhdGEuZGF0
YVtNYXRoLnJvdW5kKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMjU1Iik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0
KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0
YS53aWR0aCo0KV0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53b3Jr
ZXIuanMKaW5kZXggYzNhN2QyNTA0NjQ0YzdjNGRiYTBlZTEwZjJkM2I4MTVhYzJmNzZkYi4uNzFh
ZWRiNTk1ODgxNzc0NGRhZDk3NjI1MzdkY2FmNDIxNTdhNmRmNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBs
ZWZ0bW9zdCBjb2x1bW5zIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0
YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS5kYXRhW01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSwgMjU1LCAiaW1n
ZGF0YS5kYXRhW01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIyNTUiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRh
LndpZHRoKjQpXSwgMCwgImltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8y
KSppbWdkYXRhLndpZHRoKjQpXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2IuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2IuaHRt
bAppbmRleCBjZTgxNTIxYmNjYzY2YWQxMGYxZDY0MDQ2ZjU0ZTFiODNlMmQ2M2JiLi5mNmE4NTkz
ODE1MGQ1MjQxMmEwMGUyMmYzYzkwNjc1NTNkZjNjMjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lm9y
ZGVyLnJnYjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEI8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEo
KSByZXR1cm5zIFIgdGhlbiBHIHRoZW4gQiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhWzRdLCAweDQ0LCAiaW1nZGF0YS5kYXRhW1wiIisoNCkrIlwiXSIs
ICIweDQ0Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNV0sIDB4ODgsICJpbWdkYXRhLmRh
dGFbXCIiKyg1KSsiXCJdIiwgIjB4ODgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs2XSwg
MHhDQywgImltZ2RhdGEuZGF0YVtcIiIrKDYpKyJcIl0iLCAiMHhDQyIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzddLCAyNTUsICJpbWdkYXRhLmRhdGFbXCIiKyg3KSsiXCJdIiwgIjI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCmluZGV4IDY1NGVhMTlm
NmRjNDNlYjM4MzdhZDU3MmQ0MWY0ZjE0NjlkZGI0MjQuLjBjYzViOGJmODcwZDkzY2M4OTVhMDU5
ODNlY2VmZGQ2MWM5NzZlNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIFIgdGhlbiBHIHRoZW4gQiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzRdLCAweDQ0LCAiaW1n
ZGF0YS5kYXRhW1wiIisoNCkrIlwiXSIsICIweDQ0Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRh
dGFbNV0sIDB4ODgsICJpbWdkYXRhLmRhdGFbXCIiKyg1KSsiXCJdIiwgIjB4ODgiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVs2XSwgMHhDQywgImltZ2RhdGEuZGF0YVtcIiIrKDYpKyJcIl0i
LCAiMHhDQyIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzddLCAyNTUsICJpbWdkYXRhLmRh
dGFbXCIiKyg3KSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3MuaHRt
bAppbmRleCBiYThhNzQwY2Y0OWViOWM4ZGY1MmQ1NDhmNGNhNjAyMmE1YzdmMjExLi5lY2JjMGE2
ZTIyNWYwMTcyZTJlODU0MTVjYjRhYjU1NTQzM2Y4MzBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQu
b3JkZXIucm93czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3M8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCByb3dzIGZpcnN0PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1h
Z2VEYXRhKCkgcmV0dXJucyB0b3Btb3N0IHJvd3MgZmlyc3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIw
Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRoLzIq
NCldLCAwLCAiaW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIw
Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEu
d2lkdGgqNF0sIDI1NSwgImltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53
aWR0aCo0XSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mud29ya2Vy
LmpzCmluZGV4IDlmYjIzZTZhMDQ2NTk3NDlhNzAyNjUwMzkxZmJiMmQ1NWIzOGM0OWUuLjA4OTNm
NWU1YTdmMmU5OWM0NjgzODFhYjI2ZmIyYzE0NDE1ZTI0NjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgdG9w
bW9zdCByb3dzIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0
eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsw
XSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSwgMCwgImltZ2RhdGEuZGF0
YVtNYXRoLmZsb29yKGltZ2RhdGEud2lkdGgvMio0KV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdLCAyNTUsICJpbWdk
YXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNF0iLCAiMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5yYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnJhbmdlLmh0bWwKaW5kZXggOWExOWI2NTFmN2E0ZWZkNDMxNDMzYmMwNTg1NTYy
MmI5NjE1ZDQ1NS4uZWYxNjhlYmYxODc1N2ZmYmE0ZWEwOTBhMDc3YTk1NGE0NWRkZjFmMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5nZXQucmFuZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5yYW5nZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAy
NTVdPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAyNTVdIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YTEgPSBjdHguZ2V0SW1hZ2VEYXRhKDEw
LCA1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGExLmRhdGFbMF0sIDAsICJpbWdkYXRhMS5k
YXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRh
KDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAyNTUsICJpbWdk
YXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5yYW5nZS53
b3JrZXIuanMKaW5kZXggNWNhYzcwN2FjOTY5OWIyZmI5M2FkZGMzNTM3NjUwZjE0ODU1N2RmYS4u
Y2VjNTk3NDg1ZGJkMDgyYWY3MzUyNjIzZTMzOTMxMDZjOGZhMDY2ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2Uud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHZhbHVlcyBp
biB0aGUgcmFuZ2UgWzAsIDI1NV0iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRh
MSA9IGN0eC5nZXRJbWFnZURhdGEoMTAsIDUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEu
ZGF0YVswXSwgMCwgImltZ2RhdGExLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIHZhciBpbWdk
YXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEyLmRhdGFbMF0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygwKSsiXCJdIiwgIjI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLmh0bWwKaW5kZXggYjZkNDdhMjI4
ZTc4NmNmNmZiMWNhZjUzMzM4ZjhkOGJiNzI1ZjkxOS4uNjA1ZmQyNGQ1NmQyMTExZWI0ZWUxYWYw
ZjllZDZjMGE0ZmQ0YjY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uu
bmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmU8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUgd2lkdGggYW5k
IGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VE
YXRhKCkgd29ya3Mgd2l0aCBuZWdhdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0LCBhbmQgcmV0dXJucyB0
b3AtdG8tYm90dG9tIGxlZnQtdG8tcmlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3Nl
cnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzFdLCAwLCAiaW1nZGF0YTIuZGF0YVtc
IiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMCwgImlt
Z2RhdGEyLmRhdGFbXCIiKygyKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRh
dGFbM10sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5zb3VyY2UubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggZWQ4M2VlNTcw
ODJkYzZlNjU3ODk4OTk3MDZlNGI5NjRhNjcyM2QxZi4uY2VmMWM0MzBmZTEwZmM2ODI2NzgyZTk4
MTEwZjRmODZhNDJiMzFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVnYXRpdmUg
d2lkdGggYW5kIGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRvLXJpZ2h0
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAw
LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YTIuZGF0YVsxXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjAiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEyLmRhdGFbMl0sIDAsICJpbWdkYXRhMi5kYXRhW1wiIisoMikrIlwiXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzNdLCAwLCAiaW1nZGF0YTIuZGF0YVtc
IiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5o
dG1sCmluZGV4IDAxOTBhMWYyMmMzYzVlOTc1YzY5OWUwMGU4ZTAzMzIxZDRiODk2NTUuLjRlNGVk
YThmMWE2ZmZmODM3NWI0MDFmNWFmYmFjM2I2MDMzODAyMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91
dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHJldHVybnMgdHJhbnNw
YXJlbnQgYmxhY2sgb3V0c2lkZSB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0cmFu
c3BhcmVudCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02OSw3ICs3Myw2IEBA
IF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCswXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAq
NCswXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMV0sIDAsICJpbWdk
YXRhNy5kYXRhWzIwKjQrMV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0
KzJdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGE3LmRhdGFbMjAqNCszXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCszXSIsICIwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUud29ya2VyLmpzCmluZGV4IDBjYzVm
ZDRhMjRlMDI4MDFlNTgxZTVmMGJmZDkzMDVkYjJmYjJjZTIuLjc2MzcwMGEwZDk4OGQ2NTU3MmJi
ZDhmODhjZDZkZGFmODc2ZDE1NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0cmFuc3BhcmVu
dCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02NSw3ICs2OSw2IEBAIF9hc3Nl
cnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCswXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCswXSIs
ICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMV0sIDAsICJpbWdkYXRhNy5k
YXRhWzIwKjQrMV0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzJdLCAw
LCAiaW1nZGF0YTcuZGF0YVsyMCo0KzJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRh
dGFbMjAqNCszXSwgMCwgImltZ2RhdGE3LmRhdGFbMjAqNCszXSIsICIwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5zb3VyY2Uuc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0LnNvdXJjZS5zaXplLmh0bWwKaW5kZXggZTk1ZGQ1NTY1ZWJmYzIyMGY4NGY0NjgxNmU1
M2ExZjlkODcxZjllMy4uZTJjM2ExZDg4YzkyNWFiM2Q4ODA0MmQyNmQ0MzZkM2NjNTE2NzZmNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJj
ZS5zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
LnNvdXJjZS5zaXplLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdl
dC5zb3VyY2Uuc2l6ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJu
cyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0
YSgpIHJldHVybnMgYmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJjZSByZWN0YW5nbGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5nZXRJbWFnZURhdGEo
MCwgMCwgMTAsIDEwKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMjAs
IDIwKTsKIF9hc3NlcnQoaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aCwgImltZ2RhdGEy
LndpZHRoID4gaW1nZGF0YTEud2lkdGgiKTsKIF9hc3NlcnQoaW1nZGF0YTIuaGVpZ2h0ID4gaW1n
ZGF0YTEuaGVpZ2h0LCAiaW1nZGF0YTIuaGVpZ2h0ID4gaW1nZGF0YTEuaGVpZ2h0Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUud29ya2VyLmpzCmluZGV4IGJiOGMxMDVhNjg1
ODNiYmUzYmZmNzc1ZjRhOWM2OTJjMDlmZjE2ZjEuLjljMzBiMjg0MmFhYjk2YzNhMDI1MDA3Nzc5
YzRkM2IyYmZiY2MxZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBi
aWdnZXIgc291cmNlIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGltZ2Rh
dGExID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogdmFyIGltZ2RhdGEyID0gY3R4
LmdldEltYWdlRGF0YSgwLCAwLCAyMCwgMjApOwogX2Fzc2VydChpbWdkYXRhMi53aWR0aCA+IGlt
Z2RhdGExLndpZHRoLCAiaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aCIpOwogX2Fzc2Vy
dChpbWdkYXRhMi5oZWlnaHQgPiBpbWdkYXRhMS5oZWlnaHQsICJpbWdkYXRhMi5oZWlnaHQgPiBp
bWdkYXRhMS5oZWlnaHQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC50aW55Lmh0bWwKaW5kZXggYWM5NTYzYjVmMzFi
NWRlMDNiNDlhNTdlZTZkY2YwZmRmNjdjY2M3Zi4uMzcxZTcyOGQ4NmZkYTUyZjg4YTAyYzZhZTFl
Nzg1NjhmMWEzYTk0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnRpbnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQudGlueS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LnRpbnk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC50aW55
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Igc2l6ZXMgc21h
bGxlciB0aGFuIG9uZSBwaXhlbDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHdvcmtzIGZvciBzaXplcyBzbWFsbGVy
IHRoYW4gb25lIHBpeGVsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0
eC5nZXRJbWFnZURhdGEoMCwgMCwgMC4wMDAxLCAwLjAwMDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0LCAiaW1nZGF0YS5k
YXRhLmxlbmd0aCIsICJpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQiKTsKIF9hc3NlcnRT
YW1lKGltZ2RhdGEud2lkdGgsIDEsICJpbWdkYXRhLndpZHRoIiwgIjEiKTsKIF9hc3NlcnRTYW1l
KGltZ2RhdGEuaGVpZ2h0LCAxLCAiaW1nZGF0YS5oZWlnaHQiLCAiMSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQudGlueS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5n
ZXQudGlueS53b3JrZXIuanMKaW5kZXggMzE2N2U0NjVkNjlmYjdhYWEzMTVlMzE1OGYxZjRhMTM5
MTU0MWNlNC4uZWE5MTM2ZDJjMDM3NzY1M2U0ODNmNjljOGUwMTgwZThlYzQzMTE2MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC50aW55Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3MgZm9y
IHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWwiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIHZh
ciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAwLjAwMDEsIDAuMDAwMSk7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhLmRhdGEubGVuZ3RoLCBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0
KjQsICJpbWdkYXRhLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQq
NCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS53aWR0aCwgMSwgImltZ2RhdGEud2lkdGgiLCAiMSIp
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5oZWlnaHQsIDEsICJpbWdkYXRhLmhlaWdodCIsICIxIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCmluZGV4IGFmZDc1OWI1ZGE1Njg5ODIy
MzU1MTM4MTRhMzg0ZTI3ZjM0NzBmZjguLjBkNGIwNmE1M2ZhZDE2YjcxYmY3M2QzYzg4ZmFjY2E3
ZjkzMjA5ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnVuYWZmZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5nZXQudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkg
aXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBpcyBub3QgYWZm
ZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LnJlc3Rv
cmUoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAsIDApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC51
bmFmZmVjdGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCAwNDkwNDJmNWQ1ZmY1ZjY2YzUzNmNhZjk2
ZjEwNmQ5MTlmZTQ2Njc3Li4xN2MzMTAzOTY5ZTMxM2Q4NGMyNjVlMGYxOTdkNzYxZDkzOTc3NGY3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudW5h
ZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJ
bWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4
LDcgKzMyLDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAs
IDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQuemVyby5odG1sCmluZGV4IDQyZDcxZmM5NjQyNzkyZjkyZjc5YzVkMmMw
MjRjNDg1YzRiNWExY2UuLjNjNDYxMzU4MjIyYTkwODQ1OGUzMmRlZjI0ZTBkZWJjYjNkZmMyNWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJv
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8u
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLmdldC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQuemVybzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMg
emVybzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBzaXplIGlzIHplcm8i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMTAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVY
X1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMCwgMTApOyB9
KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJ
bWFnZURhdGEoMSwgMSwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIuanMK
aW5kZXggNTg4NmI4OGU4NzNiMTUwMjdkNjBmN2I4OWQzODJkNGYyZWE1Y2NkZC4uYTVhOTYzZGI2
YzFkNDE0ZjJmYTg1NjY5MWM1NGUzYmRhNjdkNGQxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNp
emUgaXMgemVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBm
dW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwgMCk7IH0pOwogYXNzZXJ0X3Ro
cm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAx
LCAwLCAxMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5j
bGFtcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNs
YW1wLmh0bWwKaW5kZXggYjM2NzgyMWMyY2VjNjVlZjA1ODg0M2RkOGEyNzhiMTdhY2NkOGJkMy4u
MzUwNjhlZjFjOTA2ZTdjODg2OTVlMDZmNTE1Nzc1OWZkMzk5YmEyMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5v
YmplY3QuY2xhbXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+SW1hZ2VEYXRhLmRhdGEgY2xhbXBzIG51bWJlcnMgdG8gWzAsIDI1NV08L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURh
dGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1LDYg
QEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkr
IlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSBJ
bmZpbml0eTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5kYXRh
W1wiIisoMCkrIlwiXSIsICIyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53b3Jr
ZXIuanMKaW5kZXggMDA0MDBiZjQ1NDY4YTZiYzU3OThlYmEyYmI1MWE0OTFiNzRkZmU0YS4uOWRh
NTNlYWQ4ZmEwZTZjYTJkZGUzYmZkMDYyMDQ2N2ViNDBkMDEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVy
cyB0byBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM3LDcgKzQxLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRh
LmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSBJbmZpbml0eTsKIF9hc3NlcnRTYW1l
KGltZ2RhdGEuZGF0YVswXSwgMjU1LCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEub2JqZWN0Lm5hbi5odG1sCmluZGV4IDMxMjI0YmFhYzk0MzhhYjE0NjMyZTgy
MTIyM2MyM2Y4NjNjMTczZDIuLmI0NGFiMmIyZGFkMTY5OGRmY2JlYjIzZDgwNTEyZTQ0YjdhNWI4
NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5uYW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmpl
Y3QubmFuLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5vYmplY3QubmFuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3QubmFuPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBOYU4gdG8gMDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdl
RGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBfYXNz
ZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwg
IjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9ICJjaGVlc2Ui
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkr
IlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5uYW4ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKaW5kZXggZWY2
NjVlNzA2YWM4MWZjNzVlZTIwMTExNGY3ZWJlMjQ5NTAzNjhiZC4uNTk1MDJlZDVhZjJjMTI0YzU0
NTBmN2Q0ZTA2YzZmYTI0OTcyYTQ2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAwIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTks
NyArMjMsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFb
XCIiKygwKSsiXCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0
YVswXSA9ICJjaGVlc2UiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0
YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucHJvcGVy
dGllcy5odG1sCmluZGV4IDA0YjliMDJjZWZjNTg4ZmFkY2JmNThjZGMxZjg1YmE2M2RlODIyMTEu
LmE2ZjBjOTc3YTY5NzMxZGVkZTUyYWYzMjYzYTY3NDVkOWZkN2ZlOWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRp
ZXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5vYmplY3QucHJv
cGVydGllczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0aGUg
cmlnaHQgcHJvcGVydGllczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHByb3BlcnRp
ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0
YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEud2lkdGgpLCAnbnVt
YmVyJywgInR5cGVvZihpbWdkYXRhLndpZHRoKSIsICInbnVtYmVyJyIpOwogX2Fzc2VydFNhbWUo
dHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSwgJ251bWJlcicsICJ0eXBlb2YoaW1nZGF0YS5oZWlnaHQp
IiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS5kYXRhKSwgJ29iamVj
dCcsICJ0eXBlb2YoaW1nZGF0YS5kYXRhKSIsICInb2JqZWN0JyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmpl
Y3QucHJvcGVydGllcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3QucHJvcGVydGllcy53b3JrZXIuanMKaW5kZXggMTA5NGM2NjBmY2IyYmE3NzIx
YjFiYjRkZjJhZmY3ZjU1ZTc4YWNjMS4uZjgyNDFjZWRkYWRkODZkYzQwYmExNDgwYjE0N2QyNWNl
MWM5NGRlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnByb3BlcnRpZXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgcHJvcGVydGllcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAs
IDEwLCAxMCk7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS53aWR0aCksICdudW1iZXInLCAi
dHlwZW9mKGltZ2RhdGEud2lkdGgpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0eXBlb2Yo
aW1nZGF0YS5oZWlnaHQpLCAnbnVtYmVyJywgInR5cGVvZihpbWdkYXRhLmhlaWdodCkiLCAiJ251
bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihpbWdkYXRhLmRhdGEpLCAnb2JqZWN0JywgInR5
cGVvZihpbWdkYXRhLmRhdGEpIiwgIidvYmplY3QnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFk
b25seS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJl
YWRvbmx5Lmh0bWwKaW5kZXggN2FkM2I2YjFhN2NmOThhOTgzYTEwMDUxMWEwZjc2ZmM2ZWIxYWUx
My4uYzU2YmU1YmJiM2NmMWE1OTY2M2ZiMDY1NTZkOGZlYzUzYzlmMTA1YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmlt
YWdlRGF0YS5vYmplY3QucmVhZG9ubHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25s
eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGllcyBhcmUg
cmVhZC1vbmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdk
YXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsx
XSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1n
ZGF0YS5kYXRhWzJdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMikrIlwiXSIsICIwIik7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhLmRhdGFbM10sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdIiwg
IjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS53b3JrZXIuanMKaW5kZXgg
NzcwZGY4OTgwODNlZjc3ODI3ODYzMzFkMTI1NmZmZTQwYzRmNjA1ZS4uMmJiNmQxZjEzMzc4NGU0
NDAwMmM2NTAyYTVjMmVlMDAyMjFkMWMzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSBy
ZWFkLW9ubHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzFdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSIsICIwIik7CiBf
YXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMl0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsiXCJd
IiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVszXSwgMCwgImltZ2RhdGEuZGF0YVtc
IiIrKDMpKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCmluZGV4IGNi
Yjc1MTlhNjFhNDc3MjkzNWVjNWUzNWVkMjBiYzEzN2YwZmQwZDIuLjM5MDFmYWM3ZjlhMmFjN2M3
MDFkYzUyN2YxZWYwMTI4OGJlNGFmZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0
YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8temVybzwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIHJv
dW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8temVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ1LDcgKzQ5LDYgQEAg
aW1nZGF0YS5kYXRhWzBdID0gLTAuNTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gLTEu
NTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDAp
KyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLndvcmtlci5qcwppbmRl
eCA2OTI0ZTZjMTE0ZDgyOGEwYzU1MGU2NWFkYjhjMzM2MGJmNTZjOTI2Li4xZjc2YWJiMTE5ZmNj
NzYxZGFhZWIzZDAyYTZlZDIxODA1MDkzZTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGggcm91
bmQtdG8temVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTQxLDcgKzQ1LDYgQEAgaW1nZGF0YS5kYXRhWzBdID0gLTAu
NTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDAp
KyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gLTEuNTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3Quc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5vYmplY3Quc2V0Lmh0bWwKaW5kZXggZjM5MjQwZTcyNzViODNiZWM4OTE3ZjdmNDA0ODIxMTMx
NTZhM2NiNy4uYWFkNzdkZjE1YTg4OGJmNzJkMDEyOTRkYzg1NzUyNGIxMDU3ZjRlNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VE
YXRhLm9iamVjdC5zZXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNh
biBiZSBtb2RpZmllZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgaW1nZGF0YS5kYXRhWzBdID0g
MTAwOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMDAsICJpbWdkYXRhLmRhdGFbXCIi
KygwKSsiXCJdIiwgIjEwMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMjAwOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzBdLCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjIwMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCmluZGV4IDZhYjZmZTE2ZThkZjYy
MGZmNzY1ZTY0MTZhZWU5YjQ2YTdkZTBiY2QuLjhlYjU0MzgxMjQzODRlN2Y1OGNlODg0YzBkY2E0
OTFlOTYwNzAyMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLm9iamVjdC5zZXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJ
bWFnZURhdGEuZGF0YSBjYW4gYmUgbW9kaWZpZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGlt
Z2RhdGEuZGF0YVswXSA9IDEwMDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMTAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMDAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDIw
MDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMjAwLCAiaW1nZGF0YS5kYXRhW1wiIiso
MCkrIlwiXSIsICIyMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sCmluZGV4IDdk
OTQ0ZDAwM2MxYzcyYmRiZjY2MGJlYTRhMTQxZWEwMTEwMDk3ZDcuLmE4NTAyODc1MGVkZGYyN2E5
N2VmYzRkNjA1ODIxMGZlMzVjZjVkMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFn
ZURhdGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJlcjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdl
RGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVtYmVyIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDEyMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7
CiBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRh
WzBdLCAxMzAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEzMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5vYmplY3Quc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzCmluZGV4IDQxYTM4Mzk1MjU3OWZkNTU2ZDE0
MDk4NWRmMmE0NWY4NThmNDZlNGQuLmRlOGIyMTI4ZTlhMzE5Y2Y4YzU1OTgyZmQ0OGRjNzk4MGM5
Njk2NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9i
amVjdC5zdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLm9iamVjdC5zdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJ
bWFnZURhdGEuZGF0YSBjb252ZXJ0cyBzdHJpbmdzIHRvIG51bWJlcnMgd2l0aCBUb051bWJlciIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMjAs
ICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEyMCIpOwogaW1nZGF0YS5kYXRhWzBdID0g
MTAwOwogaW1nZGF0YS5kYXRhWzBdID0gIiArMTMwZTAgIjsKIF9hc3NlcnRTYW1lKGltZ2RhdGEu
ZGF0YVswXSwgMTMwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMzAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEub2JqZWN0LnVuZGVmaW5lZC5odG1sCmluZGV4IDgxYzI5NTlhMGI1ZWE2NzAyNTRm
ZTZjNDQwYmIxOWJlMzk4MTk4NWIuLjY1ODU4ZTZkZDMwOGFkZDY3NmM2YWMwNTU3YjJiMGIzOGM4
NGVjZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9i
amVjdC51bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZpbmVkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmlt
YWdlRGF0YS5vYmplY3QudW5kZWZpbmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURhdGEu
ZGF0YSBjb252ZXJ0cyB1bmRlZmluZWQgdG8gMDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHVuZGVm
aW5lZCB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJ
bWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEu
ZGF0YVswXSA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImlt
Z2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QudW5kZWZp
bmVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC51bmRlZmluZWQud29ya2VyLmpzCmluZGV4IGJjZGVkMzNkZDgyNDc3MWVkOWY4ZmNjNDg3Mjhi
ODM3M2NhZTNhMmMuLmZhZjhiNDU3MjVjYjhkMzBlNGE3YmZlODYwYmQ2MTRjMWUyOWMzZDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRl
ZmluZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC51bmRlZmluZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFn
ZURhdGEuZGF0YSBjb252ZXJ0cyB1bmRlZmluZWQgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYg
QEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBpbWdkYXRh
LmRhdGFbMF0gPSAxMDA7CiBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQuYWxwaGEuaHRtbAppbmRleCA1MjM2NzE3ZTViYzg5YWM2YTgwM2I5OTVlZGJi
YzEyZGI5NmMyOGY2Li5kNzc3MWRiZWZlNTU4NzdjYzcxNWRkZGIzZDUzN2E4NGEwMjY4Y2VjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLnB1dC5hbHBoYTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmFscGhhPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNvcnJl
Y3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGltYWdlIGRhdGEgY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNjQsICI1MCwy
NSIsICIwLDI1NSwwLDY0IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpzCmlu
ZGV4IGExMDIwZmQ4Yjg2OTRmZDYyYmVjMzg2NTE3MDU3NzAxMjE2ODcxNzIuLjFhZDdmNjI0N2E4
MTA0Mjg1YjViNTNmNjk5ZTNlZDNmOGQzNWNjMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBub24tc29saWQgaW1hZ2UgZGF0YSBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwg
MCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw2NCwgIjUwLDI1IiwgIjAsMjU1LDAsNjQiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbApp
bmRleCA5MTIzNDYwYzIzZmEyODRkNzAyM2Y0N2I3ZWViZDVhZTFiZjM3ZWNjLi5mYzMxZjg5YTAy
MmQyMTFmMTVlMGM5ZmU3MGVmYTFhZmQ0ZjUyZDQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5pbWFnZURhdGEucHV0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEo
KSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXM8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJ
bWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJbWFnZURhdGEoKSBvbnRvIHRoZSBj
YW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwg
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2ljLndv
cmtlci5qcwppbmRleCAzOTU5MzQ4YjkzNWFmOThjNTVhMTc4ODcxY2M5MDliYzBmN2VjMDBmLi5j
MjA4ZGY5ODBjMDg4YzE4NjEyOTE3YTg0MWM5ZGQyMmJjNzNkZmE1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBm
cm9tIGdldEltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQog
Y3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuY2xpcC5odG1sCmluZGV4IDNkZjY1ZTAwNTMwZTlhNzQwYzU5MjdiYTUz
ZjRjMWJjNDBjNTdmZGMuLmFiNDNkYjBkYWU5NDk1NGIxODkyYWYzM2QyODhmOTNlMGJhYWE5NTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jbGlw
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLnB1dC5jbGlwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY2xpcDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lv
bnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0
YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAud29ya2VyLmpzCmluZGV4IGUwMzhlNDFlZmVj
Y2EzZDZlNzA5YTVlMWQxMGY5NzFiZTU1YjgwNTYuLmJiNjY5NzBkMWZmZjNjYWJhZmYyOGZiYThj
NDdhZGU1ZDBkOTMxYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1
dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjMsNyArMjcsNiBAQCBjdHguY2xpcCgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAw
LCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSww
LDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQuaHRtbAppbmRleCA3ZjU1ZjE3NTJmY2EzNjNjNTk2
OGIzM2M1NDcwZjdmZmU2OGZlZjY0Li5lNzAxNDIzYWIzZTY2YjM2NjgxYmI4NWUyMjg3N2ZmNzBh
YzUxMWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuY3JlYXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5jcmVhdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmNy
ZWF0ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0
YSBmcm9tIGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1
dHMgaW1hZ2UgZGF0YSBmcm9tIGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5q
cwppbmRleCBhZWRlODUxYzQ4NzM0MmE1ZWI4ZGE0Zjk0ZWQyM2VlOTAwMGM4YmY0Li44ZGQ3MDk0
YTEyN2E0ZDBmOTc2ODAyNjRmNzJmYmRlM2RkNTg4YjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJv
bSBjcmVhdGVJbWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkK
IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jvc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5jcm9zcy5odG1sCmluZGV4IGE3YWY1ZjI5ZjZmYjg2ZmExNDgzZmU4
MGQwNWE4YmZkOWZmMjkxYTEuLmU5OWU5NzgxZWYwMGIyNmE4ZTk2ZmMxZjU3MzE4ZGUxYjdhZDYw
MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5j
cm9zcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5j
cm9zcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5pbWFnZURhdGEucHV0LmNyb3NzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY3Jvc3M8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3QgZnJv
bSBhIGRpZmZlcmVudCBjYW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRhdGEgZ290
IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1h
Z2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmNyb3NzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5jcm9zcy53b3JrZXIuanMKaW5kZXggZDgxMTU2MDY4YTkxZTAwZGIzMzQ0ZDVm
MDEyZWUzZDRiMDczNzhjNi4uMzlkYzkyZGJiNDBjOWM2ODRlODMxOTZmOTU5ZDAzNGY3NThlNDZj
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNy
b3NzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuY3Jvc3Mud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSBhY2NlcHRzIGltYWdlIGRhdGEgZ290IGZyb20gYSBkaWZmZXJlbnQgY2FudmFzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRt
bAppbmRleCAzYjVmNDM3ZTQ0MTZmZmQ1NDgyOTY2ZjI3NjIyNjM4ZGNmNTZmODNlLi43NjJmNGJh
NTYzZWFmMzVmM2E1NjQyOWYxODcwYzk5YWUwZjIyNjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VE
YXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0
aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZl
LXNpemVkIGRpcnR5IHJlY3RhbmdsZXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBu
ZWdhdGl2ZS1zaXplZCBkaXJ0eSByZWN0YW5nbGVzIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcg
KzM1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAsMjU1
LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSwwLDI1
NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIsIDIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRl
eCA0NjBlNzk3NzE0MDY2N2Y2YWFiZDkzMGJjODg1ODdjNTI2OTE3M2NlLi5jYjllNDAyMWU2MTU3
MWFhMTAwYzZiMGY5Y2M2MDBiMGFlYjAyOTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVn
YXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICsz
MSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSww
LDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUs
ICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwKaW5kZXggMWFkYTg1YmRlYzFi
YTBlNzg3ODgyMjgzNTY3ZTUwYTdmNjVhMjc4ZC4uYTFjNDViOTVmZmY1MWUwOWVlNmY3YjYyOThj
Y2RjMmVmODlkZDQxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5wdXRJbWFnZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2Fu
dmFzIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRz
aWRlIHRoZSBjYW52YXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0NSwgMCwyNTUsMCwyNTUsICI5OCw0NSIs
ICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDUs
IDAsMjU1LDAsMjU1LCAiMSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDUsIDAsMjU1
LDAsMjU1LCAiMSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHku
b3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuZGlydHkub3V0c2lkZS53b3JrZXIuanMKaW5kZXggN2ExOTRmOWMxNWNkMTM1NmI3OGEwNGEx
ODhjOTEwZmY0NTZkZmM1OS4uODdjZTIxYjQyY2Y4ZGZmNjM1NGNkZDBkZmU3YTI4ZjQ5MmU3ODc3
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRp
cnR5Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBkaXJ0eSByZWN0YW5nbGVzIG91dHNpZGUgdGhlIGNh
bnZhcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk4LDQ1LCAwLDI1NSwwLDI1NSwgIjk4LDQ1IiwgIjAsMjU1LDAs
MjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNSwgMCwyNTUsMCwy
NTUsICIxLDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0NSwgMCwyNTUsMCwyNTUsICIx
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0
bWwKaW5kZXggNWUxMzJkNjkzY2E4Y2IyZjhiMmYxN2MxMWUxMGY5NzcyMmY4NGRiNC4uZjVmOTNm
NWM2ZmQyMWYzMWE3YWQzY2Y5NjcwMmIwYzZiNThhMjk4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5w
dXQuZGlydHkucmVjdDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUg
dGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lkdGggYW5kIGhlaWdodDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgp
IG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5nIHdp
ZHRoIGFuZCBoZWlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAs
MjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSww
LDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAs
MjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJl
Y3QxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0MS53b3JrZXIuanMKaW5kZXggN2Q5Y2E0NjVmM2UxYjY1MjYyNTc5ZTJjNWQ0MzMz
ZmU1ODVkN2Q4YS4uMTRjYTQ4NWQ0YTE5ZTgyNWYyMzNjNGY5NjM0NzgzZGY0NzU5MDYxYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJl
Y3QxLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5w
dXQuZGlydHkucmVjdDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFn
ZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1
c2luZyB3aWR0aCBhbmQgaGVpZ2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIw
LDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwg
MCwyNTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAw
LDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LmRpcnR5LnJlY3QyLmh0bWwKaW5kZXggOTYwNTZkMTkwODM2YzkwYjA3YmY1ZjRhMjAzY2U0N2I4
MGYyMDBhOC4uMWZlNzJiODg3Y2QxNDEzM2Y4MGNkZDBiODEwNTgwMzhiZTVmMzZmOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3Qy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0
eS5yZWN0MjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgb25seSBtb2RpZmll
cyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgeCBhbmQgeTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdl
RGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVz
aW5nIHggYW5kIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1
IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1
NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1
LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3Qy
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0
eS5yZWN0Mi53b3JrZXIuanMKaW5kZXggNTI0YTZkNzc2OWQ5NWJmNTU5NGFhZjI0OGI2M2QwYzc4
MTgyNDAwNC4uZGM4ZjA3ZGQ1YmRiMGU4Yjg1YTAyZGNkMjM1ODZlNjg2ZjhkZjhmOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3Qy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
ZGlydHkucmVjdDIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURh
dGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2lu
ZyB4IGFuZCB5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUsMCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIs
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUs
ICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwg
IjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby5o
dG1sCmluZGV4IGMxN2RmOTJkZTRiM2NkYWFiODdjODcwZDg5YTE4ZDJkZWQ1MjkyMDYuLjljMGVj
YzU5MTA3NzI0MWQ3ZTZiZGQxM2RlZTM2YjM3MmY3OWQ4OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVybzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgd2l0aCB6ZXJvLXNpemVkIGRpcnR5IHJlY3Rhbmds
ZSBwdXRzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFu
Z2xlIHB1dHMgbm90aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShp
bWdkYXRhLCAwLCAwLCAwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcwppbmRleCBlOWJiNGFjNjBi
MzZiOTM5ZTM0YzdiNTRhZTQ4YzNiMDI1YzUyZmE0Li5mNGE2MzlhMTVmYTg0Yjk5YjQzODk4MWEy
NzE4NmIyZWQ1OWQwNDQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5wdXQuZGlydHkuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xl
IHB1dHMgbm90aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdk
YXRhLCAwLCAwLCAwLCAwLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm1vZGlmaWVkLmh0bWwKaW5kZXggZGRmZTYzNGYxYjIzYTAyOWEzYmM3MTQwN2M4
OTA5MGU0ZGVlYTc5MC4uMWIwNzBiZTA3MzU4ODZhZmEyNmM5NTU2ODE5Yjg1YWEwMTYyYWM0YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1vZGlm
aWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm1v
ZGlmaWVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmll
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFn
ZSBkYXRhIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgbW9kaWZpZWQgaW1hZ2UgZGF0YSBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGZvciAodmFyIGkgPSAwLCBsZW4gPSBp
bWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7IGkgPCBsZW47IGkgKz0gNCkKIH0KIGN0eC5w
dXRJbWFnZURhdGEoaW1nZGF0YSwgNDUsIDIwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQud29ya2VyLmpzCmluZGV4IGQyMjU4OGRjYTZh
Mjc5M2E0ZDcxNGY4ZDU2MGYwODIxMjJjNmEwMWUuLmU4MTQ0MjIwZDE2NjMzY2UyNTZhMWE3NWNj
Mjc0NTFhZjNiMDA4MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGltZ2RhdGEud2lk
dGgqaW1nZGF0YS5oZWlnaHQqNDsgaSA8IGxlbjsgaSArPSA0KQogfQogY3R4LnB1dEltYWdlRGF0
YShpbWdkYXRhLCA0NSwgMjApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEucHV0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGQyZjE3NGFmMGJiOTZjOGIxYTIyZDM2MzliNWRh
YzExZGUyY2M4OTkuLjk1MTk2OTFiOTkxZjdhNzhjYzBkMDA3ZmQ4MTIzOWYyOGYxNWU5MDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5p
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9u
ZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQubm9uZmlu
aXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9y
IGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJy
b3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTksNyArMTAzLDYgQEAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VE
YXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgSW5m
aW5pdHksIDEwLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
IGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIDEwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0ZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndv
cmtlci5qcwppbmRleCA1YmEzOWQ2YjI4ZDg1Nzk3ZjI3ZmNkZWM3YzExZTJiMWQ4ZTRiN2IwLi45
N2I4MWQ3MWVhY2NhYTVmZWE4MDYwNzk1MzE5MzM5OWIyNWM5YzYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5
cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05NSw3ICs5OSw2
IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dElt
YWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAs
IEluZmluaXR5LCAxMCwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCAx
MCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC5odG1sCmluZGV4IGEw
ZjcwMTcxMTg2YjU0MGE4MzYxZDcwZWVlMTEzOWU5ZTVjMDEzZGIuLmYzNmY5M2VlZGRkMTliMzkx
Zjc1NmU5NDNmMjdiYmFiNzRkOTgxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0Lm51bGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5udWxsPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0
YS5wdXQubnVsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgd2l0aCBudWxs
IGltYWdlZGF0YSB0aHJvd3MgVHlwZUVycm9yPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggbnVsbCBpbWFn
ZWRhdGEgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKG51bGwsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
Lm51bGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
Lm51bGwud29ya2VyLmpzCmluZGV4IDI1MzUwOGZjOTFiOGFmYTgwYzNhYzE1MWI5MzViMmRiZWNk
ZGUyNTkuLmU3YzRiM2JjMDExOGJiNGM4OTkxMDEwYWU5Y2Q2YzYyNjc1ODEwZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubnVsbC53b3Jr
ZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB3aXRoIG51bGwg
aW1hZ2VkYXRhIHRocm93cyBUeXBlRXJyb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShudWxsLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LnB1dC5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
cGF0aC5odG1sCmluZGV4IDQ3YWUyMGEyOTk2NDkxZjU0YTUxNzhhMTQ5NmM1NjhiYTZkNDk2YTUu
LjE2MzU3Njc4YTdmOTVhMzQwNWYyMjkyMWY1NDI4NGQwNjc3OGYxZTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5wYXRo
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmltYWdlRGF0YS5wdXQucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1h
Z2VEYXRhKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBk
b2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAg
Y3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0
LnBhdGgud29ya2VyLmpzCmluZGV4IGMyZWYxNDUxY2Y5MThjYjJlNzJjNDJkMzZlNzAwZTc5M2Fk
NGQ4OWMuLjA3ZDNhOGE3ZmVjZWIwYmIwMmM3MzY0MmY2ZWZiNDJkODc5NWFjNmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQucGF0aC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucHV0SW1h
Z2VEYXRhKGltZ2RhdGEsIDAsIDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0
ZWQuaHRtbAppbmRleCAzZjgwNzA5YzZhODE5YWFjMjA5ZDJlYTRlYTBlNDRjOGYyNmE3ODExLi42
YTMxNzBkZGI4YjlkOTEzZmM0NzBkOGM2OGZkZjUwYzQxYzIwNzhkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0
YS5wdXQudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0
IHN0YXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgicHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC50cmFuc2xhdGUoMTAwLCA1MCk7CiBjdHguc2NhbGUo
MC4xLCAwLjEpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLndvcmtlci5q
cwppbmRleCAyM2U0Y2VhMWVlZWMyNTQ2MzZiYTg3MWJhZjNjMzYyZDA3Zjc1NGY5Li5lNzE0ZjQx
ODM4NmQ4NjZkZDY1NWY2OWQxOWM3Y2IxMGRkZTYzNWQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0
ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnRyYW5zbGF0
ZSgxMDAsIDUwKTsKIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2Rh
dGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVu
Y2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVu
Y2hhbmdlZC5odG1sCmluZGV4IDcyNjQwYmZiMmQ3ODAxYjRmZDYzODY5MDljYTU5YWJiYTdjYjg2
ODIuLjJkMDg1NDI1NTA2NzJjNTFjM2RhYmEyZDIxM2RlZjA1NDQyYzNlZmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5wdXQudW5jaGFuZ2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoZ2V0SW1hZ2VEYXRhKC4uLiksIC4uLikgaGFz
IG5vIGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZm
ZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VE
YXRhKDAuMSwgMC4yLCAxNS44LCAxNS45KTsKIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIu
ZGF0YS5sZW5ndGg7ICsraSkgewogICAgIF9hc3NlcnRTYW1lKG9sZGRhdGFbaV0sIGltZ2RhdGEy
LmRhdGFbaV0sICJvbGRkYXRhW1wiIisoaSkrIlwiXSIsICJpbWdkYXRhMi5kYXRhW1wiIisoaSkr
IlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCmluZGV4
IDQxOGU0NmNjZjg3ZDhjOTliNzZhOTVlYjgzNDZkODkzYmU1MmQ2OGUuLjBhZjkwNTgzMmU2MDVi
MDg1Mzc5MmE4YzYwNDU2NDA3YmYyOWU1N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoZ2V0SW1hZ2VEYXRhKC4uLiksIC4uLikg
aGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgdmFyIGltZ2RhdGEyID0gY3R4
LmdldEltYWdlRGF0YSgwLjEsIDAuMiwgMTUuOCwgMTUuOSk7CiBmb3IgKHZhciBpID0gMDsgaSA8
IGltZ2RhdGEyLmRhdGEubGVuZ3RoOyArK2kpIHsKICAgICBfYXNzZXJ0U2FtZShvbGRkYXRhW2ld
LCBpbWdkYXRhMi5kYXRhW2ldLCAib2xkZGF0YVtcIiIrKGkpKyJcIl0iLCAiaW1nZGF0YTIuZGF0
YVtcIiIrKGkpKyJcIl0iKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sCmluZGV4
IDFhMzE4NzlmMDY5OTYyNTE4YjQ2YmExYWNmZTJjY2ViZjE3OTBhMzguLjkwNzAwNTUyMzcxZDM0
MzViNGJlZDIwMGQ1YWZjNTA4ZDExOGY1OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5w
dXRJbWFnZURhdGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1h
Z2VEYXRhKCkgZG9lcyBub3QgYWNjZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGEgPSB7IHdpZHRoOiAxLCBoZWlnaHQ6IDEsIGRhdGE6
IFsyNTUsIDAsIDAsIDI1NV0gfTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoImNoZWVz
ZSIsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3R4LnB1dEltYWdlRGF0YSg0MiwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0
eXBlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53
cm9uZ3R5cGUud29ya2VyLmpzCmluZGV4IDE4ZDczN2M3MDcyMTdhZWZiY2EwYjhlNzMzNjVmMDc3
M2UyYmQ1ODkuLjkzZGMzM2MwNzk1NWNmYjhlNWVlYjg3YzJhZWRmZDg0MThiYmE3N2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53
cm9uZ3R5cGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEo
KSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyAr
MjAsNiBAQCB2YXIgaW1nZGF0YSA9IHsgd2lkdGg6IDEsIGhlaWdodDogMSwgZGF0YTogWzI1NSwg
MCwgMCwgMjU1XSB9OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YSgiY2hlZXNlIiwgMCwg
MCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
cHV0SW1hZ2VEYXRhKDQyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYWxwaGEuMS5odG1sCmluZGV4IGMyMjNlMjUwOTBhMmRiNWZiNThkM2QxOGJlODk0MTlk
MjUzMjA3N2EuLjRhODk2OTM0YjI1MjdkNjZjMWM2MmMxMzI4NzBmNjNhMjA2NDQyMzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmFscGhhLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUg
dXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMjU1LCAwLCAwLCAwLjAxKSc7CiBj
dHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDQpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMKaW5kZXggOTg1MjAzM2VlZDcwY2ZhYzZlNGI4OGM1
Y2JhOGY2NmNhYzdkYmJiYy4uNmRiNzQzMjU1ZmFmZDZhZDUxNzA3NjMwY2FlMGExZGJkMTZkNWE2
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAsIDAu
MDEpJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgNCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1sCmluZGV4IDUzZGQwMTUyMzBjMjU2YjJhOTM4MjkxOWYy
NDk0ZmZhY2I3Y2YwZjEuLjdkZjBlYjU0MTJiOWMwMmQ5YTdhYzRhZDYwYWNhOGY4OGI5NjZhNGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjI8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFs
cGhhLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50
cyBhcmUgdXNlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjUp
JzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcs
MjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3JrZXIuanMKaW5kZXggNDkxMzk3YThhMWFiNjhk
ZWE5YjdiMGVlZTU3MjIwMWMzNTFjNWMzMi4uNDdjNWNiOTM1ZjRiZjBmMWQ1M2U5NzAzMjNhNDk0
YTJjYmRlYjdhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1
c2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgwLCAw
LCAyNTUsIDAuNSknOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgwLCAt
NTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy5odG1sCmluZGV4IDVjYWM2NGQ4ZGQ2ODdh
MzdiMzljNmYzNjhjNWY0NmNiY2I3OWI4ZTUuLjJkOTA5ZjZlYmE2M2M2ZDY4MjE3ODg1ZTRlMTE5
YTIzMWU3OWNlMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmFscGhhLjM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmFscGhhLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGFmZmVj
dGVkIGJ5IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFs
QWxwaGEgPSAwLjU7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAi
MTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYWxwaGEuMy53b3JrZXIuanMKaW5kZXggZjMwY2JhMjAxNDcyM2EyMmFjYTJmNDIwZDRlYWIy
N2RlNjljMzI0Mi4uYmJiYTVlNzU0MmQxN2MzZTA3NWQyODJhZDFhMWYzMjQ3NzI5YzQ4NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjU7
CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1
NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYWxwaGEuNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQuaHRtbApp
bmRleCBlN2FhZDRmM2UwOGM0ZWVlZjNhZDYxZjI0MTNiYjgwMTFiODNhMmU1Li42ZTM4MDgxN2Fj
ODNlZTdlOGM4YjVhNjg4ZmE5YjdmMThlYzc1NzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYWxwaGEuNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5hbHBoYS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hbHBoYS40PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TaGFkb3dzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgY29ycmVjdGx5IGFmZmVjdGVkIGJ5
IGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2hhZG93cyB3aXRoIGFscGhhIGNvbXBvbmVudHMgYXJlIGNvcnJlY3RseSBh
ZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuNzA3OwogY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQud29ya2VyLmpzCmluZGV4IDFj
MWI2MTllY2NjYjExNDhmOWNkNTc3NWY5ZTdkN2YxOTEzNjJjNzQuLjgzOGZiNWJmMmMwMzIxYTdk
NDI2MDM5NWI0NDg3OTJkOTIwMWNjZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5hbHBoYS40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgd2l0aCBhbHBoYSBjb21w
b25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZ2xvYmFsQWxwaGEgPSAw
LjcwNzsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwx
MjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS5o
dG1sCmluZGV4IGRiMzFmNzExOWFiMzhhMTVmMjFiYzQ2OTE1NmQwOTczNTNhNTAzNTMuLmU0NjVk
M2RhZmQyMzJkOGIzNzlmZDE1OGI1ZGJiNjQxNTA2MzY2MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFs
cGhhLjUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LmFscGhhLjU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNoYWRvd3Mgb2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgZHJhd24g
Y29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBkcmF3
biBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcj
MDBmJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwx
MjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53b3JrZXIuanMKaW5kZXggZGQ3Njk5ZmJlMjE5
ZWY5MzZmN2QxYWY2ZTliNjQwNDJkODI4YzU0ZS4uNzQ3YWJhNzExMjdmODBkMTgwZWFmMzcyYTZi
Y2FhYWNiN2U2YjMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjUu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBjb21w
b25lbnRzIGFyZSBkcmF3biBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5z
aGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJl
Y3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCmluZGV4IDI5MGZmYmJlOGY2NmRlNTRkOGZm
Nzc2NjU5NThkYjNmNjYzNmM5ZDIuLmExNmY5OWY0YmFjYmE2N2JmY2E4OGRjNmE3N2E1NWFiMjZi
ZGJiZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0JsdXIuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWw8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwgImN0eC5zaGFkb3dCbHVyIiwg
IjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC53b3JrZXIuanMKaW5kZXgg
MDQwNmU1ZjljN2I0MmQzOWZlN2ViZjZkNmU1NmZjMzE3ZTVmMzVjNS4uNWE2NDMyMzQzNDc5MGI4
Y2E5N2UyMjdjZDZkNDhhODgyM2NmMmZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpzCkBA
IC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMCwgImN0
eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbApp
bmRleCAxMDhjMGQwZGE0MDk3YjZkN2NhODFjZDVlOGVmYWE3NzUwYTczMTg4Li4xMGNmOTcxZjc0
MmJlOTc0MzBjMTNkYTQzZmM0YmNhYTQ0ZWE5OTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93Qmx1ci5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0Js
dXIuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBA
QCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsK
IGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogX2Fzc2VydFNhbWUo
Y3R4LnNoYWRvd0JsdXIsIDEsICJjdHguc2hhZG93Qmx1ciIsICIxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0JsdXIuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dCbHVyLmludmFsaWQud29ya2VyLmpzCmluZGV4IGQ0ZTM3YTFjY2RhNGIxOWZkNWQ3
N2IyMGY3MDU0ZGEzZmFjZWUxZWQuLmYwOTQ3NzRlMTE5NWI1OGQ0MzFjYWM2ODhmMjFiZDJlNTNl
MGJiOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0JsdXIuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93Qmx1ci5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwg
MSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsKIGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5zaGFk
b3dCbHVyID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDEsICJjdHguc2hhZG93
Qmx1ciIsICIxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbAppbmRleCA0NWE4Mzk1
Yzg1NDgyYThhZjJkNTMxZjZiZjNkZjljZTI0NzAzMzUxLi5kZjM4Nzc2M2MzOGNjNjg4NjljY2Jl
YmI1NmFiZTFjNDlhZDY4NWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZh
bGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAx
ZTY7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMWU2LCAiY3R4LnNoYWRvd0JsdXIiLCAi
MWU2Iik7CiBjdHguc2hhZG93Qmx1ciA9IDA7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwg
MCwgImN0eC5zaGFkb3dCbHVyIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlk
Lndvcmtlci5qcwppbmRleCBhYWRhNjA4MjRkZTAwMTQ5ZmE5ZTA4YWZlYTAxODdhOWIxZjE4NTVh
Li42M2U5MDk5ZGI3NmU4ZTBkYTljYTliMWJmZDBmNDc5MDE5ZGE5ODJjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlk
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCBjdHguc2hhZG93Qmx1ciA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAx
ZTYsICJjdHguc2hhZG93Qmx1ciIsICIxZTYiKTsKIGN0eC5zaGFkb3dCbHVyID0gMDsKIF9hc3Nl
cnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dDb2xvci5pbml0aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLmh0bWwKaW5kZXggODNjNzYyOGRmOTlmNGZlZTcxMTAy
OTM3M2U0MTI0YzEzMzhkNzEzMi4uMWJmYzNlNWM2NzBhOTZhNmQ4MDU0M2RlNzMwODgyNDdiODJi
N2EyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Q29sb3IuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICdyZ2JhKDAsIDAsIDAsIDAp
JywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Q29sb3IuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwppbmRleCA1ZTEzYjliMzU3NTdmMzQz
ZGE1OTVjNzA5NDlhNmQxNDg1ZDQzZDg5Li5iZmVhYWMwMTE2NDA3YTAzYjY5NTk1ODQ1ZGZlODNm
NWQ1YjU5YTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdiYSgwLCAwLCAwLCAwKScs
ICJjdHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMCwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d0NvbG9yLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0NvbG9yLmludmFsaWQuaHRtbAppbmRleCBiNGQ2NjFkZjgzNzliY2Q2NDM0ZDA3OTdhODMx
M2YzMmUxZWY3NWVkLi5jNDI5ZWVlYmRiOWY3MjYxNDhlNGFhNGQ3MDVmNDE3YzQzY2FhZmY1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5p
bnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Q29sb3IuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9y
LCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7CiBjdHguc2hhZG93
Q29sb3IgPSAnIzAwZmYwMCc7CiBjdHguc2hhZG93Q29sb3IgPSB1bmRlZmluZWQ7CiBfYXNzZXJ0
U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICInIzAw
ZmYwMCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5qcwpp
bmRleCBhYWQyM2JkNzliNjJiMWVjMWNjZWRkODZiZDIyNGMwNGJjNWQ0MDIyLi5kMTFlMGZiOTJl
Mjc4ZjBhOTE3YjhjZDM0ZTM0YjE0YWI4OTFkMTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBf
YXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIs
ICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmZjAwJzsKIGN0eC5zaGFkb3dD
b2xvciA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAn
LCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52
YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3Iu
dmFsaWQuaHRtbAppbmRleCAzMThhNGVjODhjZDRkOTMzMmRjZTBiYmNkY2I3NDU1NmQyZTdmZGZi
Li5lODkyZjRiMGJjNTM0MTA4M2Q3ZTIyNGM2MzU2MWVhN2U5OWMzZDI2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0NvbG9yLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICdsaW1lJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFk
b3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwogY3R4
LnNoYWRvd0NvbG9yID0gJ1JHQkEoMCwyNTUsIDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d0NvbG9yLCAncmdiYSgwLCAyNTUsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgw
LCAyNTUsIDAsIDApJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIu
anMKaW5kZXggYjVhNzExZmE5YTA0MWU1NWU3YWFiOGMyY2UzNmE4NTQxMjQ3MDRlNy4uNGI2NjQ0
Njc3NDU4ZjBjNmQ3MzYzYzhiNWU1ZTE3YTNhYmQ1Y2Y0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBj
dHguc2hhZG93Q29sb3IgPSAnbGltZSc7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICcj
MDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dDb2xv
ciA9ICdSR0JBKDAsMjU1LCAwLDApJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJ3Jn
YmEoMCwgMjU1LCAwLCAwKScsICJjdHguc2hhZG93Q29sb3IiLCAiJ3JnYmEoMCwgMjU1LCAwLCAw
KSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLmh0bWwKaW5kZXggN2VmZDQ1
ZTA4ZjA2ZDlkNThiZTU5NWZlZDdlYTJmOGU2NzMyYjg0Mi4uNDNiMjY5YWQzNWRhYWNlMWEyNzlm
MTJlMTg1NGVlNWY2NzgwMzIyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0
dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dPZmZzZXQuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQu
aW5pdGlhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KGN0eC5zaGFkb3dPZmZzZXRYLCAwLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMCIpOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd09mZnNldFksIDAsICJjdHguc2hhZG93T2Zmc2V0WSIsICIwIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcwppbmRleCAwOGUy
YmY0MDliNWU2OTAzZDZjNmU0ODQ3MjY4ZmU1OTdjMDFkMmUzLi5kMzFjYmE0ZmRjMWY5NjgxMDc0
NTQzNTcxOTU1MjEyNzkzMmI3M2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnNo
YWRvd09mZnNldFgsIDAsICJjdHguc2hhZG93T2Zmc2V0WCIsICIwIik7CiBfYXNzZXJ0U2FtZShj
dHguc2hhZG93T2Zmc2V0WSwgMCwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLmh0bWwKaW5kZXggOGRiMGNkNTU2Zjk4OGM0NGJkNjJm
NGU4NzhlMDU5YzQyMjU2ZThlNS4uMTc2NmZlMGEwMmM5MDg1YWI5MTFhM2JjOTExZjRkMmQ2Y2Jj
NGVjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dPZmZzZXQuaW52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxp
ZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WCA9IE5hTjsKIGN0eC5zaGFkb3dPZmZzZXRZID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d09mZnNldFgsIDEsICJjdHguc2hhZG93T2Zmc2V0WCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHgu
c2hhZG93T2Zmc2V0WSwgMiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjIiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzCmluZGV4IDJiMDJlOTQ2YjlmNWE0
NmIyMjUwZjU0OTUzNDYyYTZkMzRhYjAyOGYuLjQyZTUxYTJjNWJjMzJjN2E4NGNmNTgyZWEyYjhk
YWFmOGY5MTRhNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnNoYWRvd09mZnNldFgg
PSBOYU47CiBjdHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dP
ZmZzZXRYLCAxLCAiY3R4LnNoYWRvd09mZnNldFgiLCAiMSIpOwogX2Fzc2VydFNhbWUoY3R4LnNo
YWRvd09mZnNldFksIDIsICJjdHguc2hhZG93T2Zmc2V0WSIsICIyIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d09mZnNldC52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93T2Zmc2V0LnZhbGlkLmh0bWwKaW5kZXggMTlmZGU4NTY2NGZmYzBlZTRkMmY1YzMyODU4YzFm
ZWQzNTdlNTJmMC4uMjU4ZjA0ODZkN2ZiYjYzNTQ2MGViYjkyYWI3ZDNjNDI0MTE5ZTVhZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZh
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zm
c2V0LnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxpZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM2LDcgKzQwLDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxZTY7CiBjdHguc2hh
ZG93T2Zmc2V0WSA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAxZTYsICJj
dHguc2hhZG93T2Zmc2V0WCIsICIxZTYiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZ
LCAxZTYsICJjdHguc2hhZG93T2Zmc2V0WSIsICIxZTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0
LnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d09mZnNldC52YWxpZC53b3JrZXIuanMKaW5kZXggYjZkYWNiNGUxNmIyYTY2YTJiM2QyZmFkZGY5
MGUxNWNmNjdhMGRhZC4uY2ViMGMyN2U2NWRlODMzMGVhMzFmYTNhNGYwNDU5MjYyYjkyOWMzZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0
LnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQudmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMWU2OwogY3R4LnNoYWRv
d09mZnNldFkgPSAxZTY7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WCwgMWU2LCAiY3R4
LnNoYWRvd09mZnNldFgiLCAiMWU2Iik7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwg
MWU2LCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMWU2Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEuaHRtbAppbmRleCA5ZjZkYWZiM2RmNDRmMDg1
MGE5YTdjNDM4NDk3MWJiZDU0YzFlZTgwLi42OGE0NmYzYzg1YmQxMzgyOGZlMGNmOWUxYTA1NDMx
NWFhYWFmZGQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhh
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFz
LmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jYW52YXMuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGNh
bnZhc2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJl
bnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0g
NTA7CiBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBo
YS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5q
cwppbmRleCBhMGI5ZWVlZDcxMzgwMjQzYTAxNjE4YWIwOTBhODBiMzJmODRlZjU2Li45ZDJlMjFl
NTJkOTEzMGNmNDgxMDkyYWQ4NjFkNzdlZjlkZTdlYjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2FudmFzLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgY2FudmFz
ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHgu
c2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IC01MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAs
MTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy5odG1sCmluZGV4IGMzNzJlZjRjMTA4
NTIzZDRiNTZiNDY5Mjg4NmE1ODc3YmNlZGI4NmUuLmQ2MGJmZTlmOGU1OTAyYWQzYmU4ZTZkNmYx
ZWE0ZDk1NjE5ZmE4OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMu
YmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5j
YW52YXMuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGNhbnZhc2VzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9y
IGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzBm
MCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5iYXNpYy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLndvcmtlci5qcwppbmRleCAzZDk1NDk5
ZjM5NTAwYTc0ODc1ZDZhYzJjOTkyNTIwNzQ0NjM3ZTEwLi44ZTM1Nzc0MjBiNWI2YmZhZTVkNDU5
MGNmZTQyYzcwZWQzN2M2YWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2Fu
dmFzLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJh
c2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24g
Zm9yIGNhbnZhc2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAn
IzBmMCc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5D
YW52YXMyLCAwLCAtNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbAppbmRl
eCA0MzUwNTE2ZWVlZmM4NDlhN2EyZjlkMGQxYzVjMzYzMmNmMWUwNThiLi5lZGFiZjk5MGVhNTM3
MGIyZmIwYWZjMzJiMzFhYjU4YmE1ZGQ1NmU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93
cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNlczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBk
cmF3biBmb3IgdHJhbnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0
eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJh
d0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50
cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCA3YmE2OTdiNWY0YzhjOTAzNzY5NDZkOTZmNzNk
YzRlOGRiODdmMWVhLi5mYTU4MTJmMTZjMzc0OWQzM2IyNmU4ZDdlMjk5NjE1MTNkNDQ4N2M4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBm
b3IgdHJhbnNwYXJlbnQgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFk
b3dDb2xvciA9ICcjZjAwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5z
cGFyZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQu
Mi5odG1sCmluZGV4IGRlZDE4Zjc2OTc3Y2JjZDU3NGExNjQzMjFhNjVmMmVkYTE5NDhlNWUuLjI2
MTJiZGNiNzRkYWExOWFlNTc3NTFmNWRmN2VlYjNiMTBjNzI3OTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50
LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZh
c2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAtNTAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCmluZGV4IGQ5MWZhMTY5NGJm
MmNmMDA2Y2UzOGUyOGI1MWRmOWJhOGRiODU5YzkuLmM4MTBlNDc1ODFmYmM1NTZlNzI5ZjI4NWYw
Y2FjNWRhZWJkOWM3NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMu
dHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZh
cy50cmFuc3BhcmVudC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI4LDcgKzMyLDYgQEAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAtNTAsIC01
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jbGlwLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEuaHRtbAppbmRleCA5
ZDVlMzNhMDA4ZjEwOTk1ODUyMGQwNGNmMjhjNDQ2OGI4NzdiNTY4Li5jYmMyNjcwYTJiMjgxODZi
N2UwY2U0OWI2Yjg1Mzg2Yzg5NGM2YTFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuY2xpcC4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xp
cC4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnNoYWRvdy5jbGlwLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3Mg
b2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVn
aW9uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBj
bGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuY2xpcC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEud29y
a2VyLmpzCmluZGV4IGQ2YTQ0NGQ1N2ZkMTU2Y2QwYjZiNDU2OGNiMzYzYjQxZjFmNjE3ZDEuLjcy
MjE5NGY2ZGNkMDk1MjUzNjBmYzhkODJhNGE0MDA3MmU1MzQ0YmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jbGlwLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jbGlwLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9m
IGNsaXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlZ2lv
biIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBj
dHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIuaHRtbAppbmRleCA1ODZmYTllNjVl
NTdjZmY3YmFkNTU1OWRhMzFhYzYyYzVkYzliMGZjLi45ZGEyY2U0NzI2MzQxYWQ5YTc0ZjM5Yzg4
YzI3MjFkNjlkZTcwYTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4yPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5jbGlwLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBk
cmF3biBvdXRzaWRlIHRoZSBjbGlwcGluZyByZWdpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gb3V0
c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNsaXAuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y2xpcC4yLndvcmtlci5qcwppbmRleCBlYWM2YmMzMWIyMmQyMTNjMTMxYTQxNmMyM2QzN2I4ZTQ3
MzljYjU2Li43NjVkYzZjMWVlOGJmMWQ5MjViNTIwNDNmM2Q4NDk0ZmQ4MjlhNTEzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgbm90IGRyYXduIG91dHNpZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBjdHgucmVzdG9y
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMuaHRtbAppbmRleCA3N2JiNDFjY2MzMjMyZDY0YmNm
N2MzZjEwZDY1NjIwMDliMjJkMWViLi4wN2MxZmMwNjgwMzBlZGU1MDMxNGY4MzcyZjVmZDhlNTQ5
NWRhYzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2xpcC4zPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRv
dy5jbGlwLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMg
YXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBjbGlw
cGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5maWxsUmVjdCgtNTAsIDAsIDUwLCA1MCk7CiBjdHgu
cmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3JrZXIuanMKaW5kZXggODA5
ZWUwYjFhNDQ1MjJkZDk5ZTMxYTk2NDBkOTk2OWM2YWU0YWM2NS4uM2Q5MmQyYWFmMmYyMGY0Njgz
NmQ1ZjdjNzU3ODRkOGU1MjhiZDIyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNsaXAuMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMg
YXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcs
NyArMzEsNiBAQCBjdHguZmlsbFJlY3QoLTUwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sCmluZGV4IDUxYzQ1OGM2NWU0MDQ1
YWJhMjZiZTJiNGEyOTg0ODI1MzU3ZWNiZDEuLjNhMjliZThjZGEwYzA3YWE3YjhhZTBkZjg0YTlm
YmZlMWVjN2RmNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUu
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY29tcG9z
aXRlLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LmNvbXBvc2l0ZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMTAwOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgtMTAwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jb21wb3NpdGUuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRl
LjEud29ya2VyLmpzCmluZGV4IDVjODFhMmMzNDk4MTA3NDI5YTBiYzFkN2U3YjBkMjU5MmEwNDMx
NjcuLmI0NjQ0NTA2Y2NhZGY1MzMxNDU5OWM4NmE4ZjNmZWVmYzE3ZmJiYTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBhcmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDEwMDsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgMCwgMjAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jb21wb3NpdGUuMi5odG1sCmluZGV4IGEwMzU1YzYzZmE1YWM2ZjMwMDc2NGZjMGUzYmMyYTRk
YThhYTc3ZTYuLjY3YmI5ZDA1NjY2NGRhMjM3Mzc5Nzc2ZDdlMTI1M2FjY2FjYjE5YTEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY29tcG9zaXRlLjI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LmNvbXBvc2l0ZS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biB1
c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dC
bHVyID0gMTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwLCAtMTAs
IDEyMCwgNzApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi53b3JrZXIuanMKaW5kZXggMmFi
OTFiN2E3YzZkODhhYjZmZjdhZTcwN2I3OWJmYWIzNjExMzQ3NC4uN2MxYTQwOGEyZTk1MzRlYThi
NWYxYzlhZDQyMDExZmI4NGNhNGM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNvbXBvc2l0ZS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9z
aXRlLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5zaGFkb3dCbHVyID0gMTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJl
Y3QoLTEwLCAtMTAsIDEyMCwgNzApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0
ZS4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMuaHRtbAppbmRleCA0
Y2JmMTkwMmQ1ZjIyZmQ1MWUxMjE0NTAxZDlkMDU2MzM0NjdhODM0Li5mOTM3MjkyNmRjZmQxNTM4
Y2U1NWNmZmY3MjAzMmEyMzNmMTE0NDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuY29tcG9zaXRlLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRl
LjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
c2hhZG93LmNvbXBvc2l0ZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5jb21wb3NpdGUuMzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+QXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0
aCBkZXN0aW5hdGlvbi1vdXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJBcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3Rs
eSB3aXRoIGRlc3RpbmF0aW9uLW91dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgyMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy53b3JrZXIuanMKaW5kZXgg
ODU3MzAyMjIyMjVhOTI3ODNkZDVlNTBjMjY4NTZkMThjMjIwNTc5ZS4uYTRhNmFiOTUwNTQ0OGRk
MDU4ZWIwYmJiODZhMTYzYjU0MTZiZGQ1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNvbXBvc2l0ZS4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29t
cG9zaXRlLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJBcmVhcyBvdXRzaWRl
IHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGRlc3RpbmF0aW9uLW91dCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgy
MDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw1
LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmVuYWJsZS5ibHVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxl
LmJsdXIuaHRtbAppbmRleCBlNmFkMjkzNzg4MDBiMjRjN2U2M2EwMTIyOTdmZWM1Y2RlMDVlOTE5
Li5jNTVjMTllZDdhOTlhNmU2YzBiNDk2YWFlMDk2ODUwM2VmOTkyNjkzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS5ibHVyPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFi
bGUuYmx1cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93
Qmx1ciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS5ibHVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci53
b3JrZXIuanMKaW5kZXggNjEwYTM4Yjk5NGQ0ZTQ4NGQ0ZWZhNGJjMWVkZTgxYzE2MzBmMTYyZS4u
ZDE1MDE4MjEyN2RkNTIxMWFiMzU2MmZmNWM4MDQ4NDNjYzVkZGRkMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dCbHVyIGlzIHNldCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgY3R4LnNoYWRvd0JsdXIgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYu
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS5odG1sCmluZGV4IGY4
ZWNmODVmMWNjMjk2Nzg3ZDVlMDMyMmIwMTAwYzYzZjkzNWQwNTEuLmY5YTI4NGRkOWI5YTBmZjQx
YmRiN2NlYjJkODBkNDVmZTM5ODhmYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5lbmFibGUub2ZmLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9m
Zi4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnNoYWRvdy5lbmFibGUub2ZmLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS5vZmYuMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xv
ciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNl
dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5lbmFibGUub2ZmLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmVuYWJsZS5vZmYuMS53b3JrZXIuanMKaW5kZXggZGFkNWMwZTU4YjM1ZDhjMjYxODM3NzdkOWRm
ZGYxYmNhNGNiNDg2Ny4uODYzZjFjNjgyZGFiNDhlZDYxOGU3YTM2ZDZkYTY3MTFkYzFiODBjNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93
Q29sb3IgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAn
I2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmVuYWJsZS5vZmYuMi5odG1sCmluZGV4IDNhMjNjOGJjZmNmNjU1ZGY1NGU3OWZhYWYz
NzhhNjkxMDI4MDE5ZjkuLjkyNGZjZWQ5YTAyNTEzNmFkODc5MDM1MTA2NjNlZmZhMGVkNGUxNDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc2hhZG93LmVuYWJsZS5vZmYuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBh
cmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3Qg
ZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMK
aW5kZXggMzcxZjU4MjJlOWM0ZmU3YjVmMzg0ZWY5Nzc3OWQyYWZmOWZiNGEwOC4uY2IxMGY1MjJj
NjJjMzdjZmNhNTkzMGE2YjdiNGZjNzY0YzBhZTIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmVuYWJsZS5vZmYuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRv
d3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS54Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnguaHRtbAppbmRleCBi
MmYxNDdiNGM2ZmM3OGRkOWRhYTc1MzAxMzMzNDZjMzVlNTUzZWRiLi5kMzRhMmNiZGM0Y2JmOGMw
M2RiOGU5NTU2ZjQxNTQzOGU1NWRkYTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZW5hYmxlLnguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnguaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93
LmVuYWJsZS54PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFibGUueDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WCBpcyBzZXQ8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biBpZiBzaGFkb3dPZmZzZXRYIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNo
YWRvd09mZnNldFggPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC53b3JrZXIuanMKaW5kZXggMWY3MDYzNWUyMDI5
MzM1N2RlM2RmMzg3MTE0MDY5NTk3NDgxNmU2MC4uYzQxOWNhYmJjMDBmYmNjN2VhNGUwZDI1NTlm
YmY0NTRlNmEwZmZjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZz
ZXRYIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAw
LjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
ZW5hYmxlLnkuaHRtbAppbmRleCBhMDFkNjFmMjJmMjYxYmQyYjU1ZGE5YTk5ZDNhM2U4M2Y1MmE4
N2I1Li44ZDdiMjY3MTg1NTU0NGEyZTExZDBhY2I2MzdkYTkwN2M4ZGYwOTg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZW5hYmxlLnkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS55PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5lbmFibGUueTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WSBp
cyBzZXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlzIHNldCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVu
YWJsZS55Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS53b3JrZXIu
anMKaW5kZXggZjFkMGYyN2JkZGY5NWEyNjhhZDZjOWEyMjNlNjc4OWMxYmYxY2M3ZS4uNjExN2Q5
OTZkYTkwNjBjNTY2YTRjMDBmN2YzMjZjNDI1NzlmMmM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZW5hYmxlLnkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlzIHNldCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAg
Y3R4LnNoYWRvd09mZnNldFkgPSAwLjE7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEuaHRtbAppbmRleCA1MGU3
ODE2NzVhYTc1MTA5ZGJhNDRlMjUyNzFiZDdhMTZkYTlkMDYwLi4wYmUzNzgxZWNhYmRhYWRlNjY2
YjNkNGE2M2Q5OTIwZWU5MmJiNzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQuYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQu
YWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LmdyYWRpZW50LmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0
aWFsbHktdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0
bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LmZpbGxTdHlsZSA9IGdy
YWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNyww
LDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5ncmFkaWVudC5hbHBoYS53b3JrZXIuanMKaW5kZXggMDdjMDJjZDI5Y2Q0ODAzZjE2NDc3
NDcxYzk3NjUyNGFhYjBhMzNkNC4uNjM3Y2M5MjA2OWZhNjliZjliNzNhN2U5MGY2MDcyZmJiMTM2
ZGY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmFscGhhLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkg
Zm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LmZpbGxTdHlsZSA9IGdyYWRp
ZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEy
NywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3Jh
ZGllbnQuYmFzaWMuaHRtbAppbmRleCA1ZmY3ZTY2ZjM2Y2VkZTk1ODAyNjJkZWIxZWUzMDQxOTc2
OWEwZWFkLi5mNTZjZTZjMjNiYzQ0NTE5MmQ3ZTc1OGYyMTZkNDdhYTA5ZjQzZDkyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBh
cmUgZHJhd24gZm9yIGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIGdyYWRpZW50
IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwog
Y3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLndvcmtlci5qcwppbmRleCA5MGYyNGJkYTFmODg3NjJi
ZjZhN2I5NjdiMTVhY2Y0NGJjMjg3YWQ0Li44MDBmYzMxNTM1NjFiZGY0OWM4Y2NiNmRhNWU5MTEz
ODgxNDJjOWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYmFz
aWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBn
cmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkg
PSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xLmh0bWwKaW5kZXggODBi
NTliYWNlM2JlNDA0ZGFjMThjYTgyNGNhOTgyODBlODBjMzNlOC4uNmU3OWE2NDE2NDhhMmZiOTE1
ZmQ1NmMyNGQ1ZTYyNTEwNzVjZTRkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hh
ZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBncmFkaWVudCBmaWxsczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mg
YXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0eWxlID0gZ3Jh
ZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCA5ZTEyY2U4MzUxMDNmNzM3MDY5
NDdlZGIxMTk4Y2Q2ZDc0MGM4NmM0Li4wZjBmYWI4NWU1YjI2YTMwNWYyNWQ1MWQ0NzBkMDg3MWQ4
Mjg0MmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNw
YXJlbnQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRy
YW5zcGFyZW50LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxTdHlsZSA9IGdyYWRp
ZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3Jh
ZGllbnQudHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50
LnRyYW5zcGFyZW50LjIuaHRtbAppbmRleCA3YzFmNTY3ODYwYTExMjZjYmNkOWQwOTNlOTJiYmEy
YjVmMTQ3NTA1Li41ZTdkNDBkYjEyMWZmYzJhYTIwZTkxMjk4NjUxODVlOTdkMTU0OWU3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVu
dC4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0
cmFuc3BhcmVudCBwYXJ0cyBvZiBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYg
QEAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLndv
cmtlci5qcwppbmRleCAwOGY0NmZkYjQ5YzljOWI5OWQyMjkwODRlNjdjYTBjNzdlZWU5OGMxLi42
MDZlODUyYTFmMzZhZDhjNTFlMmQ1MjI2NmRkMDJiODRlNzdjNzc3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFy
ZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbAppbmRleCA4NjQ4M2UzOTAwMjgzNTZiNDRiYjc0NzA2
YjJlMTU0MGIyNWQxZGFkLi4yNWNlMWMxYjEwN2JhM2VhMjYzOWUzZTUxYzc2ZWU1ZDBjNjkyODJh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLmFscGhhPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnNoYWRvdy5pbWFnZS5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUg
ZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUw
LDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1Iiwg
Mik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS53b3JrZXIuanMKaW5k
ZXggYTYyNGJlODBkZGFkMjU5MjdmY2M0YmI5MTA0N2MzZDg3MWM4ZWIxYy4uMTdmYzVhN2RhZDMz
N2VlZjY4MGZiMzdiZjRhN2U3NDRiYWM5NWMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
aW1hZ2UuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAs
MjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAy
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbAppbmRleCA1ZmZkOGM2YTMw
MTlmNDRiZjM3YmViMmYwOTM1YWI0MGY1ZWYzNDY3Li5lMTE5OGFjZDEwYzE4ZWUwN2VkNGI5YjBl
ZDRkYTAwZjU5MGI1MWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
YmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lmlt
YWdlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBpbWFn
ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIC01MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIuanMKaW5kZXggMDY4NTA0M2FkM2Y5ZTdi
Yzk2NWFkMTE3MDBjOTc1YjVjNzI5ZDU2OS4uNDUxMjZhMjE4Zjk1YWUyOGEzNWQzMTg2MTViNTdh
NDBhZjBlYzdjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1hZ2Vz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5pbWFnZS5zY2FsZS5odG1sCmluZGV4IGQ0MzhmM2YzNDg2NWIyNWRjNjMyNTM2Yzc1ODM4
NTczOTVmNmE2NjYuLjdmMzA1N2I2MDIyMGQyM2Y0ZTE0MWUxYTI5ZTRlYTcyNjIxMzg1ZGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2Uuc2NhbGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LmltYWdlLnNjYWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3
biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkg
Zm9yIHNjYWxlZCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwxMyArMzQsMTMgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwLCAtMTAsIC01MCwgMjQwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAsIDUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLnNjYWxlLndvcmtlci5qcwppbmRleCA2ZjA4NGU5YjQyYTA1NGZiNzZmNjRi
NTA5YjlhZjdhOTY5N2JkNGZkLi45Y2ExZDc5NDhhMDVlYjMzNTUwNDMxZjY3NDRjN2U1YjE4ZTdl
YThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2NhbGUud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3Igc2Nh
bGVkIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEzICszMCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCA1MCwgLTEwLCAtNTAsIDI0MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdl
LnNlY3Rpb24uaHRtbAppbmRleCAxZjI5NzYwMWZhM2NlMzg1MmEwM2IzM2Q1Nzc2ZWEwMGU4OTU5
MmEzLi4xYWJjNzU1OGUxMjEzNDgyMWUwMDgyMDk0ODFlYmI2NDE4OTUzNDI4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNo
YWRvdy5pbWFnZS5zZWN0aW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3Qg
ZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgaW1hZ2Ugc291cmNlIHJlY3RhbmdsZXM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgaW1hZ2Ugc291cmNlIHJlY3RhbmdsZXMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zMCwxMyArMzQsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA1MCwgMCwgNTAsIDUwLCAw
LCAtNTAsIDUwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDUwLCAwLCA1MCwgNTAsIDAs
IC01MCwgNTAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2Vj
dGlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi53b3Jr
ZXIuanMKaW5kZXggYWQ5MjNlMGYwNTgzMTNhMzc5M2IzMWJkZDA5Y2Y2MjVlMGNhZDdlZi4uM2I0
ZGVhYTY1N2Q5MjVmNWFjM2NiMTI2ZmQzNDY1MGNlMjg0NmU2NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJjZSBy
ZWN0YW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMwLDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNTAs
IDAsIDUwLCA1MCwgMCwgLTUwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA1MCwg
MCwgNTAsIDUwLCAwLCAtNTAsIDUwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5pbWFnZS50cmFuc3BhcmVudC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
dHJhbnNwYXJlbnQuMS5odG1sCmluZGV4IGYyYjI4OTllYTQyOWE2YjAyNWFkOTBlZDFjMTlmMzM0
ZjczNWUwMTUuLjFkNTRhZTU5OWI3ZWRjZjNlOTJhYmRjYzg2Y2E5Nzc5OGE3M2MwM2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4xLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLnRy
YW5zcGFyZW50LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgaW1hZ2Vz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
MCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC01MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IGFmMmQ4NjlmNDZkYjJm
M2UwMTRlNjhkMDhhZGY4Y2JkNTFjNjEwZDYuLjc2ZGM4ZmY1OGY2NDFiMzg0Zjg4NTgwZTRjYjA2
OTBjMDY5MjBjODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFu
c3BhcmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJh
bnNwYXJlbnQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDEx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtNTApOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1h
Z2UudHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5z
cGFyZW50LjIuaHRtbAppbmRleCA1YjIzZGRmZTg4ZTIyNjUyZGY5NGEzZjM0ZmRjYjMzYmQ3MTM2
YTc4Li4yZTIyMzBiMDJiZjU2ODY3OTc4MjY1YTdkYTAxNzY4MzQ0MDBiNDZhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5pbWFnZS50cmFuc3Bh
cmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGlt
YWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgaW1hZ2Vz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzIsMTUgKzM2LDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNTAsIC01MCk7Ci0g
ICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IC01MCwgLTUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgNTAsIC01MCk7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC01MCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNw
YXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJl
bnQuMi53b3JrZXIuanMKaW5kZXggMGI5OWYzNjI3ZThiODJkYjhjMGViZDNmZGI4YzY5Mjg4ZmVm
N2YzOC4uNWY1NDc2M2QxMjlmNDIwMDVjZDY0ZDE4NTg0NWJiZWJlMGJlYTM2NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3Bh
cmVudCBwYXJ0cyBvZiBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxNSArMzIsMTUgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCA1MCwgLTUwKTsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgLTUwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3
NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA1MCwgLTUwKTsKKyAgICAgICAgY3R4LnNoYWRv
d0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLTUwLCAtNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNl
dC5uZWdhdGl2ZVguaHRtbAppbmRleCA4ZjhmYWQ3YmU0NDRmZDgyOTlmYjIxNzk0ZTY2MTljOGNh
OWM1ZmE5Li43ODcyOGUwYTQ3MGNiMmE0ZmM1ZjY3ZGIyZGMzNDJjMzY0MTUwMDU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVY
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB4PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0
IHdpdGggbmVnYXRpdmUgeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNl
dFggPSAtNTA7CiBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgud29ya2VyLmpzCmluZGV4IDk5MDgxMjM5ZTMy
MjEyYzkzMDIzNmUzYjQ0OGM1NzMyNTQxMWRjNTEuLmIwNjc5YTYwMTRlYmExMjI1YjQ5MjBkNjZm
ODE3MWIzZDQyOGJkMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQu
bmVnYXRpdmVYLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5l
Z2F0aXZlWC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJl
IG9mZnNldCB3aXRoIG5lZ2F0aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFk
b3dPZmZzZXRYID0gLTUwOwogY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5odG1sCmluZGV4IDQ3YzM5MTA4N2EzNTY4
Y2ViMDg2ZmEwNGY0ZGFjMWY5NTg1ZTliN2MuLjUxMjNhZjg3MmY0ZmRjMzBhNDE0NjA1OWQ2OWQ1
M2Q1MjEzMzM1NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVn
YXRpdmVZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVku
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hh
ZG93Lm9mZnNldC5uZWdhdGl2ZVk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVk8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHk8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgs
NiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IC0yNTsKIGN0eC5maWxsUmVjdCgwLCAyNSwgMTAwLCAy
NSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1
MCwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MzcsIDAsMjU1LDAsMjU1LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVku
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29ya2Vy
LmpzCmluZGV4IDk5OGU0YWQxNmM0YzI2NmJhM2U2MzQ4NTc4MDI1MzNmNGNiMjVmYWIuLmQ1ZGQ1
YjZmMWYyMTMzYjBjYmQ3YjAwMGZiM2ZhMGU5MWVlMzc4NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gLTI1OwogY3R4LmZpbGxSZWN0KDAsIDI1
LCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSww
LDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBv
c2l0aXZlWC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVguaHRt
bAppbmRleCBkNjY0MTRiNjcyZjcxZjY2MmViYTgyMDAwZWFiYmIxMGM0NTQ4ZjgwLi4yNzZjMTBk
OGRlOWUwOGUzNDFkYWRjY2ZmNDZlYjUwNjIxYjJjY2FjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vZmZzZXQucG9zaXRpdmVYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRv
dy5vZmZzZXQucG9zaXRpdmVYPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGNhbiBiZSBv
ZmZzZXQgd2l0aCBwb3NpdGl2ZSB4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUg
eCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSA1MDsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5vZmZzZXQucG9zaXRpdmVYLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZz
ZXQucG9zaXRpdmVYLndvcmtlci5qcwppbmRleCBlMDAzNzlmYmUwYWI5MmQ5ZGQxZjA2OGE2MzA2
ZDk5YmQzZThhZmE0Li5kNGM0MTMwYTkyYzQwZTA3YTI4NjU1YmZlN2Y3ODg3MzUyODYwNTE3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBwb3Np
dGl2ZSB4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDUwOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZz
ZXQucG9zaXRpdmVZLmh0bWwKaW5kZXggNjkxNDQxNGU5MjY0YWY5YzA5YjM4YTI4MzNiMTNiY2Qy
NDgxMjM3MS4uNTNhZTJlYTU1M2YwNWYxNzFjYjhjMTExZDAzYjI3YThiNjhiNDk4ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZl
WTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNl
dCB3aXRoIHBvc2l0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZz
ZXRZID0gMjU7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1LDAsMjU1LCAiNTAs
MzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkud29ya2VyLmpzCmluZGV4IGU3ZGY2ODk3NWZk
NTczN2IzYzFmNzVlNDFjZWQxMDM5ZmNiNmRkZGUuLjA4NmQ3Y2ViN2Q3ZjhhYmY1ODI1YjI1YmQ2
YmM1NGY5NDQzZWFmODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQu
cG9zaXRpdmVZLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBv
c2l0aXZlWS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJl
IG9mZnNldCB3aXRoIHBvc2l0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFk
b3dPZmZzZXRZID0gMjU7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxMiwgMCwyNTUsMCwyNTUsICI1MCwxMiIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDAsMjU1LDAsMjU1
LCAiNTAsMzciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vdXRzaWRlLmh0bWwKaW5kZXggNjY0ZTUwOTM4YjI2Yjg5YjkyYmJlNzEyNjE4NTUxNWZm
ZjA5ZDU5Yy4uZjljYTZiNDllZjYyZGE5MWU2ODdjNTY0MDRiMDUzYzBlYTJhNWRiMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub3V0c2lkZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBvZiBzaGFwZXMgb3V0c2lkZSB0aGUgdmlzaWJs
ZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVhPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFw
ZXMgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJs
ZSBhcmVhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxMiwyNSwgMCwyNTUsMCwyNTUsICIxMiwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODcsMjUsIDAsMjU1LDAsMjU1LCAiODcsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSww
LDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS53b3JrZXIuanMKaW5kZXgg
NmQyM2M3MmM4YmJmYjFlZDI3YTU1MzQyYTBmMTU4ZWUyMzM0NTdmNy4uZjRjN2M1YmFkOGZkNTI0
OTZkNmZlZmQwOTFkOTBkMWU0Y2FlN2M2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93Lm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRl
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBzaGFwZXMgb3V0
c2lkZSB0aGUgdmlzaWJsZSBhcmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVh
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
MiwyNSwgMCwyNTUsMCwyNTUsICIxMiwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgODcsMjUsIDAsMjU1LDAsMjU1LCAiODcsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwg
IjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwzNywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEuaHRtbAppbmRleCAzNzFm
MzJhNGZlOWFlNWJhNDJkOWMwNzhhMDM3YmQyYjNkNDE4YjFmLi4zZjExNzg5Yzg4YWRiZWMxNjlh
OTE4NTY3YjExYjBkMmY4ZTJiMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
cGF0dGVybi5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFs
cGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnNoYWRvdy5wYXR0ZXJuLmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxs
eS10cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZv
ciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2ICsz
MCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcj
MDBmJzsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwg
LTUwLCAxMDAsIDUwKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChy
ZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVh
dGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5z
aGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAt
NTAsIDEwMCwgNTApOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0
ZXJuLmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhh
Lndvcmtlci5qcwppbmRleCA2MzYyNTNhN2FiNWRmMjBlNmM1MjFlZTczZmM4YzZlMmY3ZjRmNDEy
Li42MTYxNjlmODIzY2YxMGJlMGZlNGZjZDU5MzE3YWQxN2MxNDQ2ZjA3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3Bh
cmVudCBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHgu
Y3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFkb3dP
ZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwotICAgIGN0eC5maWxs
U3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAn
cmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsK
KyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy5odG1sCmluZGV4IGNhYjc2NDg1N2Q0OGEx
NDYzNTIwMDM1MmUyNzMwMzQ0MDE1ZWUxNTAuLjhjNGZmOTM0YjkzMzE1NjkyZWRhZjIxZDc4ZDFi
ZTNmN2U5Y2Y3ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJh
c2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnBh
dHRlcm4uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4uYmFzaWM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJh
d24gZm9yIGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0
eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRv
d0NvbG9yID0gJyMwZjAnOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LmZp
bGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAs
ICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAnIzBm
MCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy53b3JrZXIuanMKaW5kZXgg
ZThiNjAzM2QzOTA4YjllYjExMDMxMmIxNjI4OWJmYzhlMmYyZmViNC4uOTFlOWZlOWYxODA4NTY2
ZjdmNGU4YjY0NzJhNzkwNTY0OTNkZTczNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnBhdHRlcm4uYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgZHJhd24gZm9yIGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9
OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVy
biA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwZjAnOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1
MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihi
aXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93Q29sb3Ig
PSAnIzBmMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJl
bnQuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS5o
dG1sCmluZGV4IDMxNTcyNGEyYjBkNDExZGFlMzM3NGRlNDZiM2IwNzg3YWFmNGNjN2QuLjI2YjUw
NTc4YzFlMzgwMWNiNTdjOWU0Njg2MTQxMTZmN2YyNmIyZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5z
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwg
J3JlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKLSAgICBjdHgu
c2hhZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0
eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0
ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguc2hhZG93T2Zm
c2V0WSA9IDUwOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcwppbmRleCAzNDAwMjc5MzE1
M2FmYjVkNTRjYTA4NWFlMzRjMzEwMjdkYzVkYTNlLi43MGNhOWE4MTI4ZGFjOGJhZjk2NjA4MDQ5
NDIyNWZlODY3N2JhYjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVy
bi50cmFuc3BhcmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0
dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hh
ZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsMTYgKzI2LDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3Jl
cGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKLSAgICBjdHguc2hh
ZG93T2Zmc2V0WSA9IDUwOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5m
aWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOworICAgICAgICBjdHguc2hhZG93T2Zmc2V0
WSA9IDUwOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLnRyYW5zcGFyZW50LjIuaHRtbAppbmRleCA2NjhlMDdmODMzYjRiOWIzM2JkNDVlZGE2
NzA1OGQ5ZWZjYTAxMTQ4Li45ODNiOWZmMWZhYzJlY2RlNGY4NjllOWM3N2VjN2Q0OTZmZDhhZjdj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFk
b3cucGF0dGVybi50cmFuc3BhcmVudC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFy
ZW50LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJh
bnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJuczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3Ig
dHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDIxICszMCwy
MSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwot
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDUwLCAwLCA1MCwg
NTApOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0g
JyMwZjAnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0
ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoNTAs
IDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAgIGN0
eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRy
YW5zcGFyZW50LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJh
bnNwYXJlbnQuMi53b3JrZXIuanMKaW5kZXggMTU3ZmJlMmE4ZGJjOTU5ZmMxM2JmY2M0OTE3YmUy
Yzk4YzdlNzVmNi4uZGI4ODE4MGZjMzBkNTc1OGI5OWM4OTE1ODZmYzljYmZjNjIxOGI1NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBm
b3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDIxICsy
NiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDUwLCAwLCA1
MCwgNTApOwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9y
ID0gJyMwZjAnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3Qo
NTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CisgICAgICAg
IGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmJh
c2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljLmh0bWwKaW5kZXgg
YmU2NmYzYTlhOTI5Yjg4M2IwYzA1NWQ3ZjYxZWYyODgwMGYwM2RhMi4uNTE2MzY4MmFmMjQ4NTc2
ZTM3MTRlNzFiNDJkOThkY2Q3ZWEwZWM3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uu
YmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc2hhZG93LnN0cm9rZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuc3Ryb2tlLmJhc2ljPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IGRyYXduIGZvciBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMu
d29ya2VyLmpzCmluZGV4IGUxNjUzNmRlZDMxM2Y2ZDUyYmFhYTZmYTJiYWZkYTYwNDRlMzNhZjQu
LmQxZTU5ZjliMDAyNDdhNzcwZDA4YmQ1MmI5MGYxMWM1NTNmZWRmZmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYg
QEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwy
NTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0
cm9rZS5jYXAuMS5odG1sCmluZGV4IDJjNDYwZmQ3MGY1OTJiNGY3MTY5Y2UyOTcyN2RiZjRiODdh
NmZlZDUuLmM3YjA4YWVmZDg1MmRjNTM5OThkZDNlY2E1N2E2ZTMyMjU4MzRjODggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2UuY2FwLjE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LnN0cm9rZS5jYXAuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRy
YXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1
NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuc3Ryb2tlLmNhcC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJv
a2UuY2FwLjEud29ya2VyLmpzCmluZGV4IDRjNmExYWE0ZDRkNWIyN2ViNjBiMThiODAwYmFlNTRi
MjdjYTEyN2QuLmUyYjY3YzM4NGU4OTJhZDczYzhkZWYyYjg4M2E1YmU4YjVjYzFkYTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ry
b2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIuaHRtbAppbmRleCAwZTc4
YzFhZDMyYTYyNWRiZjEwZDRkYmJiZWI2MDhmMTlkMTY0ZjNhLi43ZDk0ZDNlYmM3OTk2MjA2MGQ0
NmE5OGUwODhiZmFiMTgyYTk5MGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmNhcC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAu
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
aGFkb3cuc3Ryb2tlLmNhcC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2UuY2FwLjI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2UgY2FwczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IGRyYXduIGZvciBzdHJva2UgY2FwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIx
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LnN0cm9rZS5jYXAuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNh
cC4yLndvcmtlci5qcwppbmRleCAwYzNjYWUxMDViYWVjODNkZjljZGJiOTFlNzhmMmY4MGJiYTM3
ZDA2Li42OGRmZDBhZWY4OWIxZjFmZTg1MDgyY2ZjOGJjNGY0NzJlY2NlZTg2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYs
NyArMzAsNiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5
OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LnN0cm9rZS5qb2luLjEuaHRtbAppbmRleCAwNGE2MjQ1Njg2Y2NkNTI2ZDhmYmVkODFi
MjQwZjU3MWNmMzllNjg0Li42MDQzZDA0ZTVjNDRhMmJmZmZhN2U5MTNiOGU0N2E4NThhMTI0YWVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4x
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5zdHJva2Uuam9pbi4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMy
LDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1
NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMS53b3JrZXIuanMKaW5kZXggOTU4MzcyMDc4OTQz
YmQzMzk2ZDE5NzY5YTNjYjUyMWE0YjQ4OWRhNy4uM2FlYjEyMzlkYThiYWEyNTVlN2IyODM1M2Fi
OWE1Y2UwMzczNTE2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5q
b2luLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4x
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXdu
IGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0
cm9rZS5qb2luLjIuaHRtbAppbmRleCA2NjI5MzEzYmFmN2Y2NGY2NTBiYjZjYzNhODFhOGUxN2Ix
ZjU1MmNiLi4wMzdjMmM3OTNlODAwODUwMmE4OWVhNGE2NTA1MzczZTBiYWNkZmYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5zdHJva2Uuam9pbi4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBk
cmF3biBmb3Igc3Ryb2tlIGpvaW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBqb2lucyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMi53b3JrZXIuanMKaW5kZXgg
OGI4OWQ3NDA1Y2QxZTUxZTUwN2JkZDgzNjliY2U1MjZkY2I3MDA4Zi4uMzJlMWQzYzJjNDg3ZTlh
MWFkYTdiNmVjMDAzYzJiZWY5ZjRiMTA3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnN0cm9rZS5qb2luLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2Uuam9pbi4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgZHJhd24gZm9yIHN0cm9rZSBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1
LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuc3Ryb2tlLmpvaW4uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5q
b2luLjMuaHRtbAppbmRleCAyZmU2MjNiZTVkYzA0MGViOWExZDgyZTdiMmUyNGNmYWYzNDk2N2Zm
Li43YzIwYTVmODdkNjg3MDc1MzNlZWI2ZWUwZDU0NDlhOTYxZDU3MTc0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4zPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRv
dy5zdHJva2Uuam9pbi4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBm
b3Igc3Ryb2tlIGpvaW5zIHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQ8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBm
b3Igc3Ryb2tlIGpvaW5zIHJlc3BlY3RpbmcgbWl0ZXIgbGltaXQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICsz
Nyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4
LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnN0cm9rZS5qb2luLjMud29ya2VyLmpzCmluZGV4IGE2N2Q3NzA2Y2M3NjhhYWU3
OTlhODMyYmMyZGZmZDU1ZDMxYzA5MzguLjBhOTAyZmEyYWY5M2IzYmNiMmY0YjhiZDEzY2MyMTNl
YzFjMTE0NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4z
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJv
a2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFu
c2Zvcm0uMS5odG1sCmluZGV4IGE4NzlhM2I5OTIwOTdmMWIwYTRkZjIwNTFkNTE1OTc4ZGIzZGZl
MzAuLjFkNjc3YWNmM2QxODI3NDFmYTNiNjhkYTViN2M2NTY4MWEzOTUxNmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cudHJhbnNmb3JtLjE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnRy
YW5zZm9ybS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0
cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC50cmFu
c2xhdGUoMTAwLCAxMDApOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy50cmFuc2Zvcm0uMS53b3JrZXIuanMKaW5kZXggMTUzODkzNTI5NzllMzEzOGQ1MDBlYmQ5ZWZj
Y2NjOWEyOTM5NzI1OC4uOGY4ZDIzZGUzZDM5NGI1M2UzZjU3NWE2NGYxZjJmMmIwZTgwNDBlNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYwJzsKIGN0eC50
cmFuc2xhdGUoMTAwLCAxMDApOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xNTAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
dHJhbnNmb3JtLjIuaHRtbAppbmRleCBkMjQ1MmI0OGVhOGVkYjBlYTkxMTkzNDUwNzlkMjUyZDQx
M2NjNTQzLi5hNjkzNTIxZWE5NWQ2NjlmOTA3ZjRiNjUwYzM1NWIxNDQ3YTFmZDhkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnRyYW5zZm9ybS4yPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRv
dy50cmFuc2Zvcm0uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93IG9mZnNldHMgYXJlIG5v
dCBhZmZlY3RlZCBieSB0cmFuc2Zvcm1hdGlvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgb2Zmc2V0cyBhcmUgbm90IGFmZmVj
dGVkIGJ5IHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNoYWRv
d0NvbG9yID0gJyMwZjAnOwogY3R4LnJvdGF0ZShNYXRoLlBJKQogY3R4LmZpbGxSZWN0KC0xMDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi53b3JrZXIuanMKaW5kZXggYmM5YzdjOGQz
YjNhNzgwNzg2NTc0Y2RmMTE4Nzg4ZjcwMTMyNTA4ZC4uMmYxYzg4NjRhMGJmZDFjZWI0MDUxZGI0
YmNlYzNkYjNhODI5MzhhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5z
Zm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgb2Zmc2V0cyBhcmUgbm90
IGFmZmVjdGVkIGJ5IHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnJvdGF0ZShNYXRoLlBJKQogY3R4LmZpbGxSZWN0
KC0xMDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbAppbmRleCA5MWY2ZWQzZjZhZjE2ODQ5YmFm
NzlhZmFjMWUwY2Q3NDc1NTFlNzAyLi41ZWI5YzdlYWIxOWM5ODc0NDNhZDhkN2JkN2I1NmYyODYy
MTVjZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGlnbi5kZWZhdWx0PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnRleHQuYWxpZ24uZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
MTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUo
Y3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1
bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5kZWZhdWx0Lndvcmtlci5qcwpp
bmRleCA3ZjU5YWU5YjUxMDQyNTczOTQwNjliZjM1YjA3ODUwYjJiZjcxYjFjLi45MzM4YTYwNjM4
NmQyMTMyNzEwMTQ1NzY0NDI4N2U0MjBhZjMzNzIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmFsaWduLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24u
ZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0
eC50ZXh0QWxpZ24sICdzdGFydCcsICJjdHgudGV4dEFsaWduIiwgIidzdGFydCciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbAppbmRleCBiZWQ0NWRl
NGRiZWZlOWZiODdlNTlmMGJjMjgxYjA4MGY0NjNkNjdhLi5hM2Q3OGQ4ZGUyOTNhNWQwMzliM2M3
NjE4ZjViNTM4NDAwZTgwN2M1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmlu
dmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5hbGlnbi5p
bnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRleHQuYWxpZ24uaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAnc3Rh
cnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7CiBjdHgudGV4dEFsaWduID0gJ3N0YXJ0
JzsKIGN0eC50ZXh0QWxpZ24gPSAnZW5kXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwg
J3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLndvcmtlci5qcwppbmRleCBhMjY5Nzg1NmNi
MzFkNzUyMzdiZDM1MzM3YTE0YjFlYzIyOGRhYWMxLi42NmNlN2FlYTE1ZmM3ZmMyM2RjNjk4NDg0
ZTI3ODZlNzEzZTcxMDUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFs
aWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fz
c2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0
JyIpOwogY3R4LnRleHRBbGlnbiA9ICdzdGFydCc7CiBjdHgudGV4dEFsaWduID0gJ2VuZFwwJzsK
IF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdzdGFydCcsICJjdHgudGV4dEFsaWduIiwgIidz
dGFydCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5hbGlnbi52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC5odG1sCmlu
ZGV4IGQ5NmJkYmYwMjNkMTA0NTI1MGU5NGU5NmYwMjJkMzk2MWE0ZTJjODIuLmMzZjI0ZWNiYzQ1
OGQyMjNmYjQyY2JkMGUzNmE5N2Q4MzRlMDQzZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuYWxpZ24udmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
YWxpZ24udmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5hbGlnbi52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAn
cmlnaHQnLCAiY3R4LnRleHRBbGlnbiIsICIncmlnaHQnIik7CiAKIGN0eC50ZXh0QWxpZ24gPSAn
Y2VudGVyJzsKIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdjZW50ZXInLCAiY3R4LnRleHRB
bGlnbiIsICInY2VudGVyJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxp
Z24udmFsaWQud29ya2VyLmpzCmluZGV4IDQ3OGQ0NTQzYWUxMjM3YjVmNzUzMjMzZTA2Yzg1YzRh
MWNjNTYzMjEuLjU2OWNiOTFlOTMxNDMwY2I3N2E3M2MyMDg2OTYyYzI4NDNmNzdiODAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdy
aWdodCcsICJjdHgudGV4dEFsaWduIiwgIidyaWdodCciKTsKIAogY3R4LnRleHRBbGlnbiA9ICdj
ZW50ZXInOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ2NlbnRlcicsICJjdHgudGV4dEFs
aWduIiwgIidjZW50ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNl
bGluZS5kZWZhdWx0Lmh0bWwKaW5kZXggZjJmZTExMDE0NTE3ZDI4ODdhOGVmZGJkY2EyY2FlNGVm
ZWExNDMwYS4uZWYwYWUyMGQxMDAzZjk0Mjk2MjQyZjYxMjhhMTcyZjgwZmNiMDEzNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
ZXh0LmJhc2VsaW5lLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEz
ICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0
eC50ZXh0QmFzZWxpbmUsICdhbHBoYWJldGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2FscGhh
YmV0aWMnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5l
LmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGE0NzVmYTM0MWY5ZGM5YTRlZDQ3MDdiMTdlYjExODc0
MjEzNmYyYjAuLjZkNzZiMzRmMzY1ZmMwZmIwZDBiY2ZmYjBjZmFmODg4NzQzOTMxYTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2FscGhhYmV0aWMnLCAi
Y3R4LnRleHRCYXNlbGluZSIsICInYWxwaGFiZXRpYyciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbAppbmRleCAwZmYzYjE4ZGQ1Mjc4NTJk
YjI0ZGVlNDQxOWIyN2FkNTA0ODdjMDg4Li45MDhhOWRmNDAzMTJmNjk1ZTNiOTA0MmJiMjMwMmEx
N2I2ZWJmNTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5iYXNlbGluZS5p
bnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRleHQuYmFzZWxpbmUuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5l
LCAndG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKIGN0eC50ZXh0QmFzZWxpbmUg
PSAndG9wJzsKIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlXDAnOwogX2Fzc2VydFNhbWUoY3R4
LnRleHRCYXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2VsaW5lIiwgIid0b3AnIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52
YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQud29ya2Vy
LmpzCmluZGV4IDM3Nzc5OWI1MGJmZmMwMjA2ODQ0OWZjOTUwMzY2OTY5NjRhZGExZTAuLjgwNWFi
Y2MwOTM0M2YxMTVlOTMyN2Q5OTY4ZmU3Y2FlY2Q2MDNhNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5iYXNlbGluZS5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAndG9w
JywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9w
JzsKIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlXDAnOwogX2Fzc2VydFNhbWUoY3R4LnRleHRC
YXNlbGluZSwgJ3RvcCcsICJjdHgudGV4dEJhc2VsaW5lIiwgIid0b3AnIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQuaHRtbAppbmRleCBjZDYzNWVjNDg2
NzAxNDQ0ZWM3NjA3YmI1ZjZmY2RmM2QyNjRjNmI1Li5iNjcyZDQxZjRjZjVhYmVhZGQ3YmNhZDAx
NTE4MDRmZGY3MDI5MGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZh
bGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmJhc2VsaW5l
LnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRleHQuYmFzZWxpbmUudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwg
J2lkZW9ncmFwaGljJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2lkZW9ncmFwaGljJyIKIAogY3R4
LnRleHRCYXNlbGluZSA9ICdib3R0b20nOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwg
J2JvdHRvbScsICJjdHgudGV4dEJhc2VsaW5lIiwgIidib3R0b20nIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFsaWQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIuanMKaW5kZXggMTQ0
MGMzOGNmZmMwMzM5NzZkYmM5M2E2OTIyM2ZhMDc2MmNhMDllZi4uMzVkYTM1YjRlZTllMWJhYmU1
OTg1N2I2MDg3Nzc0ZDBiY2FkNjhjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNl
bGluZS52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxp
ZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMz
LDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2lkZW9ncmFwaGljJywgImN0eC50
ZXh0QmFzZWxpbmUiLCAiJ2lkZW9ncmFwaGljJyIKIAogY3R4LnRleHRCYXNlbGluZSA9ICdib3R0
b20nOwogX2Fzc2VydFNhbWUoY3R4LnRleHRCYXNlbGluZSwgJ2JvdHRvbScsICJjdHgudGV4dEJh
c2VsaW5lIiwgIidib3R0b20nIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5jZW50ZXIuaHRtbAppbmRleCA0OGUwY2IzNmQ4YmMyMzUxYzExODc2OTE0OWZh
ZGNhZDk5NDNlMDA4Li5jMjk5Y2NjYjExOGYwMDBhOGU4MmRjMjI2ZTI1MTFiMDk0OGMwNzc4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRB
bGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1YXJlcyAobm90IHRoZSBib3Vu
ZGluZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRBbGlnbiBjZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1YXJl
cyAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVm
ZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Citu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci53b3JrZXIuanMKaW5kZXgg
ODhkNzdjMWUxODkyY2VlYzY1M2RjMzlmZjNkZDlhODFhNDljMDg4Yi4uMDIxOTQ3YmQyNDY1OTIz
ZDUxNWJkMzUzY2I5OTUwZDUyMjljZmVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLmNlbnRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFs
aWduLmNlbnRlci53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24g
Y2VudGVyIGlzIHRoZSBjZW50ZXIgb2YgdGhlIGVtIHNxdWFyZXMgKG5vdCB0aGUgYm91bmRpbmcg
Ym94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcg
QEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAi
OTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5hbGlnbi5lbmQubHRyLmh0bWwKaW5kZXggNjM1NmIzYmU4OWY3OWNhMTg2MGM5OWI0NGFhNjMy
YzkzN2NkNmZkYy4uZjdmY2IzNjEyNmQ2NDgxNjkzODI0OTg4YjhjNjAwMzExMGU4ZTk5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4
dEFsaWduIGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZTwvcD4KQEAgLTExLDE0ICsxMSwx
OCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gZW5kIHdpdGgg
bHRyIGlzIHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJU
ZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0
NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLndvcmtlci5qcwppbmRleCA1
OGU2ZmZhZTk1NTAyZDhmY2Q4ZDQzZWFkMzM1MTdjMGQ2Y2Y1ZjE5Li4xZTUyOWJlMjNkN2U3Njgz
NmFmMmFjOGQ4ZjdmOWI2MTgxYWU3NTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uZW5kLmx0ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFs
aWduLmVuZC5sdHIud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWdu
IGVuZCB3aXRoIGx0ciBpcyB0aGUgcmlnaHQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
LCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLmh0bWwKaW5kZXggYjYw
YTg1Y2JhYTM3ZDg1ZTBmMDk4MzY0NDAzNTVmZmE3YTRlNGZmZS4uMDE2ZTFmODkxM2ZmZWQ0M2Nh
NGU2MmY2MzlhYzQzMmY2OTIwYjViZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmVuZC5ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5k
LnJ0bC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0
bDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGVuZCB3aXRoIHJ0bCBpcyB0aGUgbGVm
dCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInRleHRBbGlnbiBlbmQgd2l0aCBydGwgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVw
X3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwy
NTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uZW5kLnJ0bC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24u
ZW5kLnJ0bC53b3JrZXIuanMKaW5kZXggNjZmMDNhY2FhNzU3MjAyMzJhMDVhZWJhNWJhMTMyMzNh
Mjc0YTNlYS4uZjUwOTg3YzkyOWQ1YTg0Yjc1MGMyNmEzMmVlMjY4NjVmMjc1Yzc0MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRsLndvcmtlci5qcwpAQCAtNCwxNyAr
NCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBlbmQgd2l0aCBydGwgaXMgdGhlIGxlZnQgZWRnZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5s
ZWZ0Lmh0bWwKaW5kZXggMTY0YjAyYWY0MzQyNTJmMGZlMjllNzcyYzg4OGIyNWU4ZjUyYzBiNC4u
ZDgzYmYwYTczNzhlZTRjMWM2OTA0YjkyZjcyNTA1ZjliYjhjYmY1YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24ubGVmdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYWxpZ24ubGVmdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxp
Z24ubGVmdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIGxlZnQgaXMgdGhlIGxlZnQg
b2YgdGhlIGZpcnN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpPC9wPgpAQCAtMTEs
MTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBs
ZWZ0IGlzIHRoZSBsZWZ0IG9mIHRoZSBmaXJzdCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcg
Ym94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcg
QEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAi
OTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMKaW5kZXggNzI1NzYyYThhZGM4YTE2Y2RlN2YwZWQ2
YjMzZDBhZDkwMzlmYjdlNi4uMDJlNjg5YTlkN2M2NmRiMzFlOTU4NjMwZDQ3NmNhNmQ5YTYwNTdi
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcwpAQCAtNCwx
NyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBsZWZ0IGlzIHRoZSBsZWZ0IG9mIHRoZSBmaXJz
dCBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1
LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQuaHRtbAppbmRleCA1NjIx
MTYxZDRhYWIyZTMyYmNiMzliNGNkZTdjZGYyM2JkMDRlZGYwLi45Zjc1MmU2MzE5MTVmOTJmZmJm
YWFhMjlhZGE1ZGU1Yjg3ZWRlNGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24ucmlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5kcmF3LmFsaWduLnJpZ2h0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5yaWdodDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHJpZ2h0IGlzIHRoZSByaWdodCBvZiB0aGUgbGFzdCBl
bSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gcmlnaHQgaXMgdGhlIHJp
Z2h0IG9mIHRoZSBsYXN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAw
LDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5yaWdodC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24u
cmlnaHQud29ya2VyLmpzCmluZGV4IDcwYTM5YTMxODZhYWY1MTQ1ZjkyZTc0MjBiODBlZjBhMTU4
MDlkMTcuLjE3MDY2MWQ4NGEwY2FlNmJhZmY4MGI0MmJlNzNlNmViODg4MTYyMjggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRBbGlnbiByaWdodCBpcyB0aGUgcmlnaHQgb2YgdGhlIGxhc3QgZW0gc3F1
YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIuaHRtbAppbmRleCAxMzA0
NzRlNzM2OTU1N2Q0OWIyOTA2MWU4NmRkN2IyYjFlY2VkYzg4Li4zM2MzMTQxYjYyZDQwM2ZmY2Yw
M2YzNWVjNmEwY2M5NzYxMjkxNGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24uc3RhcnQubHRyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0
YXJ0Lmx0ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5z
dGFydC5sdHI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRBbGlnbiBzdGFydCB3aXRoIGx0ciBp
cyB0aGUgbGVmdCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIGx0ciBpcyB0aGUgbGVmdCBlZGdl
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBj
dHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigp
IHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBz
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMKaW5kZXggZWJjMDY1NDJlMzE2N2QyMDM4
NDQ4MWUxNWI5YzQ5ZjlhNDc5MzMzOS4uNWEzNDIzY2U4Y2JkYTYzMmRlMGI5ODk4Mjc4MTJkNmVk
NmJkMzk3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0
ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53
b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gc3RhcnQgd2l0aCBs
dHIgaXMgdGhlIGxlZnQgZWRnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVz
dCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkK
KyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
QEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUs
IDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10
LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC5odG1sCmluZGV4IDA1MzcyZWUyNWFl
MzE2ZWExYzE4NzIwZDQxMDk2NDM1YzJkNmViNjkuLmJhNDhmNzBlNGI5YWRmOTEwMDk4ZWE1ZTg2
ODc4ZDZkZWI3MTBhMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5z
dGFydC5ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRs
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuZHJhdy5hbGlnbi5zdGFydC5ydGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0
bDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHN0YXJ0IHdpdGggcnRsIGlzIHRoZSBy
aWdodCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIHJ0bCBpcyB0aGUgcmlnaHQgZWRnZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZv
bnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0
NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5hbGlnbi5zdGFydC5ydGwud29ya2VyLmpzCmluZGV4IGRjNTUxZTRhYmYyZmQyYmZhNGE0ZTVi
MjQ3YjkyNTgyOTJiMTFlODQuLjRjNjM1Y2Y0MGU1Yzg4NmM2ZGJkNThjNDIwZTRhMDU2ODZhMTk0
YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29ya2Vy
LmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggcnRsIGlz
IHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7
Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAu
dGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
MjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAs
MjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwy
NTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9u
ZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMuaHRtbAppbmRleCAyNDEzZmU1
NWVkMmY3OTc5ZjczYzQxOTBhOTdiZDU3YTM4OTMxMDhjLi5mMDk1N2VlOGUzZjY2MTk0M2IyNmYx
NTRhMWMzMDgwMTY0Njk4ZmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFz
ZWxpbmUuYWxwaGFiZXRpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS5hbHBoYWJldGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJh
dy5iYXNlbGluZS5hbHBoYWJldGljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwx
NCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1
NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5iYXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5i
YXNlbGluZS5hbHBoYWJldGljLndvcmtlci5qcwppbmRleCAyNjgzMjcyYWE2NzdmZDJjM2MzZmIz
M2U2ZTljZTQyZWExZWViYTcwLi40YzE4YzhmYTc3NzcwZmVkMjMxYzA2NDA4ZTI1ZWE5YjI2N2Ez
MDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0
aWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1
NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxp
bmUuYm90dG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLmh0
bWwKaW5kZXggNWZhOTQxODMzOGZiNzliYTRjNWEwMGQwMmFjM2NkZDU3NDRiOGIzZC4uMjA0NDdl
ZGFmYjc1MzliNzM5YjhmMmVjY2IyOTFiNzhiNWFkYjFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS5ib3R0b20uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0
LmRyYXcuYmFzZWxpbmUuYm90dG9tPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QmFzZWxpbmUg
Ym90dG9tIGlzIHRoZSBib3R0b20gb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBi
b3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInRleHRCYXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJlIChu
b3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1
LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQot
dC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRvbS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcwppbmRl
eCAzYmE2MGM5NjZiZTZmNzU5NjQxYmUwM2MyNWMyNTlkYjA5NjRhODhhLi44NTFlYzc0OWQ0OTYz
MzJkZDUxOWFmNmE4YmRiYjI2YWY4ODZkODA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRl
eHRCYXNlbGluZSBib3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhl
IGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsK
LXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50
aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0y
Niw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1
NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25l
KCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy5odG1sCmluZGV4IGUzZjljZjM0ZGYyYTQ3
MGExYzVhYTBiNzRiNGZkY2RhNjdiOTMwMzAuLmYzYTc3ODRhZGJmOTI4MjUwMzFlMjYxM2M2Yjg2
MjM2ZTI5NDhjNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5o
YW5naW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdp
bmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwy
NSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAw
KTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29ya2Vy
LmpzCmluZGV4IGI0NzczZThhYjhkN2NmNDM3N2ZmMTlkODFiZmI1NjA5Mjc3OWE2ODkuLjk0Yjk2
Nzg5NThiYmQ0MTYxYjhkOTYxMDA2OTVhYWYxMjMwMDUwYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICsz
MCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1
NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwKaW5kZXggNTk4NjVjM2JjYjgw
MmI4NDJiMTQwY2Q5ZWFlMmJjODg0YTMxZGQwYS4uZDZjZTA4ZDdhMjE0ZGFjZjdkMDZmYTJjNWI2
Zjc2MjA2NjZlM2FiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5l
LmlkZW9ncmFwaGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlk
ZW9ncmFwaGljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcu
YmFzZWxpbmUuaWRlb2dyYXBoaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0
ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90
aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1
LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmJhc2VsaW5lLmlkZW9ncmFwaGljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5i
YXNlbGluZS5pZGVvZ3JhcGhpYy53b3JrZXIuanMKaW5kZXggYWRhN2ZlOWM1YjYxOGUzMmFhMWUx
YzQwOWRiYTM5ZmI3OGZjNzZkOS4uZThiMWY0OWE1Mjg0MTM5NGYwZTgxYTRlZTQxM2Y5MGM3Yzlk
N2NjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFw
aGljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dy
YXBoaWMud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSww
LDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFz
ZWxpbmUubWlkZGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxl
Lmh0bWwKaW5kZXggNzE3OTlkYTdiZjM0ZTIyYmViN2RkMTkzOGQ1YzM3M2IwMGZmNjQ1ZC4uNmQx
N2JmMzNjYmI0NWJjNjIxNjE3MjcyZTE0OTEzZDEwZGJlMjRmZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5iYXNlbGluZS5taWRkbGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50
ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QmFzZWxp
bmUgbWlkZGxlIGlzIHRoZSBtaWRkbGUgb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGlu
ZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInRleHRCYXNlbGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1YXJl
IChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1
LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcwpp
bmRleCAxMmM3NjhhNzBkZGYwN2RmOTRkMDk4ZmI3Njc3Y2JjNzcxODlmMzc0Li5lYmYwMTJlZGVm
ZWZmNmIwMDRlOGVlYjcyMGY5OGVjN2U3YmIzNDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InRleHRCYXNlbGluZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1YXJlIChub3Qg
dGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3Qo
KTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAw
LDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5k
b25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRtbAppbmRleCAyZmNjZTRhYzMyZmNjNGMyNDk4
Mzg5ZTQ4YWQ2ZDAwMjg3YTk4NmQyLi45ZGY5MjA2ZTIyYjhiMGJiM2Q1MjgyMzMyYjkzZjBlNGEz
M2YzNjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxp
bmUudG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5iYXNlbGluZS50b3A8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnRleHRCYXNlbGluZSB0b3AgaXMgdGhlIHRvcCBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhl
IGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgidGV4dEJhc2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVh
cmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3Aud29ya2VyLmpzCmluZGV4
IDA3ODI1NWFjZjZjNDI5ODJjMjAyN2JhMGQxOWYwYTU5MWQzOTkyNzEuLjlmYTE0ZTZmMjkxMDEz
MjE4NTc1MjQ5OTM2ZDBmYjNiNzVmY2JlNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS50b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5i
YXNlbGluZS50b3Aud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEJhc2Vs
aW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0aGUgYm91bmRpbmcgYm94
KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
Y3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAg
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZpbGwuYmFzaWMtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLmJhc2ljLW1hbnVhbC53b3JrZXIuanMKaW5kZXggYmQ3ZjdlMjYzOGJkMjdl
NzRlNzQyNDdmZTlkMjljZjk4MmE3MDYzMC4uMjMxOWI1YzM5MjIzMjhhMmQyZWVmNTVlZGE5NGRh
MTk4NGYyYWU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMt
bWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5iYXNpYy1t
YW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkcmF3cyBm
aWxsZWQgdGV4dCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNh
bnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi5odG1sCmluZGV4
IGY2NmI3MzU3NjE5ZWM4NmZlMjI2OWY2MWIxZTNlNGJiY2ExODNhZjUuLjFlZjA5NWRjZjFiYTYy
YzExOTVmOTVkZGFhODgwMWU2M2ExMTM4OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLk5hTi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLk5hTi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU48L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguTmFOPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5k
bGVzIG1heFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZv
bnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBm
YWlsIGZhaWwgZmFpbCcsIDUsIDM1LCBOYU4pOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLk5hTi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5OYU4ud29ya2VyLmpzCmluZGV4IDQ5YTRmNmJkNWQxZWQ4YjFhOTMyODJjNTRjMWU5
MTI1NmFiODlhZGMuLjcxOTFmYTk2M2MzZGJhODlhYjJlMDg0YjEwNDdiYjlkNTA4OWE1MDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3Jy
ZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBm
YWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAs
IDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmJvdW5kLmh0bWwKaW5kZXggYzc0ODk1NTYzZGY2NTIxODAwYTI0MWU4ZjcxMDc5
MjFlZDQ2NGYzOS4uYmQ5NDFjYmJiZjU4YmNkZmQ2MzBmNWJiY2JiODJiMjk2ZDdlZTAzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5ib3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBiYXNlZCBvbiBs
aW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRo
IGJhc2VkIG9uIGxpbmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLmJvdW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmJvdW5kLndvcmtlci5qcwppbmRleCBmZGJhYjViOTg2YjA4M2U4YWQyOThhOTIw
NzI1OTI3MGMwOTM4MDRkLi44NDgyYjI2MjNkYmRjNGZjNGYyY2FmNTg0Yzg1MWM5ZTQyMjI1NjU2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQu
d29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhX
aWR0aCBiYXNlZCBvbiBsaW5lIHNpemUsIG5vdCBib3VuZGluZyBib3ggc2l6ZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVw
X3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguZm9udGZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmZvbnRmYWNlLmh0bWwKaW5kZXggOTM2ZGU0NmNjNTk5MDBhODEzOGEyMDBjNjY5
MzdkNzUwYmZiMTYzMi4uYmM4NWM0NWZjOTQ4ZmYxNjVkNGQzYjQ5NmZkOGZjN2U0MjNhYTE1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5mb250ZmFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgd29ya3Mgb24gQGZv
bnQtZmFjZSBmb250czwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsVGV4dCB3b3JrcyBvbiBAZm9udC1mYWNlIGZvbnRzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLndvcmtlci5qcwppbmRleCAzYTViNGI3NDJkNGZm
MGM5NDMxZWIzNWRhYTgwYWM0OTk4MzAzMjdlLi4yZDIwNWE5MmZjNzU4MDUyMzA0YzcxMjVlNzU1
ODRkZDYxYWY2ZWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5mb250ZmFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmls
bFRleHQgd29ya3Mgb24gQGZvbnQtZmFjZSBmb250cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
LCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bGFyZ2UtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmxhcmdlLW1hbnVhbC53b3JrZXIuanMKaW5kZXggZTk5ZTU2ZWI1NjY2NWU2NGY4NmVlODRh
MGNjMGJkOTkwODllYTc3MC4uMzQ1MDQ0NmExMTU4NmJlOTliODNhMWViOWU2N2ZjNTkzNDRhNzY2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubGFyZ2Ut
bWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0
aC5sYXJnZS1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4
dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
b250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdQQVNTJywgNSwg
MzUsIDIwMCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZS5odG1sCmluZGV4IGM1OTQ3ZDg4ODJmYmI2ZWViMmFk
ZDAxM2I4OGEzZTY1NjcyYjA1YmEuLjI5MzlhOTViZWYxYTBiMGM4M2VjYTVhNjQyMzQ1YmRjMTUz
MWU2YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5l
Z2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVn
YXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGgubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhhbmRs
ZXMgbWF4V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9u
dCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZh
aWwgZmFpbCBmYWlsJywgNSwgMzUsIC0xKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggNTMwMmZkZTgzNDJmNWM3YmVhZDE1
YWJmMzQxMmJiZmRmYjdmYmJmMi4uYTdhODlmZTg2Njk1MTEzMjM5NmRmNDY3MzdhNTM3NjY0ZjFi
NTM1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVn
YXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFu
ZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0
eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwgMzUsIC0xKTsKIF9hc3Nl
cnRHcmVlbihjdHgsIDEwMCwgNTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwuaHRtbAppbmRleCAwNGNiM2VkZjY5ZWZi
YjhjNGYwZGZhODhjMTFmZDJlMDU4M2VjOTczLi4zMTlhMGNjODRlNzVkYmUwZjFiZTdhMjhmYmY4
ZjFmZjdkOTc1YTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5zbWFsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LnNtYWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLnNtYWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVzIG1h
eFdpZHRoIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQgPSAn
MzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZh
aWwgZmFpbCcsIC0xMDAsIDM1LCA5MCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguc21hbGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguc21hbGwud29ya2VyLmpzCmluZGV4IDczYzQ5MjQwNTIxMGEyNjU4ZWU2YWIxMjg0Zjk5
NWMwNTFjZWE1OTcuLjZmMTA3ODg1MzVlM2JjNThmMGFhNDM0MDA5YmViMWMwY2JhY2Y4Y2MgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGgg
Y29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ2Zh
aWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIC0xMDAsIDM1LCA5MCk7CiBfYXNzZXJ0R3JlZW4oY3R4
LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguemVyby5odG1sCmluZGV4IDc3YzlkMDVkODRhNDQ1NmZhZmUzM2I1ZjBh
YThkOGNjM2Q4ZTY2ZTIuLmJmOWIwZjI0OTUxNzExZDIwZWI4ZjdhZjg5ODc2YWNmOTA3MGI0NzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5m
aWxsLm1heFdpZHRoLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVybzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHk8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJm
aWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMt
c2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwg
MCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcwpp
bmRleCBkMzIyOTE3NzUxMjZkYTZjZjMzZTY4N2YxMmEzYTY0ZTk3MmZlNjMyLi5lNTI5NDRlOTU1
YTZkZDBlNGMyMTBhYzEwOTc3ZWIwNTE4MTBjZDU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3
ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICczNXB4IEFyaWFs
LCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywg
NSwgMzUsIDApOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnJ0bC1tYW51YWwud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMK
aW5kZXggZjViZDI0NzE4ZmIzYjYyOGQ5N2U0YjNlNmVhYzJhZGRkNjJmMGZkYi4uMzQyMmU4MzVh
NjQzN2IzOWU3YTI5YWY1YzA3ZDIzZWVkYmQ4ZTkyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImZpbGxUZXh0IHJlc3BlY3RzIFJpZ2h0LVRvLUxlZnQgT3ZlcnJpZGUgY2hhcmFjdGVycyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5zdHJva2VT
dHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4
LmZpbGxUZXh0KCdcdTIwMmVGQUlMIFx4YTAgXHhhMCBTU0FQJywgNSwgMzUpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLmh0bWwKaW5k
ZXggNWQyZWU3NTZkZTA4NzBiZTEzMWQyOWVkYTdkOTI2ODVkZmYxNGM0Mi4uZTdlNzE3MjdmN2Y3
ZjhjN2FkMjk4OGY3N2M1ZmVlODNiMTdlZWJlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLnVuYWZmZWN0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcu
ZmlsbC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBkb2VzIG5vdCBz
dGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBw
YXRoIG9yIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5maWxsKCk7CiAKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1
NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwudW5hZmZlY3RlZC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcwppbmRleCA4
YmU5YzBiZGUzMzRmNDVlNGZlNmI5OTI1NWI4OTgzNDFmYWIyYWJlLi5lOTBhYTNiOWY3OTgwYTkx
NWE2YzEyOGUzNjFkYWY5ZjJiZGU3Y2UzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRl
eHQgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyAr
MzIsNiBAQCBjdHguZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
b250ZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLmh0bWwKaW5kZXgg
ZjY2YmU2Y2NmN2M3NWZjOTgyOTU1MWEzODI0YzQ4NTk2YmI1YTczMS4uMDk5MDc0ZmE3MGMyMWVj
Yzg4MGFiZWFkMTg2YjU3NzQ2ZTc4MDU5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZvbnRmYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
ZHJhdy5mb250ZmFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZm9udGZhY2U8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIGN0eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBf
dGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNyw5ICsz
MSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1
LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sCmluZGV4IDVlMDg4YzY0ZGU4MTY0
MDhjZWVlYzVjMTA5ZGZiZmNmZjliNWM4OWQuLmRmMzE5Njk2ZTJhZDUwOWQ4NzYwMDQzNWZmMTEx
Mjc5ZjE3YTI3NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5u
b3RpbnBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5w
YWdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZvbnRmYWNl
Lm5vdGlucGFnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+QGZvbnQtZmFjZSBmb250cyBzaG91bGQg
d29yayBldmVuIGlmIHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlPC9wPgpAQCAtMTEsMTQg
KzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkBmb250LWZhY2UgZm9u
dHMgc2hvdWxkIHdvcmsgZXZlbiBpZiB0aGV5IGFyZSBub3QgdXNlZCBpbiB0aGUgcGFnZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZv
bnQgPSAnNjdweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMxLDcgQEAgc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2Uud29ya2VyLmpzCmluZGV4IDY2ZTY1NDA4ZDdhOTg2ZTA3
MGU2NTdmOGIzNDI0ZWZmOGQwMzNmOGQuLmQ4ZDVhYTFjMmEwZTIyZWNhZjYxMWE0N2ExMzFjZGU1
OWYxODk4ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3Rp
bnBhZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3Rp
bnBhZ2Uud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiQGZvbnQtZmFjZSBmb250
cyBzaG91bGQgd29yayBldmVuIGlmIHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZm9udGZhY2UucmVwZWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZh
Y2UucmVwZWF0Lmh0bWwKaW5kZXggOTIyZjc0ZTA3NDE4ZDAxYTVjMmYyYzJlOGU4ZWQ5MDZkMjYx
OWMxYy4uOWJmMzdiODBhZWRkMzM1OGEyMDZlNjUzMGY4NGRlYjY3MmM3ZTI1NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5E
cmF3IHdpdGggdGhlIGZvbnQgaW1tZWRpYXRlbHksIHRoZW4gd2FpdCBhIGJpdCB1bnRpbCBhbmQg
ZHJhdyBhZ2Fpbi4gKFRoaXMgY3Jhc2hlcyBzb21lIHZlcnNpb24gb2YgV2ViS2l0Lik8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJEcmF3IHdp
dGggdGhlIGZvbnQgaW1tZWRpYXRlbHksIHRoZW4gd2FpdCBhIGJpdCB1bnRpbCBhbmQgZHJhdyBh
Z2Fpbi4gKFRoaXMgY3Jhc2hlcyBzb21lIHZlcnNpb24gb2YgV2ViS2l0LikiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSwxNiArMjUsMTQgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZvbnQgPSAn
NjdweCBDYW52YXNUZXN0JzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFRleHQo
J0FBJywgMCwgNTApOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmls
bFRleHQoJ0FBJywgMCwgNTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUsNSwgMCwyNTUsMCwyNTUsICI1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lndvcmtlci5qcwppbmRleCBjMTVlZTlhZDg1NzY5
YTJmMzJmNjI2YWVhZDVjYjA4MTBmMDIzZWNmLi41ZmRjNWFmNGI3MWRiZjlmNzEwYzQ0ZGZjOWFl
N2M1YzQzZWUyYzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
cmVwZWF0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVw
ZWF0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRHJhdyB3aXRoIHRoZSBmb250
IGltbWVkaWF0ZWx5LCB0aGVuIHdhaXQgYSBiaXQgdW50aWwgYW5kIGRyYXcgYWdhaW4uIChUaGlz
IGNyYXNoZXMgc29tZSB2ZXJzaW9uIG9mIFdlYktpdC4pIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsMTYgKzIxLDE0
IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5mb250ID0gJzY3cHggQ2FudmFz
VGVzdCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUw
KTsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxUZXh0KCdBQScs
IDAsIDUwKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUsIDAs
MjU1LDAsMjU1LCAiNSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZm9udGZhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNl
Lndvcmtlci5qcwppbmRleCAxMzYzN2M3Y2IxMjYwZmU2M2NmYmRmMTI4YmI5OGQ5YmQ2NmM0ZGY5
Li4xMTVjYmYyZDExYjc1YmZkMTk5ZTQ2N2ZmMmZlNTc2NGI0ZmE0OTM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5mb250ZmFjZS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5mb250ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMyw5ICsyNyw3IEBAIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQtbWFudWFsLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQtbWFudWFsLndvcmtlci5qcwppbmRleCA0NjgwOGE4
YjQ3MjYyMGEyM2IwZjM3NDE5ZjdlNTNmZWM5MzVmMGM0Li5mN2YwNDc2NWQwOTM1MWIyZmE4YmQz
OWRhYTE5ZmVhMjBjNDZmOTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcua2Vy
bi5jb25zaXN0ZW50LW1hbnVhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
Lmtlcm4uY29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTdHJva2VkIGFuZCBmaWxsZWQgdGV4dCBzaG91bGQgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIGtl
cm5pbmcgc28gaXQgb3ZlcmxhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsVGV4
dCgnVkFWQVZBVkFWQVZBVkEnLCAtNTAsIDI1KTsKIGN0eC5maWxsVGV4dCgnVG9Ub1RvVG9Ub1Rv
VG8nLCAtNTAsIDQ1KTsKIGN0eC5zdHJva2VUZXh0KCdWQVZBVkFWQVZBVkFWQScsIC01MCwgMjUp
OwogY3R4LnN0cm9rZVRleHQoJ1RvVG9Ub1RvVG9Ub1RvJywgLTUwLCA0NSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0bWwKaW5kZXggNjBhMzg4
ZGVlMmMyNzA4MWVmNDc5OWE2NzljMjUyN2EyMDc3YzM5NC4uMjRjYzQyZDYxMzgzN2M0NzY0ZGFh
YTA1YTQwOTA0MDM4NmFhODJjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNw
YWNlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
ZHJhdy5zcGFjZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlUrMDAyMCBpcyByZW5kZXJlZCB0aGUgY29ycmVjdCBzaXplICgxZW0gd2lk
ZSk8L3A+CkBAIC0xMSwyMyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiVSswMDIwIGlzIHJlbmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3aWRlKSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQg
PSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAt
MTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5z
cGFjZS5iYXNpYy53b3JrZXIuanMKaW5kZXggM2Q1MzllOWVhOTYwNDY4Njk0M2IzMDk1NmUwMWUy
NjYwMjI0NTUzYi4uNDhiMzdlOTNhOWNkYTIyYjIyODg0OTRiYjZjMTZkOTIzMmNiOThjMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzCkBAIC00LDI2ICs0
LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiVSswMDIwIGlzIHJlbmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3
aWRlKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRl
eHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cisg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQuaHRtbAppbmRleCAwZDQ0YTBkZjk1ZjNlZTM4
Mjg0YzEwY2ZiMzdmYzMyOThhMjY0MGQxLi40ODhjNWViZTI1OTdmMDA4N2VjOGNjNzMxYTQ2YTYy
MDQ5YmZhOGFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFw
c2UuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVu
ZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50
ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5lbmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXQgdGhlIGVu
ZCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwxNCArMTEsMTgg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhdCB0
aGUgZW5kIG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIGN0eC5maWxsVGV4dCgnRUUgJywgMTAwLCAz
Ny41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLmVuZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
c3BhY2UuY29sbGFwc2UuZW5kLndvcmtlci5qcwppbmRleCA2MDliZmFlY2ZmNjFmMjRmZjZkZjJi
ZGU2ODljZTQwZWQ5MDBhOGU2Li4xYmE0OGNmMzJjNTA5NjI3YWE2OGViNDEyZjFmOWI4Mzg3NmRj
ZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5k
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5k
Lndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXQg
dGhlIGVuZCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMiw5ICsyNiw3IEBAIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEwMCwg
MzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5z
cGFjZS5jb2xsYXBzZS5ub25zcGFjZS5odG1sCmluZGV4IGE1OTZjNTFjMmI3MjFlYjNiOGU4Nzcz
MGRkYTU5ZDU0MmQxYWM1OGUuLjVhZGM2Y2U3YmMwNzdjNWMyMTljZTJhM2QyNWM4M2M2MDNmZGE3
MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25z
cGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25z
cGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNw
YWNlLmNvbGxhcHNlLm5vbnNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Ob24tc3BhY2UgY2hh
cmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZDwvcD4KQEAg
LTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJOb24tc3Bh
Y2UgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0Vc
eDBiIEVFJywgLTE1MCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2Uud29ya2VyLmpzCmlu
ZGV4IDg4MjJkYmZhYzE4MTJiYzFmZWQyZWI0YmQwOTNmNmI1NGRkODdmNjYuLjVjNWRkZDlkNjlj
MDQ5ZTExMTE0MTRmZWIwNDJkMzUzNjFlMWM2NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLndvcmtlci5qcwpAQCAtNCwyNiAr
NCwyOCBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIk5vbi1zcGFjZSBjaGFyYWN0ZXJzIGFyZSBub3QgY29udmVydGVkIHRv
IFUrMDAyMCBhbmQgY29sbGFwc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJU
ZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwg
NTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5v
dGhlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0
bWwKaW5kZXggZDdkYjIzY2I0ZWVmY2NlZjk4MTM2ZWQzMjg3ZDhjODhjMTQzYWFmMS4uMzhiYWVl
MTI5YjdjOWFjYjFiMWE0MzdkN2QyNGQ2MGJlMTMwNTYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhl
cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBjb2xs
YXBzZWQgKHBlciBDU1MpPC9wPgpAQCAtMTEsMjMgKzExLDI1IEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAs
IGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVm
ZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Citu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRSBceDA5XHgwYVx4MGNceDBkICBceDA5XHgwYVx4MGNc
eDBkRUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlci53b3JrZXIuanMKaW5kZXggYzY2
MDIzNTBkODE1MmJjNDIwMzY1OTU1MWQ1NTJjZDFhZmM1Njc2OS4uMWI2ODdjN2JmNDkxNWY2ZjFj
MjcwMTAyODEzZGRhZWZlNGI1NWJiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4IEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNl
ZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVu
KGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4
LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4MDlceDBhXHgwY1x4MGRFRScsIC0xMDAs
IDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Bh
Y2UuY29sbGFwc2Uuc3BhY2UuaHRtbAppbmRleCA0YzFhNWE0Yzg1MjYwODgyOGY1MWFlM2ZhZTdl
MTc0NWVmMmZhNGQ0Li43Zjc3NWE5NTBlYTBkYWQxYmFkZjQwNTliOGQ1NzkwNTU4ZTc5MjM2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3
LnNwYWNlLmNvbGxhcHNlLnNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5z
cGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVk
IHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwyMyArMTEsMjUg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUg
Y29udmVydGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90
aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFICBFRScsIC0xMDAs
IDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLndvcmtlci5qcwppbmRleCA5OGQ2OTI0NDgxZjM4Njg1
NDA3ZDYyNjdjMWUyNjNjNGVkZTg0MmJjLi5mNGRmMTZjMjg5N2IzZGQwMGE3YzBiZDI5OWZmNGNj
ZTU2ZmEyYmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFw
c2Uuc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5zcGFjZS53b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFy
YWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0Ug
IEVFJywgLTEwMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sCmluZGV4IDFhNzNiOTQxZDM2OTExZDBl
MzBiZmEzZjhmOThiM2Y3YzY2N2Q1MDYuLmVmMjBkMzU3ZDVjODU2NjFkYzBmYjc1MDkzOTllMWFh
M2JiMmMwZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5z
dGFydC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNwYWNl
LmNvbGxhcHNlLnN0YXJ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGF0
IHRoZSBzdGFydCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwy
MyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFj
dGVycyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFyZSBjb2xsYXBzZWQgKHBlciBDU1MpIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnIEVFJywg
MCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uuc3RhcnQud29ya2VyLmpzCmluZGV4IGVkZWQxYTg4MDcwMTQw
NWMyNTEyM2E3YWExMzk2NjY0YWRlMTgzYjguLjU0OWZhYjBiNDZlZjFmNGEzYzQyNjZjOWMyOTUx
NGI1YWY5ZjYxNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xs
YXBzZS5zdGFydC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNv
bGxhcHNlLnN0YXJ0Lndvcmtlci5qcwpAQCAtNCwyNiArNCwyOCBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNo
YXJhY3RlcnMgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJyBF
RScsIDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnN0cm9rZS5iYXNpYy1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnN0cm9rZS5iYXNpYy1tYW51YWwud29ya2VyLmpzCmluZGV4IGEwOWExZWFlZWE1YTVl
YWY4YzU3MmNhNzlhZGE5NDM2YWZjNWVmMWMuLjRkYTBiNWRjYTM1ODk2MTc3ZjAwNzJmMzA4MmNj
ODQ3NTFmMzhkZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UuYmFz
aWMtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLmJh
c2ljLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRleHQg
ZHJhd3Mgc3Ryb2tlZCB0ZXh0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9IDE7CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBz
YW5zLXNlcmlmJzsKIGN0eC5zdHJva2VUZXh0KCdQQVNTJywgNSwgMzUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCmlu
ZGV4IDFjYWM2NWNkNDM3ZGYxMzUwNmQ0MjFkOGY2NTMzMmIxYTFlZDBjNTIuLmIwYzc1NTQ2OWY5
NzgyN2Q2Y2VjZTgwOTA4ZjI4YmY5NjhiZDYxYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zdHJva2UudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4
dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VUZXh0
IGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVRleHQgZG9lcyBub3Qg
c3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBjdHgu
ZmlsbCgpOwogCiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZl
Y3RlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQu
d29ya2VyLmpzCmluZGV4IDc5MjFmOGE1OTAwNWUzYjEwMTBmOTgzNGViMWQwNWU1Y2RiMTMyYWIu
Ljg3MjM2NTUyZWIxNjVhYWRkY2IwNjhjNmMwNmI4M2VmZDhiNzA2NTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic3Ryb2tlVGV4dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1
YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5maWxsKCk7CiAKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwg
IjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5kZWZhdWx0Lmh0bWwKaW5kZXggNzM2YzFhYjllMjcxMWE2MGQ0MzRlY2Y5MDA1MTE5YTc3NTc0
NzRjNy4uODAwYzdjOThjNzYzZGI5NzQzNDVlZWZkMTAzYmUxZmRmZjBlN2NlZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmZvbnQuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQuZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQuZGVmYXVs
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcxMHB4IHNhbnMt
c2VyaWYnLCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fucy1zZXJpZiciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGNhZDY1NmUy
NWQwZmM1ZDJjMWRkNzI5NTNiMTRiY2VjZjdkNjFkMjIuLjEzODY3MGVlNDQzNjZjZmE3Zjk1ODBi
NmFlMTVhZmE1Yzc5NTg3MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5kZWZh
dWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC53b3JrZXIu
anMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMTBweCBz
YW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLmh0bWwKaW5kZXggYjM2OWUw
ZTM5ZDFmMzlmMjMyNjU5OTI0MDFhZmEzZDFkMTIzODhhMi4uNjg2ODVlMThiNTgzODQyNzI0Y2Mx
ZDFiMWE4YWZjZDEyMDRmMzBkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBh
cnNlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
Zm9udC5wYXJzZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZv
bnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogCiBjdHguZm9u
dCA9ICcyMFBYICAgU0VSSUYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywg
ImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLndvcmtlci5qcwppbmRleCAyYTNkOTNkN2M5MGFl
MDJmYmNhMTQ4YmIzNzU0YWEwZGNiMWFiYWQ0Li5lMjU5MGRjZmE3NTUyODVhMmI1YjcwNzY4NDE1
NjA5YTViZDkxZGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFz
aWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
X2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNl
cmlmJyIpOwogCiBjdHguZm9udCA9ICcyMFBYICAgU0VSSUYnOwogX2Fzc2VydFNhbWUoY3R4LmZv
bnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuY29tcGxl
eC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXguaHRtbAppbmRleCBh
NDVmNzM3MjlkZjQ3NGFjZjM1NWI5Mzk3MDRlYzBmNjAyZWYzMDllLi5jYjYyZGEwMGVhMTczM2Zj
ODAwNDg2YzBjM2Y5NTMzOGY1MGQ2MDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucGFyc2UuY29tcGxleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5j
b21wbGV4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5jb21w
bGV4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnc21h
bGwtY2FwcyBpdGFsaWMgNDAwIDEycHgvMiBVbmtub3duIEZvbnQsIHNhbnMtc2VyaWYnOwogX2Fz
c2VydFNhbWUoY3R4LmZvbnQsICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4ICJVbmtub3duIEZvbnQi
LCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIidpdGFsaWMgc21hbGwtY2FwcyAxMnB4IFwiVW5r
bm93biBGb250XCIsIHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4Lndvcmtlci5qcwppbmRleCA2MmNjNmVkZTI3
Mjk5OGY2MjExMDM4N2E2MGNkM2EzOTVmYzJhNGNlLi5jMDk0ZGJhY2YxM2IwMGFkNDNmMDlmZTQ1
Yzk1MDA3ODEzMTZiNWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uu
Y29tcGxleC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBs
ZXgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsx
OCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnc21hbGwtY2FwcyBpdGFsaWMgNDAwIDEycHgvMiBVbmtub3duIEZvbnQsIHNhbnMt
c2VyaWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4ICJV
bmtub3duIEZvbnQiLCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIidpdGFsaWMgc21hbGwtY2Fw
cyAxMnB4IFwiVW5rbm93biBGb250XCIsIHNhbnMtc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC5odG1sCmluZGV4IGJkNjEwZmYz
MzQ4YWI4MDA1M2U0NzE5NWIxZWE4MWNjNjYzYmE5ODcuLmI3MmRlYzU4MTZhMDNjYjgzYzJjMjM3
YzAyNTA3M2JjNmIxZDk4ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJz
ZS5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5mb250LnBhcnNlLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250LnBhcnNlLmludmFsaWQ8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDYgKzIzLDEwIEBAIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5mb250ID0gJzIwcHggc2VyaWYn
OwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOwogCitjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKK2N0eC5mb250ID0gJyc7Citf
YXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2Vy
aWYnIik7CisKIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogY3R4LmZvbnQgPSAnYm9ndXMnOwog
X2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNl
cmlmJyIpOwpAQCAtNDYsNyArNTQsNiBAQCBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2Vy
aWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiBjdHguZm9udCA9ICcyMHB4IHNlcmlm
JzsKIGN0eC5mb250ID0gJzFlbSBzZXJpZjsgYmFja2dyb3VuZDogZ3JlZW47IG1hcmdpbjogMTBw
eCc7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIw
cHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5wYXJzZS5pbnZhbGlkLndvcmtlci5qcwppbmRleCA3MjgxNTk4OGFkZWJiNDdjZjNmOGVlYzY1
NDMyMjlhMzBhMzgxYzYxLi4zZDUyODM3ZmI1ZGUzNjY3NWRlNzNhZmRmNmQwMGFkNzgyNDIyOWJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNSw2ICsxOSwxMCBAQCB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZm9udCA9ICcyMHB4IHNl
cmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICIn
MjBweCBzZXJpZiciKTsKIAorY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CitjdHguZm9udCA9ICcn
OworX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOworCiBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKIGN0eC5mb250ID0gJ2JvZ3Vz
JzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBw
eCBzZXJpZiciKTsKQEAgLTQyLDcgKzUwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4
IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4IHNlcmlmJyIpOwogY3R4LmZvbnQgPSAnMjBweCBz
ZXJpZic7CiBjdHguZm9udCA9ICcxZW0gc2VyaWY7IGJhY2tncm91bmQ6IGdyZWVuOyBtYXJnaW46
IDEwcHgnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250Iiwg
IicyMHB4IHNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cGFyc2Uuc3lzdGVtLmh0bWwKaW5kZXggYTNkZDQ0OGFhYjVkZWIyOGY4ZWNhMjgwYzBlODY2YzRh
NWZmMWRhNi4uZGY3NzA1YzFjNmNlYzliYjBlZjU5NDM4NDE3ZGQ0ODQ1MWVhNWYyZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TeXN0ZW0gZm9u
dHMgbXVzdCBiZSBjb21wdXRlZCB0byBleHBsaWNpdCB2YWx1ZXM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTeXN0ZW0gZm9udHMgbXVzdCBi
ZSBjb21wdXRlZCB0byBleHBsaWNpdCB2YWx1ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAn
bWVzc2FnZS1ib3gnOwogX2Fzc2VydERpZmZlcmVudChjdHguZm9udCwgJ21lc3NhZ2UtYm94Jywg
ImN0eC5mb250IiwgIidtZXNzYWdlLWJveCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcwppbmRleCAwYjViY2ZjMjZj
MzA5Y2EzYWVmYmVlZDIxZjU2OWNiMGM3ZmI3NWQ4Li5iZGVjYmIxM2VhNzg0ZmQ3MzM1MzU3YWJi
NTQ0ZTllMDM5ZGM4YTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uu
c3lzdGVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVt
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3lzdGVtIGZvbnRzIG11c3QgYmUg
Y29tcHV0ZWQgdG8gZXhwbGljaXQgdmFsdWVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJ21l
c3NhZ2UtYm94JzsKIF9hc3NlcnREaWZmZXJlbnQoY3R4LmZvbnQsICdtZXNzYWdlLWJveCcsICJj
dHguZm9udCIsICInbWVzc2FnZS1ib3gnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmZvbnQucGFyc2UudGlueS5odG1sCmluZGV4IDM1MGFkMjNjMTVlNTU2OTg0NWMwZWQ5MmY1
Y2U2MTA3MmUzY2ZjOTguLmFiYjFiMWExNTgxMmY2MTNmODA3OGEzMzVkODNhYzI0N2MxN2FlMzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS50aW55Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5mb250LnBhcnNlLnRpbnk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQudGV4dC5mb250LnBhcnNlLnRpbnk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwg
JzFweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxcHggc2Fucy1zZXJpZiciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRp
bnkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29ya2VyLmpz
CmluZGV4IDExYTk2ZGNkNzQ1ZTNjMjgyZjM1MmFkNDRiODQ4NTMxOTg0NmViODkuLmJlMTg0MWI5
ODZiNmNjMjRhM2JlYTEwYzc5MTEzZDY5NzZmMGY1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZm9udC5wYXJzZS50aW55Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucGFyc2UudGlueS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBjdHguZm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9u
dCwgJzFweCBzYW5zLXNlcmlmJywgImN0eC5mb250IiwgIicxcHggc2Fucy1zZXJpZiciKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0
aXZlX3NpemUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWJlM2QyZDQzZTBmMTllOWQ4ZmViODMzMTg5MmY5NzczODhmNmM4ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLmh0bWwK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZTwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KworPGgxPjJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplPC9oMT4KKzxwIGNsYXNzPSJkZXNjIj48
L3A+CisKKworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCitjdHguZm9udCA9ICcxZW0gc2Fu
cy1zZXJpZic7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1zZXJpZicsICJjdHgu
Zm9udCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwordC5kb25lKCk7CisKK30pOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQu
cmVsYXRpdmVfc2l6ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVf
c2l6ZS53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcwYzU0ZmFhZjA5OTEwOTlhMTc0NWMxZjQ2OGNj
YjA3N2Y0YmY0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxh
dGl2ZV9zaXplLndvcmtlci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBETyBOT1QgRURJVCEgVGhp
cyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2Ny
ZWVuQ2FudmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUKKy8v
IERlc2NyaXB0aW9uOgorLy8gTm90ZToKKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCitjdHguZm9udCA9ICcxZW0gc2Fucy1z
ZXJpZic7CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1zZXJpZicsICJjdHguZm9u
dCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwordC5kb25lKCk7CisKK30pOworZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45NWIyMTE5ZDllMzgzY2ZhOGNlZDRlOWY1NmNiMGMxZDU5NjBkMjQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0bWwK
QEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3g8
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3g8L2gxPgorPHAg
Y2xhc3M9ImRlc2MiPlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZh
czwvcD4KKworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGFjdHVhbEJv
dW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNU
ZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMg
PyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVh
ZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsK
KyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAn
bHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBjdHguYmFzZWxpbmUgPSAnYWxwaGFi
ZXRpYycKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2Vy
dFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0
KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVm
dCkiLCAiMCIpOworICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNs
aWdodGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVh
bEJvdW5kaW5nQm94UmlnaHQgPj0gNTAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3Vu
ZGluZ0JveFJpZ2h0ID49IDUwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0EnKS5h
Y3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVh
bEJvdW5kaW5nQm94QXNjZW50ID49IDM1Iik7CisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4
Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSwgMCwgIk1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkiLCAiMCIpOwor
CisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFs
Qm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFj
dHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSAyMDAsICJjdHgubWVhc3VyZVRleHQo
J0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDIwMCIpOworICAgIF9hc3NlcnQoY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODUsICJjdHgu
bWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4NSIpOworICAg
IF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50
ID49IDM3LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50
ID49IDM3Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3Jr
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3Jr
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJv
dW5kaW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIyYTUzNjlhMjBlMmVlNDRkZWE3N2RjYmM3NzRjMzIyZmJlNDI0NmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpz
CkBAIC0wLDAgKzEsNDMgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2Vu
ZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBh
IHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gKKy8vIERlc2NyaXB0aW9u
OlRlc3RpbmcgYWN0dWFsQm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToK
KworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0g
YXN5bmNfdGVzdCgiVGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVu
Y3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2
YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYi
KTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRz
KTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQn
CisgICAgY3R4LmJhc2VsaW5lID0gJ2FscGhhYmV0aWMnCisgICAgLy8gU29tZSBwbGF0Zm9ybXMg
bWF5IHJldHVybiAnLTAnLgorICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4
dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRl
eHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpIiwgIjAiKTsKKyAgICAvLyBEaWZmZXJlbnQg
cGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgX2Fzc2Vy
dChjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwLCAiY3R4
Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSA1MCIpOworICAgIF9h
c3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gMzUs
ICJjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSIpOwor
ICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5k
aW5nQm94RGVzY2VudCksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxC
b3VuZGluZ0JveERlc2NlbnQpIiwgIjAiKTsKKworICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCksIDAsICJNYXRoLmFi
cyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQpIiwgIjAiKTsK
KyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94Umln
aHQgPj0gMjAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdo
dCA+PSAyMDAiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJv
dW5kaW5nQm94QXNjZW50ID49IDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91
bmRpbmdCb3hBc2NlbnQgPj0gODUiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCA+PSAzNywgImN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCA+PSAzNyIpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmFkdmFuY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZjRlMjFkZTk1YWUyOTE3YzZiM2IzZjVmMjA3NzRjMDE4MjI3YWNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLmh0bWwK
QEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgorPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CisK
KzxoMT4yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXM8L2gxPgorPHAgY2xhc3M9ImRlc2MiPlRlc3Rp
bmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KKworCis8c2NyaXB0Pgor
dmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3JlZW5D
YW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3Rl
cChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0
LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQu
Zm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0
dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAn
bGVmdCcKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2Vy
dFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdKSwgMCwg
Ik1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJcIl0p
IiwgIjAiKTsKKyAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGln
aHRseSBkaWZmZXJlbnQuCisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbMV0gPj0gMzYsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygx
KSsiXCJdID49IDM2Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbMl0gPj0gNTgsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygy
KSsiXCJdID49IDU4Iik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbM10gPj0gNzAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygz
KSsiXCJdID49IDcwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbNF0gPj0gODAsICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKyg0
KSsiXCJdID49IDgwIik7CisKKyAgICB2YXIgdG0gPSBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyk7
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdLCB0
bS5hZHZhbmNlc1swXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDAp
KyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygwKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdLCB0bS5hZHZhbmNlc1sxXSwgImN0eC5t
ZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0iLCAidG0uYWR2YW5jZXNb
XCIiKygxKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycp
LmFkdmFuY2VzWzJdLCB0bS5hZHZhbmNlc1syXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5h
ZHZhbmNlc1tcIiIrKDIpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygyKSsiXCJdIik7CisgICAg
X2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdLCB0bS5hZHZh
bmNlc1szXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMpKyJcIl0i
LCAidG0uYWR2YW5jZXNbXCIiKygzKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdLCB0bS5hZHZhbmNlc1s0XSwgImN0eC5tZWFzdXJl
VGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDQpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKyg0
KSsiXCJdIik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNl
cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFhMmM2NmYwNTFmZmM4MDk3ODhlNzhjNTcyYzEzZmUzNjMzNzkxNGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2Vy
LmpzCkBAIC0wLDAgKzEsNDUgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBp
biBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMKKy8vIERlc2NyaXB0aW9uOlRlc3Rp
bmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToKKworaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNfdGVz
dCgiVGVzdGluZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisK
K3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBG
b250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250
cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFk
ZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICBj
dHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgLy8gU29t
ZSBwbGF0Zm9ybXMgbWF5IHJldHVybiAnLTAnLgorICAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSksIDAsICJNYXRoLmFicyhjdHgubWVh
c3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsiXCJdKSIsICIwIik7CisgICAgLy8g
RGlmZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlmZmVyZW50Lgor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID49IDM2LCAi
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMSkrIlwiXSA+PSAzNiIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdID49IDU4LCAi
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMikrIlwiXSA+PSA1OCIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdID49IDcwLCAi
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMykrIlwiXSA+PSA3MCIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdID49IDgwLCAi
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoNCkrIlwiXSA+PSA4MCIpOwor
CisgICAgdmFyIHRtID0gY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpOworICAgIF9hc3NlcnRTYW1l
KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSwgdG0uYWR2YW5jZXNbMF0sICJj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygwKSsiXCJdIiwgInRtLmFkdmFu
Y2VzW1wiIisoMCkrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVs
bG8nKS5hZHZhbmNlc1sxXSwgdG0uYWR2YW5jZXNbMV0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbXCIiKygxKSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMSkrIlwiXSIpOwor
ICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1syXSwgdG0u
YWR2YW5jZXNbMl0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygyKSsi
XCJdIiwgInRtLmFkdmFuY2VzW1wiIisoMikrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSwgdG0uYWR2YW5jZXNbM10sICJjdHgubWVh
c3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygzKSsiXCJdIiwgInRtLmFkdmFuY2VzW1wi
IisoMykrIlwiXSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5h
ZHZhbmNlc1s0XSwgdG0uYWR2YW5jZXNbNF0sICJjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2
YW5jZXNbXCIiKyg0KSsiXCJdIiwgInRtLmFkdmFuY2VzW1wiIisoNCkrIlwiXSIpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LmJhc2VsaW5lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMjZjNWNiM2QwZGUzZGYyYmIxYTZkM2EzZWY4
NDM4ZjAyNmE2YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
YmFzZWxpbmVzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERP
IE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3Qu
cHkuIC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuYmFz
ZWxpbmVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lczwvaDE+Cis8cCBj
bGFzcz0iZGVzYyI+VGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KKwor
Cis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zm
c2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2Fu
dmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRv
Y3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4gewor
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOworICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgY3R4LmFsaWdu
ID0gJ2xlZnQnCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5n
ZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgn
QScpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0
eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJjdHgu
bWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsKKyAg
IF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcs
IDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2OCIp
OworCisgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRC
YXNlbGluZXMoKS5hbHBoYWJldGljKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzki
KTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygp
LmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaGFu
Z2luZyIsICI2OCIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKK30pOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
YmFzZWxpbmVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMu
d29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYzJkZmY4YzgwNDNhOWY5NDg2NTY2NTYwNmRjYjY1ZjU2
MDMzMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxp
bmVzLndvcmtlci5qcwpAQCAtMCwwICsxLDM4IEBACisvLyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LgorLy8gT2Zmc2NyZWVuQ2Fu
dmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcworLy8gRGVzY3Jp
cHRpb246VGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworLy8gTm90ZToKKwor
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CisKK3ZhciB0ID0gYXN5
bmNfdGVzdCgiVGVzdGluZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkgewor
Cit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKK3Zh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBuZXcg
Rm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9u
dHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5h
ZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50
aGVuKGZ1bmN0aW9uKCkgeworICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgIGN0
eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgX2Fzc2VydFNh
bWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRp
YyksIDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5hbHBo
YWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRC
YXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFz
ZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVhc3Vy
ZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nLCA2OCwgImN0eC5tZWFzdXJlVGV4dCgn
QScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmciLCAiNjgiKTsKKworICAgX2Fzc2VydFNhbWUoTWF0
aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYyks
IDAsICJNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5hbHBo
YWJldGljKSIsICIwIik7CisgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5n
ZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYywgLTM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
Z2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMiLCAiLTM5Iik7CisgICBfYXNzZXJ0U2FtZShjdHgu
bWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nLCA2OCwgImN0eC5tZWFz
dXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmciLCAiNjgiKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS5lbUhlaWdodHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5l
bUhlaWdodHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDhjMmFlN2RhZTJhYjViZjU4ZTBkNDc3ODU2YzRi
OTE4ZDE5MWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVt
SGVpZ2h0cy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSBETyBO
T1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5
LiAtLT4KKzx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLmVtSGVp
Z2h0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5lbUhlaWdodHM8L2gxPgorPHAgY2xh
c3M9ImRlc2MiPlRlc3RpbmcgZW1IZWlnaHRzIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisKKwor
PHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNj
cmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwor
dC5zdGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZh
c1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1
bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGln
biA9ICdsZWZ0JworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0
QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAiMzcu
NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2Vu
dCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCIsICIxMi41Iik7
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ICsg
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0
KCdBJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2Nl
bnQiLCAiNTAiKTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVt
SGVpZ2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2Nl
bnQiLCAiMzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVt
SGVpZ2h0RGVzY2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVz
Y2VudCIsICIxMi41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
ZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQs
IDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1
cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAiNTAiKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5l
bUhlaWdodHMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS5lbUhlaWdodHMud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjU3NmYyYzRj
ZDY0YTMxMDJjYTgyNTE0MmIzNjM5MWYyYWMwNjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy53b3JrZXIuanMKQEAgLTAsMCArMSwzOCBAQAor
Ly8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2Vu
dGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVh
c3VyZS5lbUhlaWdodHMKKy8vIERlc2NyaXB0aW9uOlRlc3RpbmcgZW1IZWlnaHRzIGZvciBPZmZz
Y3JlZW5DYW52YXMKKy8vIE5vdGU6CisKK2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOworCit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgZW1IZWlnaHRzIGZvciBP
ZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9D
YW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDog
ZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7
CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHgu
YWxpZ24gPSAnbGVmdCcKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhl
aWdodEFzY2VudCwgMzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50Iiwg
IjM3LjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERl
c2NlbnQsIDEyLjUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQiLCAiMTIu
NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2Vu
dCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0QXNjZW50LCA1MCwgImN0eC5tZWFzdXJl
VGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0
QXNjZW50IiwgIjUwIik7CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0Qn
KS5lbUhlaWdodEFzY2VudCwgMzcuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
QXNjZW50IiwgIjM3LjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0Qn
KS5lbUhlaWdodERlc2NlbnQsIDEyLjUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdo
dERlc2NlbnQiLCAiMTIuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNj
ZW50LCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5t
ZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0QXNjZW50IiwgIjUwIik7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
Zm9udEJvdW5kaW5nQm94Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkwMjc3MjAzNTg5ODBiZTNhYTJkMWY0
Y2VkN2NiNGFmYTJiNTViMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS5mb250Qm91bmRpbmdCb3guaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9v
bHMvZ2VudGVzdC5weS4gLS0+Cis8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
bWVhc3VyZS5mb250Qm91bmRpbmdCb3g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuZm9u
dEJvdW5kaW5nQm94PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5UZXN0aW5nIGZvbnRCb3VuZGluZ0Jv
eCBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisKKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rl
c3QoIlRlc3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsK
KwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3
IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZv
bnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMu
YWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSku
dGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAg
IGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICBfYXNz
ZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQsIDg1LCAi
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50IiwgIjg1Iik7CisgICAg
X2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCwg
MzksICJjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7
CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdC
b3hBc2NlbnQsIDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94QXNj
ZW50IiwgIjg1Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9u
dEJvdW5kaW5nQm94RGVzY2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91
bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91
bmRpbmdCb3gud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5k
aW5nQm94Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDE4ZmYzM2M3ODgxMmQ1MDc0YTZmOWNlMmYzY2RkNjZjNjQwZjE0OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2Vy
LmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4g
Z2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBp
biBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94CisvLyBEZXNjcmlwdGlv
bjpUZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgor
CitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBh
c3luY190ZXN0KCJUZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rp
b24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIg
ZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsK
K2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsK
K2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0
JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWduID0gJ2xlZnQnCisg
ICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50
LCA4NSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCIsICI4NSIp
OworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveERl
c2NlbnQsIDM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCIs
ICIzOSIpOworCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJv
dW5kaW5nQm94QXNjZW50LCA4NSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGlu
Z0JveEFzY2VudCIsICI4NSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQsIDM5LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJyku
Zm9udEJvdW5kaW5nQm94RGVzY2VudCIsICIzOSIpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndp
ZHRoLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRt
bAppbmRleCBhMDFjMTA5OWViYzZiNTY4NjRlMzZhMGRkYmNjZmQ1ZTRjZDBhMTgzLi42YWNlOTQ0
OTYyYWNjYWU1YzFiZWQ1NGZjNWM1MTFkMmM0YWJiYzZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUud2lkdGguYmFzaWMuaHRtbApAQCAtMywyMSArMywyOSBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5t
ZWFzdXJlLndpZHRoLmJhc2ljPC9oMT4KLTxwIGNsYXNzPSJkZXNjIj48L3A+Cis8cCBjbGFzcz0i
ZGVzYyI+VGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zm
c2NyZWVuQ2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHQgPSBhc3luY190ZXN0KCJUaGUgd2lkdGggb2YgY2hhcmFjdGVyIGlzIHNhbWUgYXMgZm9u
dCB1c2VkIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rl
c3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/
IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFk
eS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewog
ICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1l
YXN1cmVUZXh0KCdBJykud2lkdGgsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgiLCAi
NTAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGgsIDEwMCwg
ImN0eC5tZWFzdXJlVGV4dCgnQUEnKS53aWR0aCIsICIxMDAiKTsKQEAgLTI1LDkgKzMzLDcgQEAg
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgY3R4LmZv
bnQgPSAnMTAwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0
KCdBJykud2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoIiwgIjEwMCIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFz
aWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtl
ci5qcwppbmRleCBiNGNhMjNiMmE0MGEyM2UzNjE5MmY0Mzk2NTY3NWFmNmJlNmVhMjkxLi5kYTJl
YTcwNWI0ZDlhNzFkNzU2MmE4N2Q1YTFmYmYxNDM0YjZlODQ3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMKQEAgLTEsMTkgKzEsMjcgQEAKIC8v
IERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRl
c3QucHkuCiAvLyBPZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1
cmUud2lkdGguYmFzaWMKLS8vIERlc2NyaXB0aW9uOgorLy8gRGVzY3JpcHRpb246VGhlIHdpZHRo
IG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKLXZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSB3aWR0aCBvZiBjaGFyYWN0ZXIgaXMg
c2FtZSBhcyBmb250IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250RmFj
ZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChz
ZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsK
K2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0
U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCwgNTAsICJjdHgubWVhc3VyZVRleHQoJ0En
KS53aWR0aCIsICI1MCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUEnKS53
aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoIiwgIjEwMCIpOwpAQCAtMjEs
OSArMjksNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAK
ICAgICBjdHguZm9udCA9ICcxMDBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgu
bWVhc3VyZVRleHQoJ0EnKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgi
LCAiMTAwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
d2lkdGguZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS5o
dG1sCmluZGV4IDYxNzNkMTgzY2EyNjNmNDAwODI0OGE3OTFlZTI0ODA5ZGZkZGNjYzAuLmU4YzBi
NTQ0YWM0NTJjOGEyYTEwZTI4NmY2NzNiZTJiZWYwM2JmOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
bWVhc3VyZS53aWR0aC5lbXB0eS5odG1sCkBAIC0zLDI2ICszLDMyIEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0
Lm1lYXN1cmUud2lkdGguZW1wdHk8L2gxPgotPHAgY2xhc3M9ImRlc2MiPlRoZSBlbXB0eSBzdHJp
bmcgaGFzIHplcm8gd2lkdGg8L3A+Cis8cCBjbGFzcz0iZGVzYyI+VGhlIGVtcHR5IHN0cmluZyBo
YXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIg
dCA9IGFzeW5jX3Rlc3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgiKTsKK3ZhciB0
ID0gYXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2Ny
ZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9j
dW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgiIikud2lk
dGgsIDAsICJjdHgubWVhc3VyZVRleHQoXCJcIikud2lkdGgiLCAiMCIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lndvcmtlci5qcwppbmRleCBk
OWM3MWFmYWZhNmIxNmQxOGIwZjBjYTU1MDgxOGYyYzRiZjc4ZTUwLi4zMmY5MWNkYTk2NjNmMTEw
ODhhMWQ0MWE2Y2NjOGEzOTlkYWQ3ZDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS53aWR0aC5lbXB0eS53b3JrZXIuanMKQEAgLTEsMjQgKzEsMzAgQEAKIC8vIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAvLyBP
ZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1w
dHkKLS8vIERlc2NyaXB0aW9uOlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgKKy8vIERl
c2NyaXB0aW9uOlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGggZm9yIE9mZnNjcmVlbkNh
bnZhcwogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCi12YXIgdCA9
IGFzeW5jX3Rlc3QoIlRoZSBlbXB0eSBzdHJpbmcgaGFzIHplcm8gd2lkdGgiKTsKK3ZhciB0ID0g
YXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVu
Q2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNU
ZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1l
bnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29s
dmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgiIikud2lkdGgs
IDAsICJjdHgubWVhc3VyZVRleHQoXCJcIikud2lkdGgiLCAiMCIpOwotfSksIDUwMCk7Ci0KLXQu
ZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbAppbmRleCBiNGNkYzhiMGM2YmNmY2Fm
M2JmYzAwNzJmMzY0ZThlOGNhZjE3ODY3Li4zMGE3M2NjYTFhNDJjMWE1NTJjYzAzMWZhZjE0M2Fl
Y2M4MDdlNjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3Bh
Y2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbApA
QCAtMywyMSArMywyOSBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1l
YXN1cmUud2lkdGguc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlPC9oMT4K
LTxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIw
IGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpPC9wPgorPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJh
Y3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9y
IE9mZnNjcmVlbkNhbnZhczwvcD4KIAogCiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJT
cGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBl
ciBDU1MpIik7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZl
cnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9mZnNjcmVlbkNhbnZh
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAot
ZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7
Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50
dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZv
bnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoLCAx
NTAsICJjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoIiwgIjE1MCIpOwogICAgIF9hc3NlcnRT
YW1lKGN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoLCAxNTAsICJjdHgubWVhc3VyZVRleHQo
J0EgIEInKS53aWR0aCIsICIxNTAiKTsKQEAgLTI2LDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogCiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCcgQUInKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCcgQUInKS53aWR0aCIs
ICIxMDAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRoLCAx
MDAsICJjdHgubWVhc3VyZVRleHQoJ0FCICcpLndpZHRoIiwgIjEwMCIpOwotfSksIDUwMCk7Ci0K
LXQuZG9uZSgpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLnNwYWNlLndvcmtlci5qcwppbmRleCA1
ZmM5MWI4NDg4MjMzZTkxYTAxODJhZjJkMDJlOTdlMjE0MGJiYTc2Li42MGJmZmFhYTc2NzVjYmRl
YmFhOWMyNmYyNjlhODAzYWI3ZGJjMzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS53aWR0aC5zcGFjZS53b3JrZXIuanMKQEAgLTEsMTkgKzEsMjcgQEAKIC8vIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCiAvLyBP
ZmZzY3JlZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUud2lkdGguc3Bh
Y2UKLS8vIERlc2NyaXB0aW9uOlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAw
MjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykKKy8vIERlc2NyaXB0aW9uOlNwYWNlIGNoYXJhY3Rl
cnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9m
ZnNjcmVlbkNhbnZhcwogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBV
KzAwMjAgYW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgiU3Bh
Y2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIg
Q1NTKSBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0
IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBz
ZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHku
dGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFz
dXJlVGV4dCgnQSBCJykud2lkdGgsIDE1MCwgImN0eC5tZWFzdXJlVGV4dCgnQSBCJykud2lkdGgi
LCAiMTUwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBICBCJykud2lkdGgs
IDE1MCwgImN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoIiwgIjE1MCIpOwpAQCAtMjIsOSAr
MzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAKICAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoLCAxMDAsICJjdHgubWVh
c3VyZVRleHQoJyBBQicpLndpZHRoIiwgIjEwMCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFz
dXJlVGV4dCgnQUIgJykud2lkdGgsIDEwMCwgImN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGgi
LCAiMTAwIik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCmluZGV4IDk3NTViMzc1YTZjNzcxNzVlOGNhMTkxMDMx
OWJiNjVjN2JkZGJmM2UuLjkwNzQxOWQ5OGUzZGY1MjY3NzFmODE2MTkxNDgzNGIzMzFhNTVkYTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1p
bXBvcnQubG9nCkBAIC0xMDcsNiArMTA3LDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS53b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZv
bnQucGFyc2UudGlueS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkud29y
a2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5hZHZhbmNlcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtl
ci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLmVtSGVpZ2h0cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0
cy53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5qcwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5lbXB0eS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC5odG1sCmluZGV4IGEzODRlNTZmMjQ4NDNiZTMzZTk2
NjlmNzkyYjNiN2ViZDNiOTRkNjUuLmI5NTUzODcyZWRhOGI1YjkxNjA1M2U5NjNlMzA3MWRiYzZi
NTNjY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLmJpdG1hcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmJpdG1hcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJl
c3RvcmUuYml0bWFwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGRvZXMg
bm90IGFmZmVjdCB0aGUgY3VycmVudCBiaXRtYXA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBiaXRtYXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVzdG9y
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53b3Jr
ZXIuanMKaW5kZXggYmUyNDBhNGViZmUyZjQyOTFlY2Q5ZWI0YzJhZTRiMDlkODJkNTkzMS4uNTI3
MjI5MjNiNWQzNTYxNjk4MDkzOWYwMGEwMTlkYmFiYzExYzkzYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBiaXRtYXAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgucmVzdG9y
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC5odG1sCmluZGV4IDBi
M2E3ZWFmMzg3MmMzNmI1YjE4MTFhODVhMmRjYWU4YTZjZjAxYjUuLjM4NmMzYzJjODk4ZTVkNTBj
MTFhODU0ZmFhM2ZmNWNhNzQ5NmE5OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXA8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c3RhdGUuc2F2ZXJlc3RvcmUuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3Rv
cmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRo
ZSBjbGlwcGluZyBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucmVzdG9yZSgpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKaW5kZXgg
Y2VlN2RmMDhiZGVhZTI3NjlmYjE1ZWRkMDRjODM2M2JhY2M4OTcyYy4uY2VkMTBhY2EyODg3NDlk
N2VhNGY4ZTVjODIzYjZjODQxYjE2ODVmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0aCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sCmluZGV4IDg2MTMxMmQwZjQ1ZmQwZTU3
N2MwMzVmNjU2NDRlNDAzNTA5NDgyNTUuLjFkN2U4NjJjMjNlNmZlNDZkMTI1ZDFmNzNiNzViMWM1
ZGEyNzIwYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmZpbGxTdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBmaWxsU3R5bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBm
aWxsU3R5bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5maWxsU3R5bGU7CiBj
dHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgb2xkLCAiY3R4LmZpbGxTdHls
ZSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5maWxs
U3R5bGUud29ya2VyLmpzCmluZGV4IGE3MjJkZDA0MWY2OGM3YTA4MDA1MjkwZDYyZjkzZDY3M2Fl
NDA4YWMuLjQ3Mjc3OThlODZmYWE1YjZhY2Q1MDVkMjg0YjFiMDM4YjU4ZmU4NDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
ZmlsbFN0eWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3Rv
cmUoKSB3b3JrcyBmb3IgZmlsbFN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBj
dHguZmlsbFN0eWxlOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsIG9s
ZCwgImN0eC5maWxsU3R5bGUiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5nbG9iYWxBbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuZ2xvYmFsQWxwaGEuaHRtbAppbmRleCBhMjRjM2Q1NjBmYjVmZWM0NTFlZjNmNTcz
YjA3MGQ2OThjOTRmMzZjLi5lYzMxYzYzZGFhNTExYjdlZGExNjQ4N2JkMjhiZDE4NDQ0MjM0Yzgx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5n
bG9iYWxBbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmdsb2JhbEFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0
YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkv
cmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxBbHBoYTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHguZ2xvYmFsQWxw
aGE7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCBvbGQsICJjdHgu
Z2xvYmFsQWxwaGEiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5n
bG9iYWxBbHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5nbG9iYWxBbHBoYS53b3JrZXIuanMKaW5kZXggNjQzMjc4M2M3ZGMwY2IzNDlmNmY0
MjU3MDQ1Zjk5MGQ2Yjk4MjM3OS4uMWUwNGQ4NDVhMzYxYThlMGVkMDVlZWE1MTY4YzdkOTg4YjM1
N2QxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuZ2xvYmFsQWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLmdsb2JhbEFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgZ2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Nyw3ICszMSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxBbHBoYTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0
U2FtZShjdHguZ2xvYmFsQWxwaGEsIG9sZCwgImN0eC5nbG9iYWxBbHBoYSIsICJvbGQiKTsKIGN0
eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uLmh0bWwKaW5kZXggNWM1MTJmYmRkYTA1ZjNlNTFmY2ZhYTc4YWY2ZWQ4
NGZlY2YwZDcxMy4uMzYwOTA1ZDI2YjUxOGVjZjcwYTQzNDg5OTcwNzhkYzY5MTE1ZDAzMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkg
d29ya3MgZm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3Mg
Zm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xk
ID0gY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBvbGQsICJjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIuanMKaW5k
ZXggZTA2Yzk5NDYyYmM4NTBlNTUyODZkZWZkZmY2N2I3ZWI0ZjAwNWZlYi4uYjhhOTcwZGY3Mzgw
NmY3YTE3NTkyMTI3YzI2OGY5MDkwNjk0NDRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJz
YXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb247CiBj
dHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgb2xk
LCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAuaHRtbAppbmRleCBhMGUyNDU3NDM2YTZlOTUyZjBl
NjAyOTk2ODNhMTlhNzMxYjY3ODk1Li42MGMyNDgyYTQxZDhhOTNlMWFmYjQwNzc5OWIwNThhMDcx
ZDRmZTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5saW5lQ2FwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUubGluZUNhcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNh
dmVyZXN0b3JlLmxpbmVDYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkg
d29ya3MgZm9yIGxpbmVDYXA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHgubGluZUNhcDsKIGN0eC5zYXZlKCk7CiBfYXNz
ZXJ0U2FtZShjdHgubGluZUNhcCwgb2xkLCAiY3R4LmxpbmVDYXAiLCAib2xkIik7CiBjdHgucmVz
dG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lQ2FwLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCmluZGV4IGZh
OTY3NzQzYTAyYjcyOTVjOWQ5NzdhMWZlYTRmZDhlNGJiZjZlZTMuLjkwODJiMDJkNjlhMTRmYzAy
ZjVmN2FlMmI2Yjg0NzdkYzY5ZDIzNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lQ2FwIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgubGluZUNhcDsKIGN0eC5zYXZlKCk7CiBfYXNz
ZXJ0U2FtZShjdHgubGluZUNhcCwgb2xkLCAiY3R4LmxpbmVDYXAiLCAib2xkIik7CiBjdHgucmVz
dG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4uaHRtbAppbmRleCA3NWM4YTk0YzYw
NzFjODlmYjMwZDVlYzE2ZWY1MjFiZGE3MDU5NDlmLi4zNDc0MzRhY2I4YTZmYzE3NTRkYzVmNmVj
OGEwMWM0ZTc1ZjgwNDg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZl
KCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lSm9pbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IGxpbmVKb2luIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHgubGluZUpvaW47CiBj
dHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCBvbGQsICJjdHgubGluZUpvaW4i
LCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9p
bi53b3JrZXIuanMKaW5kZXggMWE0YTM3N2Y1MDRlYzNmYWJjMDI2NmI0Yjg4NGRlNjJlYmEyNmEz
Ni4uOTk3Y2U4ODE2YmU0MWIxN2FhYzFjMzI5Y2RlYmJmZDIyNmFmMDZmNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4ud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVK
b2luLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3
b3JrcyBmb3IgbGluZUpvaW4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5saW5l
Sm9pbjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sIG9sZCwgImN0eC5s
aW5lSm9pbiIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVX
aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGlu
ZVdpZHRoLmh0bWwKaW5kZXggNTY1ZmM2M2UzOGE2OGQ2OWQ5OWZiZTU1MDcyZDUyYmJjYzMwMzI4
MS4uZjU0OTdlNmYzM2ZmYTAzYTJlZGQ3ZWJkNTdlYjkxOTA5MDRmNmM0ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRo
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0
YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5l
V2lkdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxp
bmVXaWR0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVXaWR0aCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMx
LDcgKzM1LDYgQEAgb2xkID0gY3R4LmxpbmVXaWR0aDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZVdpZHRoLCBvbGQsICJjdHgubGluZVdpZHRoIiwgIm9sZCIpOwogY3R4LnJlc3Rv
cmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC53b3JrZXIuanMKaW5kZXgg
YjA0ZDRiYjAxYjFhYTM5ODg5NGQxZWM1NDUyOGQxM2EzZjgyMzJkNy4uM2FhOGNhMjBlN2FkYTIz
ZDMyYTdkZDQ4Y2I1NjA5NGNlNGM3NWZlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGgud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBsaW5lV2lk
dGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5saW5lV2lkdGg7CiBjdHguc2F2
ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgb2xkLCAiY3R4LmxpbmVXaWR0aCIsICJv
bGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQuaHRt
bAppbmRleCAyMTczMzI1ZTI0ODUzNzUwMDQ0MDlhMDQyMGJiZmRkNDkyOTQ4MmQzLi5lYzg2Yzgy
NmFhZjJjOWVhMThmMzFlNTZmNDE0MjcyYzQyODc5YzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZl
cmVzdG9yZS5taXRlckxpbWl0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIG1pdGVyTGlt
aXQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBtaXRlckxpbWl0Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyAr
MzUsNiBAQCBvbGQgPSBjdHgubWl0ZXJMaW1pdDsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShj
dHgubWl0ZXJMaW1pdCwgb2xkLCAiY3R4Lm1pdGVyTGltaXQiLCAib2xkIik7CiBjdHgucmVzdG9y
ZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzCmluZGV4
IDA1OTFhN2I1OTdlYzc5M2Q0ZDM2Yzc5OGRhNjg4NzcwZGIwZTA5YzEuLmExZWFmZDZkMjcyMzk1
ZmY4ZWY0ZWMzYjQ2YmNjZTAyYTI0Y2RiZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBtaXRl
ckxpbWl0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgubWl0ZXJMaW1pdDsKIGN0
eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgb2xkLCAiY3R4Lm1pdGVyTGlt
aXQiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwKaW5k
ZXggMmM0OGI5OWVlOTYzYWU1NTI0NzYzYjI0YjJiMmZlYTA0NGNjMGY4NS4uMWVlNWU1YWRiM2M1
M2VjM2NmYzY3MzE3YWJiNTI0M2RlMGVhYjE0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFz
LXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkv
cmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUo
KSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcwppbmRl
eCA4MzgzM2U1OTVkY2M3M2YzZjQwMzEzZGY1OTg0MDFjZDFjMTAzNzlmLi4wZGMyZThhOGNjYTFl
YjkwZTg3MGI2OGQxMTI4ZmFmODI4YTQxMjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJl
bnQgcGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Qmx1ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93Qmx1ci5odG1sCmluZGV4IDBmNGZjY2M5NDg0ZjcyZGEyYTNlNTRh
OWEyNDhiNjFiMTk2YTMxYjAuLjE3MGQzMGVjOGM0ZmJjYjQ2MTE0ZmM3NTg2MzA4ZTBmNTNjODc4
NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnNoYWRvd0JsdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0JsdXI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jl
c3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Qmx1cjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNo
YWRvd0JsdXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dCbHVyOwog
Y3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCBvbGQsICJjdHguc2hhZG93
Qmx1ciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0Js
dXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c2hhZG93Qmx1ci53b3JrZXIuanMKaW5kZXggYzI0ZTY0MzhkNzkzMjk1OTZiNGI0MWZhNWRjZjdi
NDhmNzNiNTg4OS4uN2FmNTc5OTI0ZGEzNTU5MDk4ZTdkNGYxYTQ5ZjViMTIzNzkwNDVlZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93
Qmx1ci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc2hhZG93Qmx1ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUo
KS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0JsdXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IG9sZCA9IGN0eC5zaGFkb3dCbHVyOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFk
b3dCbHVyLCBvbGQsICJjdHguc2hhZG93Qmx1ciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8y
ZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCmluZGV4IDA4NmJhMzAwM2U2Mzg5
MjFlMjUzNmE5YjRlNDE5ZDM5NmE5MzFjOTcuLjkxMDhkMGRkYmNmNmEzYTUxMzc3ZTFiODllYjg3
MTliMzgxNzViNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3I8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3I8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0NvbG9yPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3Igc2hhZG93Q29sb3IiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0
eC5zaGFkb3dDb2xvcjsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3Is
IG9sZCwgImN0eC5zaGFkb3dDb2xvciIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNh
dmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtlci5qcwppbmRleCA5NGUyNWJiOTA4
YTgyZDBiMDA3MjA4MDBlNjc2MDgzNDQ5ZTY4MmU5Li5mZDM1ODNjMzM1ZmUzOTI1MGE1MmFkMjNh
OTQxMzQ2NTdlYTJiMDg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dDb2xvciIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNoYWRvd0NvbG9yOwogY3R4LnNhdmUo
KTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgb2xkLCAiY3R4LnNoYWRvd0NvbG9yIiwg
Im9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zm
c2V0WC5odG1sCmluZGV4IGYyMTFhMDM0OGE1NzJmN2YzMTdiMGZlYmVhMmRiNDFmM2MwMTQwOTku
LjBkM2JmNTY3MzA5YWI3MmJiMGYyMjZkNWU4NGQ4YTdjZDgzOWY1Y2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dP
ZmZzZXRYLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFg8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc2hhZG93T2Zmc2V0WDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUo
KSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRv
d09mZnNldFgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dPZmZzZXRY
OwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCBvbGQsICJjdHgu
c2hhZG93T2Zmc2V0WCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3Jl
LnNoYWRvd09mZnNldFgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKaW5kZXggMzczYWZhMDlmNjFiNmE4
NTE2YmYwOTk3NTUxMzhiZGYxYjVmNDk4MS4uOGM1ODIwMGE5ZDMwZDdkMzQxYzM4ZWFlNmRiOTNh
MzRiMWVhYjJhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09mZnNldFgi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dPZmZzZXRYOwogY3R4LnNh
dmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCBvbGQsICJjdHguc2hhZG93T2Zm
c2V0WCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09m
ZnNldFkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNo
YWRvd09mZnNldFkuaHRtbAppbmRleCAxYzEwMTNiODgwNjNhYmYwN2VmYmMyNjFmY2M1ODIxZTcz
MzExNTYwLi45ZDZmYjQ4MTlmNDE1MjAwNTkwYWQ2YTJlMDhjNzJjYTE0ZjhjZTMxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZz
ZXRZLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c2hhZG93T2Zmc2V0WS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRZPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9y
ZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09mZnNldFk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZv
ciBzaGFkb3dPZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQgPSBjdHguc2hhZG93
T2Zmc2V0WTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwgb2xk
LCAiY3R4LnNoYWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dPZmZzZXRZLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCmluZGV4IGY4ODNhOTM1
Zjg3MzhiYmI2ZjAxYWQwZmRkYjEzZDUyZWM3MGJlODcuLjI3YjE4MDRlMDBkMjMxY2ZkNDI4NDg4
ZjUwMmUwNzJlZjdmMTMyZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzaGFkb3dP
ZmZzZXRZIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguc2hhZG93T2Zmc2V0WTsK
IGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93T2Zmc2V0WSwgb2xkLCAiY3R4LnNo
YWRvd09mZnNldFkiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dGFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Rh
Y2suaHRtbAppbmRleCA2ZTc0ODI1ZjY2OTcxY2I1NmJjZDA3YzVlM2YwMzlhMDUyYWQyODhmLi5h
NDFkYjllNDk5OGNhM2M5N2VkMTU3N2ZiYjJkYmQxYzRmYjllNDM0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0
b3JlLnN0YWNrPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBzdGFjazwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9y
ZXN0b3JlKCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBA
QCBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMiwgImN0eC5saW5l
V2lkdGgiLCAiMiIpOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgs
IDEsICJjdHgubGluZVdpZHRoIiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2sud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2sud29y
a2VyLmpzCmluZGV4IDVhMGY3NGI4YWI5NmMxYmRkODdkNzVlNTg4OGRmNjdjY2I2NjU0NjguLmM0
YWIzODhlNjJlMmNlYTFlODAzNmZjZDM4YTJhMzNhNmM0NDBkZTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgY2FuIGJlIG5lc3Rl
ZCBhcyBhIHN0YWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgucmVzdG9yZSgpOwogX2Fz
c2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMiwgImN0eC5saW5lV2lkdGgiLCAiMiIpOwogY3R4LnJl
c3RvcmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEsICJjdHgubGluZVdpZHRoIiwg
IjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sCmluZGV4IDQwOTdhZTll
ZTBjYzJhMjQ1NzEzNDc4ZjA4N2IyNTU2YTM4YTZjMTcuLjk1NTMxNzdkNGI4MWQ4YzkxMTJkOWMx
ODNkMTJkYWI5NzkwNGU3YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVw
dGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5IGxp
bWl0ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFibHkgbGlt
aXRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgZm9yICh2YXIgaSA9IGxpbWl0LTE7IGkgPiAw
OyAtLWkpCiAgICAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgaSwgImN0eC5saW5lV2lkdGgi
LCAiaSIpOwogICAgIGN0eC5yZXN0b3JlKCk7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVw
dGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c3RhY2tkZXB0aC53b3JrZXIuanMKaW5kZXggNThhMjhlMGVjODg1OGMyZmUyOGI2ODM1NzMwN2Nl
OTJkM2Y4MzhiMS4uNjdhZTYyZGFjODExOGNjOGVkZGRiNjg5NTU2YzMzN2Q2NWM5YTdiNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tk
ZXB0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuc3RhY2tkZXB0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUo
KS9yZXN0b3JlKCkgc3RhY2sgZGVwdGggaXMgbm90IHVucmVhc29uYWJseSBsaW1pdGVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjMsNyArMjcsNiBAQCBmb3IgKHZhciBpID0gbGltaXQtMTsgaSA+IDA7IC0taSkKICAg
ICBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBpLCAiY3R4LmxpbmVXaWR0aCIsICJpIik7CiAg
ICAgY3R4LnJlc3RvcmUoKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLmh0
bWwKaW5kZXggMTNjMGM5Zjg2NWM3N2JiZjM3NzMyMjQyODNkYTZjOTZiNjhjZDZjYS4uMDliOTJi
Yjc4ZDRkZDAxOTFiNDgyNDdjOTUwNmQwNjRiZjIxMjM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zdHJva2VTdHlsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VT
dHlsZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc3Ry
b2tlU3R5bGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzdHJva2VTdHlsZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LnN0cm9rZVN0eWxlOwogY3R4LnNhdmUoKTsKIF9hc3Nl
cnRTYW1lKGN0eC5zdHJva2VTdHlsZSwgb2xkLCAiY3R4LnN0cm9rZVN0eWxlIiwgIm9sZCIpOwog
Y3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUud29y
a2VyLmpzCmluZGV4IDFmMTQ5ZWQ5OWRjNDVmODAzMzE5NzBmOTE5MWFkYTc2OTJmYWFhNWQuLjI0
YzQ3ZjdiMGMzNDQ0MzE0MDI4MzdlZTZjZDVlNzA5NTQzZWFiNjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VT
dHlsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkg
d29ya3MgZm9yIHN0cm9rZVN0eWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHgu
c3Ryb2tlU3R5bGU7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnN0cm9rZVN0eWxlLCBv
bGQsICJjdHguc3Ryb2tlU3R5bGUiLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbAppbmRleCA3ODVjMTI4YzI0OWUyNjlj
ZjA2YTQ3MGM0OGJlYzdiMTFhZDA3ZjdiLi5iYTFhYWJkOTQwYWExZTVhYzQ4NTg1Y2YxYTMwOTY2
MjM1YmUwNjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9y
bWF0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhlIGN1cnJlbnQgdHJhbnNm
b3JtYXRpb24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJyZW50IHRyYW5z
Zm9ybWF0aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnJlc3RvcmUoKTsK
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zv
cm1hdGlvbi53b3JrZXIuanMKaW5kZXggZTVjZTQ1ZTNjZGZlZTBmZjY5YzNhY2YwNzg4NDczYmVm
ZWZiZmM4YS4uMjI0MDM5ZTY5OGE4MDA0YzA0N2QzODc5NzkyZTM4YWNjY2QyM2Q4OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3Jt
YXRpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
c2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJp
eCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnJlc3RvcmUoKTsKIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoLTIwMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCmluZGV4IDQ2YWEyOWU3MjY5
N2Q5MGJhY2RhNDM5Yzk5NGY3NGQzNTM5Njg3ZWMuLjJkYWI2ZThjNzA2Y2EyNDVkZmVkNzYwZGFh
Njk1ZGZjYTVlYmZmZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3c8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5y
ZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicmVzdG9yZSgpIHdpdGgg
YW4gZW1wdHkgc3RhY2sgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKQogY3R4LmxpbmVXaWR0aCA9IDAuNTsKIGN0eC5yZXN0
b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAwLjUsICJjdHgubGluZVdpZHRoIiwg
IjAuNSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcwppbmRl
eCAxNTBhMzFjZjA1MmViZDg0YTZhZjQxODM3OGY2MWQyNDM0Nzg2NjU0Li5mMzhhOTVjNGYxNjYx
YWU2YzgwMWUyMjFmNzAwZTNkN2I3NTAyNTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJlc3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNrIGhh
cyBubyBlZmZlY3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwg
MTY7ICsraSkKIGN0eC5saW5lV2lkdGggPSAwLjU7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFNh
bWUoY3R4LmxpbmVXaWR0aCwgMC41LCAiY3R4LmxpbmVXaWR0aCIsICIwLjUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZh
cy5yZWFkb25seS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWFk
b25seS5odG1sCmluZGV4IDE3YTk4NmMyMzMzYzNlZjdmZGZkNDgxNTY0YzM2Y2RhM2MxOTQ1ZjIu
LmFhZWQ0MDEzNmIxYzZlNzQ3OGE4MmQ0ZTkwNTI2YzI4MDI1ZmRlNzcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNhbnZhcy5yZWFkb25seTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jYW52YXMucmVhZG9ubHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNhbnZhcyBpcyByZWFk
b25seTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImNhbnZhcyBpcyByZWFkb25seSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgdmFyIGQgPSBj
dHguY2FudmFzOwogX2Fzc2VydERpZmZlcmVudChvZmZzY3JlZW5DYW52YXMyLCBkLCAib2Zmc2Ny
ZWVuQ2FudmFzMiIsICJkIik7CiBjdHguY2FudmFzID0gb2Zmc2NyZWVuQ2FudmFzMjsKIF9hc3Nl
cnRTYW1lKGN0eC5jYW52YXMsIGQsICJjdHguY2FudmFzIiwgImQiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWFk
b25seS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRv
bmx5Lndvcmtlci5qcwppbmRleCBmZGQ5OWY4NmViN2U1OTAzNzUwM2YzMzEyNWExZmUyZDYzOTA3
N2ZiLi5kOTkxYjE5MjhhMTNmMGRhMzhhZDliNWY0ZWVkYjE0Y2JjNWI1ZWYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRvbmx5Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIGlzIHJlYWRvbmx5Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCB2YXIgZCA9IGN0eC5jYW52YXM7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNj
cmVlbkNhbnZhczIsIGQsICJvZmZzY3JlZW5DYW52YXMyIiwgImQiKTsKIGN0eC5jYW52YXMgPSBv
ZmZzY3JlZW5DYW52YXMyOwogX2Fzc2VydFNhbWUoY3R4LmNhbnZhcywgZCwgImN0eC5jYW52YXMi
LCAiZCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzLzJkLmNhbnZhcy5yZWZlcmVuY2UuaHRtbAppbmRleCAxZGI2NDA5NDliMDFhNGUxOWVjODRi
YzcyNWVkYWZiNjgyY2ZmZGViLi40NThkMzQ5ZDQ3NzhmMTRjNDY3MmZmODZlNjliYTcwZDZmMTY5
YzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVy
ZW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJl
bmNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmNhbnZhcy5yZWZlcmVuY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2FudmFzLnJlZmVyZW5jZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Y2FudmFzIHJlZmVycyBiYWNrIHRvIGl0cyBjYW52YXM8L3A+CkBAIC0xMSwxMyAr
MTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIHJlZmVycyBi
YWNrIHRvIGl0cyBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5jYW52YXMsIG9mZnNjcmVlbkNhbnZhcywg
ImN0eC5jYW52YXMiLCAib2Zmc2NyZWVuQ2FudmFzIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLndv
cmtlci5qcwppbmRleCBmZjI2NjZiZDNkYTNjZjA5YjVhYjY5OTRmMDk0YjlkNmEwNzY3ZjBhLi4z
ZjVmYmUyNjliZjIzMDM5YzFiNmFkMWZjODFjOGMzZTc2ZTFlMWMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29ya2VyLmpzCkBA
IC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2FudmFzIHJlZmVycyBiYWNrIHRvIGl0cyBjYW52YXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9h
c3NlcnRTYW1lKGN0eC5jYW52YXMsIG9mZnNjcmVlbkNhbnZhcywgImN0eC5jYW52YXMiLCAib2Zm
c2NyZWVuQ2FudmFzIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLmh0bWwKaW5kZXggNjAxMWYyMDVlZDFm
MTVhMGQzNmYwYTkzNDNiNmFhNzg2YmE3MDIxYS4uNzg3NjVmYWI4MzVmNDM3NDZmZTY3Mzk0NWQw
NjRmYjEyNWExODhkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuZXhpc3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuZXhpc3RzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmdldGNvbnRleHQuZXhpc3RzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXhpc3Rz
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpcyBpbXBsZW1lbnRlZDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSAy
RCBjb250ZXh0IGlzIGltcGxlbWVudGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIF9hc3NlcnREaWZmZXJlbnQob2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5n
ZXRDb250ZXh0KCcyZCcpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIu
anMKaW5kZXggYmFlODA4MGRkNzkyYWM0ZDZkNGJlYjY0YmVhN2RiN2E2NWUzYzViZi4uZjYxY2Fi
ODMyYzg3YzMwMzI1MGNmMjA0NzI3YjY1MzExNjQxYzE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJUaGUgMkQgY29udGV4dCBpcyBpbXBsZW1lbnRlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSwg
bnVsbCwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIsICJudWxsIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5n
ZXRjb250ZXh0LmV4dHJhYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuZXh0cmFhcmdzLmh0bWwKaW5kZXggMjRhNjhlNDkxNGQ4YzZiZDQ1NTdmNDFiYTZi
Yzk4M2IwMWYxNTg0OC4uZWEyMDlkY2QxMTI0OWJjZGQ5ZjJkNTBmYWE3YzUyZTA3MDdjY2M2YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXh0cmFh
cmdzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXh0
cmFhcmdzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdldGNvbnRleHQuZXh0cmFhcmdzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQuZXh0cmFhcmdzPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5UaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENvbnRl
eHQgYXJndW1lbnRzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3Vt
ZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgnMmQnLCBmYWxzZSwge30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8y
ZC5nZXRjb250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvMmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzCmluZGV4IDkzM2FhMjQ5ZDYzYTdk
YzRhYzljZWIxZTE5NzhiZGU0MGIxMDZmMDYuLmM3NTE3NjBhZmQxOGZmNmY4OTBhM2M5NTgwNTQ1
YjUwMjc1NjYyNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRj
b250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
LzJkLmdldGNvbnRleHQuZXh0cmFhcmdzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiVGhlIDJEIGNvbnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3VtZW50cyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQn
LCBmYWxzZSwge30sIFtdLCAxLCAiMiIpLCBudWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250
ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsIFwiMlwiKSIsICJudWxsIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250
ZXh0LnNoYXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQu
c2hhcmVkLmh0bWwKaW5kZXggOGE5NDg0NzI0NTU2ZjljMjdiMTM0ZGQ5YTQwNDNjMDQ4ZDM1ODNh
YS4uNmI2MTg4YmZjMDk5NjcxOTM3NTUyMmJlZmNhYmE0ZGM1NmMzNGFkMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdldGNvbnRleHQuc2hh
cmVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmdldGNvbnRleHQuc2hhcmVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRD
b250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGU8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRD
b250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgyLmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQud29ya2VyLmpzCmluZGV4IGMzZWM2NjQ3ZGE2
ZDlmMTI2ZjBkMWZmY2FiY2JhMDVjYjliMTVjYzUuLjUzY2FiNjI5OTVmYjIxZmU0NTdjNGM3MTM4
ZWI0MDM3M2Q2OTg0MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5n
ZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
LzJkLmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Z2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIG9iamVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRl
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4Mi5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5odG1sCmluZGV4IDgxMjhjNmVhOWQ2OTRkNTEz
YTI2ZWNjOGQ4N2E3MzMyYWU5NTIzYmMuLjkxMzc5NTgzMmRkOGQxYmU0ODE2NmNhZjFiZDAzYzU2
ZTRlOGUxY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250
ZXh0LnVuaXF1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250
ZXh0LnVuaXF1ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5nZXRjb250ZXh0LnVuaXF1ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5nZXRjb250ZXh0LnVuaXF1ZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+Z2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIHRoZSBzYW1lIG9iamVj
dDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImdldENvbnRleHQoJzJkJykgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3
ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBvZmZzY3JlZW5DYW52
YXMyLmdldENvbnRleHQoJzJkJyksICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyki
LCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVu
aXF1ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51
bmlxdWUud29ya2VyLmpzCmluZGV4IDNlNGQ2YzQ3MzIxNDdjODU5N2UyMWI4ZTQzZjA1NmNkMjU1
ZGFhYmYuLjNiMzExNTI2ZjA2ZDdiMjI4ZmQ5Y2UxY2JjZTE5YmY5M2ExNmQ4NWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29udGV4dCgnMmQnKSByZXR1cm5z
IHRoZSBzYW1lIG9iamVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMy
LmdldENvbnRleHQoJzJkJyksIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSwgIm9m
ZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIsICJvZmZzY3JlZW5DYW52YXMyLmdldENv
bnRleHQoJzJkJykiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLmh0bWwKaW5kZXggZGZi
N2IzMDMwNzYwY2U2ZTc5NDQ0NDE4NGI0NjUwMmIyNzIxZjhhYy4uYWU4ZGQ2OTIxNDhiM2M3NjJh
NTgxYjBiNzZlNjAzNTEzYTRiNDcxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPmNvbnRleHQuYXJndW1lbnRzLm1pc3Npbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNj
cmVlbkNhbnZhczIuZ2V0Q29udGV4dCgpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Npbmcu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1p
c3Npbmcud29ya2VyLmpzCmluZGV4IDQ2N2I3OGIwYTkzYWM0YTliMzFmNmI4NmEzY2NhZWI2N2I3
ZDI0MGMuLjlkYmQ5N2M4NjFhMjg1N2EzMDMyNjgwNjM2ZDdkOTI3NDExNTg3YTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMu
bWlzc2luZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0
LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZh
czIuZ2V0Q29udGV4dCgpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sCmluZGV4IGU1Nzli
M2E3MWY4MDllNDEwMTliMzIyODliYmY4ODgwZTQ5MzhiNDcuLjU2NDMxZTJlNGZjNmMyNDQzMGY1
NGE3MzZkY2EyNThiNTdmMTAxODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9jb250ZXh0LmNhc2VzZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQuY2FzZXNlbnNpdGl2ZTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LmNh
c2VzZW5zaXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRleHQgbmFtZSAiMkQiIGlzIHVu
cmVjb2duaXNlZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmU8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIyRFwi
IGlzIHVucmVjb2duaXNlZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52
YXMyLmdldENvbnRleHQoJzJEJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2Vy
LmpzCmluZGV4IDAyYWEzMmZhOTY5YmU0MzUyZTc0ZDBmMWM0YzliM2ZlNTUwNDgyY2IuLmI0MWMx
Zjc2N2Y1Mzg4ODgxMDRlY2RjNWIzYjRhOThiYjlkZmY4YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0IG5hbWUgXCIyRFwiIGlzIHVucmVjb2duaXNl
ZDsgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQo
JzJEJyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQuZW1wdHlzdHJpbmcuaHRtbAppbmRleCBkYzA1NzUwOGMyY2EwMzBiYjUw
NDMxYTcwYzUzOGYxZDhkODQ5NWY2Li45MmYzNzUwNmVhYTQ0YzIzYjlhYWU5YmI3NTJlZmYxMmFm
NjlhZGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0
eXN0cmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5
c3RyaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IGNvbnRleHQuZW1wdHlzdHJpbmc8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29udGV4dC5lbXB0eXN0cmluZzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Z2V0Q29udGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGw8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRD
b250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0
Q29udGV4dCgiIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMKaW5kZXggZWEz
MDhjNTUxOTk4NWVlNjNlYTA2NDczNTM3YzRlYzYxOTk1YmY3OS4uNTQ0MDZiYjViZmUwNmFhMDFj
NzQ4ZjJkMDQ0ZWRjOTE3NDFiZjI1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQuZW1wdHlzdHJpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZ2V0Q29udGV4dCB3aXRoIGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGwiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoIiIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRu
YW1lLmh0bWwKaW5kZXggODljOWZhM2ViMzg5ZTNhMDJjZDUwZjVhODQ5NTE3NmYyODI4NDQ2Yy4u
OGU4NDY3MTRmYWQ4MmEyODI0ZWUyYzYxZDRjZWExYTcxZWZkMDQ3MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFt
ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250
ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5h
bWU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29u
dGV4dCBuYW1lIHJldHVybnMgbnVsbDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29udGV4
dCBuYW1lIHJldHVybnMgbnVsbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnVGhpcyBpcyBu
b3QgYW4gaW1wbGVtZW50ZWQgY29udGV4dCBpbiBhbnkgcmVhbCBicm93c2VyJyk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29u
dGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMKaW5kZXggODdmZmRj
ZDI3M2I4NDBiMTRjMzVhZDdjMWJlYWZkZjhhZGFlMzFlNy4uODU1Zjk5NzExOGI4YjM2ZDU3MWZi
NTc2MGY2ODdiMDk1Nzc0MmEzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29udGV4dCB3aXRoIHVucmVjb2duaXNlZCBjb250ZXh0
IG5hbWUgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlzIG5v
dCBhbiBpbXBsZW1lbnRlZCBjb250ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250
ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbAppbmRleCA0ODA2MTU2MWJmZGQ0
OWUxZjI1MjY4NGM3OTNkZWEwNGJhMTQ3Mjc5Li41NTExYzRmMjFlYzFlYTA5NjkzN2Q2YzcwOWMw
ZGQ3YzlmMjlmZWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4
dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZm
aXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+Y29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5Db250ZXh0IG5hbWUgIjJkIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRl
eHQgbmFtZSBcIjJkXCIgcGx1cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
OCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52
YXMyLmdldENvbnRleHQoIjJkIyIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZp
eC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlz
ZWQuYmFkc3VmZml4Lndvcmtlci5qcwppbmRleCAxMzgzM2Y5MTAyZDk4MTExNGRmNWQyZWQ1MzQ4
OTU1OTk4MGY3YzkwLi5jNTZlYTdlYjYxNTM4ZmVmMDBlMGM3NWRkZWVjZjY0MmUyM2I1OWUxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQu
YmFkc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4
dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiQ29udGV4dCBuYW1lIFwiMmRcIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNj
cmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmQjIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQu
bnVsbHN1ZmZpeC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNv
Z25pc2VkLm51bGxzdWZmaXguaHRtbAppbmRleCA4YmY5OGQ0MTA0N2QzMjEwMGI5ZmMyYWY0MzZh
ZmNjZTFmZGE2NmU0Li5iODY2MGFlN2ZjNmRhMjhiZWRiZmMxNGZhZTE4MDhmMjg2ZDg5ODA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQu
bnVsbHN1ZmZpeC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVu
cmVjb2duaXNlZC5udWxsc3VmZml4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXg8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29u
dGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4
dCBuYW1lICIyZCIgcGx1cyBhICJcMCIgc3VmZml4IGlzIHVucmVjb2duaXNlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFt
ZSBcIjJkXCIgcGx1cyBhIFwiXFwwXCIgc3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgiMmRcMCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLm51bGxz
dWZmaXgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNv
Z25pc2VkLm51bGxzdWZmaXgud29ya2VyLmpzCmluZGV4IGZjNjc3ZjgzZDgyYjczMjk0YmVlNGEy
MmEyYzRiODcyNzgyOTI2ZTguLmVmZTQ1YjkxOTZiYWI5MWJlZGM0ZTIzOGI1NDc4ODM3YzZhNDc0
YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2du
aXNlZC5udWxsc3VmZml4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJkXCIgcGx1cyBhIFwiXFwwXCIgc3VmZml4IGlzIHVu
cmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmRcMCIpOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRl
eHQudW5yZWNvZ25pc2VkLnVuaWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9j
b250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLmh0bWwKaW5kZXggYzY1N2M4OTZlZTQ4ZTVlNGJh
ZjE0MjZlM2VmOWRmNDdjMTQ3Y2JmNi4uODlmMjY1NWQ1NjM2NzQ4YmMwZTEzYzM2MDM1MmFhNDRk
OWRlZDFiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5y
ZWNvZ25pc2VkLnVuaWNvZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29u
dGV4dC51bnJlY29nbmlzZWQudW5pY29kZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiBjb250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNv
bnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNvbnRleHQg
bmFtZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgIjJkIiBpcyB1bnJlY29nbmlzZWQ8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJDb250ZXh0
IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBsaWtlIFwiMmRcIiBpcyB1bnJlY29nbmlzZWQiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBvZmZz
Y3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2du
aXNlZC51bmljb2RlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LnVucmVjb2duaXNlZC51bmljb2RlLndvcmtlci5qcwppbmRleCAzNmJlZmQ5NGE0MWIyMDhkNGQz
Mzg1Y2I5ODgzMjUyZGNmMTc5M2Q2Li5hNTMzMTE3NTYyZDY0MDNlNTJkNWQ5YWQzZmVjZDJiNDk5
MzQ0MDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJl
Y29nbmlzZWQudW5pY29kZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2NvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJDb250ZXh0IG5hbWUgd2hpY2gga2luZCBvZiBsb29rcyBsaWtlIFwiMmRcIiBpcyB1
bnJlY29nbmlzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLmNvbG91ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29s
b3VyLmh0bWwKaW5kZXggZjAzM2U0ZDI2MDNkZWZiMzY0MmRlZmZjOTU3MjdhZmU1OTI4ZWFmNi4u
NmRmY2Q3YTJmMGZhZGQzOTQyNTA3MTU1MzllNzMwMzYyOTY3ZjZjYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwuY29sb3VyPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwuY29s
b3VyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Jbml0aWFsIHN0YXRlIGlzIHRyYW5zcGFyZW50IGJs
YWNrPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIkluaXRpYWwgc3RhdGUgaXMgdHJhbnNwYXJlbnQgYmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5j
b2xvdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3Vy
Lndvcmtlci5qcwppbmRleCBmODc4NjFmN2YwOTE4ZDk0NTM0MzQ2MGUyZWVjNDc2Y2ViMWVhYTYy
Li4yNDE0NDY1N2Y4YmFhZDFmMTdkNTJiMWUxYzRkZTc1MjljYTQyZjU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMKQEAgLTQsMTYg
KzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJJbml0aWFsIHN0YXRlIGlzIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuMmRzdGF0ZS5odG1sCmluZGV4IDEzZWYwYzE0MGYxNjlkNTdkZGQ5NjUw
NzlmZTk1ODkyYzcxNDFkMTAuLmQ1NGQwMWIzODYxYWNlZTZiYWQwM2IwMmE3ZjEwMjRjMGFjNzVl
N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJk
c3RhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC4y
ZHN0YXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IGluaXRpYWwucmVzZXQuMmRzdGF0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LjJkc3RhdGU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyAyRCBzdGF0
ZSB2YXJpYWJsZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgMkQgc3RhdGUgdmFy
aWFibGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtODAsNiArODQsNSBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAx
MDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBkZWZhdWx0X3Zh
bCwgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiZGVmYXVsdF92YWwiKTsKIAogdC5k
b25lKCk7Ci0KIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCmluZGV4IDdlYWI3ZmJiYTFl
YzRhNDdkZDJiNzQzMzFjNDM2ODRlYTdiYTAwYWIuLjdmZjBhMGNhOWRhZjFmMzkwNDI1ZjJjY2Rk
MDQxZWY2ZDYxMDM3ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgMkQgc3RhdGUgdmFyaWFibGVzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtNzYsNiArODAsNSBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBkZWZhdWx0X3ZhbCwgImN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiZGVmYXVsdF92YWwiKTsKIAogdC5kb25lKCk7Ci0K
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQuY2xpcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVz
ZXQuY2xpcC5odG1sCmluZGV4IDA3NmIzZTg5ZDE1MWE0NTlmNmMwM2RmZmExMTUwOWVjZDUxN2Ix
ZjIuLmI1MzZlOGNlZDhkODU5NDUxODQ2NWFlOWIwZWY3NWRkMGQ5OTFlYzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5jbGlwLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuY2xpcDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT5pbml0aWFsLnJlc2V0LmNsaXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuY2xpcC53b3JrZXIuanMKaW5kZXggODNhMWE2OGZiMWIyMzhiZGMx
ZjZlZmFkNTBmNzVhOWI5MmZjZDU4OS4uYzZlMDZjYTBkMDE1ZGViOTBiOGRlOWNmZDViY2E5NTkz
ZGI2YTBmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVz
ZXQuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlwIHJlZ2lvbiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lmh0bWwKaW5kZXggM2I2ZWQwMTNmZmNjMTU2NTdm
ODRlY2JjZjljMmFjOTU4NjcxYWJiYi4uNDVmZmI2OTc0ZTIyNjBkZjc5ZmFlNDQxMjZhMTAyNDY4
M2U5MGNmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVz
ZXQuZGlmZmVyZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQuZGlmZmVyZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IGluaXRpYWwucmVzZXQuZGlmZmVyZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQuZGlm
ZmVyZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5DaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52YXMg
dG8gdHJhbnNwYXJlbnQgYmxhY2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJDaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNw
YXJlbnQgYmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAsMjU1
LCAiMjAsMjAiLCAiMjU1LDAsMCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDUwOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQud29ya2VyLmpzCmluZGV4IDhi
ZjU3ODQ5ZDc4MjFlMzllNjhhMTVhNWYwNzFmZjhjZjc0MjYwNTcuLjIwNmJhNjcyZmVkYmFhYmY3
NzI0ODQ4MDk1MDFkNjI5NWI5ZjFhMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiQ2hhbmdpbmcgc2l6ZSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50
IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIw
LDIwIiwgIjI1NSwwLDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSA1MDsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQuaHRtbAppbmRleCBiMDMxODkwMWM4ODAwZDhjMjQ3
Y2ExMjYxMTVjY2NiNGM5MjhkNmUwLi4xZGNlOGRhYmU1ODRkMWRjNzM2N2ZkMmMwZjQ4MjNhNDIz
MTAyOTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5ncmFkaWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJl
c2V0LmdyYWRpZW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IGluaXRpYWwucmVzZXQuZ3JhZGllbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC5ncmFkaWVu
dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBu
b3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMg
c3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0
eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcwppbmRleCA3MGEzYzk5NzU4NTA2
YzM1YTBhZjY2NTA1YzZlMmE4YjI1NWY0MTBiLi45N2IwYjFhNWNjZWUzZTgyMDk5ZTkzNjg1ZjBi
MWEzZDdkNjMzNzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5ncmFkaWVudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlz
dGluZyBncmFkaWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC5odG1sCmluZGV4IGU0ZGUxMzM4
ODRiZmVlNzNhMWM2YzI5YWFkMGFhNDg0ZmZlOWE5MmUuLmI5YzRhYjU3MTc3YzhmYmJlZTQwNDgz
YWQwNGZkY2I5MDhjOWQ3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LnBhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5p
dGlhbC5yZXNldC5wYXRoLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IGluaXRpYWwucmVzZXQucGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LnBhdGg8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUg
Y3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50
IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEw
MDsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCwwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLnJlc2V0LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQucGF0aC53b3JrZXIuanMKaW5kZXggYTA1MTBmNmZlMDFjZDBjNTFiMzEwNjZiODIw
M2FlZTY5MjlkZmM5Yi4uMjRlN2QzZDAxZDI4NjQwYzJkZTgzYjc5MWYxMzc5ZjkzMWJjN2Q5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0aC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0
aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFz
IHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBv
ZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAi
MjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwKaW5kZXggNjQ2YjM5
OWE4MjUxOThlYTI3ZWQ1ODA1NWExNGJkODlhNGIyZWRmZS4uYThhNGI3NjllMjRhOTc3NjdkMmVj
MzQwMTE4NzI4ZDU4Yzg1ZGQ2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQucGF0dGVybi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LnBhdHRlcm4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5wYXR0ZXJuPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVz
ZXQucGF0dGVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3Rh
dGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgcGF0dGVybnM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhl
IGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0ZXJucyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4
LmZpbGxTdHlsZSA9IHA7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXR0ZXJuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCmluZGV4IDUxYjFkZWE5
N2QwNGE3MWMwYmFiNmZhNjM3NDljZTMyZDcxZTBhNjAuLjA5YzNkNzU0MGI3MTVlYWRjMGQzNzE2
OWU1YmIzNjZkNzliNzBkYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBl
eGlzdGluZyBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IHA7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLmh0bWwKaW5kZXggMGEyZWRm
NGI2ZDc3ZTAzYWFlM2Y5Mjg1YzRhNzQ1MDEwZGUzMzM3OS4uMzZjM2ZlYTBmMWViOTlmZGQ5MzE4
MzJjOTlkZmI4MWEwMjQwNGU1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuc2FtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LnNhbWUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5zYW1lPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQuc2FtZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBzaXplIChub3QgY2hhbmdpbmcgdGhlIHZhbHVl
KSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBzaXplIChub3QgY2hh
bmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1NSww
LDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQuc2FtZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5zYW1lLndvcmtlci5qcwppbmRleCBkZWRiYzU1MTUwOGFhNDM5MTZkMTJhZjU0NjY1
ODZiODZjZThkYjhlLi5jYzIwMmI0ODViNzE2ZTJlNzI1YjBjZTQxOTYxNzdmYmM2NDExZTgyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1lLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5zYW1l
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBzaXplIChub3QgY2hh
bmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAyNTUsMCwwLDI1NSwgIjIwLDIwIiwgIjI1NSww
LDAsMjU1Iik7CiBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQudHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC50cmFuc2Zvcm0uaHRtbAppbmRleCAzNDYyODNmZDEzOWRjMjY0NDU4Y2E3YWI3Mjgz
ZTYzOTExYjQyOWQ0Li5hMWI1MmU3ZGIwYTkwZjljYWNkOGRhOGE2Yjk2N2U5ZjU4MThkYTk0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFuc2Zv
cm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC50cmFu
c2Zvcm0uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
aW5pdGlhbC5yZXNldC50cmFuc2Zvcm08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC50cmFuc2Zvcm08L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUg
Y3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBy
ZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9pbml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMKaW5kZXggZjI0ODdmYmY3Yjk2YzI0
NGFiNTc5MjYzYmQ0Njk4NGEyMjdjZjgwYi4uNGJjNDVkMDAzNjczOTA0YTE2Y2Q4ZmUxODliZjdk
ODY1NTIyYjNmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwu
cmVzZXQudHJhbnNmb3JtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJlbnQgdHJhbnNmb3Jt
YXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lk
dGggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1
LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0Lmh0bWwKaW5k
ZXggZmQ4ZWE1MDkzNGNmNWQ4YWFmNmFhZGIwM2Y3ZWJhOGQ1ZTAwNWZlMS4uY2NlMDk3NjBkMGMy
NDQ3YzdkYmNhMmE2YjM2OTcxZjg3ODdmMjIxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC5odG1sCkBAIC0xLDcgKzEsNyBAQAog
PCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvI29mZnNjcmVlbmNvbnRleHQyZC1jb21taXQiPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1sCmlu
ZGV4IDcwMTIwOTc4NzIzMDhmZjNlNzViMTk3Y2I2NTc3MjZhYWJlYjQyYTEuLjkwZGUwNzg2ZTVj
NjBlODljYzJmOWVmNWUyMjYyMTQwYjYwNGIxOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0LncuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53Lmh0bWwKQEAgLTEsNyArMSw3
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy8jb2Zmc2NyZWVuY29udGV4dDJkLWNvbW1pdCI+CiAKIDxzY3JpcHQgaWQ9Im15V29y
a2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwKaW5kZXggYzEzMDEwNzE1
ZTZkMDllYWQyZDBjYzhlODNhNDI3ODhiOGJlNGIzYS4uYTE3NjA3NjRkZWMyNzY1NTVjOTEyNWIw
NDc3OGQ2YTA2OTcxNmFmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29m
ZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3IuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwh
RE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
LyNkb20tb2Zmc2NyZWVuY2FudmFzIj4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3Iud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci53b3Jr
ZXIuanMKaW5kZXggN2M3NzNlMDk0ZGU0NDlhMjJjMzQ1N2U1ZTI1NzVjNTNhN2U5ODkzNy4uMjg1
ZTRlMWQ5NDg3NjRkNTRmZDUxMWI4MWYyZDlkYWMwZWU1YjQ5NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rv
ci53b3JrZXIuanMKQEAgLTEsNyArMSw3IEBACiAvLyBzcGVjIGxpbms6IGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdDEgPSBhc3luY190ZXN0KCJUZXN0IHRoYXQgY2FsbGluZyBPZmZz
Y3JlZW5DYW52YXMncyBjb25zdHJ1Y3RvciBnZW5lcmF0ZXMgY29ycmVjdCB3aWR0aCBhbmQgaGVp
Z2h0LiIpOwogdDEuc3RlcChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKaW5kZXggNjVmNjM5
MWQzNTc1Y2UwOTIzNmU5YjA5ZWRiMDU2ZmJlNmRkNWNjYy4uN2FhYTBlNmMzNmE3YTE0N2RlNjBl
NTQxMjRkYzE1YzI2ZmQ0OTI3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwKQEAgLTEsNyArMSw3IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250ZXh0Ij4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNv
bnRleHQud29ya2VyLmpzCmluZGV4IDAwOGUwNGU3NTBlOTBmN2JjM2MwM2MzODU4NmU5MjY3ZDE4
YTNjZjcuLmNlZDQxMmZiODk0NWQxYjE3NzMyZGEwYjE3OTg5Nzk0OGRjNDQ1NjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29udGV4dC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5n
ZXRjb250ZXh0Lndvcmtlci5qcwpAQCAtMSw3ICsxLDcgQEAKIC8vIHNwZWMgbGluazogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy1nZXRjb250ZXh0CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxLCAxKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5odG1sCmlu
ZGV4IDU3NzAzMDk5MjVjYjI5ZjcxZGU1ZTQ0MzllZGU2NGUyMDg1YTljZmMuLjA5MjI3MjdjNjFl
YTJlMTUyZDNiNTJkMzgxYTZhZGIwYmY0YTMxZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5yZXNpemUuaHRtbApAQCAtMiw3ICsyLDcgQEAK
IDx0aXRsZT5UZXN0IHJlc2l6aW5nIGFuIE9mZnNjcmVlbkNhbnZhcyB3aXRoIGEgMmQgY29udGV4
dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiA8Ym9keT48L2JvZHk+CiA8c2NyaXB0PgogdGVzdChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1h
Z2ViaXRtYXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMu
dHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAuaHRtbAppbmRleCAzNmZlZjZmNDk4ZjgyMGVhNDRjNGEw
YjNlYTRkMjNmODA2NGFlYTY5Li4zMTE4N2M2NGUzZGQ2NTZhMDAwMDc1YmZkY2Y1ZTIwMzBlNzk2
YTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFz
LnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC5odG1sCkBAIC0xLDcg
KzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvI2RvbS1vZmZzY3JlZW5jYW52YXMtdHJhbnNmZXJ0b2ltYWdlYml0bWFwIj4K
IAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1h
Z2ViaXRtYXAudy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2Ny
ZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLnctZXhwZWN0ZWQudHh0CmluZGV4IDM0
MmQzY2YyYTdhNjU1MTRmYWE2ZTg5OTM2ZmM1N2UwMjE1MTQyMjAuLjlkNmRiZTJlM2M3YzNjZTMx
ZjMyNzI2MmYwMjYyZmYwNWQ5ODI0OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAudy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
ci50by5pbWFnZWJpdG1hcC53LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBEYXRhQ2xvbmVFcnJvcjogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4KLQogUEFTUyBUZXN0IHRoYXQgdHJhbnNmZXJUb0ltYWdlQml0bWFwIHJl
dHVybnMgYW4gSW1hZ2VCaXRtYXAgd2l0aCBjb3JyZWN0IHdpZHRoIGFuZCBoZWlnaHQgaW4gYSB3
b3JrZXIgCiBQQVNTIFRlc3QgdGhhdCB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAgcmV0dXJucyBhbiBJ
bWFnZUJpdG1hcCB3aXRoIGNvcnJlY3QgY29sb3IgaW4gYSB3b3JrZXIgCiBQQVNTIFRlc3QgdGhh
dCBjYWxsIHRyYW5zZmVyVG9JbWFnZUJpdG1hcCB0d2ljZSByZXR1cm5zIGFuIEltYWdlQml0bWFw
IHdpdGggY29ycmVjdCBjb2xvciBpbiBhIHdvcmtlciAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAudy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50
by5pbWFnZWJpdG1hcC53Lmh0bWwKaW5kZXggYzFmYWVjYjg1M2ZkODlhMWI3YWNiZDE0ZDQzNjg4
ZTllMmRhNWJlMi4uNWFjYWQ3ZDBjMDdhMDRhM2VlMTExNmI0ZTU3N2QzODk1MDc2ZDFjNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
ci50by5pbWFnZWJpdG1hcC53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29m
ZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0bWwKQEAgLTEsNyArMSw3
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy10cmFuc2ZlcnRvaW1hZ2ViaXRtYXAiPgogCiA8
c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8u
b2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFz
LnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbAppbmRleCAyZWFjZjNmMjIwMzgzNDcz
NmEzOGZhZTVkYjY3NDU0MzRiOWVjMmM0Li5hMTNlOTg5Y2ZjZWU3NDkwYTlhYzJiYTkxNzk2YjVm
OTI2ZTgzZDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVu
Y2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3Jl
ZW4uaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tY2FudmFzLXRyYW5zZmVyY29udHJvbHRv
b2Zmc2NyZWVuIj4KIDxzY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJv
bC50by5vZmZzY3JlZW4udy5odG1sCmluZGV4IGVjOGQwNWE0YmEzZTc3MDY5ZGIxMzNiNzNjN2Jk
ZmRkNmM0NjYzMjkuLjg2MzdjM2Y3MTk0ODc5Nzg1OGRlYWQwODkzM2Y2ZTQyNjgwMWFhZDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNm
ZXJjb250cm9sLnRvLm9mZnNjcmVlbi53Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLncuaHRtbApA
QCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnLyNkb20tY2FudmFzLXRyYW5zZmVyY29udHJvbHRvb2Zmc2NyZWVu
Ij4KIAogPHNjcmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJs
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
cnJhYmxlLmh0bWwKaW5kZXggZjMyMzA5ZmMxYmJkOTQ3NDkzYjU2M2UxMWRhMjZkYjA4ZTgxYWM0
YS4uYmMyYWMzYWFlMDVkMDQwYTkzNjlhNDQ5M2UwYmE1ODA3Njk2ODYxMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
cnJhYmxlLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jb2Zmc2NyZWVuY2FudmFzIj4KIAogPHNj
cmlwdCBpZD0ibXlXb3JrZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJsZS53Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVycmFibGUu
dy5odG1sCmluZGV4IDgxMzI5MGFkYWQxOWRkOTBlY2UyZWI2NWNjMDFhZDNiYmU0MDc0M2IuLmMz
ZjFiMTFmMDY4YzJmYzI1N2M0MjY3ODdiMWQ3OTA4NGRiMTIwYmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJsZS53Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJh
YmxlLncuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNvZmZzY3JlZW5jYW52YXMiPgogCiA8c2Ny
aXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbAppbmRleCBiNWZh
M2MwZjExNTdlODVhMzJiMWYwODg4ZjZmYzQ5NTg1MjJjNjJhLi5kYTE5OTdjZmNjMDIzMjZkODQx
ZWJjNzZiNDc2NzY3M2EzOTYyY2QwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6
ZS5hdHRyaWJ1dGVzLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkRlZmF1bHQgd2lkdGgv
aGVpZ2h0IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZzwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgd2lkdGgvaGVpZ2h0IHdo
ZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lndvcmtlci5qcwpp
bmRleCA3MGJiM2EyYzRjZTY4NDAyYzQ3MDhlYTg1OTgxZmI0NzYyYjQ5YjZlLi4wMjA4ODVjOTcx
MTlhOGM5ZjdjNmZiMDc1ODdiYmE5ZDEzOWQwMzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgd2lkdGgvaGVpZ2h0IHdoZW4gYXR0cmlidXRl
cyBhcmUgbWlzc2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
d2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5pZGwuaHRtbAppbmRleCBjNjcyOGNkMDY5ZjQyMzk4ZDUxMTEyM2Iw
ZjllYTk5NjAzYWY2NzZmLi5lNGFmOTYyODk2YmE1N2YxNjE4OTBlNTY2MzAwODIzMTczOWM0YTAw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlk
bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRs
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUu
YXR0cmlidXRlcy5pZGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLmlkbDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+R2V0dGluZy9zZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkdldHRpbmcv
c2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICI0MDB4IjsKIG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQgPSAiZm9vIjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
aWRsLnNldC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLmlkbC5zZXQuemVyby5odG1sCmluZGV4IDM0YmNlZjNkMjk0ZjljMTIxNGYzZTgyMjdjODQ0
ODg4MThmNjk3N2UuLmIwM2FjNjNhN2Y3MzBmYjRmNDJkZGEzMWYxMjg2YjA4MmRkMDhmM2MgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNl
dC56ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5pZGwuc2V0Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0
ZXMuaWRsLnNldC56ZXJvPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIHdpZHRoL2hlaWdo
dCBJREwgYXR0cmlidXRlcyB0byAwPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMg
dG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsK
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzCmluZGV4IGQz
MjEwOTViNDk2NzRiMzhjNGJlZTMxYzdkYWQ3ZWY4NjBjYzZmYmYuLmY3MGI0OTdkZmI2OTRhYzhj
MDA5YWI1MjBkYzE4ZDkyODYzYjQ4YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1
dGVzIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9
IDA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLndvcmtlci5qcwppbmRleCBkYzc5ZjAxNzU0MDc2Nzli
MGRkZjA5YTFjOWNhYTQ2ODVhYTA4ZWExLi43OWU5NTMwZjg5MjkzMzJmMDc4YWMxNTk5ZTY2NmQz
MGZkNGEyYWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLmlkbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5pZGwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJHZXR0aW5n
L3NldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIs
NiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAiNDAweCI7CiBvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0ID0gImZvbyI7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDAsICJvZmZz
Y3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmRlY2ltYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCmluZGV4IGI2Y2E1MzQyNmE1MmJmOWQ0OTFmYmMxZjNl
YjI5NDU4NTk1MjI5YTMuLjc4ZjIxYWEzMDMyMjQ4NzY2ZGUxZTIyZmRlYmU4MGFjZjU1OGUwNmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuZGVjaW1hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZGVjaW1hbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0
dHJpYnV0ZXMucGFyc2UuZGVjaW1hbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBu
b24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzEwMC45OTknOwog
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAuOTk5JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZGVjaW1hbC53
b3JrZXIuanMKaW5kZXggMTM0ZWUzOTVlNGNlMDFlODhkMmY0Yjg1ZTgyM2ZiN2MyOThlOTZhMS4u
ZTllMWM1Mjg2Mzk1YzBmZjBmZjkzYjkzYzJmMWY5ZmYwNWMzNDZkYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmRlY2ltYWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5v
bi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID0gJzEwMC45OTknOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAuOTk5
JzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbS5odG1sCmluZGV4IGRkMjQ4ZjNhMWFkYWU1ZjJiMDY5ZmU4ZGQwOTQ0MjA1NWUzY2I2
ZmEuLjBiYmM1ODg4MTc2OTJmMmY3ODlkNjJiMjlkMzRkZmZmYWQ4ODlhMGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0
cmlidXRlcy5wYXJzZS5lbTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW08L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBu
b24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNh
bnZhcy53aWR0aCA9ICcxMDBlbSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMGVtJzsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5lbS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmVtLndvcmtlci5qcwppbmRleCA3NTNkYjlhMTVlMTE0ZWM1NzQ5NTA2MmZmMGFjNTk0
ODFlMDkyODEwLi5lZmE4OGYwZjQzN2RiNzQwMjFkYTk3MWU3ZWU1MjdkZjc3NGVmMjRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVt
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBu
b24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNh
bnZhcy53aWR0aCA9ICcxMDBlbSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMGVtJzsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbXB0eS5odG1sCmluZGV4IDkxMzRlYzBhOTE5ZTdhMTE2NDY0M2ZjNjZjNWIwMDdlNDcz
Njg0MTguLjZiNDAzZTZlNTRlZDkxMjRhMzBlNmZkZmM4MjMyY2JkMTRkMzkzY2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW1wdHku
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IHNpemUuYXR0cmlidXRlcy5wYXJzZS5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
ZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVn
ZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICcnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5D
YW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcwppbmRleCA5NDBhODlhMDI1NTAzYmE4OTg4ODdm
ZGU1ZWJmNTNlMmVmNDc0MWJmLi43MzM3ZWU0MTkzMGI5MzkzNTBhMGIyNTliMzMyNThkOTc3MTBm
OTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLmVtcHR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICcnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5D
YW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5leHAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZXhwLmh0bWwKaW5kZXggMDYxMTA4MDU3OGY1Y2ViOGE1ZjhiODAwY2UyOGNhN2ZiNjYy
MTgzOC4uNDQ1ZDViYTYxZDI3NTI4YmJhYjc4ODJlMmU4ZGY4ZmQwYjQ3ODQwYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4
cC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZXhwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5leHA8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2lu
ZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNj
cmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlMSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEw
MGUxJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwMC4wLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjEwMDAuMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAwLjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzCmluZGV4IDE3MzAwZjU1NmI2
MWRlNTQ2OWE5MDUxNGY0OGQxYzgxZWFjYzYwOTEuLmNmNTZlYWM2YjNkYmY1YzhkMGJmNjYwZDk1
OWM5MmIzMTcwMmZhOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYs
NyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwZTEnOwogb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9ICcxMDBlMSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgs
IDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAwLjAiKTsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMDAuMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQi
LCAiMTAwMC4wIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCmluZGV4IGZlZDg2
ZDk2YzViZWI2ODAyNDVlMDZkZjRkMzMzMzY3YzNmMjFjMzcuLmRiN2YzMjE3ZGU1YTRlMTAxNzgw
MWM5YWQyMzJkYzU3Yjg0OWQwYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5n
IG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMHgxMDAn
Owogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcweDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMud2lkdGgsIDI1NiwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIyNTYiKTsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDI1NiwgIm9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQiLCAiMjU2Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtlci5q
cwppbmRleCA3NmI5NzYzZTcxNGM1NWFkYjU0NTZkYTg0ODA1MmViMjdiZDU5NWUzLi4wYzNkOWI5
MjQ0ZDZlYTEzODEyOGZjNTczNWYyZGE3ZjRjODU5OTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRl
Z2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzB4
MTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMHgxMDAnOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAyNTYsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMjU2Iik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAyNTYsICJvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0IiwgIjI1NiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCmlu
ZGV4IDZhMjk4ODcxOGM4ZjZkZTNjMDljMzgwYzdkM2Q4YzFhOWI2OTU3NTUuLjBhOTUzNDI4YjY1
NjZjOTBjNjc0Njc0MDIyMDYwYmRjYjIwMTIwNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFy
c2UuanVuazwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuazwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdh
dGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndp
ZHRoID0gJyMhPyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyMhPyc7CiBfYXNzZXJ0U2Ft
ZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIx
MDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUwLCAib2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5r
Lndvcmtlci5qcwppbmRleCA5NjMwMWUyZThhNmIwNGMzOGY1MGUyMzM0NWI0NTY3ZWQ3NTg5OWY3
Li5jNTZlNzZkMTEyOGViNWM3NmRjMTQ4NTRjZWYzY2YyZGNiYjFkNzQ1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
anVuay53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5l
Z2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMu
d2lkdGggPSAnIyE/JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnIyE/JzsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwg
IjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMu
aHRtbAppbmRleCBjNDk4MWFhMGNhMWMyZjVlYzEyMTdhODdmNTdjMmIwMGY0Yzk0NmQyLi5kNWFi
ODAwZjg5ZDBhN2U4Zjk0MTc4MDFiNTYyMzdlNGE5OWE1YzRiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJp
YnV0ZXMucGFyc2UubWludXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPSAnLTEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJy0xMDAn
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1
MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5taW51cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcwppbmRleCA4MmE0ZGU0N2QxODYwODU3YWFkZWE2NDE5
ODIxNTlkYjNmZmM3ZGJlLi5mNWM4ZWUyNzM3YmM1YjQ5YzJkZWQ3N2E3ODE3OGNlZTRhNGY0ZGFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLm1pbnVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLm1pbnVzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICctMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PSAnLTEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnBhcnNlLm9jdGFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLm9jdGFsLmh0bWwKaW5kZXggZmQ2ZWRkNTdlNDg1OTdlMWY3N2E5MzBmNWI2
N2YyYTI3ZDQ5MTJjZS4uZmZlN2RmMzkwNzE2YjU1MTM4YjA0NjQzYjY2YzM1OTU3MzYzZjJkMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5vY3RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2Uub2N0YWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRl
cy5wYXJzZS5vY3RhbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRp
dmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzAxMDAnOwogb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9ICcwMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwg
MTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5vY3RhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcwppbmRleCAwYzNi
YmMxNzVmMDA0YmNkYzA2NmFhOTkxYTMzNTQxYzFiNjY3Y2QyLi42ZTBhN2IwZjgwMGIzOWViZTRi
MjM3NjZlMDEyZTA2OWUzZDYwNDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcwMTAwJzsKIG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRT
YW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQi
LCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1sCmlu
ZGV4IGNjZmE0MWRmNjM1ZWMzNjcyNTAyNTgwYWFmNDllOGRiY2QxZDBiYjguLjQyNGM3N2VjZDJk
YTA4ZjRlMDNlNmU2ZTYzNzU2OGM1NGI1Y2E3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLm9ubHlzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNw
YWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vy
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnICAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICcgICc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVl
bkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQsIDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMKaW5kZXggZWM1MjYxOWNkZDUy
ZmMxMmU4MjBlZmZiMjViMmRmYzllMTRiZDc0Ny4uMTQ4NjBiZGM2YzdjOTA2YWRmMjk2N2EyN2Zj
ODdhZjU1YWE5NWRlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgICc7CiBvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53
aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKaW5kZXggMTQ0NjM1
NjBjNTBiNTVkYWMzMjgyYTc2OGE0OWNiOWJmNjI1ZGYyMi4uNGU5OGQ3ODcxY2EwMjEwY2EwZmQz
OTFlY2VjY2UxZTcxMWQxZTBmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5w
ZXJjZW50PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5l
Z2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMu
d2lkdGggPSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCUnOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgi
LCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNl
bnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5wZXJjZW50Lndvcmtlci5qcwppbmRleCA4M2ZkYTdiOTRhM2MzNGRiODZkYTJmYWU5Yjhk
ZTNkZmI1NmE0ZmExLi42ZTJiOTk1NDMzZjUzZjU0NDBhNDhjMzFlZDZkY2I4MzMyZjI5YzE2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnBlcmNlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UucGVyY2VudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBA
QCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwJSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID0gJzEwMCUnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZz
Y3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLnBsdXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UucGx1cy5odG1sCmluZGV4IGM0YmMwMjk5NTkwZTUyZjk0ZTE4MzBmYzIw
YmQ4Y2M4NzAyOWRhZWYuLjk5YjMxNTVlODU4YzRiNWVmNDNlNTYyNjA1NjI4ZWJkZTk2NGZjMGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UucGx1cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UucGx1cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMu
cGFyc2UucGx1czwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUg
aW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJysxMDAnOwogb2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCA9ICcrMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAw
LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1cy53b3JrZXIuanMKaW5kZXggZGVlMTA0MTI4
MDlhYzFhYTNiYTBmMjk1NmIwNzc2ZDIxMDNhNGVlOC4uZGE3MTY2NDFmZjc1ODc3ZWUyY2IxMmI5
Y2UyMGVhYjY3MDNhMzgyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3Np
emUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJysxMDAnOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9ICcrMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0
aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sCmluZGV4IDFiYmZkZWEzY2Rl
ZDY4ZTVmZDc4YjcwZjk0YTZhMmI1ZjdiNzM4YjQuLjIwMGYwMjhkY2M3ZjhkZTg4YmNlMWU0NjQy
YjAwNmYyMmY0Y2JhNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT5zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNp
bmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdl
cnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgIDEw
MCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndv
cmtlci5qcwppbmRleCBhMGRhOWNlOGQwMWEyMjFhMWQyNDE4ODg4YjY5OTk1MWEwNWMwNWIxLi44
MTJiMjUwM2FlMWMxMDY3ZjVlY2I5MjhjZDc2YmEzZTgxNTI1YjdiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNw
YWNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9ICcgIDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJyAgMTAwJzsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRo
IiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFp
bGluZ2p1bmsuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UudHJhaWxpbmdqdW5rLmh0bWwKaW5kZXggZjY4ZTBmYTk0YzQ5NzFkZTRkZGQ0NGViZDRj
NDA1NjM5OTU3ZmMzMy4uMzc2OTQ0OGRlM2NkZWZmODNmMDBhNzhhYTEyYmY4YzRmZDYxN2QwMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS50cmFpbGluZ2p1bmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5r
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bms8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9ICcxMDAjIT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAjIT8nOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lk
dGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRy
YWlsaW5nanVuay53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay53b3JrZXIuanMKaW5kZXggOGUzZmQ1NjlmNzQ3NjFh
Y2Y2ZjNkZWMyMThhYTNjNzAzNmUzODlkMy4uMmIzZTBkYjVhMmI0MTU4ZWEzNWVhZGNhMjZjZGY0
Y2UyMmY4ZTg3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAjIT8n
Owogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcxMDAjIT8nOwogX2Fzc2VydFNhbWUob2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBf
YXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2UuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFj
ZS5odG1sCmluZGV4IDMwNDZmM2QwMTI3ZjZlZDU2NzI4MGQwNTczNzE5YTA1NjUxNDYwZjIuLjAw
ZWY5Y2Y0MWQ5MWNjODRlM2NkNWVlYjQ2YjJlNzA5MzIzMjYzZjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hp
dGVzcGFjZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiBzaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMu
cGFyc2Uud2hpdGVzcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJwkMMTAwJzsKIG9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQgPSAnCQwxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndp
ZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEw
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLndvcmtl
ci5qcwppbmRleCA1ZTUyNjFkNjA3NjYwZWFiZTdjY2M2ODk4YjE1NzU1OTBlMzQ2OWM3Li5mNDZi
ZWIzZjVlNTUzODIzZWUwZGVkNzE1MzJmNDg0ZjdmMWZmZGZlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
d2hpdGVzcGFjZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Yg
bm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSAnCQwxMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcJDDEwMCc7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEw
MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS56ZXJvLmh0bWwKaW5kZXggNGMzNThjMGJiYTc4MWE2OWIzNDk0OGQzYzEwODk1OGQ5M2Y4
OTFmMy4uMDNiMjBlZWNkMGM0NWNjMmI5ODJiNzc3OTg5MjZhYjk0M2M1YzgwYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJvLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56
ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNp
emUuYXR0cmlidXRlcy5wYXJzZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJv
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vyczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBh
cnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBv
ZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzAn
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJv
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UuemVyby53b3JrZXIuanMKaW5kZXggZjNkZWI0ODVjYjQ4M2MyNzNhY2JiZTQ4MTQwYjFmMTYz
MTQ1ZWJmZC4uMjZlZWI5ODI2ZGU1MmYyNDM5ODk0YTRlMWRlYTZlOWMzODAwMTgxZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS56ZXJv
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9m
IG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVu
Q2FudmFzLndpZHRoID0gJzAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcwJzsKIF9hc3Nl
cnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIs
ICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRp
ZGwuaHRtbAppbmRleCBiMWZjOWI5YjgzODhkZmNiYjEzMzc1ZTgyOGFhMTEzZGE5ZmJiMDZiLi4w
MDA0OTU4NDQxNjcyMzczNWNkMTU1ZWNlZmMyOTY1ZDUzNmY3NTI0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNl
dGlkbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBz
aXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnJlZmxl
Y3Quc2V0aWRsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIElETCBhdHRyaWJ1dGVzIHVw
ZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIElETCBhdHRyaWJ1dGVzIHVw
ZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEyMDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSA2
MDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTIwLCAib2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoIiwgIjEyMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwg
NjAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjYwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVm
bGVjdC5zZXRpZGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKaW5kZXggZWIyYTQyODgxMTgzZjRiNmYx
YmMyZmY2YmZmNGZkYWQ1YTcwYzE2Ny4uNzU4MDE1ZjQzZmIyZGFmZWZmMTE3Y2NkZWU3ZmExNTg0
ZDQ2OTEzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBkYXRlcyBJREwgYW5kIGNvbnRl
bnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndp
ZHRoID0gMTIwOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDYwOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLndpZHRoLCAxMjAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTIwIik7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA2MCwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiNjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRp
ZGx6ZXJvLmh0bWwKaW5kZXggOWZmZGI2NzcyNzAwNjUzYzYwZDA4YWZjNDgxNDRlODNjMWYxZTli
OC4uZTg4YTI0MWU0MjFiMzBhY2IzZmNmY2U1MGJkYTE3OTBkMDRlMDdjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHpl
cm8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJl
ZmxlY3Quc2V0aWRsemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUu
YXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRp
bmcgSURMIGF0dHJpYnV0ZXMgdG8gMCB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1dGVz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
U2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJp
YnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDA7
CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gMDsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy53aWR0aCwgMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndvcmtl
ci5qcwppbmRleCA4NzNmYzk0MjJiNGI5MGUwZTc2MjBmYTQwZDY2OTljYzcwMTZhMGQyLi44M2Zk
ZDYwZDY0OGQ4ZmI2ODcyN2RkZDIzYTI0ZjliMjBlOTg5NzVhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZs
ZWN0LnNldGlkbHplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5n
IElETCBhdHRyaWJ1dGVzIHRvIDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsKIG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRo
LCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
bGFyZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLmh0bWwKaW5k
ZXggYTIyYzE3ZGZjMTRiY2E1MGEwMmM3ODE5NzMwZjcwMjk0NmEzNTZjOS4uNGZjYWQ0YWI1M2Vk
MTRjYTIxMzI0MzdkOWUyMTQ0MmNiYmQzYzc5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUubGFyZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5sYXJnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiBzaXplLmxhcmdlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUubGFyZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPk5vdCBzdXJlIGhvdyByZWFz
b25hYmxlIHRoaXMgaXMsIGJ1dCB0aGUgc3BlYyBkb2Vzbid0IHNheSB0aGVyZSdzIGFuIHVwcGVy
IGxpbWl0IG9uIHRoZSBzaXplLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSBuOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9IG47CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIG4s
ICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAibiIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCwgbiwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAibiIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJn
ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53b3JrZXIu
anMKaW5kZXggNzk3ZjRhYjdhMWRkZWZiNDIzMGVhMTNlMDRiNWFkMTQ3NzdmYTFiOS4uYzJhMDU4
MTYwN2ZjZTMxODc4ZjUyMTBhYmQ0ZGU4ZDQ2NzQ5NDJmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OjxwIGNsYXNzPSJub3RlcyI+Tm90IHN1cmUgaG93IHJlYXNvbmFibGUgdGhpcyBpcywgYnV0IHRo
ZSBzcGVjIGRvZXNuJ3Qgc2F5IHRoZXJlJ3MgYW4gdXBwZXIgbGltaXQgb24gdGhlIHNpemUuCiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IG47CiBvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0ID0gbjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwg
biwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICJuIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0LCBuLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICJuIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZW1wbGF0ZXMueWFtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
b29scy90ZW1wbGF0ZXMueWFtbAppbmRleCBlNjZmMTdkZWRkN2FlMjQ1ZDRlZDdkZWM4ZDM2Nzdh
MTRkMTQ3MjVkLi4xNWQzNzIzOWNkY2Q1Mzg4OTZlMmNhZTA4N2Q5OGRhOGI1M2I2ZTdmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdG9vbHMvdGVtcGxhdGVzLnlhbWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBsYXRl
cy55YW1sCkBAIC0xLDEwICsxLDEwIEBACiB3M2M6IHwKICAgICA8IURPQ1RZUEUgaHRtbD4KICAg
ICA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xz
L2dlbnRlc3QucHkuIC0tPgotICAgIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogJShuYW1l
KXM8L3RpdGxlPgorICAgIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogJShuYW1lKXM8L3Rp
dGxlPiUodGltZW91dClzCiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiAgICAgPGgxPiUobmFtZSlzPC9oMT4KICAgICA8cCBj
bGFzcz0iZGVzYyI+JShkZXNjKXM8L3A+CkBAIC0xMiwxNCArMTIsMTYgQEAgdzNjOiB8CiAgICAg
JShub3RlcylzCiAgICAgPHNjcmlwdD4KICAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIiUoZXNjYXBl
ZF9kZXNjKXMiKTsKKyAgICB2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7CisgICAgdmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgICAgICB0aHJvdyByZWFz
b247CisgICAgfSk7CiAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgewogCiAgICAgdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiAgICAgJShjb2RlKXMKLSAgICB0LmRv
bmUoKTsKLQogICAgIH0pOwogICAgIDwvc2NyaXB0PgogCkBAIC0zMSwxNiArMzMsMTggQEAgdzNj
d29ya2VyOiB8CiAgICAgLy8gTm90ZTolKG5vdGVzKXMKIAogICAgIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLSAgICBpbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworICAgIGltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiAgICAgdmFyIHQgPSBhc3luY190ZXN0KCIlKGVzY2FwZWRf
ZGVzYylzIik7CisgICAgdmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOworICAgIHZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICAgICAgdGhyb3cgcmVhc29u
OworICAgIH0pOwogICAgIHQuc3RlcChmdW5jdGlvbigpIHsKIAogICAgIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogICAgICUoY29kZSlzCi0gICAgdC5kb25l
KCk7Ci0KICAgICB9KTsKICAgICBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVzdHMy
ZC55YW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3Rvb2xzL3Rlc3RzMmQueWFtbAppbmRleCBhYTgyMDcxZmY4YTcwYmNlZTVi
NDVhMWQzZWI4NTRhMjg2NDliYmY3Li42NjYyNjY4ZjM3Mzk3MTQ1ZTkzZWVlNTFlMGU0YmU4MGYx
NzAyNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVzdHMyZC55YW1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29s
cy90ZXN0czJkLnlhbWwKQEAgLTM0LDYgKzM0LDcgQEAKICAgICBjdHguc2F2ZSgpOwogICAgIEBh
c3NlcnQgY3R4LiUoa2V5KXMgPT09IG9sZDsKICAgICBjdHgucmVzdG9yZSgpOworICAgIHQuZG9u
ZSgpOwogICAgICIiIiAlIHsgJ2tleSc6a2V5LCAndmFsdWUnOnZhbHVlIH0KICAgICAgICAgfSAp
CiAKQEAgLTUxLDcgKzUyLDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiAg
ICAgQGFzc2VydCBjdHguJShrZXkpcyA9PT0gZGVmYXVsdF92YWw7CiAgICAgIiIiICUgeyAna2V5
JzprZXksICd2YWx1ZSc6dmFsdWUgfQotICAgICAgICBmb3Iga2V5LHZhbHVlIGluIHN0YXRlKSwK
KyAgICAgICAgZm9yIGtleSx2YWx1ZSBpbiBzdGF0ZSkgKyAiXG50LmRvbmUoKTsiLAogICAgIH0g
KQogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uCkBAIC02Nyw2
ICs2OCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
LTIwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwCiAg
IGRlc2M6IHNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY2xpcHBpbmcgcGF0aApAQCAtODIs
NiArODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aAogICBk
ZXNjOiBzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoCkBA
IC05Niw2ICs5OSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwCiAgIGRlc2M6IHNhdmUo
KS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IGJpdG1hcApAQCAtMTA5LDYg
KzExMyw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5yZXN0
b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjawogICBkZXNjOiBzYXZl
KCkvcmVzdG9yZSgpIGNhbiBiZSBuZXN0ZWQgYXMgYSBzdGFjawpAQCAtMTI2LDYgKzEzMSw3IEBA
CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAyOwogICAgIGN0eC5yZXN0b3JlKCk7CiAg
ICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAxOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGgKICAgZGVzYzogc2F2ZSgpL3Jlc3RvcmUo
KSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5IGxpbWl0ZWQKQEAgLTE0NCw2ICsxNTAs
NyBAQAogICAgICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IGk7CiAgICAgICAgIGN0eC5y
ZXN0b3JlKCk7CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnVuZGVyZmxvdwogICBkZXNjOiByZXN0b3JlKCkgd2l0aCBhbiBlbXB0eSBzdGFjayBo
YXMgbm8gZWZmZWN0CkBAIC0xNTUsNiArMTYyLDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gMC41
OwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAwLjU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ub3JkZXIKICAgZGVz
YzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlcgpAQCAtMTY4
LDYgKzE3Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgLTUwLCA1MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFz
aWMKICAgZGVzYzogc2NhbGUoKSB3b3JrcwpAQCAtMTgwLDYgKzE4OSw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDEyLjUpOwogICAg
IEBhc3NlcnQgcGl4ZWwgOTAsNDAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVybwogICBkZXNjOiBzY2FsZSgpIHdpdGgg
YSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3JrcwpAQCAtMjAxLDYgKzIxMSw3IEBACiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZQogICBkZXNjOiBzY2FsZSgpIHdpdGggbmVn
YXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcwpAQCAtMjIxLDYgKzIzMiw3IEBACiAgICAgY3R4LnJl
c3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UKICAgZGVzYzogc2NhbGUoKSB3aXRoIGxh
cmdlIHNjYWxlIGZhY3RvcnMgd29ya3MKQEAgLTIzNCw2ICsyNDYsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlCiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBJ
bmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMjQ3LDYgKzI2MCw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlCiAgIGRlc2M6IE11bHRpcGxl
IHNjYWxlKClzIGNvbWJpbmUKQEAgLTI2MCw2ICsyNzQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiAgICAgQGFzc2VydCBw
aXhlbCA5MCw0MCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvCkBAIC0yNzMsNiArMjg4LDcgQEAKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zCiAgIGRlc2M6IHJvdGF0ZSgp
IHVzZXMgcmFkaWFucwpAQCAtMjg1LDYgKzMwMSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24KICAgZGVzYzogcm90YXRlKCkgaXMgY2xv
Y2t3aXNlCkBAIC0yOTcsNiArMzE0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS53cmFwCiAgIGRlc2M6IHJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZl
IHZhbHVlcyBjb3JyZWN0bHkKQEAgLTMxNCw2ICszMzIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZQogICBk
ZXNjOiByb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29ycmVjdGx5CkBAIC0z
MjgsNiArMzQ3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUKICAgZGVzYzogcm90YXRlKCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZApAQCAtMzQxLDYgKzM2MSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5iYXNpYwogICBkZXNjOiB0cmFuc2xhdGUoKSB3
b3JrcwpAQCAtMzUzLDYgKzM3NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAg
ICBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDkw
LDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUKICAgZGVzYzogdHJhbnNsYXRlKCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzY2LDYgKzM4OCw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0g
bmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5CkBAIC0zNzksNiArNDAy
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQK
ICAgZGVzYzogdHJhbnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0
bHkKQEAgLTQxMyw2ICs0MzcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjEsMTkgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAzOSwzMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDYxLDMxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseQogICBkZXNjOiB0cmFuc2Zvcm0o
KSBtdWx0aXBsaWVzIHRoZSBDVE0KQEAgLTQyNiw2ICs0NTEsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZQogICBkZXNjOiB0cmFuc2Zvcm0o
KSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC00MzksNiArNDY1LDcgQEAKICAgICBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwg
NTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkCkBA
IC00NzMsNiArNTAwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDYxLDE5ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMzksMzEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA2MSwzMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50
cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUKICAgdGVzdGluZzoKQEAgLTQ4NSw2
ICs1MTMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDUwLCAyNSk7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0u
bm9uZmluaXRlCiAgIGRlc2M6IHNldFRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQKQEAgLTQ5OCw2ICs1MjcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEucmFuZ2UKICAgdGVzdGluZzoKQEAgLTUxMyw2ICs1NDMsNyBAQAogICAg
IEBhc3NlcnQgY3R4Lmdsb2JhbEFscGhhID09PSAwOwogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDE7
CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTUy
NiwxMiArNTU3LDE0IEBACiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IGE7CiAgICAg
Y3R4Lmdsb2JhbEFscGhhID0gTmFOOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbEFscGhhID09PSBh
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZh
dWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdAog
ICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IDEuMDsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbAogICB0ZXN0aW5n
OgpAQCAtNTQzLDYgKzU3Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4g
MiwyNTMsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2Jh
bEFscGhhLmltYWdlCiAgIHRlc3Rpbmc6CkBAIC01NjMsNyArNTk3LDcgQEAKICAgICBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDIsMjUzLDAsMjU1Owot
ICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMKICAgdGVzdGluZzoKQEAgLTU3OCw2ICs2MTIsNyBAQAog
ICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9
MCBvcHRpbWlzYXRpb25zCiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuCiAgIHRl
c3Rpbmc6CkBAIC01OTksNyArNjM0LDcgQEAKICAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4w
MTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKICAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09fiAyLDI1MywwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
IAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybgogICB0ZXN0
aW5nOgpAQCAtNjE1LDYgKzY1MCw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8g
YXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMiwyNTMsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNh
bnZhc2NvcHkKICAgdGVzdGluZzoKQEAgLTYzMCw2ICs2NjYsNyBAQAogICAgIGN0eC5nbG9iYWxB
bHBoYSA9IDAuNTE7CiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDEzMDsKKyAgICB0LmRvbmUoKTsK
IAogCiAtIG1ldGE6IHwKQEAgLTcwMCw2ICs3MzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSVzJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRlc3Qs
IG9wLCBzcmMsIHRvX3Rlc3QoZXhwZWN0ZWQpKSwKICAgICAgICAgICAgIH0gKQogCkBAIC03MjYs
NyArNzY0LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAg
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZCkpLAogICAgICAgICAgICAg
fSApCiAKQEAgLTc1Niw3ICs3OTQsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJyVzJzsKICAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAw
LCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7
CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190
ZXN0KGV4cGVjdGVkKSksCiAgICAgICAgICAgICB9ICkKIApAQCAtNzY0LDcgKzgwMiw3IEBACiAg
ICAgICAgIGZvciBvcCwgRkFfY29kZSwgRkJfY29kZSBpbiBvcHM6CiAgICAgICAgICAgICBpZiBv
cCBub3QgaW4gb3BzX3RyYW5zOiBjb250aW51ZQogICAgICAgICAgICAgZXhwZWN0ZWQwID0gY2Fs
Y19vdXRwdXQoKDAsMCwwLDAuMCksIGRlc3QsIEZBX2NvZGUsIEZCX2NvZGUpCi0gICAgICAgICAg
ICB0ZXN0cy5hcHBlbmQoIHsKKyAgICAgICAgICAgIG5ld190ZXN0ID0gewogICAgICAgICAgICAg
ICAgICduYW1lJzogJzJkLmNvbXBvc2l0ZS4lcy4lcycgJSAobmFtZSwgb3ApLAogICAgICAgICAg
ICAgICAgICdkZXNjJzogJ2ZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNv
dXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1
bmNoYW5nZWQuJywKICAgICAgICAgICAgICAgICAndGVzdGluZyc6IFsgJzJkLmNvbXBvc2l0ZS4l
cycgJSBvcCBdLApAQCAtNzc2LDggKzgxNCwxMiBAQAogICAgIGN0eC50cmFuc2xhdGUoMCwgMjUp
OwogICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCBz
cmMsIHRvX3Rlc3QoZXhwZWN0ZWQwKSksCi0gICAgICAgICAgICB9ICkKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGlmIG9wID09ICdkZXN0aW5hdGlvbi1pbic6CisgICAgICAgICAgICAgIG5l
d190ZXN0Wyd0aW1lb3V0J10gPSAnbG9uZycKKyAgICAgICAgICAgIHRlc3RzLmFwcGVuZChuZXdf
dGVzdCkKIAogICAgIGZvciAobmFtZSwgc3JjLCBkZXN0KSBpbiBbICgndW5jb3ZlcmVkLmltYWdl
JywgKDI1NSwgMjU1LCAwLCAxLjApLCAoMCwgMjU1LCAyNTUsIDAuNSkpIF06CiAgICAgICAgIGZv
ciBvcCwgRkFfY29kZSwgRkJfY29kZSBpbiBvcHM6CkBAIC04MDUsNyArODQ3LDcgQEAKICAgICAg
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEw
KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxNSwxNSA9PX4gJXMgKy8tIDU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDApLCB0
b190ZXN0KGV4cGVjdGVkMCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTgyNCw2ICs4NjYsNyBA
QAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OworICAgIHQuZG9uZSgpOwogICAgICIiIiAlIChk
ZXN0LCBvcCwgdG9fdGVzdChleHBlY3RlZDApKSwKICAgICAgICAgICAgIH0gKQogCkBAIC04NTMs
NyArODk2LDcgQEAKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJl
c3BvbnNlLCAnbm8tcmVwZWF0Jyk7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1
MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+ICVzICsvLSA1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICAgICIiIiAlIChkZXN0LCBvcCwgdG9fdGVz
dChleHBlY3RlZDApKSwKICAgICAgICAgICAgIH0gKQogCkBAIC04NzIsNiArOTE1LDcgQEAKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAgICAgIiIiICUgKG9wKSwKICAgICAgICAgfSApCiAKQEAgLTg4Nyw2ICs5
MzEsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gbW9kZXNbaV07
CiAgICAgICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gbW9kZXNb
aV07CiAgICAgfQorICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24udW5yZWNvZ25pc2VkCiAgIHRlc3Rpbmc6CkBAIC04OTUsNiArOTQwLDcgQEAKICAgICBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdub25leGlzdGVudCc7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21w
b3NpdGUub3BlcmF0aW9uLmRhcmtlcgogICB0ZXN0aW5nOgpAQCAtOTAzLDYgKzk0OSw3IEBACiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGFya2VyJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24ub3ZlcgogICB0ZXN0aW5nOgpAQCAtOTExLDYgKzk1OCw3IEBACiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogICAgIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnb3Zlcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21w
b3NpdGUub3BlcmF0aW9uLmNsZWFyCiAgIHRlc3Rpbmc6CkBAIC05MTksNiArOTY3LDcgQEAKICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdjbGVhcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID09PSAnY2xlYXInOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0CiAgIHRlc3Rpbmc6CkBAIC05MjcsNiArOTc2LDcg
QEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdoaWdobGlnaHQnOwogICAgIEBhc3NlcnQgY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4CiAgIHRlc3Rpbmc6CkBAIC05MzUs
NiArOTg1LDcgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3ZlclwwJzsKICAgICBA
YXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZQogICB0
ZXN0aW5nOgpAQCAtOTQzLDEyICs5OTQsMTQgQEAKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdTb3Vy
Y2Utb3Zlcic7CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAn
eG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLmRl
ZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdAog
ICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAn
c291cmNlLW92ZXInOworICAgIHQuZG9uZSgpOwogCiAtIG1ldGE6IHwKICAgICAjIENvbG91ciBw
YXJzaW5nIHRlc3RzCkBAIC0xMDQ5LDYgKzExMDIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
JXMnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09ICVkLCVkLCVkLCVkOworICAgIHQuZG9uZSgpOwogICAgICIiIiAlIChzdHJpbmcs
IHIsZyxiLGEpLAogICAgICAgICB9CiAgICAgICAgIHRlc3RzLmFwcGVuZCh0ZXN0KQpAQCAtMTEx
Myw2ICsxMTY3LDcgQEAKICAgICB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyVzJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKICAgICAiIiIg
JSBzdHJpbmcsCiAgICAgICAgIH0KICAgICAgICAgdGVzdHMuYXBwZW5kKHRlc3QpCkBAIC0xMTI5
LDYgKzExODQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICclcyc7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID1+IC9eIyg/IShGRjAwMDB8
ZmYwMDAwfGYwMCkkKS87IC8vIHRlc3QgdGhhdCBpdCdzIG5vdCByZWQKKyAgICB0LmRvbmUoKTsK
ICAgICAiIiIgJSAoc3RyaW5nLCksCiAgICAgICAgIH0KICAgICAgICAgdGVzdHMuYXBwZW5kKHRl
c3QpCkBAIC0xMTQzLDYgKzExOTksNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnaW52YWxpZCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFN0eWxl
LmludmFsaWR0eXBlCiAgIHRlc3Rpbmc6CkBAIC0xMTU0LDYgKzEyMTEsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSBudWxsOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmZpbGxTdHlsZS5nZXQuc29saWQKICAgdGVzdGluZzoKQEAgLTExNjIsNiArMTIyMCw3
IEBACiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmYTAnOwogICAgIEBhc3NlcnQg
Y3R4LmZpbGxTdHlsZSA9PT0gJyNmZmFhMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFyZW50CiAgIHRlc3Rpbmc6CkBAIC0xMTcwLDYgKzEy
MjksNyBAQAogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1
LDAuNDUpJzsKICAgICBAYXNzZXJ0IGN0eC5maWxsU3R5bGUgPX4gL15yZ2JhXCgyNTUsIDI1NSwg
MjU1LCAwXC40XGQrXCkkLzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsU3R5bGUu
Z2V0LnRyYW5zcGFyZW50CiAgIHRlc3Rpbmc6CkBAIC0xMTc4LDE4ICsxMjM4LDIxIEBACiAgIGNv
ZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMCknOwogICAgIEBhc3NlcnQg
Y3R4LmZpbGxTdHlsZSA9PT0gJ3JnYmEoMCwgMCwgMCwgMCknOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmZpbGxTdHlsZS5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5jb2xvdXJz
LmRlZmF1bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LmZpbGxTdHlsZSA9PT0gJyMwMDAw
MDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVN0eWxlLmRlZmF1bHQKICAg
dGVzdGluZzoKICAgICAtIDJkLmNvbG91cnMuZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2Vy
dCBjdHguc3Ryb2tlU3R5bGUgPT09ICcjMDAwMDAwJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZAogICB0ZXN0aW5nOgpAQCAtMTIwMSw2ICsx
MjY0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIKICAgdGVz
dGluZzoKQEAgLTEyMTQsNiArMTI3OCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4g
MTkxLDE5MSw2MywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDEy
NywxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDYzLDYzLDE5MSwy
NTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUuYWxwaGEKICAgdGVzdGluZzoKQEAgLTEyMjksNiArMTI5NCw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCAyNSwyNSA9PX4gMTkxLDE5MSw2MywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PX4gMTI3LDEyNywxMjcsMjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT1+IDYzLDYzLDE5MSwyNTUgKy8tIDM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEKICAgdGVzdGluZzoKQEAgLTEyNDIsNiArMTMw
OCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMTkwLDE5MCw2NSw2NSArLy0gMzsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjYsMTI2LDEyOCwxMjggKy8tIDM7CiAgICAg
QGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gNjIsNjIsMTkyLDE5MiArLy0gMzsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlCiAgIHRlc3Rpbmc6
CkBAIC0xMjU4LDYgKzEzMjUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjUgPT1+IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgODAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwKICAgdGVzdGluZzoKQEAg
LTEyNzIsNiArMTM0MCw3IEBACiAgICAgY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9r
ZQogICB0ZXN0aW5nOgpAQCAtMTI5NCw2ICsxMzYzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDE5
LDIxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjEgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMSwyMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdAog
ICB0ZXN0aW5nOgpAQCAtMTMwNyw2ICsxMzc3LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA0MCwy
MCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdAogICB0ZXN0aW5nOgpAQCAt
MTMyOCw2ICsxMzk5LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDE5LDIxID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAyMSwyMSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJk
LmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsCkBAIC0xMzQyLDYgKzE0MTQsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMTIgPT1+IDE5MSwxOTEsNjMsMjU1ICsvLSAxMDsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3LDEyNywyNTUgKy8tIDU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwzNyA9PX4gNjMsNjMsMTkxLDI1NSArLy0gMTA7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUKICAgdGVzdGluZzoKQEAgLTEz
NTcsNiArMTQzMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDI1NSwxMjcs
MjU1ICsvLSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTAwLDI1ID09fiAwLDI1NSwyNTUsMjU1ICsv
LSAzOwogICAgIEBhc3NlcnQgcGl4ZWwgMTUwLDI1ID09fiAxMjcsMTI3LDI1NSwyNTUgKy8tIDM7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zlcmxh
cAogICB0ZXN0aW5nOgpAQCAtMTM4OCw2ICsxNDYyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEw
MSwyNSA9PX4gMjU1LDI1NSwwLDI1NSArLy0gMTY7CiAgICAgQGFzc2VydCBwaXhlbCAxNDksMjUg
PT1+IDAsMCwyNTUsMjU1ICsvLSAxNjsKICAgICBAYXNzZXJ0IHBpeGVsIDE1MSwyNSA9PX4gMjU1
LDI1NSwwLDI1NSArLy0gMTY7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUub3ZlcmxhcDIKICAgdGVzdGluZzoKQEAgLTE0MDksNiArMTQ4NCw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA0MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDYwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuZW1wdHkKICAgdGVz
dGluZzoKQEAgLTE0MjAsNiArMTQ5Niw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IGc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lm9iamVj
dC51cGRhdGUKICAgdGVzdGluZzoKQEAgLTE0MzMsNiArMTUxMCw3IEBACiAgICAgZy5hZGRDb2xv
clN0b3AoMC45LCAnIzBmMCcpOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZQogICB0ZXN0aW5nOgpAQCAtMTQ0Myw2
ICsxNTIxLDcgQEAKICAgICBAYXNzZXJ0IGcxICE9PSBnMjsKICAgICBjdHguZmlsbFN0eWxlID0g
ZzE7CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09PSBnMTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMKICAgY29kZTogfApAQCAtMTQ1
NSw2ICsxNTM0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRvZmZz
ZXQKICAgdGVzdGluZzoKQEAgLTE0NjYsNiArMTU0Niw3IEBACiAgICAgQGFzc2VydCB0aHJvd3Mg
VHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKEluZmluaXR5LCAnIzAwMCcpOwogICAgIEBhc3NlcnQg
dGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgtSW5maW5pdHksICcjMDAwJyk7CiAgICAg
QGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKE5hTiwgJyMwMDAnKTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91cgog
ICB0ZXN0aW5nOgpAQCAtMTQ3Nyw2ICsxNTU4LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBTWU5U
QVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsICd1bmRlZmluZWQnKTsKICAgICBAYXNzZXJ0IHRocm93
cyBTWU5UQVhfRVJSIGcuYWRkQ29sb3JTdG9wKDAsIG51bGwpOwogICAgIEBhc3NlcnQgdGhyb3dz
IFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0b3AoMCwgdW5kZWZpbmVkKTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlCiAgIGRlc2M6IGNyZWF0ZUxp
bmVhckdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5p
dGUKQEAgLTE0ODQsNiArMTU2Niw3IEBACiAgICAgLSAyZC5ncmFkaWVudC5saW5lYXIubm9uZmlu
aXRlCiAgIGNvZGU6IHwKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBj
dHguY3JlYXRlTGluZWFyR3JhZGllbnQoPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIElu
ZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4pOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRp
ZW50LmxpbmVhci50cmFuc2Zvcm0uMQogICBkZXNjOiBMaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0
ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZp
bGxpbmcKQEAgLTE1MDEsNiArMTU4NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yCiAgIGRlc2M6IExpbmVhciBncmFk
aWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQg
dGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTUxOSw2ICsxNjAzLDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMKICAgZGVz
YzogTGluZWFyIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNh
Y2hpbmcgZWZmZWN0cwpAQCAtMTUzNyw2ICsxNjIyLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1
LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUKICAgZGVzYzogY3JlYXRl
UmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBp
cyBuZWdhdGl2ZQpAQCAtMTU0Niw2ICsxNjMyLDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBJTkRF
WF9TSVpFX0VSUiBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgMSk7
CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmNyZWF0ZVJhZGlhbEdyYWRp
ZW50KDAsIDAsIDEsIDAsIDAsIC0wLjEpOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVf
RVJSIGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsKKyAg
ICB0LmRvbmUoKTsKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZQogCiAgIGRl
c2M6IGNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMg
YXJlIG5vdCBmaW5pdGUKQEAgLTE1NTMsNiArMTY0MCw3IEBACiAgICAgLSAyZC5ncmFkaWVudC5y
YWRpYWwubm9uZmluaXRlCiAgIGNvZGU6IHwKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dz
IFR5cGVFcnJvciBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoPDAgSW5maW5pdHkgLUluZmluaXR5
IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkg
TmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBO
YU4+LCA8MSBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEKICAgdGVzdGluZzoKQEAgLTE1NzQsNiArMTY2
Miw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRp
YWwuaW5zaWRlMgogICB0ZXN0aW5nOgpAQCAtMTU5NSw2ICsxNjg0LDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzCiAgIHRlc3Rp
bmc6CkBAIC0xNjE3LDYgKzE3MDcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxCiAgIHRlc3Rpbmc6CkBAIC0xNjM4LDYgKzE3
MjksNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFk
aWFsLm91dHNpZGUyCiAgIHRlc3Rpbmc6CkBAIC0xNjU5LDYgKzE3NTEsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzCiAgIHRl
c3Rpbmc6CkBAIC0xNjgxLDYgKzE3NzQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMQogICB0ZXN0aW5nOgpAQCAtMTcwMiw2ICsx
Nzk2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9k
bwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAg
IEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIKICAgdGVzdGluZzoKQEAg
LTE3MjUsNiArMTgyMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5n
cmFkaWVudC5yYWRpYWwudG91Y2gzCiAgIHRlc3Rpbmc6CkBAIC0xNzQ2LDYgKzE4NDIsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFz
c2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBw
aXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsCiAgIHRlc3Rpbmc6CkBAIC0xNzY3LDYgKzE4
NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kCiAgIHRlc3Rpbmc6
CkBAIC0xNzg4LDYgKzE4ODYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsg
QG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10
b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJv
bnQKICAgdGVzdGluZzoKQEAgLTE4MDksNiArMTkwOCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAx
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20KICAgdGVzdGluZzoK
QEAgLTE4MzAsNiArMTkzMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AKICAgdGVzdGluZzoKQEAgLTE4NTEsNiArMTk1Miw3
IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS5iZXNpZGUKICAgdGVzdGluZzoKQEAgLTE4NzIsNiArMTk3NCw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4
ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlcgogICB0ZXN0aW5nOgpAQCAtMTg5Myw2ICsxOTk2
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLnNoYXBlMQogICB0ZXN0aW5nOgpAQCAtMTkyMSw2ICsyMDI1LDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMgog
ICB0ZXN0aW5nOgpAQCAtMTk0OSw2ICsyMDU0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEKICAgZGVz
YzogUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRp
bmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nCkBAIC0xOTY3LDYgKzIwNzMsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50cmFu
c2Zvcm0uMgogICBkZXNjOiBSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZl
IHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmcKQEAgLTE5ODYs
NiArMjA5Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGll
bnQucmFkaWFsLnRyYW5zZm9ybS4zCiAgIGRlc2M6IFJhZGlhbCBncmFkaWVudCB0cmFuc2Zvcm1z
IGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5nIGVmZmVjdHMKQEAgLTIwMDUsNiArMjEx
Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5iYXNp
Yy5pbWFnZQogICB0ZXN0aW5nOgpAQCAtMjAyOSw3ICsyMTM4LDcgQEAKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQu
cGF0dGVybi5iYXNpYy5jYW52YXMKICAgdGVzdGluZzoKQEAgLTIwNTMsNiArMjE2Miw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52
YXMKICAgdGVzdGluZzoKQEAgLTIwNzMsNiArMjE4Myw3IEBACiAgICAgQGFzc2VydCBvZmZzY3Jl
ZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0
ID09PSAwOwogICAgIEBhc3NlcnQgdGhyb3dzIElOVkFMSURfU1RBVEVfRVJSIGN0eC5jcmVhdGVQ
YXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0CiAgIHRlc3Rpbmc6CkBAIC0yMDg5LDI0ICsy
MjAwLDI4IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4uaW1h
Z2UudW5kZWZpbmVkCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLklETAogICBjb2RlOiB8
CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5jcmVhdGVQYXR0ZXJuKHVuZGVmaW5l
ZCwgJ3JlcGVhdCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4uaW1hZ2Uu
bnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5JREwKICAgY29kZTogfAogICAgIEBh
c3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlUGF0dGVybihudWxsLCAncmVwZWF0Jyk7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFnZS5zdHJpbmcKICAgdGVz
dGluZzoKICAgICAtIDJkLnBhdHRlcm4uSURMCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93
cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZVBhdHRlcm4oJy4uL2ltYWdlcy9yZWQucG5nJywgJ3JlcGVh
dCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5CiAg
IHRlc3Rpbmc6CkBAIC0yMTMxLDQzICsyMjQ2LDQ5IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAg
IH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4u
cmVwZWF0Lm51bGwKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2VkCiAg
IGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywg
bnVsbCkgIT0gbnVsbDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVh
dC51bmRlZmluZWQKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2VkCiAg
IGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJu
KG9mZnNjcmVlbkNhbnZhcywgdW5kZWZpbmVkKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRl
cm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJS
IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgImludmFsaWQiKTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsCiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLnVucmVjb2duaXNlZAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
ICJudWxsIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5yZXBlYXQuY2Fz
ZQogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi5leGFjdAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCB0aHJvd3MgU1lOVEFYX0VSUiBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
ICJSZXBlYXQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC5u
dWxsc3VmZml4CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLmV4YWN0CiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVl
bkNhbnZhcywgInJlcGVhdFwwIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVy
bi5tb2RpZnkuY2FudmFzMQogICB0ZXN0aW5nOgpAQCAtMjE4Niw2ICsyMzA3LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMgogICB0
ZXN0aW5nOgpAQCAtMjIwOCw2ICsyMzMwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0dGVybi5jcm9zc2NhbnZhcwogICBjb2RlOiB8CkBAIC0yMjI4LDcgKzIzNTEs
NyBAQAogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6
IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMKICAgdGVzdGluZzoKQEAgLTIyNTMsNyAr
MjM3Niw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZQog
ICB0ZXN0aW5nOgpAQCAtMjI4Myw3ICsyNDA2LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5w
YWludC5ub3JlcGVhdC5jb29yZDEKICAgdGVzdGluZzoKQEAgLTIzMTEsNyArMjQzNCw3IEBACiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4
ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyCiAgIHRlc3Rpbmc6CkBA
IC0yMzM5LDcgKzI0NjIsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0
LmNvb3JkMwogICB0ZXN0aW5nOgpAQCAtMjM2Nyw3ICsyNDkwLDcgQEAKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQu
cGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMKICAgdGVzdGluZzoKQEAgLTIzOTIsNyArMjUxNSw3
IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUKICAgdGVzdGlu
ZzoKQEAgLTI0MTgsNyArMjU0MSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0LmNvb3JkMQogICB0ZXN0aW5nOgpAQCAtMjQ0NCw3ICsyNTY3LDcgQEAKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyCiAgIHRlc3Rpbmc6CkBAIC0yNDY3LDcgKzI1
OTAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMKICAgdGVz
dGluZzoKQEAgLTI0OTIsNyArMjYxNSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0eC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjUxOSw3ICsyNjQyLDcgQEAKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwy
NTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFt
ZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUKICAgdGVzdGluZzoKQEAgLTI1NDYs
NyArMjY2OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEK
ICAgdGVzdGluZzoKQEAgLTI1NzYsNyArMjY5OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTgsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAg
ICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJu
LnBhaW50LnJlcGVhdHkuYmFzaWMKICAgdGVzdGluZzoKQEAgLTI2MDMsNyArMjcyNiw3IEBACiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4
ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlCiAgIHRlc3Rpbmc6CkBA
IC0yNjMwLDcgKzI3NTMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHku
Y29vcmQxCiAgIHRlc3Rpbmc6CkBAIC0yNjYyLDcgKzI3ODUsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwy
NTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQu
cGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5pbWFnZQogICBkZXNjOiBJbWFnZSBwYXR0ZXJucyBk
byBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkCkBAIC0yNjkzLDcgKzI4MTYsNyBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
LSBuYW1lOiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcwogICBkZXNjOiBDYW52
YXMgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZApAQCAtMjcxNyw2ICsy
ODQwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsCiAgIHRlc3Rpbmc6CkBAIC0yNzI0LDYgKzI4NDgsNyBA
QAogICAgIC0gMmQuc2hhZG93LmJsdXIuaW5pdGlhbAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBj
dHguc2hhZG93Qmx1ciA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkCiAgIHRlc3Rpbmc6CkBAIC0yNzM4LDYgKzI4NjMs
NyBAQAogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0JsdXIgPT09IDFlNjsKICAgICBjdHguc2hhZG93
Qmx1ciA9IDA7CiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0gMDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQKICAg
dGVzdGluZzoKQEAgLTI3NTUsNiArMjg4MSw3IEBACiAgICAgY3R4LnNoYWRvd0JsdXIgPSAxOwog
ICAgIGN0eC5zaGFkb3dCbHVyID0gTmFOOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd0JsdXIgPT09
IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LmluaXRpYWwKICAgdGVzdGluZzoKQEAgLTI3NjIsNiArMjg4OSw3IEBACiAgIGNvZGU6
IHwKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRYID09PSAwOwogICAgIEBhc3NlcnQgY3R4
LnNoYWRvd09mZnNldFkgPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkCiAgIHRlc3Rpbmc6CkBAIC0yNzg4LDYgKzI5
MTYsNyBAQAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gMWU2OwogICAgIEBhc3NlcnQgY3R4LnNo
YWRvd09mZnNldFggPT09IDFlNjsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRZID09PSAx
ZTY7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4MTEsMTIgKzI5NDAsMTQgQEAKICAgICBj
dHguc2hhZG93T2Zmc2V0WSA9IE5hTjsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dPZmZzZXRYID09
PSAxOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFkgPT09IDI7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW5pdGlhbAogICB0
ZXN0aW5nOgogICAgIC0gMmQuc2hhZG93LmNvbG9yLmluaXRpYWwKICAgY29kZTogfAogICAgIEBh
c3NlcnQgY3R4LnNoYWRvd0NvbG9yID09PSAncmdiYSgwLCAwLCAwLCAwKSc7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQKICAg
dGVzdGluZzoKQEAgLTI4MjcsNiArMjk1OCw3IEBACiAgICAgQGFzc2VydCBjdHguc2hhZG93Q29s
b3IgPT09ICcjMDBmZjAwJzsKICAgICBjdHguc2hhZG93Q29sb3IgPSAnUkdCQSgwLDI1NSwgMCww
KSc7CiAgICAgQGFzc2VydCBjdHguc2hhZG93Q29sb3IgPT09ICdyZ2JhKDAsIDI1NSwgMCwgMCkn
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0Nv
bG9yLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTI4NDQsNiArMjk3Niw3IEBACiAgICAgY3R4LnNo
YWRvd0NvbG9yID0gJyMwMGZmMDAnOwogICAgIGN0eC5zaGFkb3dDb2xvciA9IHVuZGVmaW5lZDsK
ICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xvciA9PT0gJyMwMGZmMDAnOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjEKICAgZGVzYzogU2hhZG93cyBhcmUg
bm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQKQEAgLTI4NTUsNiArMjk4OCw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5hYmxlLm9mZi4yCiAgIGRlc2M6IFNoYWRv
d3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0CkBAIC0yODY3LDYg
KzMwMDEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS5ibHVyCiAgIGRlc2M6
IFNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIgaXMgc2V0CkBAIC0yODgwLDYgKzMwMTUs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS54CiAgIGRlc2M6IFNoYWRvd3Mg
YXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFggaXMgc2V0CkBAIC0yODkzLDYgKzMwMjksNyBAQAog
ICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS55CiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRy
YXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0CkBAIC0yOTA2LDYgKzMwNDMsNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVgKICAgZGVzYzogU2hhZG93cyBjYW4g
YmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeApAQCAtMjkyMCw2ICszMDU4LDcgQEAKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVgKICAgZGVzYzogU2hh
ZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeApAQCAtMjkzNCw2ICszMDczLDcgQEAK
ICAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwy
NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZCiAg
IGRlc2M6IFNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0aXZlIHkKQEAgLTI5NDgsNiAr
MzA4OCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwzNyA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cub2Zmc2V0Lm5l
Z2F0aXZlWQogICBkZXNjOiBTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB5CkBA
IC0yOTYyLDYgKzMxMDMsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAyNSwgMTAwLCAyNSk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRv
dy5vdXRzaWRlCiAgIGRlc2M6IFNoYWRvd3Mgb2Ygc2hhcGVzIG91dHNpZGUgdGhlIHZpc2libGUg
YXJlYSBjYW4gYmUgb2Zmc2V0IG9udG8gdGhlIHZpc2libGUgYXJlYQpAQCAtMjk4NCw2ICszMTI2
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg3LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwzNyA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2xpcC4x
CiAgIGRlc2M6IFNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhp
biB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDA0LDYgKzMxNDcsNyBAQAogICAgIGN0eC5yZXN0
b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnNoYWRvdy5jbGlwLjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIG91dHNpZGUg
dGhlIGNsaXBwaW5nIHJlZ2lvbgpAQCAtMzAyNCw2ICszMTY4LDcgQEAKICAgICBjdHgucmVzdG9y
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5zaGFkb3cuY2xpcC4zCiAgIGRlc2M6IFNoYWRvd3Mgb2YgY2xpcHBlZCBzaGFwZXMgYXJlIHN0
aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDQ1LDYgKzMxOTAsNyBA
QAogICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2UuYmFzaWMKICAgZGVzYzogU2hhZG93cyBh
cmUgZHJhd24gZm9yIHN0cm9rZXMKQEAgLTMwNjQsNiArMzIxMCw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCAxLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ryb2tlLmNhcC4xCiAgIGRlc2M6IFNoYWRv
d3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJva2UgY2FwcwpAQCAtMzA4Niw2
ICszMjMzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5z
dHJva2UuY2FwLjIKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBzCkBA
IC0zMTA2LDYgKzMyNTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgOTgsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c2hhZG93LnN0cm9rZS5qb2luLjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciBh
cmVhcyBvdXRzaWRlIHN0cm9rZSBqb2lucwpAQCAtMzEyOCw2ICszMjc3LDcgQEAKICAgICBAYXNz
ZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMgogICBkZXNj
OiBTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zCkBAIC0zMTUyLDYgKzMzMDIsNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2Uuam9p
bi4zCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2Ugam9pbnMgcmVzcGVjdGlu
ZyBtaXRlciBsaW1pdApAQCAtMzE3NSw2ICszMzI2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2UuYmFzaWMKICAgZGVzYzogU2hhZG93cyBhcmUg
ZHJhd24gZm9yIGltYWdlcwpAQCAtMzE5OSw3ICszMzUxLDcgQEAKICAgICBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
LTUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1h
Z2UudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IGltYWdlcwpAQCAtMzIyNCw3ICszMzc2LDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLTUw
KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9KTsK
KyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2Uu
dHJhbnNwYXJlbnQuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFy
ZW50IHBhcnRzIG9mIGltYWdlcwpAQCAtMzI1NSw3ICszNDA3LDcgQEAKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5zaGFkb3cuaW1hZ2UuYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5
IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgaW1hZ2VzCkBAIC0zMjgwLDcgKzM0MzIsNyBAQAog
ICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAtNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAx
MjcsMCwxMjcsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBk
cmF3biBmb3IgYXJlYXMgb3V0c2lkZSBpbWFnZSBzb3VyY2UgcmVjdGFuZ2xlcwpAQCAtMzMwNyw3
ICszNDU5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuaW1hZ2Uuc2NhbGUKICAgZGVz
YzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBzY2FsZWQgaW1hZ2VzCkBAIC0zMzM0
LDcgKzM0ODYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jYW52YXMuYmFzaWMKICAg
ZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIGNhbnZhc2VzCkBAIC0zMzUxLDYgKzM1MDMsNyBA
QAogICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAtNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVu
dC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgY2FudmFz
ZXMKQEAgLTMzNjUsNiArMzUxOCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAg
ICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjIKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXdu
IGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBjYW52YXNlcwpAQCAtMzM4Nyw2ICszNTQxLDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2FudmFzLmFscGhh
CiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5z
cGFyZW50IGNhbnZhc2VzCkBAIC0zNDAzLDYgKzM1NTgsNyBAQAogICAgIGN0eC5zaGFkb3dDb2xv
ciA9ICcjMDBmJzsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIC01MCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0dGVybi5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFy
ZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJucwpAQCAtMzQyOCw3ICszNTg0LDcgQEAKICAgICAgICAg
Y3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5z
cGFyZW50LjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBm
aWxsIHBhdHRlcm5zCkBAIC0zNDU1LDcgKzM2MTEsNyBAQAogICAgICAgICBjdHguc2hhZG93T2Zm
c2V0WSA9IDUwOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKICAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMgogICBk
ZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGZpbGwg
cGF0dGVybnMKQEAgLTM0ODYsNyArMzY0Miw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnBh
dHRlcm4uYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0
aWFsbHktdHJhbnNwYXJlbnQgZmlsbCBwYXR0ZXJucwpAQCAtMzUxMiw3ICszNjY4LDcgQEAKICAg
ICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOwogICAgICAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7
CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmdyYWRp
ZW50LmJhc2ljCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGZvciBncmFkaWVudCBmaWxscwpA
QCAtMzUzMCw2ICszNjg2LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZ3JhZGll
bnQudHJhbnNwYXJlbnQuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5z
cGFyZW50IGdyYWRpZW50IGZpbGxzCkBAIC0zNTQ3LDYgKzM3MDQsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yCiAgIGRlc2M6IFNoYWRvd3Mg
YXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHMKQEAg
LTM1NjksNiArMzcyNyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
c2hhZG93LmdyYWRpZW50LmFscGhhCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3Rs
eSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzCkBAIC0zNTg1LDYgKzM3
NDQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBjdHguZmlsbFJlY3Qo
MCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy50cmFuc2Zvcm0uMQogICBk
ZXNjOiBTaGFkb3dzIHRha2UgYWNjb3VudCBvZiB0cmFuc2Zvcm1hdGlvbnMKQEAgLTM1OTgsNiAr
Mzc1OCw3IEBACiAgICAgY3R4LnRyYW5zbGF0ZSgxMDAsIDEwMCk7CiAgICAgY3R4LmZpbGxSZWN0
KC0xMDAsIC0xNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnRyYW5zZm9ybS4yCiAg
IGRlc2M6IFNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtYXRpb25z
CkBAIC0zNjExLDYgKzM3NzIsNyBAQAogICAgIGN0eC5yb3RhdGUoTWF0aC5QSSkKICAgICBjdHgu
ZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYWxwaGEuMQog
ICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQKQEAgLTM2MjMs
NiArMzc4NSw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFJl
Y3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NSArLy0gNDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYWxwaGEuMgog
ICBkZXNjOiBTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQKQEAgLTM2MzUs
NiArMzc5OCw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFJl
Y3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwx
MjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4zCiAgIGRl
c2M6IFNoYWRvd3MgYXJlIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBAIC0zNjQ5LDYgKzM4MTMs
NyBAQAogICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS40CiAgIGRlc2M6IFNoYWRv
d3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkgZ2xvYmFs
QWxwaGEKQEAgLTM2NjMsNiArMzgyOCw3IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC43MDc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFk
b3cuYWxwaGEuNQogICBkZXNjOiBTaGFkb3dzIG9mIHNoYXBlcyB3aXRoIGFscGhhIGNvbXBvbmVu
dHMgYXJlIGRyYXduIGNvcnJlY3RseQpAQCAtMzY3Niw2ICszODQyLDcgQEAKICAgICBjdHguc2hh
ZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuc2hhZG93LmNvbXBvc2l0ZS4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIGRyYXdu
IHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbgpAQCAtMzY5MCw2ICszODU3LDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAyMDAs
IDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9zaXRlLjIKICAgZGVzYzogU2hhZG93cyBh
cmUgZHJhd24gdXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uCkBAIC0zNzA0LDYgKzM4NzIs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KC0xMCwg
LTEwLCAxMjAsIDcwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY29tcG9zaXRlLjMKICAgZGVzYzog
QXJlYXMgb3V0c2lkZSBzaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBkZXN0aW5hdGlv
bi1vdXQKQEAgLTM3MTksNiArMzg4OCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDIwMCwgMCwgMTAw
LCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmNsZWFyUmVjdC5iYXNpYwogICBkZXNjOiBjbGVhclJlY3QgY2xlYXJzIHRvIHRyYW5zcGFy
ZW50IGJsYWNrCkBAIC0zNzI5LDYgKzM4OTksNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVh
clJlY3QucGF0aAogICBkZXNjOiBjbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50
IHBhdGgKQEAgLTM3NDEsNiArMzkxMiw3IEBACiAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxNiwg
MTYpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QuemVybwogICBkZXNj
OiBjbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdApAQCAtMzc1Myw2ICszOTI1
LDcgQEAKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDUwKTsKICAgICBjdHguY2xlYXJSZWN0
KDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlCiAgIGRlc2M6IGNs
ZWFyUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcwpAQCAtMzc2OSw2ICszOTQyLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDEyID09IDAsMCwwLDA7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwz
NyA9PSAwLDAsMCwwOwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwwLDAsMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QudHJhbnNmb3JtCiAgIGRlc2M6IGNsZWFy
UmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1zCkBAIC0zNzgxLDYgKzM5NTUsNyBAQAogICAg
IGN0eC50cmFuc2xhdGUoMCwgNSk7CiAgICAgY3R4LmNsZWFyUmVjdCgwLCAtNSwgMTAsIDUpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEKICAgZGVzYzogY2xlYXJSZWN0IGlzIG5vdCBh
ZmZlY3RlZCBieSBnbG9iYWxBbHBoYQpAQCAtMzc5Miw2ICszOTY3LDcgQEAKICAgICBjdHguZ2xv
YmFsQWxwaGEgPSAwLjE7CiAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZQogICBkZXNjOiBjbGVhclJlY3QgaXMgbm90IGFm
ZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbgpAQCAtMzgwMyw2ICszOTc5LDcgQEAK
ICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwog
ICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5jbGlw
CiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zCkBAIC0z
ODE4LDYgKzM5OTUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDE2LCAxNik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Quc2hhZG93CiAgIGRl
c2M6IGNsZWFyUmVjdCBkb2VzIG5vdCBkcmF3IHNoYWRvd3MKQEAgLTM4MzIsNiArNDAxMCw3IEBA
CiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguY2xlYXJSZWN0KDAsIC01MCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IGNsZWFy
UmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTM4NDIsNiArNDAyMSw3IEBA
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBub25maW5pdGUgY3R4LmNs
ZWFyUmVjdCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5
IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5p
dHkgTmFOPik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC5iYXNpYwogICBkZXNjOiBmaWxsUmVjdCB3
b3JrcwpAQCAtMzg1MSw2ICs0MDMxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxSZWN0LnBh
dGgKICAgZGVzYzogZmlsbFJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAg
LTM4NjQsNiArNDA0NSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QuemVybwogICBkZXNjOiBmaWxsUmVjdCBvZiB6
ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0CkBAIC0zODc3LDYgKzQwNTksNyBAQAogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAwLCA1MCk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZmlsbFJlY3QubmVnYXRpdmUKICAgZGVzYzogZmlsbFJlY3Qgb2YgbmVnYXRpdmUg
c2l6ZXMgd29ya3MKQEAgLTM4OTQsNiArNDA3Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwx
MiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QudHJhbnNmb3JtCiAgIGRlc2M6IGZpbGxSZWN0IGlzIGFm
ZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTM5MDUsNiArNDA4OSw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUsIDEwLCA1KTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAjIGRvbid0
IGJvdGhlciB0ZXN0aW5nIGdsb2JhbGFscGhhLCBnbG9iYWxjb21wb3NpdGUgYmVjYXVzZSB0aGV5
J3JlIGFscmVhZHkgaGVhdmlseSB1c2VkIGJ5IG90aGVyIHRlc3QgY2FzZXMKIApAQCAtMzkyMyw2
ICs0MTA4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3Quc2hhZG93CiAgIGRlc2M6IGZp
bGxSZWN0IGRyYXdzIHNoYWRvd3MKQEAgLTM5MzcsNiArNDEyMyw3IEBACiAgICAgY3R4LnNoYWRv
d09mZnNldFkgPSA1MDsKICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmZpbGxSZWN0Lm5vbmZpbml0ZQogICBkZXNjOiBmaWxsUmVjdCgpIHdpdGggSW5maW5p
dHkvTmFOIGlzIGlnbm9yZWQKQEAgLTM5NDgsNiArNDEzNSw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICBAbm9uZmluaXRlIGN0eC5maWxsUmVjdCg8MCBJbmZpbml0eSAtSW5m
aW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUlu
ZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
dHJva2VSZWN0LmJhc2ljCiAgIGRlc2M6IHN0cm9rZVJlY3Qgd29ya3MKQEAgLTM5NTgsNiArNDE0
Niw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDI1LCAy
NCwgNTAsIDIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5wYXRoCiAgIGRlc2M6IHN0cm9rZVJl
Y3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTM5NzIsNiArNDE2MSw3IEBA
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc3Ryb2tlUmVjdC56ZXJvLjEKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRy
YXdzIG5vdGhpbmcKQEAgLTM5ODIsNiArNDE3Miw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDI1
MDsKICAgICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0
Lnplcm8uMgogICBkZXNjOiBzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90aGluZywg
aW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zCkBAIC0zOTk0LDYgKzQxODUsNyBAQAogICAgIGN0eC5s
aW5lSm9pbiA9ICdyb3VuZCc7CiAgICAgY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjMKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxz
IGRyYXdzIGEgc3RyYWlnaHQgbGluZQpAQCAtNDAwNCw2ICs0MTk2LDcgQEAKICAgICBjdHgubGlu
ZVdpZHRoID0gNTA7CiAgICAgY3R4LnN0cm9rZVJlY3QoMCwgMjUsIDEwMCwgMCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zdHJva2VSZWN0Lnplcm8uNAogICBkZXNjOiBzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMg
ZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIG5vIGNhcHMKQEAgLTQwMTUsNiArNDIwOCw3IEBACiAg
ICAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogICAgIGN0eC5zdHJva2VSZWN0KDEwMCwgMjUsIDEw
MCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QuemVyby41CiAgIGRlc2M6IHN0cm9rZVJlY3Qgb2Yg
TngwIHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMKQEAgLTQwMjYsNiArNDIy
MCw3IEBACiAgICAgY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKICAgICBjdHguc3Ryb2tlUmVjdCgx
MDAsIDI1LCAxMDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZQogICBkZXNj
OiBzdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzCkBAIC00MDQ0LDYgKzQyMzksNyBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3QudHJhbnNm
b3JtCiAgIGRlc2M6IGZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTQwNTYs
NiArNDI1Miw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDU7CiAgICAgY3R4LnN0cm9rZVJlY3Qo
Mi41LCAtMi42LCA1LCAwLjIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYQog
ICBkZXNjOiBzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBAIC00MDY3LDYg
KzQyNjQsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVjdCgy
NSwgMjQsIDUwLCAyKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUKICAgZGVz
Yzogc3Ryb2tlUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
CkBAIC00MDc4LDYgKzQyNzYsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAgICBjdHgu
c3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAyKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5jbGlwCiAgIGRl
c2M6IHN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucwpAQCAtNDA5NSw2
ICs0Mjk0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxNiwgMTYpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC5zaGFkb3cKICAgZGVzYzog
c3Ryb2tlUmVjdCBkcmF3cyBzaGFkb3dzCkBAIC00MTEyLDYgKzQzMTIsNyBAQAogICAgIGN0eC5s
aW5lV2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVjdCgwLCAtNzUsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuc3Ryb2tlUmVjdC5ub25maW5pdGUKICAgZGVzYzogc3Ryb2tlUmVjdCgpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTQxMjQsMTIgKzQzMjUsMTQgQEAKICAgICBjdHgu
bGluZVdpZHRoID0gMTUwOwogICAgIEBub25maW5pdGUgY3R4LnN0cm9rZVJlY3QoPDAgSW5maW5p
dHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAwIEluZmlu
aXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBu
YW1lOiAyZC5kcmF3SW1hZ2UuM2FyZwogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLmRl
ZmF1bHRzb3VyY2UKICAgICAtIDJkLmRyYXdJbWFnZS5kZWZhdWx0ZGVzdAorICB0aW1lb3V0OiBs
b25nCiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAtIGdyZWVuLnBuZwpAQCAtNDE2Miw3
ICs0MzY1LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjVhcmcKICAgdGVzdGluZzoK
QEAgLTQxNzAsNiArNDM3Myw3IEBACiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAtIGdy
ZWVuLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQyMDAsMTMgKzQ0
MDQsMTQgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMKICAgdGVzdGlu
ZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBpbWFnZXM6CiAgICAgLSBncmVlbi5wbmcK
KyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MjI1LDEzICs0NDMwLDE0IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcwogICB0ZXN0aW5nOgog
ICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CiAgIGltYWdlczoKICAgICAtIHJncmctMjU2eDI1Ni5w
bmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MjUwLDEzICs0NDU2LDE0
IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUKICAgdGVzdGlu
ZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAogICBpbWFnZXM6CiAgICAgLSByZ3JnLTI1Nngy
NTYucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDI4Miw3ICs0NDg5
LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA4MCwyMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgMjAsMzAgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDgwLDMwID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zCiAgIHRlc3Rp
bmc6CkBAIC00MjkwLDYgKzQ0OTcsNyBAQAogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCiAgICAg
LSBncmVlbi5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MzIxLDcg
KzQ1MjksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZQogICB0
ZXN0aW5nOgpAQCAtNDMyOSw2ICs0NTM3LDcgQEAKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZwog
ICAgIC0gZ3JlZW4ucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDM2
MCwxMSArNDU2OSwxMiBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuY2FudmFzCiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UucGFpbnQKKyAgdGltZW91dDogbG9uZwogICBjb2Rl
OiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogICAgIHZhciBjdHgyID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpOwpA
QCAtNDM3NiwxMCArNDU4NiwxMiBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5kcmF3SW1hZ2Uuc2VsZi4xCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc2Vs
ZgorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwpAQCAtNDM5MCwxMCArNDYwMiwxMiBA
QAogICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uuc2VsZi4y
CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc2VsZgorICB0aW1lb3V0OiBsb25nCiAg
IGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAxLCAxMDAsIDQ5KTsKQEAgLTQ0MDYsMTYgKzQ2MjAsMjAgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm51bGwKICAgdGVzdGluZzoKICAgICAtIDJk
LmRyYXdJbWFnZS5JREwKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UobnVsbCwgMCwgMCk7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9jYW52YXMKICAgdGVzdGluZzoKICAgICAtIDJk
LmRyYXdJbWFnZS56ZXJvY2FudmFzCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZh
ciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygwLCAxMCk7CiAgICAgQGFz
c2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKQEAgLTQ0MjcsMTkgKzQ2NDUsMjMgQEAKICAgICBvZmZzY3JlZW5DYW52YXMy
LndpZHRoID0gMDsKICAgICBvZmZzY3JlZW5DYW52YXMyLmhlaWdodCA9IDA7CiAgICAgQGFzc2Vy
dCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uud3Jvbmd0eXBl
CiAgIGRlc2M6IEluY29ycmVjdCBpbWFnZSB0eXBlcyBpbiBkcmF3SW1hZ2UgZG8gbm90IG1hdGNo
IGFueSBkZWZpbmVkIG92ZXJsb2Fkcywgc28gV2ViSURMIHRocm93cyBhIFR5cGVFcnJvcgogICB0
ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLklETAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6
IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmRyYXdJbWFnZSh1bmRlZmluZWQs
IDAsIDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguZHJhd0ltYWdlKDAsIDAs
IDApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguZHJhd0ltYWdlKCIiLCAwLCAw
KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2UKICAg
dGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAorICB0aW1lb3V0OiBsb25nCiAgIGNv
ZGU6IHwKICAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CkBAIC00NDUz
LDEyICs0Njc1LDEzIEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAg
ICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAw
LCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJh
d0ltYWdlLnplcm9zb3VyY2UKICAgZGVzYzogZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBzb3Vy
Y2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpFX0VSUgogICB0ZXN0aW5nOgogICAgIC0gMmQu
ZHJhd0ltYWdlLnplcm9zb3VyY2UKKyAgdGltZW91dDogbG9uZwogICBpbWFnZXM6CiAgICAgLSBy
ZWQucG5nCiAgIGNvZGU6IHwKQEAgLTQ0NzgsNyArNDcwMSw3IEBACiAgICAgICAgIEBhc3NlcnQg
dGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMSwg
MCwgMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJS
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMCwgMCwgMCwgMCwgMTAwLCA1MCk7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS56ZXJvc291
cmNlLmltYWdlCiAgIGRlc2M6IGRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3Rh
bmdsZSBmcm9tIGltYWdlIHRocm93cyBJTkRFWF9TSVpFX0VSUgpAQCAtNDQ4OCw2ICs0NzExLDcg
QEAKICAgICAtIHJlZC16ZXJvd2lkdGguc3ZnCiAgICAgLSByZWQtemVyb2hlaWdodC5zdmcKICAg
ICAtIHJlZC16ZXJvc2l6ZS5zdmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBA
IC00NTA1LDcgKzQ3MjksNyBAQAogICAgICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VS
UiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2Vy
dCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlc291cmNlCiAgIGRlc2M6IE5lZ2F0aXZlIHNvdXJjZSB3aWR0aC9oZWlnaHQgcmVw
cmVzZW50cyB0aGUgY29ycmVjdCByZWN0YW5nbGUKQEAgLTQ1MTQsNiArNDczOCw3IEBACiAgIG1v
emlsbGE6IHsgdGhyb3dzIH0KICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2LnBuZworICB0
aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ1MzksMTMgKzQ3NjQsMTQgQEAKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA1MSw0OCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1
LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0CiAgIGRlc2M6IE5lZ2F0aXZl
IGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3Rhbmds
ZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLmRpcmVjdGlvbgogICBtb3ppbGxhOiB7
IHRocm93cyB9CisgIHRpbWVvdXQ6IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2
LnBuZwogICBjb2RlOiB8CkBAIC00NTczLDEzICs0Nzk5LDE0IEBACiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgNTEsNDggPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyCiAgIGRlc2M6IE5lZ2F0aXZlIGRpbWVuc2lvbnMgZG8g
bm90IGFmZmVjdCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZQogICB0ZXN0aW5nOgogICAgIC0g
MmQuZHJhd0ltYWdlLmRpcmVjdGlvbgogICBtb3ppbGxhOiB7IHRocm93cyB9CisgIHRpbWVvdXQ6
IGxvbmcKICAgaW1hZ2VzOgogICAgIC0gZ2dyci0yNTZ4MjU2LnBuZwogICBjb2RlOiB8CkBAIC00
NjA3LDcgKzQ4MzQsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUxLDQ4ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5vdXRzaWRlc291
cmNlCiAgIERJU0FCTEVEOiBmaXggdGhpcyB0byBtYXRjaCB0aGUgY3VycmVudCBzcGVjICh0cmFu
c3BhcmVudCBibGFjayBvdXRzaWRlIHNvdXJjZSkKQEAgLTQ2NDUsMTEgKzQ4NzIsMTIgQEAKICAg
ICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZTEsIDAsIDAsIDUsIC01LCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCB0aHJvd3Mg
SU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDExMCwgNjAsIC0yMCwgLTIw
LCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUs
MCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5icm9rZW4KICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJ
bWFnZS5pbmNvbXBsZXRlLmltYWdlCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAg
ICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKQEAgLTQ2NjUsMTIgKzQ4OTMsMTMg
QEAKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4g
MCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zdmcKICAgZGVzYzogZHJhd0ltYWdlKCkgb2Yg
YW4gU1ZHIGltYWdlCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc3ZnCisgIHRpbWVv
dXQ6IGxvbmcKICAgY29kZTogfAogICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKQEAgLTQ2ODQsNyArNDkxMyw3IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9z
dGVyCiAgIGRlc2M6IGRyYXdJbWFnZSgpIG9mIGFuIEFQTkcgZHJhd3MgdGhlIHBvc3RlciBmcmFt
ZQpAQCAtNDY5Miw2ICs0OTIxLDcgQEAKICAgICAtIDJkLmRyYXdJbWFnZS5hbmltYXRlZC5pbWFn
ZQogICBpbWFnZXM6CiAgICAgLSBhbmltLXBvc3Rlci1nci5wbmcKKyAgdGltZW91dDogbG9uZwog
ICBjb2RlOiB8CiAgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwpAQCAt
NDcwNSwxMSArNDkzNSwxMiBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pOworICAgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5wYXRoCiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UudW5hZmZlY3QKKyAgdGltZW91dDogbG9uZwogICBj
b2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgucmVjdCgwLCAwLCAx
MDAsIDUwKTsKQEAgLTQ3MjYsMTMgKzQ5NTcsMTQgQEAKICAgICAgICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS50cmFuc2Zvcm0KICAgdGVzdGluZzoKICAg
ICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGlt
ZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00NzQ5LDEzICs0OTgxLDE0IEBACiAgICAg
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UuYWxwaGEKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zdWJqZWN0
CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CkBAIC00NzcyLDEzICs1MDA1LDE0IEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuY2xpcAogICB0ZXN0
aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBu
ZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ3OTYsMTMgKzUwMzAsMTQg
QEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLmRyYXdJbWFnZS5jb21wb3NpdGUKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJ
bWFnZS5zdWJqZWN0CiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9uZwog
ICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CkBAIC00ODE5LDEyICs1MDU0LDEzIEBACiAgICAgcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uu
bm93cmFwCiAgIGRlc2M6IFN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBp
bmcgYXJvdW5kIHRoZSBlZGdlcwogICBpbWFnZXM6CiAgICAgLSByZWR0cmFuc3BhcmVudC5wbmcK
KyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00ODQyLDcgKzUwNzgsNyBAQAog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDQ1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NTUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5ub25maW5pdGUKICAgZGVzYzogZHJhd0ltYWdl
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNDg1MCw2ICs1MDg2LDcgQEAKICAg
ICAtIDJkLm5vbmZpbml0ZQogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCisgIHRpbWVvdXQ6IGxv
bmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDg2Nyw3ICs1MTA0LDcgQEAKICAgICAgICAgQG5vbmZp
bml0ZSBjdHguZHJhd0ltYWdlKDxyZXNwb25zZT4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+
LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFO
PiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICAgICAgQG5vbmZpbml0ZSBjdHgu
ZHJhd0ltYWdlKDxyZXNwb25zZT4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZp
bml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIElu
ZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDw1MCBJ
bmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMKICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZwpAQCAtNDg3NSw2ICs1MTEyLDcg
QEAKICAgICAtIDJkLmltYWdlRGF0YS5jcmVhdGUyLm9iamVjdAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpICE9PSBudWxsOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2ljCiAgIGRlc2M6IGNyZWF0ZUltYWdl
RGF0YShpbWdkYXRhKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00ODgyLDYgKzUx
MjAsNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0ZTEub2JqZWN0CiAgIGNvZGU6IHwKICAg
ICBAYXNzZXJ0IGN0eC5jcmVhdGVJbWFnZURhdGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSkg
IT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
aW5pdGlhbAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoc3csIHNoKSByZXR1cm5zIHRyYW5zcGFy
ZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUKQEAgLTQ4OTksNiArNTEzOCw3IEBACiAg
ICAgICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgICAgICBpc1RyYW5zcGFy
ZW50QmxhY2sgPSBmYWxzZTsKICAgICBAYXNzZXJ0IGlzVHJhbnNwYXJlbnRCbGFjazsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsCiAgIGRlc2M6
IGNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEg
b2YgdGhlIHJpZ2h0IHNpemUKQEAgLTQ5MTksNiArNTE1OSw3IEBACiAgICAgICAgIGlmIChpbWdk
YXRhMi5kYXRhW2ldICE9PSAwKQogICAgICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFs
c2U7CiAgICAgQGFzc2VydCBpc1RyYW5zcGFyZW50QmxhY2s7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UKICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRh
KHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFyZ2VyIHRoYW4gdGhlIGNhbnZhcwpAQCAt
NDkzNCw2ICs1MTc1LDcgQEAKICAgICAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkKICAg
ICAgICAgICAgIGlzVHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogICAgIEBhc3NlcnQgaXNUcmFu
c3BhcmVudEJsYWNrOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVh
dGUyLm5lZ2F0aXZlCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRha2VzIHRoZSBh
YnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUgYXJndW1lbnRzCkBAIC00OTQ3LDYgKzUxODks
NyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YS5sZW5ndGggPT09IGltZ2RhdGEyLmRhdGEu
bGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0YS5sZW5ndGggPT09IGltZ2RhdGEzLmRh
dGEubGVuZ3RoOwogICAgIEBhc3NlcnQgaW1nZGF0YTMuZGF0YS5sZW5ndGggPT09IGltZ2RhdGE0
LmRhdGEubGVuZ3RoOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVh
dGUyLnplcm8KICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dzIElOREVYX1NJ
WkVfRVJSIGlmIHNpemUgaXMgemVybwpAQCAtNDk1Niw2ICs1MTk5LDcgQEAKICAgICBAYXNzZXJ0
IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCAwKTsKICAgICBA
YXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRhKDAsIDEwKTsK
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlSW1hZ2VEYXRhKDAs
IDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZp
bml0ZQogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3Vt
ZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtNDk2Nyw2ICs1MjExLDcgQEAKICAgICAgICAgbmVnaW5m
b2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIC1JbmZpbml0eTsgfSB9LAogICAg
ICAgICBuYW5vYmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4gLUluZmluaXR5OyB9
IH07CiAgICAgQG5vbmZpbml0ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZUlt
YWdlRGF0YSg8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5l
Z2luZm9iaiBuYW5vYmo+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEu
Y3JlYXRlMS56ZXJvCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVy
cm9yCkBAIC00OTc0LDYgKzUyMTksNyBAQAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0ZS5udWxs
CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZUltYWdl
RGF0YShudWxsKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRl
Mi5yb3VuZAogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEodywgaCkgaXMgcm91bmRlZCB0aGUgc2Ft
ZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCkKQEAgLTQ5ODQsNiArNTIzMCw3IEBACiAgICAg
dmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMC4wMSwgMTAuOTkpOwogICAg
IEBhc3NlcnQgaW1nZGF0YTEud2lkdGggPT09IGltZ2RhdGEyLndpZHRoOwogICAgIEBhc3NlcnQg
aW1nZGF0YTEuaGVpZ2h0ID09PSBpbWdkYXRhMi5oZWlnaHQ7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLmdldC5iYXNpYwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBleGlz
dHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00OTkxLDYgKzUyMzgsNyBAQAogICAgIC0gMmQu
aW1hZ2VEYXRhLmdldC5iYXNpYwogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZ2V0SW1hZ2VE
YXRhKDAsIDAsIDEwMCwgNTApICE9PSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmltYWdlRGF0YS5nZXQuemVybwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5ERVhf
U0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCkBAIC01MDAwLDYgKzUyNDgsNyBAQAogICAgIEBhc3Nl
cnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgMTAsIDApOwog
ICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFnZURhdGEoMSwgMSwg
MCwgMTApOwogICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5nZXRJbWFnZURh
dGEoMSwgMSwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdl
dC5ub25maW5pdGUKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBh
cmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTUwMTEsNiArNTI2MCw3IEBACiAgICAgICAgIG5l
Z2luZm9iaiA9IHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVybiAtSW5maW5pdHk7IH0gfSwK
ICAgICAgICAgbmFub2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIC1JbmZpbml0
eTsgfSB9OwogICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5nZXRJ
bWFnZURhdGEoPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9iaiBu
ZWdpbmZvYmogbmFub2JqPiwgPDEwIHBvc2luZm9iaiBuZWdpbmZvYmogbmFub2JqPiwgPDEwIHBv
c2luZm9iaiBuZWdpbmZvYmogbmFub2JqPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1
cm5zIHRyYW5zcGFyZW50IGJsYWNrIG91dHNpZGUgdGhlIGNhbnZhcwpAQCAtNTA3MSw2ICs1MzIx
LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCsxXSA9PT0gMDsKICAgICBAYXNz
ZXJ0IGltZ2RhdGE3LmRhdGFbMjAqNCsyXSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGE3LmRh
dGFbMjAqNCszXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEu
Z2V0LnNvdXJjZS5uZWdhdGl2ZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB3b3JrcyB3aXRoIG5l
Z2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQsIGFuZCByZXR1cm5zIHRvcC10by1ib3R0b20gbGVmdC10
by1yaWdodApAQCAtNTA5Niw2ICs1MzQ3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFb
MV0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzJdID09PSAwOwogICAgIEBhc3Nl
cnQgaW1nZGF0YTIuZGF0YVszXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5p
bWFnZURhdGEuZ2V0LnNvdXJjZS5zaXplCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMg
YmlnZ2VyIEltYWdlRGF0YSBmb3IgYmlnZ2VyIHNvdXJjZSByZWN0YW5nbGUKQEAgLTUxMDYsNiAr
NTM1OCw3IEBACiAgICAgdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAyMCwg
MjApOwogICAgIEBhc3NlcnQgaW1nZGF0YTIud2lkdGggPiBpbWdkYXRhMS53aWR0aDsKICAgICBA
YXNzZXJ0IGltZ2RhdGEyLmhlaWdodCA+IGltZ2RhdGExLmhlaWdodDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnRpbnkKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkg
d29ya3MgZm9yIHNpemVzIHNtYWxsZXIgdGhhbiBvbmUgcGl4ZWwKQEAgLTUxMTYsNiArNTM2OSw3
IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGEubGVuZ3RoID09PSBpbWdkYXRhLndpZHRoKmlt
Z2RhdGEuaGVpZ2h0KjQ7CiAgICAgQGFzc2VydCBpbWdkYXRhLndpZHRoID09PSAxOwogICAgIEBh
c3NlcnQgaW1nZGF0YS5oZWlnaHQgPT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLmdldC5ub25wcmVtdWwKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBu
b24tcHJlbXVsdGlwbGllZCBjb2xvdXJzCkBAIC01MTMwLDYgKzUzODQsNyBAQAogICAgIEBhc3Nl
cnQgaW1nZGF0YS5kYXRhWzJdID4gMjAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNdID4g
MTAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzNdIDwgMjAwOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQucmFuZ2UKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkg
cmV0dXJucyB2YWx1ZXMgaW4gdGhlIHJhbmdlIFswLCAyNTVdCkBAIC01MTQ1LDYgKzU0MDAsNyBA
QAogICAgIEBhc3NlcnQgaW1nZGF0YTEuZGF0YVswXSA9PT0gMDsKICAgICB2YXIgaW1nZGF0YTIg
PSBjdHguZ2V0SW1hZ2VEYXRhKDMwLCAxNSwgMSwgMSk7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5k
YXRhWzBdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdl
dC5jbGFtcAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBjbGFtcHMgY29sb3VycyB0byB0aGUgcmFu
Z2UgWzAsIDI1NV0KQEAgLTUxNjMsNiArNTQxOSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhMi5k
YXRhWzBdID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzFdID09PSAyNTU7CiAg
ICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhWzJdID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGgKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0
dXJucyBhIGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheQpAQCAtNTE3MSw2ICs1NDI4
LDcgQEAKICAgY29kZTogfAogICAgIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAw
LCAxMCwgMTApOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YS53
aWR0aCppbWdkYXRhLmhlaWdodCo0OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdl
RGF0YS5nZXQub3JkZXIuY29scwogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIGxlZnRt
b3N0IGNvbHVtbnMgZmlyc3QKQEAgLTUxODUsNiArNTQ0Myw3IEBACiAgICAgQGFzc2VydCBpbWdk
YXRhLmRhdGFbMF0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZChp
bWdkYXRhLndpZHRoLzIqNCldID09PSAyNTU7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbTWF0
aC5yb3VuZCgoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0KV0gPT09IDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzCiAgIGRlc2M6
IGdldEltYWdlRGF0YSgpIHJldHVybnMgdG9wbW9zdCByb3dzIGZpcnN0CkBAIC01MTk5LDYgKzU0
NTgsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOwogICAgIEBhc3NlcnQg
aW1nZGF0YS5kYXRhW01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSA9PT0gMDsKICAgICBA
YXNzZXJ0IGltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0XSA9
PT0gMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQub3JkZXIu
cmdiCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgUiB0aGVuIEcgdGhlbiBCCkBAIC01
MjE3LDYgKzU0NzcsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzVdID09PSAweDg4Owog
ICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzZdID09PSAweENDOwogICAgIEBhc3NlcnQgaW1nZGF0
YS5kYXRhWzddID09PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LmdldC5vcmRlci5hbHBoYQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIEEgaW4gdGhl
IGZvdXJ0aCBjb21wb25lbnQKQEAgLTUyMjgsNiArNTQ4OSw3IEBACiAgICAgdmFyIGltZ2RhdGEg
PSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRh
dGFbM10gPCAyMDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPiAxMDA7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkCiAgIGRlc2M6IGdl
dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlCkBAIC01MjUwLDYg
KzU1MTIsNyBAQAogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgNTAsIDApOwogICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQuaW1hZ2VE
YXRhLm9iamVjdC5wcm9wZXJ0aWVzCkBAIC01MjYxLDYgKzU1MjQsNyBAQAogICAgIEBhc3NlcnQg
dHlwZW9mKGltZ2RhdGEud2lkdGgpID09PSAnbnVtYmVyJzsKICAgICBAYXNzZXJ0IHR5cGVvZihp
bWdkYXRhLmhlaWdodCkgPT09ICdudW1iZXInOwogICAgIEBhc3NlcnQgdHlwZW9mKGltZ2RhdGEu
ZGF0YSkgPT09ICdvYmplY3QnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0
YS5vYmplY3QucmVhZG9ubHkKICAgZGVzYzogSW1hZ2VEYXRhIG9iamVjdHMgcHJvcGVydGllcyBh
cmUgcmVhZC1vbmx5CkBAIC01MjgxLDYgKzU1NDUsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5k
YXRhWzFdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzJdID09PSAwOwogICAgIEBh
c3NlcnQgaW1nZGF0YS5kYXRhWzNdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmltYWdlRGF0YS5vYmplY3Quc2V0CiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNhbiBiZSBtb2Rp
ZmllZApAQCAtNTI5Miw2ICs1NTU3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9
PT0gMTAwOwogICAgIGltZ2RhdGEuZGF0YVswXSA9IDIwMDsKICAgICBAYXNzZXJ0IGltZ2RhdGEu
ZGF0YVswXSA9PT0gMjAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5v
YmplY3QudW5kZWZpbmVkCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHVuZGVmaW5l
ZCB0byAwCkBAIC01MzAyLDYgKzU1NjgsNyBAQAogICAgIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsK
ICAgICBpbWdkYXRhLmRhdGFbMF0gPSB1bmRlZmluZWQ7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRh
dGFbMF0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVj
dC5uYW4KICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgTmFOIHRvIDAKQEAgLTUzMTUs
NiArNTU4Miw3IEBACiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogICAgIGltZ2RhdGEuZGF0
YVswXSA9ICJjaGVlc2UiOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAwOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nCiAgIGRlc2M6
IEltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVtYmVy
CkBAIC01MzMxLDYgKzU1OTksNyBAQAogICAgIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKICAgICBp
bWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBd
ID09PSAxMzA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5j
bGFtcAogICBkZXNjOiBJbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwgMjU1XQpA
QCAtNTM2Miw2ICs1NjMxLDcgQEAKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiAgICAgaW1n
ZGF0YS5kYXRhWzBdID0gSW5maW5pdHk7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09
IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0LnJvdW5k
CiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIHJvdW5kcyBudW1iZXJzIHdpdGggcm91bmQtdG8temVy
bwpAQCAtNTM5Nyw2ICs1NjY3LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0g
MDsKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAtMS41OwogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRh
WzBdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQubnVs
bAogICBkZXNjOiBwdXRJbWFnZURhdGEoKSB3aXRoIG51bGwgaW1hZ2VkYXRhIHRocm93cyBUeXBl
RXJyb3IKQEAgLTU0MDQsNiArNTY3NSw3IEBACiAgICAgLSAyZC5pbWFnZURhdGEucHV0Lndyb25n
dHlwZQogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJbWFn
ZURhdGEobnVsbCwgMCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
LnB1dC5ub25maW5pdGUKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBp
ZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUKQEAgLTU0MTMsNiArNTY4NSw3IEBACiAgICAgdmFy
IGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiAgICAgQG5vbmZpbml0
ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSg8aW1nZGF0YT4sIDwx
MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsK
ICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHgucHV0SW1hZ2VEYXRh
KDxpbWdkYXRhPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUlu
ZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1J
bmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAt
SW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1
dC5iYXNpYwogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBnZXRJ
bWFnZURhdGEoKSBvbnRvIHRoZSBjYW52YXMKQEAgLTU0MjcsNiArNTcwMCw3IEBACiAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAw
LCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQKICAgZGVzYzogcHV0SW1h
Z2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRhIGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUg
Y2FudmFzCkBAIC01NDQ0LDYgKzU3MTgsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKQogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgZG9lcyBub3Qg
YWNjZXB0IG5vbi1JbWFnZURhdGEgb2JqZWN0cwpAQCAtNTQ1NCw2ICs1NzI5LDcgQEAKICAgICBA
YXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsK
ICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSgiY2hlZXNlIiwg
MCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJbWFnZURhdGEoNDIs
IDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuY3Jvc3MK
ICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgYWNjZXB0cyBpbWFnZSBkYXRhIGdvdCBmcm9tIGEgZGlm
ZmVyZW50IGNhbnZhcwpAQCAtNTQ2OSw2ICs1NzQ1LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmltYWdlRGF0YS5wdXQuYWxwaGEKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgcHV0cyBu
b24tc29saWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHkKQEAgLTU0ODIsNiArNTc1OSw3IEBACiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRh
LCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDY0OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQKICAgZGVzYzogcHV0
SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNvcnJlY3RseQpAQCAtNTUwMCw2
ICs1Nzc4LDcgQEAKICAgICB9CiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA0NSwgMjAp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVybwogICBkZXNjOiBwdXRJbWFn
ZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xlIHB1dHMgbm90aGluZwpAQCAt
NTUxMyw2ICs1NzkyLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKICAgICBj
dHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDAsIDAsIDAsIDAsIDApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgb25seSBt
b2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lkdGggYW5k
IGhlaWdodApAQCAtNTUzNCw2ICs1ODE0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDY1LDI1ID09
fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDE1ID09fiAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QyCiAgIGRlc2M6IHB1dEltYWdl
RGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVz
aW5nIHggYW5kIHkKQEAgLTU1NTUsNiArNTgzNiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA2NSwy
NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxNSA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZQogICBkZXNjOiBw
dXRJbWFnZURhdGEoKSBoYW5kbGVzIG5lZ2F0aXZlLXNpemVkIGRpcnR5IHJlY3RhbmdsZXMgY29y
cmVjdGx5CkBAIC01NTc2LDYgKzU4NTgsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjUsMjUgPT1+
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTUgPT1+IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZQogICBkZXNjOiBwdXRJbWFn
ZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2FudmFzIGNvcnJl
Y3RseQpAQCAtNTU5OCw2ICs1ODgxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmltYWdlRGF0YS5wdXQudW5jaGFuZ2VkCiAgIGRlc2M6IHB1dEltYWdlRGF0YShnZXRJ
bWFnZURhdGEoLi4uKSwgLi4uKSBoYXMgbm8gZWZmZWN0CkBAIC01NjIwLDYgKzU5MDQsNyBAQAog
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkgewogICAg
ICAgICBAYXNzZXJ0IG9sZGRhdGFbaV0gPT09IGltZ2RhdGEyLmRhdGFbaV07CiAgICAgfQorICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZAogICBkZXNj
OiBwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZQpAQCAtNTYz
OSw2ICs1OTI0LDcgQEAKICAgICBjdHguc2NhbGUoMC4xLCAwLjEpOwogICAgIGN0eC5wdXRJbWFn
ZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5jbGlwCiAg
IGRlc2M6IHB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25z
CkBAIC01NjU2LDYgKzU5NDIsNyBAQAogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwg
MCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuaW1hZ2VEYXRhLnB1dC5wYXRoCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIGRvZXMgbm90IGFm
ZmVjdCB0aGUgY3VycmVudCBwYXRoCkBAIC01NjcwLDYgKzU5NTcsNyBAQAogICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmRlZmF1
bHRzCiAgIHRlc3Rpbmc6CkBAIC01NjgyLDYgKzU5NzAsNyBAQAogICAgIEBhc3NlcnQgY3R4Lmxp
bmVDYXAgPT09ICdidXR0JzsKICAgICBAYXNzZXJ0IGN0eC5saW5lSm9pbiA9PT0gJ21pdGVyJzsK
ICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxMDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5saW5lLndpZHRoLmJhc2ljCiAgIGRlc2M6IGxpbmVXaWR0aCBkZXRlcm1pbmVzIHRo
ZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMKQEAgLTU3MjEsNiArNjAxMCw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCA4NCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg1LDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODYsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZAogICBkZXNj
OiBMaW5lIHN0cm9rZSB3aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9u
cwpAQCAtNTc2Niw2ICs2MDU2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDg0LDI1ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA4NiwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdAogICBkZXNjOiBEZWZhdWx0IGxpbmVXaWR0aCBz
dHJva2VzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMKQEAgLTU3ODQsNiAr
NjA3NSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndpZHRo
LnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpA
QCAtNTc5OSw2ICs2MDkxLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDEvMTAy
NDsKICAgICBjdHgubGluZVdpZHRoID0gMTAwMDsKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGgg
PT09IDEwMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS53aWR0aC5pbnZhbGlk
CiAgIGRlc2M6IFNldHRpbmcgbGluZVdpZHRoIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQK
QEAgLTU4MjIsNiArNjExNSw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDEuNTsKICAgICBjdHgu
bGluZVdpZHRoID0gTmFOOwogICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gMS41OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmJ1dHQKICAgZGVzYzogbGluZUNhcCAn
YnV0dCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC01ODU4LDYgKzYxNTIsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMzQgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwz
NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM2ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLnJvdW5kCiAgIGRlc2M6IGxp
bmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTU5MDMsNiArNjE5OCw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA2Nyw0MyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDQzID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODIsNDMgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuc3F1YXJlCiAg
IGRlc2M6IGxpbmVDYXAgJ3NxdWFyZScgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC01OTM5LDYg
KzYyMzUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsNDQgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA3NSw0NSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1
LDQ2ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2Fw
Lm9wZW4KICAgZGVzYzogTGluZSBjYXBzIGFyZSBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1
bmNsb3NlZCByZWN0YW5nbGUKQEAgLTU5NjIsNiArNjI1OSw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmNsb3NlZAogICBkZXNjOiBMaW5lIGNhcHMgYXJl
IG5vdCBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUKQEAgLTU5
ODUsNiArNjI4Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUu
Y2FwLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZUNhcCB0byB2YWxpZCB2YWx1ZXMgd29ya3MK
QEAgLTU5OTgsNiArNjI5Nyw3IEBACiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ3JvdW5k
JzsKICAgICBjdHgubGluZUNhcCA9ICdzcXVhcmUnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVDYXAg
PT09ICdzcXVhcmUnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuY2FwLmludmFs
aWQKICAgZGVzYzogU2V0dGluZyBsaW5lQ2FwIHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQK
QEAgLTYwMjQsNiArNjMyNCw3IEBACiAgICAgY3R4LmxpbmVDYXAgPSAnYnV0dCc7CiAgICAgY3R4
LmxpbmVDYXAgPSAnYmV2ZWwnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVDYXAgPT09ICdidXR0JzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4uYmV2ZWwKICAgZGVzYzogbGlu
ZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTYwNzQsNiArNjM3NSw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA4NSwxNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDg2LDE1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODYsMTQgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2luLnJvdW5kCiAg
IGRlc2M6IGxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBAIC02MTIxLDYg
KzY0MjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODcsMTMgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA4OCwxMyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDg4
LDEyID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuam9p
bi5taXRlcgogICBkZXNjOiBsaW5lSm9pbiAnbWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3RseQpA
QCAtNjE2MSw2ICs2NDY0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDEwID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTEsOSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDkyLDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
bGluZS5qb2luLm9wZW4KICAgZGVzYzogTGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRoZSBj
b3JuZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlCkBAIC02MTgzLDYgKzY0ODcsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4uY2xvc2VkCiAgIGRlc2M6
IExpbmUgam9pbnMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXIgb2YgYSBjbG9zZWQgcmVjdGFuZ2xl
CkBAIC02MjA1LDYgKzY1MTAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5saW5lLmpvaW4ucGFyYWxsZWwKICAgZGVzYzogTGluZSBqb2lucyBhcmUgZHJhd24gYXQgMTgw
LWRlZ3JlZSBqb2lucwpAQCAtNjIyNSw2ICs2NTMxLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4
LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQubGluZS5qb2luLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbGluZUpvaW4g
dG8gdmFsaWQgdmFsdWVzIHdvcmtzCkBAIC02MjM4LDYgKzY1NDUsNyBAQAogICAgIEBhc3NlcnQg
Y3R4LmxpbmVKb2luID09PSAncm91bmQnOwogICAgIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiAg
ICAgQGFzc2VydCBjdHgubGluZUpvaW4gPT09ICdtaXRlcic7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQubGluZS5qb2luLmludmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lSm9pbiB0byBp
bnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkCkBAIC02MjY0LDYgKzY1NzIsNyBAQAogICAgIGN0eC5s
aW5lSm9pbiA9ICdiZXZlbCc7CiAgICAgY3R4LmxpbmVKb2luID0gJ2J1dHQnOwogICAgIEBhc3Nl
cnQgY3R4LmxpbmVKb2luID09PSAnYmV2ZWwnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmxpbmUubWl0ZXIuZXhjZWVkZWQKICAgZGVzYzogTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3
aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZApAQCAtNjI4Niw2ICs2NTk1LDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0
OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5hY3V0ZQogICBkZXNj
OiBNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggYWN1dGUgYW5nbGVzCkBAIC02
MzE1LDYgKzY2MjUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5l
Lm1pdGVyLm9idHVzZQogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdp
dGggb2J0dXNlIGFuZ2xlcwpAQCAtNjM0NCw2ICs2NjU1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5yaWdodGFuZ2xlCiAgIGRlc2M6IE1pdGVyIGpv
aW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQsIG9uIGV4
YWN0IHJpZ2h0IGFuZ2xlcwpAQCAtNjM2NSw2ICs2Njc3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQubGluZS5taXRlci5saW5lZWRnZQogICBkZXNjOiBNaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBj
b3JuZXJzIG9mIGEgemVyby1oZWlnaHQgcmVjdGFuZ2xlCkBAIC02MzgzLDYgKzY2OTYsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLndpdGhpbgogICBk
ZXNjOiBNaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgbm90IHF1
aXRlIGV4Y2VlZGVkCkBAIC02NDA0LDYgKzY3MTgsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgs
MSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbWl0ZXJMaW1p
dCB0byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAgLTY0MTksNiArNjczNCw3IEBACiAgICAgQGFzc2Vy
dCBjdHgubWl0ZXJMaW1pdCA9PT0gMS8xMDI0OwogICAgIGN0eC5taXRlckxpbWl0ID0gMTAwMDsK
ICAgICBAYXNzZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxMDAwOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmxpbmUubWl0ZXIuaW52YWxpZAogICBkZXNjOiBTZXR0aW5nIG1pdGVyTGltaXQg
dG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApAQCAtNjQ0Miw2ICs2NzU4LDcgQEAKICAgICBj
dHgubWl0ZXJMaW1pdCA9IDEuNTsKICAgICBjdHgubWl0ZXJMaW1pdCA9IE5hTjsKICAgICBAYXNz
ZXJ0IGN0eC5taXRlckxpbWl0ID09PSAxLjU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
bGluZS5jcm9zcwogICBjb2RlOiB8CkBAIC02NDU5LDYgKzY3NzYsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLnVuaW9uCiAgIGNvZGU6IHwKQEAgLTY0NzksNiAr
Njc5Nyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMjUsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaW5pdGlh
bAogICB0ZXN0aW5nOgpAQCAtNjQ5MCw2ICs2ODA5LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmJlZ2luUGF0aAogICB0
ZXN0aW5nOgpAQCAtNjUwMiw2ICs2ODIyLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5iYXNpYwogICB0ZXN0
aW5nOgpAQCAtNjUxNyw2ICs2ODM4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoCiAgIHRl
c3Rpbmc6CkBAIC02NTMyLDYgKzY4NTQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubW92ZVRvLm11bHRpcGxlCiAgIHRl
c3Rpbmc6CkBAIC02NTQ3LDYgKzY4NzAsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSA1MDsKICAg
ICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLm1vdmVUby5ub25maW5pdGUKICAgZGVz
YzogbW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNjU2MSw2ICs2ODg1
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5lbXB0eQogICB0ZXN0aW5nOgpAQCAtNjU3Miw2ICs2ODk3
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lCiAgIHRlc3Rpbmc6CkBAIC02NTg4LDYgKzY5
MTQsNyBAQAogICAgIGN0eC5jbG9zZVBhdGgoKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQKICAgdGVzdGluZzoKQEAgLTY2MDMsNiArNjkz
MCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xCiAgIGRlc2M6IElmIHRoZXJlIGlz
IG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgbm90aGluZyBpcyBkcmF3bgpAQCAt
NjYxOCw2ICs2OTQ2LDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgNTApOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMgogICBkZXNjOiBJ
ZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1
YnNlcXVlbnQgZHJhd2luZwpAQCAtNjYzNCw2ICs2OTYzLDcgQEAKICAgICBjdHgubGluZVRvKDEw
MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubGluZVRvLmJhc2lj
CiAgIHRlc3Rpbmc6CkBAIC02NjQ4LDYgKzY5NzgsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAy
NSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubmV4dHBvaW50
CiAgIHRlc3Rpbmc6CkBAIC02NjYzLDYgKzY5OTQsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAy
NSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubm9uZmluaXRl
CiAgIGRlc2M6IGxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTY2Nzgs
NiArNzAxMCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8ubm9uZmluaXRlLmRldGFpbHMK
ICAgZGVzYzogbGluZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBj
b252ZXJ0cyB0aGUgc2Vjb25kIGFyZwpAQCAtNjY4OSw2ICs3MDIyLDcgQEAKICAgICAgIGN0eC5s
aW5lVG8oYXJnMSwgeyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgY29udmVydGVkID0gdHJ1ZTsgcmV0
dXJuIDA7IH0gfSk7CiAgICAgICBAYXNzZXJ0IGNvbnZlcnRlZDsKICAgICB9CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMQog
ICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBp
cyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpCkBAIC02NzA1LDYgKzcwMzks
NyBAQAogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9k
bworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1
cmVzdWJwYXRoLjIKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNv
bnRyb2wgcG9pbnQgaXMgYWRkZWQKQEAgLTY3MjEsNiArNzA1Niw3IEBACiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMKICAgdGVzdGluZzoKQEAgLTY3
MzUsNiArNzA3MSw3IEBACiAgICAgY3R4LnF1YWRyYXRpY0N1cnZlVG8oMTAwLCAyNSwgMTAwLCAy
NSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRv
LnNoYXBlCiAgIHRlc3Rpbmc6CkBAIC02NzUzLDYgKzcwOTAsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkCiAgIHRlc3Rp
bmc6CkBAIC02NzcyLDYgKzcxMTAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlCiAgIGRlc2M6IHF1YWRyYXRpY0N1
cnZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC02Nzg3LDYgKzcxMjYsNyBA
QAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEKICAgZGVz
YzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRk
ZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KQpAQCAtNjgwMyw2ICs3MTQzLDcgQEAK
ICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIKICAgZGVz
YzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRk
ZWQKQEAgLTY4MTksNiArNzE2MCw3IEBACiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVU
by5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjgzMyw2ICs3MTc1LDcgQEAKICAgICBjdHguYmV6aWVy
Q3VydmVUbygxMDAsIDI1LCAxMDAsIDI1LCAxMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUKICAgdGVzdGluZzoKQEAgLTY4NTEs
NiArNzE5NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6
aWVyQ3VydmVUby5zY2FsZWQKICAgdGVzdGluZzoKQEAgLTY4NzAsNiArNzIxNCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5ub25maW5p
dGUKICAgZGVzYzogYmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQK
QEAgLTY4ODUsNiArNzIzMCw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5lbnN1cmVzdWJw
YXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wg
cG9pbnQgaXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KQpAQCAtNjkwMCw2
ICs3MjQ2LDcgQEAKICAgICBjdHguYXJjVG8oMTAwLCA1MCwgMjAwLCA1MCwgMC4xKTsKICAgICBj
dHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMgogICBk
ZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBh
ZGRlZApAQCAtNjkxNiw2ICs3MjYzLDcgQEAKICAgICBjdHgubGluZVRvKDEwMCwgMjUpOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29pbmNpZGUuMQogICBkZXNj
OiBhcmNUbygpIGhhcyBubyBlZmZlY3QgaWYgUDAgPSBQMQpAQCAtNjkzOSw2ICs3Mjg3LDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29pbmNpZGUu
MgogICBkZXNjOiBhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSBpZiBQMSA9IFAy
CkBAIC02OTU0LDYgKzczMDMsNyBAQAogICAgIGN0eC5hcmNUbygxMDAsIDI1LCAxMDAsIDI1LCAx
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4x
CiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAxIGJldHdl
ZW4gUDAvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMQpAQCAtNjk3NCw2ICs3MzI0LDcg
QEAKICAgICBjdHguYXJjVG8oMCwgMjUsIDEwMCwgMjUsIDEpOwogICAgIGN0eC5zdHJva2UoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIKICAgZGVzYzogYXJjVG8oKSB3aXRo
IGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDIgYmV0d2VlbiBQMC9QMSwgZHJhd3MgYSBzdHJh
aWdodCBsaW5lIHRvIFAxCkBAIC02OTk0LDYgKzczNDUsNyBAQAogICAgIGN0eC5hcmNUbygyMDAs
IDI1LCAxMTAsIDI1LCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFy
Y1RvLmNvbGxpbmVhci4zCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGlu
ZSwgYW5kIFAwIGJldHdlZW4gUDEvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMQpAQCAt
NzAxOCw2ICs3MzcwLDcgQEAKICAgICBjdHguYXJjVG8oMCwgMjUsIC0yMDAsIDI1LCAxKTsKICAg
ICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMQogICBk
ZXNjOiBhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZQpAQCAtNzA1NCw2
ICs3NDA3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ1ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgODAsNDYgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA2
NSw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFy
Y1RvLnNoYXBlLmN1cnZlMgogICBkZXNjOiBhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2lu
ZCBvZiBzaGFwZQpAQCAtNzA4OSw2ICs3NDQzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ0
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA4MCw0NiA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0CiAgIGRlc2M6IGFyY1RvKCkgZHJh
d3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEKQEAgLTcxMDgsNiArNzQ2Myw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNoYXBlLmVuZAog
ICBkZXNjOiBhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgZnJvbSBQMSB0byBQMgpAQCAt
NzEyNyw2ICs3NDgzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjVG8ubmVnYXRpdmUKICAgZGVzYzogYXJjVG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0
aHJvd3MgYW4gZXhjZXB0aW9uCkBAIC03MTM0LDYgKzc0OTEsNyBAQAogICAgIC0gMmQucGF0aC5h
cmNUby5uZWdhdGl2ZQogICBjb2RlOiB8CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9F
UlIgY3R4LmFyY1RvKDAsIDAsIDAsIDAsIC0xKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmFyY1RvLnplcm8uMQogICBkZXNjOiBhcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJh
d3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEKQEAgLTcxNTQsNiArNzUxMiw3IEBACiAg
ICAgY3R4LmFyY1RvKDUwLCAtMjUsIDUwLCA1MCwgMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5hcmNUby56ZXJvLjIKICAgZGVzYzogYXJjVG8oKSB3aXRoIHplcm8gcmFk
aXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxsIHBv
aW50cyBhcmUgY29sbGluZWFyCkBAIC03MTc0LDYgKzc1MzMsNyBAQAogICAgIGN0eC5hcmNUbygy
MDAsIDI1LCA1MCwgMjUsIDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjVG8udHJhbnNmb3JtYXRpb24KICAgZGVzYzogYXJjVG8gam9pbnMgdXAgdG8gdGhlIGxhc3Qg
c3VicGF0aCBwb2ludCBjb3JyZWN0bHkKQEAgLTcxOTYsNiArNzU1Niw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLnNjYWxlCiAgIGRlc2M6IGFyY1Rv
IHNjYWxlcyB0aGUgY3VydmUsIG5vdCBqdXN0IHRoZSBjb250cm9sIHBvaW50cwpAQCAtNzIxOSw2
ICs3NTgwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5
LDQ5ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
VG8ubm9uZmluaXRlCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3Jl
ZApAQCAtNzIzNCw2ICs3NTk2LDcgQEAKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0NSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmVtcHR5CkBA
IC03MjQ5LDYgKzc2MTIsNyBAQAogICAgIGN0eC5hcmMoMjAwLCAyNSwgNSwgMCwgMipNYXRoLlBJ
LCB0cnVlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5ub25lbXB0
eQogICBkZXNjOiBhcmMoKSB3aXRoIGEgbm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWln
aHQgbGluZSB0byB0aGUgc3RhcnQgcG9pbnQKQEAgLTcyNjQsNiArNzYyOCw3IEBACiAgICAgY3R4
LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjLmVuZAogICBkZXNjOiBhcmMoKSBhZGRzIHRoZSBlbmQgcG9p
bnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aApAQCAtNzI4MCw2ICs3NjQ1LDcgQEAKICAgICBj
dHgubGluZVRvKDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjLmRlZmF1bHQKICAgZGVzYzogYXJjKCkgd2l0aCBtaXNzaW5nIGxhc3QgYXJndW1lbnQgZGVm
YXVsdHMgdG8gY2xvY2t3aXNlCkBAIC03Mjk0LDYgKzc2NjAsNyBAQAogICAgIGN0eC5hcmMoMTAw
LCAwLCAxNTAsIC1NYXRoLlBJLCBNYXRoLlBJLzIpOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmFyYy5hbmdsZS4xCiAgIGRlc2M6IGFyYygpIGRyYXdzIHBpLzIgLi4gLXBpIGFu
dGljbG9ja3dpc2UgY29ycmVjdGx5CkBAIC03MzA4LDYgKzc2NzUsNyBAQAogICAgIGN0eC5hcmMo
MTAwLCAwLCAxNTAsIE1hdGguUEkvMiwgLU1hdGguUEksIHRydWUpOwogICAgIGN0eC5maWxsKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS4yCiAgIGRlc2M6IGFyYygpIGRyYXdzIC0zcGkv
MiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHkKQEAgLTczMjIsNiArNzY5MCw3IEBACiAg
ICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgLTMqTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiAg
ICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjMKICAgZGVzYzogYXJj
KCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRpY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFy
dCsycGkKQEAgLTczMzYsNiArNzcwNSw3IEBACiAgICAgY3R4LmFyYygxMDAsIDAsIDE1MCwgKDUx
MisxLzIpKk1hdGguUEksICgxMDI0LTEpKk1hdGguUEksIHRydWUpOwogICAgIGN0eC5maWxsKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmdsZS40CiAgIGRlc2M6IGFyYygpIGRyYXdzIGEgZnVs
bCBjaXJjbGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaQpAQCAtNzM1Myw2ICs3
NzIzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuYW5n
bGUuNQogICBkZXNjOiBhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBh
bmQgc3RhcnQgPiBlbmQrMnBpCkBAIC03MzY3LDYgKzc3MzgsNyBAQAogICAgIGN0eC5hcmMoMTAw
LCAwLCAxNTAsICgxMDI0LTEpKk1hdGguUEksICg1MTIrMS8yKSpNYXRoLlBJLCBmYWxzZSk7CiAg
ICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjYKICAgZGVzYzogYXJj
KCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5k
KzJwaQpAQCAtNzM4NCw2ICs3NzU2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5hcmMuemVyby4xCiAgIGRlc2M6IGFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBz
dGFydEFuZ2xlID0gZW5kQW5nbGUgYW5kIGFudGljbG9ja3dpc2UKQEAgLTczOTgsNiArNzc3MSw3
IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCB0cnVlKTsKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvLjIKICAgZGVzYzogYXJjKCkgZHJhd3Mgbm90
aGluZyB3aGVuIHN0YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgY2xvY2t3aXNlCkBAIC03NDEyLDYg
Kzc3ODYsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMCwgZmFsc2UpOwogICAgIGN0
eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnR3b3BpZS4xCiAgIGRlc2M6IGFyYygp
IGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBhbnRpY2xvY2t3aXNl
CkBAIC03NDI2LDYgKzc4MDEsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRo
LlBJIC0gMWUtNCwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmMudHdvcGllLjIKICAgZGVzYzogYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9
IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZQpAQCAtNzQ0MCw2ICs3ODE2LDcgQEAKICAgICBj
dHguYXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSAtIDFlLTQsIGZhbHNlKTsKICAgICBjdHgu
c3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy50d29waWUuMwogICBkZXNjOiBhcmMoKSBk
cmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAycGkrZSBhbmQgYW50aWNsb2Nr
d2lzZQpAQCAtNzQ1NCw2ICs3ODMxLDcgQEAKICAgICBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDIq
TWF0aC5QSSArIDFlLTQsIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGguYXJjLnR3b3BpZS40CiAgIGRlc2M6IGFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBz
dGFydCArIDJwaStlIGFuZCBjbG9ja3dpc2UKQEAgLTc0NjgsNiArNzg0Niw3IEBACiAgICAgY3R4
LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCBmYWxzZSk7CiAgICAgY3R4LnN0
cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMQogICBkZXNjOiBhcmMoKSBmcm9t
IDAgdG8gcGkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZgpAQCAtNzQ4
Nyw2ICs3ODY2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCAyMCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
YXJjLnNoYXBlLjIKICAgZGVzYzogYXJjKCkgZnJvbSAwIHRvIHBpIGRyYXdzIHN0dWZmIGluIHRo
ZSByaWdodCBoYWxmCkBAIC03NTA2LDYgKzc4ODYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuMwogICBkZXNjOiBhcmMoKSBmcm9tIDAgdG8g
LXBpLzIgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBpbiB0aGUgd3JvbmcgcXVhZHJhbnQKQEAgLTc1
MjQsNiArNzkwNSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmFyYy5zaGFwZS40CiAgIGRlc2M6IGFyYygpIGZyb20gMCB0byAtcGkvMiBkcmF3
cyBzdHVmZiBpbiB0aGUgcmlnaHQgcXVhZHJhbnQKQEAgLTc1NDIsNiArNzkyNCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnNoYXBlLjUKICAgZGVzYzog
YXJjKCkgZnJvbSAwIHRvIDVwaSBkb2VzIG5vdCBkcmF3IGNyYXp5IHRoaW5ncwpAQCAtNzU2MCw2
ICs3OTQzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMu
c2VsZmludGVyc2VjdC4xCiAgIGRlc2M6IGFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMg
aXMgZHJhd24gc2Vuc2libHkKQEAgLTc1NzgsNiArNzk2Miw3IEBACiAgICAgY3R4LnN0cm9rZSgp
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSwxID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMgogICBkZXNjOiBhcmMoKSB3aXRoIGxpbmVX
aWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5CkBAIC03NjAwLDYgKzc5ODUsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgOTcsMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDk3LDMgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyLDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5lZ2F0aXZlCiAgIGRl
c2M6IGFyYygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUgpAQCAt
NzYwNyw2ICs3OTkzLDcgQEAKICAgICAtIDJkLnBhdGguYXJjLm5lZ2F0aXZlCiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguYXJjKDAsIDAsIC0xLCAwLCAw
LCB0cnVlKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy56ZXJvcmFkaXVz
CiAgIGRlc2M6IGFyYygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFy
dCBwb2ludApAQCAtNzYyMiw2ICs4MDA5LDcgQEAKICAgICBjdHguYXJjKDIwMCwgMjUsIDAsIDAs
IE1hdGguUEksIHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
LnNjYWxlLjEKICAgZGVzYzogTm9uLXVuaWZvcm1seSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0
IHNoYXBlCkBAIC03NjU1LDYgKzgwNDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5hcmMuc2NhbGUuMgogICBkZXNjOiBIaWdobHkgc2NhbGVkIGFyY3MgYXJl
IHRoZSByaWdodCBzaGFwZQpAQCAtNzY3OCw2ICs4MDY3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5vbmZpbml0ZQogICBkZXNjOiBhcmMoKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC03Njk1LDYgKzgwODUsNyBAQAogICAgIGN0eC5m
aWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFt
ZTogMmQucGF0aC5yZWN0LmJhc2ljCkBAIC03NzA3LDYgKzgwOTgsNyBAQAogICAgIGN0eC5yZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3Qu
bmV3c3VicGF0aAogICB0ZXN0aW5nOgpAQCAtNzcyMiw2ICs4MTE0LDcgQEAKICAgICBjdHgucmVj
dCgyMDAsIDI1LCAxLCAxKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJl
Y3QuY2xvc2VkCiAgIHRlc3Rpbmc6CkBAIC03NzM1LDYgKzgxMjgsNyBAQAogICAgIGN0eC5yZWN0
KDEwMCwgNTAsIDEwMCwgMTAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LnJlY3QuZW5kLjEKICAgdGVzdGluZzoKQEAgLTc3NDgsNiArODE0Miw3IEBACiAgICAgY3R4Lmxp
bmVUbygtMjAwMCwgLTEwMDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
cmVjdC5lbmQuMgogICB0ZXN0aW5nOgpAQCAtNzc2Niw2ICs4MTYxLDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uMQogICB0ZXN0aW5nOgpAQCAt
Nzc3OSw2ICs4MTc1LDcgQEAKICAgICBjdHgucmVjdCgwLCA1MCwgMTAwLCAwKTsKICAgICBjdHgu
c3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby4yCiAgIHRlc3Rpbmc6CkBAIC03
NzkyLDYgKzgxODksNyBAQAogICAgIGN0eC5yZWN0KDUwLCAtMTAwLCAwLCAyNTApOwogICAgIGN0
eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjMKICAgdGVzdGluZzoKQEAg
LTc4MDUsNiArODIwMyw3IEBACiAgICAgY3R4LnJlY3QoNTAsIDI1LCAwLCAwKTsKICAgICBjdHgu
c3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby40CiAgIHRlc3Rpbmc6CkBAIC03
ODE4LDYgKzgyMTcsNyBAQAogICAgIGN0eC5saW5lVG8oMCwgMjUpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjUKICAgdGVzdGluZzoKQEAgLTc4MzEsNiAr
ODIzMSw3IEBACiAgICAgY3R4LnJlY3QoMTAwLCAyNSwgMCwgMCk7CiAgICAgY3R4LnN0cm9rZSgp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uNgogICB0ZXN0aW5nOgpAQCAtNzg0Niw2ICs4
MjQ3LDcgQEAKICAgICBjdHgucmVjdCgxMDAsIDI1LCAxMDAwLCAwKTsKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lm5lZ2F0aXZlCiAgIHRlc3Rpbmc6
CkBAIC03ODY0LDYgKzgyNjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGgucmVjdC53aW5kaW5nCiAgIHRlc3Rpbmc6CkBAIC03ODgyLDYgKzgyODUsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCAyNSwzNyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5zZWxmaW50ZXJz
ZWN0CiAgIGNvZGU6IHwKQEAgLTc4OTMsNiArODI5Nyw3IEBACiAgICAgY3R4LnJlY3QoNDUsIDIw
LCAxMCwgMTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LnJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IHJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25v
cmVkCkBAIC03OTA4LDYgKzgzMTMsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmlsbC5vdmVybGFw
CiAgIHRlc3Rpbmc6CkBAIC03OTIxLDYgKzgzMjcsNyBAQAogICAgIGN0eC5yZWN0KDEwLCAxMCwg
ODAsIDMwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAs
MTI3LDAsMjU1ICsvLSAxOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmlsbC53
aW5kaW5nLmFkZAogICB0ZXN0aW5nOgpAQCAtNzk0MCw2ICs4MzQ3LDcgQEAKICAgICBjdHgubGlu
ZVRvKDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndpbmRp
bmcuc3VidHJhY3QuMQogICB0ZXN0aW5nOgpAQCAtNzk1OSw2ICs4MzY3LDcgQEAKICAgICBjdHgu
bGluZVRvKDEwMCwgMCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmlsbC53
aW5kaW5nLnN1YnRyYWN0LjIKICAgdGVzdGluZzoKQEAgLTc5NzcsNiArODM4Niw3IEBACiAgICAg
Y3R4LmxpbmVUbygxMDAsIDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmZp
bGwud2luZGluZy5zdWJ0cmFjdC4zCiAgIHRlc3Rpbmc6CkBAIC04MDAxLDYgKzg0MTEsNyBAQAog
ICAgIGN0eC5saW5lVG8oMTAwLCAwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5maWxsLmNsb3NlZC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtODAxNSw2ICs4NDI2LDcgQEAKICAg
ICBjdHgubGluZVRvKDAsIDUwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5m
aWxsLmNsb3NlZC51bmFmZmVjdGVkCiAgIHRlc3Rpbmc6CkBAIC04MDMyLDYgKzg0NDQsNyBAQAog
ICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA5MCwxMCA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDEwLDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLm92ZXJsYXAKICAgZGVzYzogU3Ryb2tlZCBzdWJwYXRo
cyBhcmUgY29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXduCkBAIC04MDQ4LDYgKzg0NjEsNyBAQAog
ICAgIGN0eC5saW5lVG8oMTAwLCAzMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT1+IDAsMTI3LDAsMjU1ICsvLSAxOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguc3Ryb2tlLnVuaW9uCiAgIGRlc2M6IFN0cm9rZXMgaW4gb3Bwb3NpdGUgZGly
ZWN0aW9ucyBhcmUgdW5pb25lZCwgbm90IHN1YnRyYWN0ZWQKQEAgLTgwNjQsNiArODQ3OCw3IEBA
CiAgICAgY3R4LmxpbmVUbygwLCA0MCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
cGF0aC5zdHJva2UudW5hZmZlY3RlZAogICBkZXNjOiBTdHJva2luZyBkb2VzIG5vdCBzdGFydCBh
IG5ldyBwYXRoIG9yIHN1YnBhdGgKQEAgLTgwODMsNiArODQ5OCw3IEBACiAgICAgY3R4LnN0cm9r
ZVN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ry
b2tlLnNjYWxlMQogICBkZXNjOiBTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUg
Y3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTgxMTQsNiArODUzMCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
NDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5zY2FsZTIKICAgZGVz
YzogU3Ryb2tlIGxpbmUgd2lkdGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3Jt
YXRpb24gbWF0cml4CkBAIC04MTQ3LDYgKzg1NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0
OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2Uuc2tldwogICBkZXNjOiBTdHJva2VzIGxpbmVzIGFy
ZSBza2V3ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4CkBAIC04MTkzLDYg
Kzg2MTEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTks
NDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJv
a2UuZW1wdHkKICAgZGVzYzogRW1wdHkgc3VicGF0aHMgYXJlIG5vdCBzdHJva2VkCkBAIC04MjEw
LDYgKzg2MjksNyBAQAogICAgIGN0eC5tb3ZlVG8oNjAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lCiAgIGRlc2M6IFplcm8tbGVuZ3Ro
IGxpbmUgc2VnbWVudHMgZnJvbSBsaW5lVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBA
IC04MjI3LDYgKzg2NDcsNyBAQAogICAgIGN0eC5saW5lVG8oNTAsIDI1KTsKICAgICBjdHguc3Ry
b2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJva2UucHJ1bmUuY2xvc2VkCiAg
IGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJl
bW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MjQ1LDYgKzg2NjYsNyBAQAogICAgIGN0eC5jbG9z
ZVBhdGgoKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5z
dHJva2UucHJ1bmUuY3VydmUKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9t
IHF1YWRyYXRpY0N1cnZlVG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0
cm9raW5nCkBAIC04MjY2LDYgKzg2ODgsNyBAQAogICAgIGN0eC5iZXppZXJDdXJ2ZVRvKDUwLCAy
NSwgNTAsIDI1LCA1MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdt
ZW50cyBmcm9tIGFyY1RvIGFuZCBhcmMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04
Mjg3LDYgKzg3MTAsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2UpOwog
ICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVu
ZS5yZWN0CiAgIGRlc2M6IFplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSByZWN0IGFuZCBz
dHJva2VSZWN0IGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZwpAQCAtODMwNCw2ICs4NzI4LDcg
QEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgY3R4LnN0cm9rZVJlY3QoNTAsIDI1LCAwLCAwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIKICAgZGVzYzog
WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcgd2l0
aCBtaXRlcnMKQEAgLTgzMjQsNiArODc0OSw3IEBACiAgICAgY3R4LmxpbmVUbygtMTAwLCAxMDAw
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJh
c2ljCiAgIHRlc3Rpbmc6CkBAIC04MzM3LDYgKzg3NjMsNyBAQAogICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgudHJhbnNmb3JtYXRp
b24ubXVsdGlwbGUKICAgZGVzYzogVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHdoaWxlIGJ1
aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nCkBAIC04MzYxLDYgKzg3ODgsNyBAQAogICAg
IGN0eC50cmFuc2xhdGUoMCwgNTApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBh
dGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcKICAgZGVzYzogVHJhbnNmb3JtYXRpb25zIGFyZSBh
cHBsaWVkIHdoaWxlIGJ1aWxkaW5nIHBhdGhzLCBub3Qgd2hlbiBkcmF3aW5nCkBAIC04MzgyLDYg
Kzg4MTAsNyBAQAogICAgIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiAgICAgY3R4LmZpbGwoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguY2xpcC5lbXB0eQogICB0ZXN0aW5nOgpAQCAtODM5NCw2ICs4ODIzLDcg
QEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC5iYXNpYy4xCiAgIHRlc3Rpbmc6CkBAIC04
NDA3LDYgKzg4MzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLmJhc2ljLjIKICAg
dGVzdGluZzoKQEAgLTg0MjAsNiArODg1MSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNs
aXAuaW50ZXJzZWN0CiAgIHRlc3Rpbmc6CkBAIC04NDM2LDYgKzg4NjgsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5jbGlwLndpbmRpbmcuMQogICB0ZXN0aW5nOgpAQCAtODQ1Nyw2ICs4ODkw
LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC53aW5kaW5nLjIKICAgdGVzdGluZzoK
QEAgLTg0ODEsNiArODkxNSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsaXAudW5hZmZl
Y3RlZAogICB0ZXN0aW5nOgpAQCAtODQ5OCw2ICs4OTMzLDcgQEAKICAgICBjdHgubGluZVRvKDAs
IDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmFz
aWMuMQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBp
cyBpbnNpZGUgdGhlIHBhdGgKQEAgLTg1MDcsNiArODk0Myw3IEBACiAgICAgY3R4LnJlY3QoMCwg
MCwgMjAsIDIwKTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkgPT09IHRy
dWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMTApID09PSBmYWxzZTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMgogICBk
ZXNjOiBpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUg
dGhlIHBhdGgKQEAgLTg1MTYsNiArODk1Myw3IEBACiAgICAgY3R4LnJlY3QoMjAsIDAsIDIwLCAy
MCk7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMTApID09PSBmYWxzZTsKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkgPT09IHRydWU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UKICAgZGVzYzogaXNQb2lu
dEluUGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBhdGggYXMgYmVpbmcgaW5zaWRlCkBAIC04
NTM1LDYgKzg5NzMsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAx
KSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgtMC4wMSwgMTApID09
PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDIwLjAxLCAxMCkgPT09IGZh
bHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0
eQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoCkBA
IC04NTQyLDYgKzg5ODEsNyBAQAogICAgIC0gMmQucGF0aC5pc1BvaW50SW5QYXRoCiAgIGNvZGU6
IHwKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIDApID09PSBmYWxzZTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0aAogICBkZXNj
OiBpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgY3VycmVudCBwYXRoLCBub3QganVzdCB0aGUgc3Vi
cGF0aApAQCAtODU1Niw2ICs4OTk2LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRo
KDEwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEw
KSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDUwLCAxMCkgPT09IHRy
dWU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNp
ZGUKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNh
bnZhcwpAQCAtODU3MCw2ICs5MDExLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRo
KDMwLCAtMjApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAw
KSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCkgPT09IGZh
bHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC51bmNs
b3NlZAogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgc3VicGF0aHMK
QEAgLTg1ODIsNiArOTAyNCw3IEBACiAgICAgY3R4LmxpbmVUbygwLCAyMCk7CiAgICAgQGFzc2Vy
dCBjdHguaXNQb2ludEluUGF0aCgxMCwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4Lmlz
UG9pbnRJblBhdGgoMzAsIDEwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYwogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mg
b24gYXJjcwpAQCAtODU5Nyw2ICs5MDQwLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3MCwgMzApID09
PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmlnYXJjCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBhcmNzIGxh
cmdlciB0aGFuIDJwaQpAQCAtODYxMyw2ICs5MDU3LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDcwLCAyMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDMwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3MCwg
MzApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJ
blBhdGguYmV6aWVyCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiBCZXppZXIgY3Vy
dmVzCkBAIC04NjQxLDYgKzkwODYsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgo
NzAsIDMwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDc1LCAyMCkg
PT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSA9PT0gZmFs
c2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLndpbmRp
bmcKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHVzZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVt
YmVyIHJ1bGUKQEAgLTg2NjcsNiArOTExMyw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludElu
UGF0aCg1LCA0NSkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgyNSwg
NDUpID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNDUsIDQ1KSA9PT0g
dHJ1ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgudHJh
bnNmb3JtLjEKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25z
IGNvcnJlY3RseQpAQCAtODY4MSw2ICs5MTI4LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50
SW5QYXRoKDUxLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg2
OSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSA9
PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRo
LnRyYW5zZm9ybS4yCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0
aW9ucyBjb3JyZWN0bHkKQEAgLTg2OTUsNiArOTE0Myw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQ
b2ludEluUGF0aCg1MSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoNjksIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcxLCAx
MCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludElu
UGF0aC50cmFuc2Zvcm0uMwogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zv
cm1hdGlvbnMgY29ycmVjdGx5CkBAIC04NzA5LDYgKzkxNTgsNyBAQAogICAgIEBhc3NlcnQgY3R4
LmlzUG9pbnRJblBhdGgoNTEsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50
SW5QYXRoKDY5LCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3
MSwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9p
bnRJblBhdGgudHJhbnNmb3JtLjQKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJh
bnNmb3JtYXRpb25zIGNvcnJlY3RseQpAQCAtODcyMSw2ICs5MTcxLDcgQEAKICAgICBAYXNzZXJ0
IGN0eC5pc1BvaW50SW5QYXRoKDYwLCAxMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4Lmlz
UG9pbnRJblBhdGgoMTEwLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludElu
UGF0aCgxMTAsIDYwKSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgcmV0dXJu
cyBmYWxzZSBmb3Igbm9uLWZpbml0ZSBhcmd1bWVudHMKQEAgLTg3MzUsNiArOTE4Niw3IEBACiAg
ICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgwLCAtSW5maW5pdHkpID09PSBmYWxzZTsKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTikgPT09IGZhbHNlOwogICAgIEBhc3Nl
cnQgY3R4LmlzUG9pbnRJblBhdGgoTmFOLCBOYU4pID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5jb29yZGluYXRlc3BhY2UKICAgZGVzYzogQ29vcmRpbmF0ZSBzcGFjZSBn
b2VzIGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0CkBAIC04NzUwLDYgKzkyMDIsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwwLDI1NSwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCAyNSwzNyA9PSAwLDAsMjU1LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM3ID09IDAsMCwy
NTUsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLm1pc3NpbmdhcmdzCiAgIGRlc2M6
IE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvcgpAQCAtODc2OCw3ICs5MjIxLDYgQEAK
ICAgICAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC50cmFuc2Zvcm0oMSwgMCwgMCwg
MSwgMCk7CiAgICAgfQogICAgIGlmIChjdHguc2V0VHJhbnNmb3JtKSB7Ci0gICAgICAgIEBhc3Nl
cnQgdGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3JtKCk7CiAgICAgICAgIEBhc3NlcnQg
dGhyb3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3JtKDEpOwogICAgICAgICBAYXNzZXJ0IHRo
cm93cyBUeXBlRXJyb3IgY3R4LnNldFRyYW5zZm9ybSgxLCAwKTsKICAgICAgICAgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCk7CkBAIC04ODUxLDYgKzkz
MDMsNyBAQAogICAgIHZhciBnID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDAp
OwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgpOyBAbW96LXRv
ZG8KICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgZy5hZGRDb2xvclN0b3AoMCk7IEBtb3ot
dG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnZvaWRyZXR1cm4KICAgZGVzYzogdm9p
ZCBtZXRob2RzIHJldHVybiB1bmRlZmluZWQKQEAgLTg4ODYsNiArOTMzOSw3IEBACiAgICAgfQog
ICAgIEBhc3NlcnQgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAs
IDAsIDAsIDApID09PSB1bmRlZmluZWQ7CiAgICAgQGFzc2VydCBjdHguY3JlYXRlTGluZWFyR3Jh
ZGllbnQoMCwgMCwgMCwgMCkuYWRkQ29sb3JTdG9wKDAsICd3aGl0ZScpID09PSB1bmRlZmluZWQ7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2FudmFzLnJlZmVyZW5jZQogICBkZXNjOiBj
YW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhcwpAQCAtODg5Myw2ICs5MzQ3LDcgQEAKICAg
ICAtIDJkLmNhbnZhcwogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguY2FudmFzID09PSBvZmZz
Y3JlZW5DYW52YXM7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2FudmFzLnJlYWRvbmx5
CiAgIGRlc2M6IGNhbnZhcyBpcyByZWFkb25seQpAQCAtODkwNCw2ICs5MzU5LDcgQEAKICAgICBA
YXNzZXJ0IG9mZnNjcmVlbkNhbnZhczIgIT09IGQ7CiAgICAgY3R4LmNhbnZhcyA9IG9mZnNjcmVl
bkNhbnZhczI7CiAgICAgQGFzc2VydCBjdHguY2FudmFzID09PSBkOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXhpc3RzCiAgIGRlc2M6IFRoZSAyRCBjb250ZXh0IGlz
IGltcGxlbWVudGVkCkBAIC04OTEyLDYgKzkzNjgsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9m
ZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpICE9PSBudWxsOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmdldGNvbnRleHQuZXh0cmFhcmdzCiAgIGRlc2M6IFRoZSAyRCBj
b250ZXh0IGlnbm9yZXMgZXh0cmEgZ2V0Q29udGV4dCBhcmd1bWVudHMKQEAgLTg5MjAsNiArOTM3
Nyw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRl
eHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgIjIiKSAhPT0gbnVsbDsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5nZXRjb250ZXh0LnVuaXF1ZQogICBkZXNjOiBnZXRDb250ZXh0KCcyZCcp
IHJldHVybnMgdGhlIHNhbWUgb2JqZWN0CkBAIC04OTI4LDYgKzkzODYsNyBAQAogICBjb2RlOiB8
CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpID09PSBvZmZz
Y3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuZ2V0Y29udGV4dC5zaGFyZWQKICAgZGVzYzogZ2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIG9i
amVjdHMgd2hpY2ggc2hhcmUgY2FudmFzIHN0YXRlCkBAIC04OTM5LDYgKzkzOTgsNyBAQAogICAg
IGN0eDIuZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IGNvbnRleHQuZW1wdHlzdHJpbmcKICAgZGVzYzogZ2V0Q29udGV4dCB3aXRo
IGVtcHR5IHN0cmluZyByZXR1cm5zIG51bGwKQEAgLTg5NDcsNiArOTQwNyw3IEBACiAgIGNvZGU6
IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgiIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlzZWQu
YmFkbmFtZQogICBkZXNjOiBnZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQgbmFt
ZSByZXR1cm5zIG51bGwKQEAgLTg5NTUsNiArOTQxNiw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFz
c2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnVGhpcyBp
cyBub3QgYW4gaW1wbGVtZW50ZWQgY29udGV4dCBpbiBhbnkgcmVhbCBicm93c2VyJyk7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4CiAgIGRl
c2M6IENvbnRleHQgbmFtZSAiMmQiIHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkCkBAIC04
OTYzLDYgKzk0MjUsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJv
ciBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoIjJkIyIpOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IGNvbnRleHQudW5yZWNvZ25pc2VkLm51bGxzdWZmaXgKICAgZGVzYzogQ29udGV4dCBu
YW1lICIyZCIgcGx1cyBhICJcMCIgc3VmZml4IGlzIHVucmVjb2duaXNlZApAQCAtODk3MSw2ICs5
NDM0LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2Ny
ZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIyZFwwIik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
Y29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZQogICBkZXNjOiBDb250ZXh0IG5hbWUgd2hpY2gg
a2luZCBvZiBsb29rcyBsaWtlICIyZCIgaXMgdW5yZWNvZ25pc2VkCkBAIC04OTc5LDYgKzk0NDMs
NyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoIjJcdUZGNDQiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBj
b250ZXh0LmNhc2VzZW5zaXRpdmUKICAgZGVzYzogQ29udGV4dCBuYW1lICIyRCIgaXMgdW5yZWNv
Z25pc2VkOyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZQpAQCAtODk4Nyw2ICs5NDUyLDcgQEAK
ICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCcyRCcpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNvbnRleHQuYXJn
dW1lbnRzLm1pc3NpbmcKICAgdGVzdGluZzoKQEAgLTg5OTQsNiArOTQ2MCw3IEBACiAgIGNvZGU6
IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgpOyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogCiAtIG5hbWU6IGluaXRpYWwuY29s
b3VyCkBAIC05MDAyLDYgKzk0NjksNyBAQAogICAgIC0gaW5pdGlhbC5jb2xvdXIKICAgY29kZTog
fAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiBpbml0aWFsLnJlc2V0LmRpZmZlcmVudAogICBkZXNjOiBDaGFuZ2luZyBzaXplIHJl
c2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2sKQEAgLTkwMTMsNiArOTQ4MSw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAyNTUsMCwwLDI1NTsKICAgICBvZmZzY3JlZW5DYW52
YXMud2lkdGggPSA1MDsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC5zYW1lCiAgIGRlc2M6IFNldHRpbmcg
c2l6ZSAobm90IGNoYW5naW5nIHRoZSB2YWx1ZSkgcmVzZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVu
dCBibGFjawpAQCAtOTAyNSw2ICs5NDk0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09
IDI1NSwwLDAsMjU1OwogICAgIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKICAgICBAYXNz
ZXJ0IHBpeGVsIDIwLDIwID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5p
dGlhbC5yZXNldC5wYXRoCiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0
cyB0aGUgY3VycmVudCBwYXRoCkBAIC05MDM3LDYgKzk1MDcsNyBAQAogICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09
IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNldC5jbGlwCiAg
IGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCBjbGlw
IHJlZ2lvbgpAQCAtOTA1MCw2ICs5NTIxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDIw
LDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGluaXRpYWwucmVz
ZXQudHJhbnNmb3JtCiAgIGRlc2M6IFJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0
aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTkwNjIsNiArOTUzNCw3IEBACiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmdyYWRpZW50CiAgIGRlc2M6IFJlc2V0dGluZyB0
aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4aXN0aW5nIGdyYWRpZW50
cwpAQCAtOTA3OCw2ICs5NTUxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LnBhdHRlcm4K
ICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBh
bnkgZXhpc3RpbmcgcGF0dGVybnMKQEAgLTkwOTQsNiArOTU2OCw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9IHA7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogc2l6
ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVybwogICBkZXNjOiBTZXR0aW5nIHdpZHRoL2hlaWdodCBJ
REwgYXR0cmlidXRlcyB0byAwCkBAIC05MTA1LDYgKzk1ODAsNyBAQAogICAgIG9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQgPSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09PSAw
OwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gMDsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuaWRsCiAgIGRlc2M6IEdldHRpbmcvc2V0dGlu
ZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMKQEAgLTkxMzAsNiArOTYwNiw3IEBACiAgICAg
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICJmb28iOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID09PSAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0g
MDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMuZGVmYXVsdAogICBk
ZXNjOiBEZWZhdWx0IHdpZHRoL2hlaWdodCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG1pc3NpbmcKQEAg
LTkxMzksNiArOTYxNiw3IEBACiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZh
cy53aWR0aCA9PT0gMTAwOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0g
NTA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0
aWRsCiAgIGRlc2M6IFNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBkYXRlcyBJREwgYW5kIGNvbnRl
bnQgYXR0cmlidXRlcwpAQCAtOTE0OSw2ICs5NjI3LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0ID0gNjA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDEyMDsK
ICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09IDYwOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IHNpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8KICAgZGVzYzog
U2V0dGluZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJp
YnV0ZXMKQEAgLTkxNTksNiArOTYzOCw3IEBACiAgICAgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2Vy
dCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG1ldGE6
IHwKICAgICBjYXNlcyA9IFsKQEAgLTkxOTAsNiArOTY3MCw4IEBACiAgICAgICAgICAgICBjb2Rl
ICs9ICJAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gJXM7XG5AYXNzZXJ0IG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPT09ICVzO1xuIiAlIChleHAsIGV4cCkKICAgICAgICAgICAgIGV4
cGVjdGVkID0gTm9uZQogCisgICAgICAgIGNvZGUgKz0gInQuZG9uZSgpO1xuIgorCiAgICAgICAg
IGlmIGV4cCA9PSAwOgogICAgICAgICAgICAgZXhwZWN0ZWQgPSBOb25lICMgY2FuJ3QgZ2VuZXJh
dGUgemVyby1zaXplZCBQTkdzIGZvciB0aGUgZXhwZWN0ZWQgaW1hZ2UKIApAQCAtOTIxNiw2ICs5
Njk4LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gbjsKICAgICBAYXNzZXJ0IG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gbjsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPT09IG47CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBhcnNl
LmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC05MjI3LDYgKzk3MTAsNyBAQAogCiAgICAgY3R4LmZvbnQg
PSAnMjBQWCAgIFNFUklGJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7
IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuZm9udC5wYXJzZS50
aW55CiAgIHRlc3Rpbmc6CkBAIC05MjM1LDYgKzk3MTksNyBAQAogICBjb2RlOiB8CiAgICAgY3R4
LmZvbnQgPSAnMXB4IHNhbnMtc2VyaWYnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcxcHgg
c2Fucy1zZXJpZic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBhcnNl
LmNvbXBsZXgKICAgdGVzdGluZzoKQEAgLTkyNDQsNiArOTcyOSw3IEBACiAgIGNvZGU6IHwKICAg
ICBjdHguZm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24gRm9udCwg
c2Fucy1zZXJpZic7CiAgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJ2l0YWxpYyBzbWFsbC1jYXBz
IDEycHggIlVua25vd24gRm9udCIsIHNhbnMtc2VyaWYnOyBAbW96LXRvZG8KKyAgICB0LmRvbmUo
KTsKIAogICAjIFRPRE86CiAgICMgICAyZC50ZXh0LmZvbnQucGFyc2Uuc2l6ZS5hYnNvbHV0ZQpA
QCAtOTI2NCw2ICs5NzUwLDcgQEAKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJ21lc3NhZ2Ut
Ym94JzsKICAgICBAYXNzZXJ0IGN0eC5mb250ICE9PSAnbWVzc2FnZS1ib3gnOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkCiAgIHRlc3Rpbmc6CkBA
IC05MjcyLDYgKzk3NTksMTAgQEAKICAgICBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKICAgICBA
YXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CiAKKyAgICBjdHguZm9udCA9ICcyMHB4
IHNlcmlmJzsKKyAgICBjdHguZm9udCA9ICcnOworICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcy
MHB4IHNlcmlmJzsKKwogICAgIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogICAgIGN0eC5mb250
ID0gJ2JvZ3VzJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CkBAIC05
Mjk5LDE0ICs5NzkwLDIyIEBACiAgICAgY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CiAgICAgY3R4
LmZvbnQgPSAnMWVtIHNlcmlmOyBiYWNrZ3JvdW5kOiBncmVlbjsgbWFyZ2luOiAxMHB4JzsKICAg
ICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMjBweCBzZXJpZic7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudGV4dC5mb250LmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQuZm9u
dC5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnMTBweCBzYW5z
LXNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAotCistIG5hbWU6IDJkLnRleHQuZm9udC5yZWxhdGl2
ZV9zaXplCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZQorICBj
b2RlOiB8CisgICAgY3R4LmZvbnQgPSAnMWVtIHNhbnMtc2VyaWYnOworICAgIEBhc3NlcnQgY3R4
LmZvbnQgPT09ICcxMHB4IHNhbnMtc2VyaWYnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnRleHQuYWxpZ24udmFsaWQKICAgdGVzdGluZzoKQEAgLTkzMjcsNiArOTgyNiw3IEBACiAKICAg
ICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAgQGFzc2VydCBjdHgudGV4dEFsaWduID09
PSAnY2VudGVyJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmFsaWduLmludmFs
aWQKICAgdGVzdGluZzoKQEAgLTkzNDcsMTIgKzk4NDcsMTQgQEAKICAgICBjdHgudGV4dEFsaWdu
ID0gJ3N0YXJ0JzsKICAgICBjdHgudGV4dEFsaWduID0gJ2VuZFwwJzsKICAgICBAYXNzZXJ0IGN0
eC50ZXh0QWxpZ24gPT09ICdzdGFydCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4
dC5hbGlnbi5kZWZhdWx0CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50ZXh0LmFsaWduLmRlZmF1bHQK
ICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LnRleHRBbGlnbiA9PT0gJ3N0YXJ0JzsKKyAgICB0
LmRvbmUoKTsKIAogCiAtIG5hbWU6IDJkLnRleHQuYmFzZWxpbmUudmFsaWQKQEAgLTkzNzcsNiAr
OTg3OSw3IEBACiAKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ2JvdHRvbSc7CiAgICAgQGFzc2Vy
dCBjdHgudGV4dEJhc2VsaW5lID09PSAnYm90dG9tJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC50ZXh0LmJhc2VsaW5lLmludmFsaWQKICAgdGVzdGluZzoKQEAgLTkzOTcsMTIgKzk5MDAs
MTQgQEAKICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CiAgICAgY3R4LnRleHRCYXNlbGlu
ZSA9ICdtaWRkbGVcMCc7CiAgICAgQGFzc2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAndG9wJzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQKICAgdGVz
dGluZzoKICAgICAtIDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCBjdHgudGV4dEJhc2VsaW5lID09PSAnYWxwaGFiZXRpYyc7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMKICAgZGVzYzogZmlsbFRleHQgZHJhd3Mg
ZmlsbGVkIHRleHQKQEAgLTk0MTcsNiArOTkyMiw3IEBACiAgICAgY3R4LnN0cm9rZVN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0
eC5maWxsVGV4dCgnUEFTUycsIDUsIDM1KTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6ICZw
YXNzZmlsbCB8CiAgICAgc2l6ZSAxMDAgNTAKICAgICBjci5zZXRfc291cmNlX3JnYigwLCAwLCAw
KQpAQCAtOTQ1MCw2ICs5OTU2LDcgQEAKIAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5y
dGwKQEAgLTk0NjQsNiArOTk3MSw3IEBACiAgICAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4
dCgnXHUyMDJlRkFJTCBceGEwIFx4YTAgU1NBUCcsIDUsIDM1KTsKKyAgICB0LmRvbmUoKTsKICAg
ZXhwZWN0ZWQ6ICpwYXNzZmlsbAogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LmxhcmdlCkBAIC05NDc3LDYgKzk5ODUsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxU
ZXh0KCdQQVNTJywgNSwgMzUsIDIwMCk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiAqcGFz
c2ZpbGwKIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbApAQCAtOTQ5
MCw2ICs5OTk5LDcgQEAKICAgICBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsK
ICAgICBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIC0xMDAsIDM1LCA5
MCk7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAgIGV4
cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8K
QEAgLTk1MDMsNiArMTAwMTMsNyBAQAogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMt
c2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgNSwg
MzUsIDApOwogICAgIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOworICAgIHQuZG9uZSgpOwog
ICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5u
ZWdhdGl2ZQpAQCAtOTUxNiw2ICsxMDAyNyw3IEBACiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlh
bCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZh
aWwnLCA1LCAzNSwgLTEpOwogICAgIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOworICAgIHQu
ZG9uZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5OYU4KQEAgLTk1MjksNiArMTAwNDEsNyBAQAogICAgIGN0eC5mb250ID0gJzM1cHgg
QXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFp
bCBmYWlsJywgNSwgMzUsIE5hTik7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Cisg
ICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5z
dHJva2UuYmFzaWMKQEAgLTk1NDUsNiArMTAwNTgsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSAx
OwogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogICAgIGN0eC5zdHJv
a2VUZXh0KCdQQVNTJywgNSwgMzUpOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogfAogICAg
IHNpemUgMTAwIDUwCiAgICAgY3Iuc2V0X3NvdXJjZV9yZ2IoMCwgMCwgMCkKQEAgLTk1ODAsNiAr
MTAwOTQsNyBAQAogCiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAgIGV4
cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5rZXJuLmNvbnNpc3RlbnQKQEAg
LTk1OTgsNiArMTAxMTMsNyBAQAogICAgIGN0eC5maWxsVGV4dCgnVG9Ub1RvVG9Ub1RvVG8nLCAt
NTAsIDQ1KTsKICAgICBjdHguc3Ryb2tlVGV4dCgnVkFWQVZBVkFWQVZBVkEnLCAtNTAsIDI1KTsK
ICAgICBjdHguc3Ryb2tlVGV4dCgnVG9Ub1RvVG9Ub1RvVG8nLCAtNTAsIDQ1KTsKKyAgICB0LmRv
bmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKICMgQ2FudmFzVGVzdCBpczoKQEAgLTk2MjMsOCAr
MTAxMzksOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CkBA
IC05NjMzLDcgKzEwMTQ5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDAp
OworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAt
IG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kCkBAIC05NjQ0LDggKzEwMTYw
LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigp
IHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTY1
NCw3ICsxMDE3MCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNSA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAg
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1l
OiAyZC50ZXh0LmRyYXcuZm9udGZhY2UKQEAgLTk2NjQsOCArMTAxODAsOCBAQAogICAgIC0gQ2Fu
dmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsKLSAg
ICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05Njc0LDcgKzEwMTkwLDcgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5m
b250ZmFjZS5yZXBlYXQKQEAgLTk2OTAsMTQgKzEwMjA2LDE0IEBACiAgICAgY3R4LmZvbnQgPSAn
NjdweCBDYW52YXNUZXN0JzsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5m
aWxsVGV4dCgnQUEnLCAwLCA1MCk7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihm
dW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdBQScsIDAsIDUwKTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDk1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0
ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZQpAQCAt
OTcwOSw4ICsxMDIyNSw4IEBACiAgIGZvbnRoYWNrOiAwCiAgIGNvZGU6IHwKICAgICBjdHguZm9u
dCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTk3MTksNyArMTAyMzUsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+
IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4g
MCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJh
c2VsaW5lLnRvcApAQCAtOTczMCw4ICsxMDI0Niw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNv
ZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgp
OwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk3NDMsNyArMTAyNTksNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwy
NTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
ICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmJvdHRv
bQpAQCAtOTc1NCw4ICsxMDI3MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAg
ICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKQEAgLTk3NjcsNyArMTAyODMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAw
LDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0
ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLm1pZGRsZQpAQCAtOTc3
OCw4ICsxMDI5NCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTk3OTEsNyArMTAzMDcsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSks
IDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVu
CiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWMKQEAgLTk4MDEsOCAr
MTAzMTcsOCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBA
IC05ODE0LDcgKzEwMzMwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwy
NTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDAp
OworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAt
IG5hbWU6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3JhcGhpYwpAQCAtOTgyNCw4ICsxMDM0
MCw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4
IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4
MzcsNyArMTAzNTMsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10
b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRv
ZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBl
Y3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZwpAQCAt
OTg0Nyw4ICsxMDM2Myw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTk4NjAsNyArMTAzNzYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAg
fSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdy
ZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmxlZnQKQEAgLTk4NzEsOCArMTAzODcs
OCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05ODg0
LDcgKzEwNDAwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6
IDJkLnRleHQuZHJhdy5hbGlnbi5yaWdodApAQCAtOTg5NSw4ICsxMDQxMSw4IEBACiAgICAgLSBD
YW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5MDgsNyArMTA0MjQsNyBA
QAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3
LmFsaWduLnN0YXJ0Lmx0cgpAQCAtOTkyMCw4ICsxMDQzNiw4IEBACiAgIGNhbnZhczogd2lkdGg9
IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJsdHIiCiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAg
LTk5MzMsNyArMTA0NDksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7
CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0g
bmFtZTogMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bApAQCAtOTk0Niw4ICsxMDQ2Miw4IEBA
CiAgIGNhbnZhczogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJydGwiCiAgIGNvZGU6IHwK
ICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAg
IHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKQEAgLTk5NTksNyArMTA0NzUsNyBAQAogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09
fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwy
NTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIKQEAgLTk5
NzEsOCArMTA0ODcsOCBAQAogICBjYW52YXM6IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiIGRpcj0i
bHRyIgogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLSAgICBk
ZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05OTg0LDcgKzEwNTAwLDcgQEAKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUs
NDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5hbGln
bi5lbmQucnRsCkBAIC05OTk3LDggKzEwNTEzLDggQEAKICAgY2FudmFzOiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjUwIiBkaXI9InJ0bCIKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMTAwMTAs
NyArMTA1MjYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAg
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTog
MmQudGV4dC5kcmF3LmFsaWduLmNlbnRlcgpAQCAtMTAwMjEsOCArMTA1MzcsOCBAQAogICAgIC0g
Q2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsK
LSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0xMDAzNCw3ICsxMDU1MCw3
IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogCkBAIC0xMDA0NiwxNSArMTA1
NjIsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAg
ICAgICBjdHguZmlsbFRleHQoJ0UgRUUnLCAtMTAwLCAzNy41KTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5j
b2xsYXBzZS5zcGFjZQpAQCAtMTAwNjUsMTUgKzEwNTgxLDE1IEBACiAgICAgLSBDYW52YXNUZXN0
CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVy
VGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
KyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdFICBFRScs
IC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1
NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1
OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVj
dGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlcgpA
QCAtMTAwODQsMTUgKzEwNjAwLDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAg
ICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4
MDlceDBhXHgwY1x4MGRFRScsIC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1
LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0
LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2UKQEAgLTEwMTAzLDE1ICsxMDYxOSwxNSBAQAog
ICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNU
ZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVw
X3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAg
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgICAgIGN0eC5m
aWxsVGV4dCgnRVx4MGIgRUUnLCAtMTUwLCAzNy41KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAy
NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAs
MjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5zdGFydApAQCAtMTAxMjIsMTUgKzEwNjM4LDE1IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNv
ZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgp
OwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZpbGxUZXh0KCcgRUUnLCAwLCAzNy41
KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9k
bwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwg
NTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4K
IAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5kCkBAIC0xMDE0MSw4ICsx
MDY1Nyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAg
LTEwMTUwLDE3ICsxMDY2NiwyMiBAQAogICAgICAgICBjdHguZmlsbFRleHQoJ0VFICcsIDEwMCwg
MzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAg
fSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdy
ZWVuCiAKIC0gbmFtZTogMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljCisgIGRlc2M6IFRoZSB3
aWR0aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZh
cwogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5tZWFzdXJlCiAgIGZvbnRzOgogICAgIC0gQ2Fu
dmFzVGVzdAogICBjb2RlOiB8Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJD
YW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9IChz
ZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQo
Zik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsK
KyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoID09PSA1
MDsKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGggPT09IDEwMDsK
QEAgLTEwMTY4LDMwICsxMDY4OSwzOCBAQAogCiAgICAgICAgIGN0eC5mb250ID0gJzEwMHB4IENh
bnZhc1Rlc3QnOwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoID09
PSAxMDA7Ci0gICAgfSksIDUwMCk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Ci0gIGRlc2M6IFRoZSBlbXB0eSBzdHJp
bmcgaGFzIHplcm8gd2lkdGgKKyAgZGVzYzogVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0
aCBmb3IgT2Zmc2NyZWVuQ2FudmFzCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50ZXh0Lm1lYXN1cmUK
ICAgZm9udHM6CiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3QoKTsK
LSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgdmFy
IGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7
CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9u
dHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVU
ZXh0KCIiKS53aWR0aCA9PT0gMDsKLSAgICB9KSwgNTAwKTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UKLSAgZGVzYzog
U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChw
ZXIgQ1NTKQorICBkZXNjOiBTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIw
IGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIGZvciBPZmZzY3JlZW5DYW52YXMKICAgdGVzdGluZzoK
ICAgICAtIDJkLnRleHQubWVhc3VyZS5zcGFjZXMKICAgZm9udHM6CiAgICAgLSBDYW52YXNUZXN0
CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rl
c3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9u
dHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAg
ICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0p
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7
CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBIEInKS53aWR0aCA9PT0gMTUwOwog
ICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQSAgQicpLndpZHRoID09PSAxNTA7IEBt
b3otdG9kbwpAQCAtMTAyMDAsNiArMTA3MjksMTQxIEBACiAKICAgICAgICAgQGFzc2VydCBjdHgu
bWVhc3VyZVRleHQoJyBBQicpLndpZHRoID09PSAxMDA7IEBtb3otdG9kbwogICAgICAgICBAYXNz
ZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGggPT09IDEwMDsgQG1vei10b2RvCi0gICAg
fSksIDUwMCk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4
dC5tZWFzdXJlLmFkdmFuY2VzCisgIGRlc2M6IFRlc3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9m
ZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmFkdmFuY2Vz
CisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcg
Rm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0
IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAg
IGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICAg
ICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSByZXR1
cm4gJy0wJy4KKyAgICAgICAgQGFzc2VydCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0hlbGxv
JykuYWR2YW5jZXNbMF0pID09PSAwOworICAgICAgICAvLyBEaWZmZXJlbnQgcGxhdGZvcm1zIG1h
eSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgICAgIEBhc3NlcnQgY3R4Lm1l
YXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID49IDM2OworICAgICAgICBAYXNzZXJ0IGN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1syXSA+PSA1ODsKKyAgICAgICAgQGFzc2Vy
dCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPj0gNzA7CisgICAgICAgIEBh
c3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdID49IDgwOworCisgICAg
ICAgIHZhciB0bSA9IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKTsKKyAgICAgICAgQGFzc2VydCBj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0gPT09IHRtLmFkdmFuY2VzWzBdOwor
ICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1sxXSA9PT0g
dG0uYWR2YW5jZXNbMV07CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycp
LmFkdmFuY2VzWzJdID09PSB0bS5hZHZhbmNlc1syXTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPT09IHRtLmFkdmFuY2VzWzNdOworICAgICAg
ICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1s0XSA9PT0gdG0uYWR2
YW5jZXNbNF07CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4
dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGRlc2M6IFRlc3RpbmcgYWN0dWFsQm91bmRp
bmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFz
dXJlLmFjdHVhbEJvdW5kaW5nQm94CisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2Rl
OiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZh
c1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDog
ZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVu
KCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5kaXJl
Y3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIGN0eC5i
YXNlbGluZSA9ICdhbHBoYWJldGljJworICAgICAgICAvLyBTb21lIHBsYXRmb3JtcyBtYXkgcmV0
dXJuICctMCcuCisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJyku
YWN0dWFsQm91bmRpbmdCb3hMZWZ0KSA9PT0gMDsKKyAgICAgICAgLy8gRGlmZmVyZW50IHBsYXRm
b3JtcyBtYXkgcmVuZGVyIHRleHQgc2xpZ2h0bHkgZGlmZmVyZW50LgorICAgICAgICBAYXNzZXJ0
IGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTA7CisgICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQg
Pj0gMzU7CisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0
dWFsQm91bmRpbmdCb3hEZXNjZW50KSA9PT0gMDsKKworICAgICAgICBAYXNzZXJ0IE1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkgPT09IDA7Cisg
ICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hS
aWdodCA+PSAyMDA7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0
dWFsQm91bmRpbmdCb3hBc2NlbnQgPj0gODU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVU
ZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3OworICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdC
b3gKKyAgZGVzYzogVGVzdGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcwor
ICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveAorICBmb250
czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAorICAgIHZhciBmID0gbmV3IEZvbnRGYWNl
KCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9
IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5h
ZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9
KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOworICAgICAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgICAgIGN0eC5h
bGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRC
b3VuZGluZ0JveEFzY2VudCA9PT0gODU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0
KCdBJykuZm9udEJvdW5kaW5nQm94RGVzY2VudCA9PT0gMzk7CisKKyAgICAgICAgQGFzc2VydCBj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQgPT09IDg1OworICAg
ICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0JveERlc2Nl
bnQgPT09IDM5OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCistIG5hbWU6IDJkLnRl
eHQubWVhc3VyZS5lbUhlaWdodHMKKyAgZGVzYzogVGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNj
cmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0cwor
ICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTogfAorICAgIHZhciBmID0gbmV3IEZv
bnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworICAgIGxldCBm
b250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKKyAgICBm
b250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVy
biBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1
MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOworICAgICAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgICAg
IGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScp
LmVtSGVpZ2h0QXNjZW50ID09PSAzNy41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4
dCgnQScpLmVtSGVpZ2h0RGVzY2VudCA9PT0gMTIuNTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhl
aWdodEFzY2VudCA9PT0gNTA7CisKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FC
Q0QnKS5lbUhlaWdodEFzY2VudCA9PT0gMzcuNTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3Vy
ZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgPT09IDEyLjU7CisgICAgICAgIEBhc3NlcnQg
Y3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0
KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQgPT09IDUwOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOworCistIG5hbWU6IDJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMKKyAgZGVzYzogVGVzdGlu
ZyBiYXNlbGluZXMgZm9yIE9mZnNjcmVlbkNhbnZhcworICB0ZXN0aW5nOgorICAgIC0gMmQudGV4
dC5tZWFzdXJlLmJhc2VsaW5lcworICBmb250czoKKyAgICAtIENhbnZhc1Rlc3QKKyAgY29kZTog
fAorICAgIHZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNU
ZXN0LnR0ZiIpOworICAgIGxldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRv
Y3VtZW50LmZvbnRzKTsKKyAgICBmb250cy5hZGQoZik7CisgICAgZm9udHMucmVhZHkudGhlbigo
KSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgICAgY3R4LmRpcmVjdGlv
biA9ICdsdHInOworICAgICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgICAgIEBhc3NlcnQgTWF0
aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykgPT09
IDA7CisgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5p
ZGVvZ3JhcGhpYyA9PT0gLTM5OworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJyku
Z2V0QmFzZWxpbmVzKCkuaGFuZ2luZyA9PT0gNjg7CisKKyAgICAgICBAYXNzZXJ0IE1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhhYmV0aWMpID09PSAw
OworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCku
aWRlb2dyYXBoaWMgPT09IC0zOTsKKyAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcgPT09IDY4OworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAjIFRPRE86IHNoYWRvd3MsIGFscGhhLCBjb21wb3NpdGUsIGNsaXAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3Jt
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0
VHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWRjZjA2NGVlODIxN2RiMWQwNzkw
MjY3OTFlMTA5ZmY3MDg1YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZ2V0VHJhbnNmb3JtIHdvcmtzIGNv
cnJlY3RseS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLmdldFRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYjcwYWMyMDg2NzRjNWJmMjQ5
YzZmNThiNDY0N2I5OGJlNmQ1ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLmdldFRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsNDAgQEAK
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxib2R5
PgorPHNjcmlwdD4KKy8vIEVuc3VyZSB0aGF0IGNvbnRleHQyZC5nZXRUcmFuc2Zvcm0gd29ya3MK
K2NvbnN0IGVwc2lsb24gPSAxZS01OworY29uc3QgY2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygzMDAsIDE1MCk7Citjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJhbnNmb3Jt
KCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwg
MSwgMCwgMCwgMCwgMCwgMV0sCisgICAgIkFzc2VydCB0aGF0IGFuIHVudHJhbnNmb3JtZWQgbWF0
cml4IGlzIGlkZW50aXR5Iik7CisKKyAgY3R4LnNjYWxlKDIsIDMpOworICB0cmFuc2Zvcm0gPSBj
dHguZ2V0VHJhbnNmb3JtKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY3R4LmdldFRyYW5zZm9y
bSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzIsIDAsIDAsIDAsIDAsIDMsIDAsIDAsIDAsIDAs
IDEsIDAsIDAsIDAsIDAsIDFdLAorICAgICJBc3NlcnQgdGhhdCBjb250ZXh0MmQgc2NhbGluZyB3
b3JrcyIpOworCisgIGN0eC5yb3RhdGUoTWF0aC5QSS8yKTsKKyAgdHJhbnNmb3JtID0gY3R4Lmdl
dFRyYW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyhjdHguZ2V0VHJhbnNm
b3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMCwgMywgMCwgMCwgLTIsIDAsIDAsIDAsIDAs
IDAsIDEsIDAsIDAsIDAsIDAsIDFdLCBlcHNpbG9uLAorICAgICJBc3NlcnQgdGhhdCBjb250ZXh0
MmQgcm90YXRlIHdvcmtzIik7CisKKyAgY3R4LnRyYW5zbGF0ZSgxLCAtMSk7CisgIHRyYW5zZm9y
bSA9IGN0eC5nZXRUcmFuc2Zvcm0oKTsKKyAgYXNzZXJ0X2FycmF5X2FwcHJveF9lcXVhbHMoY3R4
LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5KCksCisgICAgWzAsIDMsIDAsIDAsIC0yLCAw
LCAwLCAwLCAwLCAwLCAxLCAwLCAyLCAzLCAwLCAxXSwgZXBzaWxvbiwKKyAgICAiQXNzZXJ0IGNv
bnRleHQyZCB0cmFuc2xhdGUgd29ya3MuIik7CisKKyAgY3R4LnJlc2V0VHJhbnNmb3JtKCk7Cisg
IGFzc2VydF9hcnJheV9lcXVhbHMoY3R4LmdldFRyYW5zZm9ybSgpLnRvRmxvYXQzMkFycmF5KCks
CisgICAgWzEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDFdLAor
ICAgICJBc3NlcnQgdGhhdCBhIHJlc2V0IG1hdHJpeCBpcyBpZGVudGl0eSIpOworfSwgJ1RoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgZ2V0VHJhbnNmb3JtIHdvcmtzIGNvcnJlY3RseS4nKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5vcmRlci5odG1sCmluZGV4IDhkMDFiNWFhYzZmY2E5NzAyMWM2Mzk0ZjA5MDM3N2E1MmI4MTFm
Y2EuLmFlZDkyYmY1Y2JiODhkNDNhYmIxN2Y5YWU4NTc3MzRmOWI0ZGFjZjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLm9y
ZGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5U
cmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVyPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiVHJhbnNmb3JtYXRp
b25zIGFyZSBhcHBsaWVkIGluIHRoZSByaWdodCBvcmRlciIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KDAsIC01MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24ub3JkZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5vcmRlci53b3JrZXIuanMKaW5kZXggZTZhYTE2OWVkODVjNjhjZDRhOTU0MmI1Y2NjYzZhZDhm
NTE2MjRkOC4uNzkwNGZjNDRjZTI1NGJkZjQ4YzZkODFiZTQzNGVmNTY3NWNiZGZjNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGll
ZCBpbiB0aGUgcmlnaHQgb3JkZXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5yb3RhdGUo
TWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAt
NTAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRl
LmRpcmVjdGlvbi5odG1sCmluZGV4IDgxZGZkYWRmODc2MTNkMmI3ZTJhMDQyYjkyNGFmYmI5NGUx
ZjAzZWQuLjU3YjI3MDkzNWE3NDU5MDM4MWYxN2NlYzM0N2U3NDUzM2UzMmMwZDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRl
LmRpcmVjdGlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgpIGlz
IGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInJvdGF0ZSgpIGlzIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAg
Y3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZp
bGxSZWN0KDAsIC0xMDAsIDUwLCAxMDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi53b3JrZXIuanMKaW5kZXggMzI4Mjk2ZmNlMTdj
MmI2NjRlMTM1MTAwZjdmNTkzMzVlNDUyODkzNC4uNWZjODczNzIyZTI0NmVmNTA3MjkwYWUxN2U5
ZmE3ZmUxYzIzN2Y4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSBpcyBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsy
Miw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSAvIDIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAtMTAwLCA1MCwgMTAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKaW5kZXggZmI2YTczZmJmNjEwNzli
YWJmM2I0ZDg1YWFmYjRmNzRkM2U2ZmVlZi4uZTE3OTZjNjY3NWQwZTVhZjU1YmQ2MmNlY2U4MmQy
NzI1NzM1MzIyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5p
dGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+cm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5y
b3RhdGUoTmFOKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwg
LTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5v
bmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IGRiZmRmYzc2YzU3MDI4ZTk4ZDY5ZTNj
NmQxM2FkMjhjOWM0M2ZlZjEuLjBmNTg4MzQ0NzAxMzY3M2VhODNmYjA3NjI0MmY4ZDVlZDgxNjI4
ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgicm90YXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LnJvdGF0ZShOYU4pOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUucmFkaWFucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy5odG1sCmluZGV4IDU1YmMyOTMwOTgxMzI5YmQzODRi
NDY5NWNjYzAxM2EzNGU2MjY3OGQuLjMzYjM1OWUwNTA0YmVkM2NmMTVmODAwODM2MmRiYTRiZmI0
MzJmNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLnJhZGlhbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5yb3Rh
dGUoKSB1c2VzIHJhZGlhbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIGN0eC5yb3RhdGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNseSBpZiB0
aGlzIGlzIDMuMSBkZWdyZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJv
dGF0ZS5yYWRpYW5zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCmluZGV4IDI0M2VkNWU0NmMxMTE3YmVhYThi
NjBmNGYxYmNmMzc0NTNhYTAwYTYuLjUyMDZjMjA1YmI5ZGNjNzkxMDM5NzVhYmQ2YWJlMDZlYWYy
ODY3ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLnJhZGlhbnMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJyb3RhdGUoKSB1c2VzIHJhZGlhbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5y
b3RhdGUoTWF0aC5QSSk7IC8vIHNob3VsZCBmYWlsIG9idmlvdXNseSBpZiB0aGlzIGlzIDMuMSBk
ZWdyZWVzCiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0
bWwKaW5kZXggOWMxMzMzYTM2MTE2MzAzMDFiYmE0ZjdlNTA4NTk3MzlkY2ZiZjI1MS4uYzA4MjQy
NmUzMGUxOTFiZGMyNDczZmVlODliNjBmNDExODUyZjcxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLndyYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXA8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPnJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0
bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJyb3RhdGUoKSB3cmFwcyBsYXJnZSBwb3NpdGl2ZSB2YWx1ZXMgY29ycmVjdGx5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyLCAwLDI1NSww
LDI1NSwgIjk4LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ3LCAwLDI1NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLndyYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKaW5kZXggNWE3YTQxM2E2MmM0NzI2Nzcx
NzZmMWI5ZmU2OGUzOTk0MmQxZmFmZC4uZmE1NTNmMDZhNmQ1ZjkxNDU5MDQzZmIyOGI3MTM3NGRm
MDI2MjNhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5yb3RhdGUud3JhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1LDAs
MjU1LCAiOTgsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDcsIDAsMjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAppbmRleCAxMDhmNmQ4MzA3ODZh
NjUxZDQ5MzZjNWQ4NTVkN2U2NmFmMDZkOWYwLi45MzllYWJjZGU2NTM4NjMzMDgxNWJjZmE3M2Rm
OGJkZWM1ZGU1N2YyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRl
LndyYXBuZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1
ZXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgicm90YXRlKCkgd3JhcHMgbGFyZ2UgbmVnYXRpdmUgdmFsdWVzIGNvcnJlY3Rs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MiwgMCwyNTUsMCwyNTUsICI5OCwyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0NywgMCwyNTUsMCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlLndvcmtlci5q
cwppbmRleCA1ZDEzYjMyMjRmODEyMTg5NzU5NGZmNmYxYjllNDU3Y2NmODI5ODJmLi5kMDRiNzlm
M2JjNTc0ZDRkMTY2YWEyNzhhNzc3MjYyYzk5NzRiYzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBu
ZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHdyYXBz
IGxhcmdlIG5lZ2F0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1LDAsMjU1LCAiOTgsMiIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDcsIDAsMjU1
LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVy
by5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVy
by5odG1sCmluZGV4IDFkMGEzZTRjMDNjYzU1NTVjNDBhOGNhNTljNGY0Zjc5ZTk0NDE1MWMuLjkz
MDgwMjcyM2M5ZmM4MjE4OGUwMDc5YWVmNzZiMzhjNThlY2VlZjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5yb3RhdGUoKSBieSAwIGRvZXMgbm90aGluZzwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5IDAg
ZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgucm90YXRlKDApOwogY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8ud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKaW5k
ZXggNGI2NjRiZTgwYmE1MGY0N2FmYjU4MWViYjdlMjgxMzAyN2FkZTdiNC4uNWVkZjk2NGY2YzIy
NTVmOGZlYzc0MTRjMzUyMzdkMzQ3YmNjZGI2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGJ5IDAgZG9lcyBub3RoaW5nIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTgsNyArMjIsNiBAQCBjdHgucm90YXRlKDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUuYmFzaWMuaHRtbAppbmRleCAxZjc2MGMxMDE1NjQzMjY1ZTM5ODVkOWE0NTQz
YjNmNDM0NjJmYWY1Li43ZDhjMGY2YjIxYmE2ZDliNjQ2YzhkNDU0ZmM0NDVlYjYwZTBkYmQzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJh
c2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2Fs
ZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3b3JrczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgyLCA0KTsKIGN0eC5maWxsU3R5
bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDEyLjUpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcwppbmRleCBkMzVh
MzUwY2FhY2FiY2I5OTY4NzI5MTM0NmIyMjc4OTZlMDk3MjI4Li5iYzdiNTA0MmZmZDlmMDkyMDJk
M2ZmM2M4NDhkZWE4MjU5ODJlYmE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4
LnNjYWxlKDIsIDQpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgMTIuNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUs
MCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdl
Lmh0bWwKaW5kZXggNTM4M2I1NGNmODA3ZTRkZGJjMDEwNjZmNTA1M2MzNDMzOGUzNDVjZS4uZWJl
ZjllZjgzY2E0NjdhOTQzMTI0MTVlYmQ4NGZlNzc4MmY1ZWU5OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2UuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUubGFyZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2U8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnNjYWxlKCkgd2l0aCBsYXJnZSBzY2FsZSBmYWN0b3JzIHdvcmtzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+Tm90IHJlYWxseSB0aGF0IGxh
cmdlIGF0IGFsbCwgYnV0IGl0IGhpdHMgdGhlIGxpbWl0cyBpbiBGaXJlZm94LgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgxZTUsIDFlNSk7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcwppbmRleCBhOTIy
NTU0MjA3NzNjOGYyZWRhYWE2NjBjZGVlMTExMDkwNTZhNDZhLi40MTI2ODBlMzhhNDkzMWM0NDk2
YWM1NTVlMDk3YzY0NzNhMGQ0MjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+Tm90IHJlYWxseSB0aGF0IGxhcmdlIGF0
IGFsbCwgYnV0IGl0IGhpdHMgdGhlIGxpbWl0cyBpbiBGaXJlZm94LgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIGxhcmdl
IHNjYWxlIGZhY3RvcnMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zY2FsZSgx
ZTUsIDFlNSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEs
IDEpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS5o
dG1sCmluZGV4IGNlYTcwMzA2ZjQyNzgzOTFjMmI1NzkwZDM3YmU1MGI2NmVmNzkyZWYuLmMwNmZl
NjE0MTI5NzVhMTBjY2U2OTBmZTFjMGYyOTZkMjg4OWFiNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9y
bWF0aW9uLnNjYWxlLm11bHRpcGxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRp
cGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5NdWx0aXBsZSBzY2FsZSgpcyBjb21iaW5lPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTXVsdGlw
bGUgc2NhbGUoKXMgY29tYmluZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNjYWxlKE1h
dGguc3FydCgyKSwgTWF0aC5zcXJ0KDIpKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkw
LDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
c2NhbGUubXVsdGlwbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggMTM0MTE2NmEzZGFmNGU4NTll
ZTQxMzQ3NDY1N2NlZWJjYzgzZjQ2My4uOGYxMzA0Y2QxMDE2NTgxMDkyMTY2MjgyZjhmMTMyMzE2
ZTU4YjM4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIk11bHRpcGxlIHNjYWxlKClzIGNvbWJpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IGN0eC5zY2FsZShNYXRoLnNxcnQoMiksIE1hdGguc3FydCgyKSk7CiBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwKaW5kZXggNDg4MTM4M2ZkOGNkMWM2
OGE4MWIyZjE4YTFiYTU5NjcwZDM4MjFiNy4uMmExODc5Mjc0MWU0NDQ4NWUxNWU5YTE3MTk3ODZh
OTI4YjNkMTliOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PnNjYWxlKCkgd2l0aCBuZWdhdGl2ZSBzY2FsZSBmYWN0b3JzIHdvcmtzPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIG5l
Z2F0aXZlIHNjYWxlIGZhY3RvcnMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5m
aWxsUmVjdCg1MCwgLTUwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRp
dmUud29ya2VyLmpzCmluZGV4IDI3ZDZkZTBjNTMwNGMzMmRiZmI0MTAzY2NlYzAxN2Q5MTBjMThk
ZDguLmQ2OTdhMjU4NTZiYjkwZjY1NmZhNGQwMjA4NTMxMTc5MjYwOWFiMmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGgg
bmVnYXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4
LmZpbGxSZWN0KDUwLCAtNTAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0
ZS5odG1sCmluZGV4IDdmZmEzMDIzMjMzM2U0Yjg1N2YwMjk4YzMyNDY4MDViNGRkYWZlYjIuLjE0
NDMzNWUzY2YxYWU5NTM0ZTVhZDFjMTZlYjY5ODkzNmFiOTBlMWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJh
bnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
Lm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIEluZmluaXR5L05h
TiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgic2NhbGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjksNyArMzMsNiBAQCBjdHguc2NhbGUoSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtl
ci5qcwppbmRleCBmODk5NTBmZTZlMTJhYzE2M2FiYmYxMDI5Njg5NzE1ZGU0ZTgwNmExLi45ZGNj
YWRiYWM4YjM5YzU5ZjA0ZWRmZTdmYzMwNGEyMGY5MDAxMWViIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5p
dGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggSW5maW5p
dHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5zY2FsZShJbmZp
bml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgt
MTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2Fs
ZS56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
Lnplcm8uaHRtbAppbmRleCAwOTJiYTg2ZDNmOWE5ZGQyMjU5YTU0N2VjMzUyMmE4YmExMzFiNjU1
Li45NWFhNWI5N2E0YmM5ZmMyODg0YTIwMmE5NWY5MWYyYzVjYzlkYTk4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm8uaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdpdGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3Jr
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InNjYWxlKCkgd2l0aCBhIHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdvcmtzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
c2NhbGUuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNjYWxlLnplcm8ud29ya2VyLmpzCmluZGV4IDI1NTkzNTdkYjAwMzRkYmRlNGIyNjg3MDdm
YTYxMDc0YTJjYzU5MGYuLjZiYmZiMjVjMjIzMTM1Y2JlZTFhMGEyYmQxNjdiMjAwZmYzYTI5ZTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
emVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3
aXRoIGEgc2NhbGUgZmFjdG9yIG9mIHplcm8gd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBj
dHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zv
cm0ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
c2V0VHJhbnNmb3JtLm11bHRpcGxlLmh0bWwKaW5kZXggNjY2YjRjNTRhMzJmMjdkY2U4MTc4NzYy
MzM1OTE1YTk1NWJmMmEyYS4uODdlZWU0MzVlYjRmNzRlNTk4MDFkNTAxMDBmODNlMGY2NTc3Zjdi
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0u
bXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zZXRUcmFu
c2Zvcm0oMiwwLCAwLDIsIDAsMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNSwg
MCwyNTUsMCwyNTUsICI3NSwzNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRy
YW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMKaW5kZXggODM1MzAxNjI0
YWUwMGIxN2VhNWRjZDk1YmNmZDJhMzk3MDdiMmRjYi4uNTUyYjFmOTM0NWE3ODA1ODQ3M2U3Nzli
OTAxZTA5MDFiMzNjNTNhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBj
dHguc2V0VHJhbnNmb3JtKDIsMCwgMCwyLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMzUsIDAsMjU1LDAsMjU1LCAiNzUsMzUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJk
LnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbAppbmRleCBmY2E1ZDVk
ZjkxOWI3ZGU0OTVmOGEwZjZmMWVmMzVjNTI1M2FhYTk2Li40NmRkNTY1YTY4MjNiNmFhZmRkNjVm
NmUzNDNlMTNlYmYyYzg3N2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3Jt
YXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0ubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zZXRUcmFuc2Zvcm0oKSB3
aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2V0VHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0eS9O
YU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk3LDcgKzEwMSw2IEBAIGN0eC5zZXRUcmFuc2Zvcm0o
MCwgMCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUud29ya2Vy
LmpzCmluZGV4IDEyY2RiY2E5MjNiMWRmNmMxMTEwYTRhNWQyODZkMDkzYWY4MTlkYTQuLmNjODI2
MzM1MjM4ZjUxNDA4MGRmZTM0OTQ3NTg1MDM3MmE3N2I1MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFu
c2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2V0VHJh
bnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTkzLDcgKzk3
LDYgQEAgY3R4LnNldFRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5z
a2V3ZWQuaHRtbAppbmRleCBkMzY1MDJkM2Q1OWIzMGY1ZjhlNzZkY2YzZDdjYjM3NWRiMjFiNzdj
Li42YzkxMWY4YTliYjcyMGZmZThhNmU2NDA2NWI1M2Q5OWM0NGVkOTAyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5z
Zm9ybS5za2V3ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC00NCw3ICs0OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5
LCAwLDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzks
MzEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMx
LCAwLDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0
VHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCmluZGV4IDZkNzI4YmZmMzg4
MGQ3YjM1NzliNTRmNDU0YjRmMzY5YzYzM2ZiOTAuLmY3MzFlY2RjYWIwZTFiYjViOWE1OWNkZDJm
NDU3MjFhNzFiZDI0Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDAsNyArNDQsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwxOSwgMCwyNTUsMCwyNTUsICIzOSwxOSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMTksIDAsMjU1LDAs
MjU1LCAiNjEsMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDM5LDMxLCAwLDI1NSwwLDI1NSwgIjM5LDMxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwzMSwgMCwyNTUsMCwyNTUsICI2MSwzMSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRtbApp
bmRleCBiNTg5MGMxMGYyYWRlZGU4ZGZhY2FmOTM3NWVkYzUwZGUyY2FkNWFiLi41MDYzOTU5Yzhj
MjZjOGQ5ZDM1ZWNlYmIxMWRiNTU1ZThmN2IwZDYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi50cmFu
c2Zvcm0uaWRlbnRpdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5zZm9ybSgpIHdpdGggdGhl
IGlkZW50aXR5IG1hdHJpeCBkb2VzIG5vdGhpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIHRoZSBpZGVudGl0
eSBtYXRyaXggZG9lcyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNm
b3JtKDEsMCwgMCwxLCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLmlkZW50aXR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lndvcmtlci5qcwppbmRleCAxNjZmYzViNGI4NGU3Yzgz
M2NhOWI3OGJiY2U4ZWJkNzMzNDRlYWExLi42YjVmYmRhZGY0NDhmOGZmYjM4MzQzMDRkNDk4MWEx
MmIwNjg3NjBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnRyYW5zZm9ybS5pZGVudGl0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9u
cy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIHRoZSBpZGVudGl0eSBtYXRyaXggZG9l
cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgudHJhbnNmb3JtKDEsMCwgMCwx
LCAwLDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5t
dWx0aXBseS5odG1sCmluZGV4IDFjNmQxNjYxZGI1NmFlNjAwNjdlZjM2NTJiYmIxY2JhNDNlNTkx
OTIuLmQzNmE1MzkwZTAyNDdmZmQ3YzUyNzdkYjI4ODg4MjNiZDJhMjYxYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zv
cm0ubXVsdGlwbHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNm
b3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgudHJhbnNmb3JtKC0yLDEsIDMvMiwtMS8yLCAxLC0y
KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0aXBseS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5t
dWx0aXBseS53b3JrZXIuanMKaW5kZXggZjAxZDNkOTkyZmRlNWYyZThiZTkwYzY3OGQwMjQyNTlm
MGZmZTQzNy4uZjYxM2YzMjhhODk2Zjc5MGFjYjI4NmQ3ZDdjNTU3MWQwM2ZiMmY3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVs
dGlwbHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
dHJhbnNmb3JtKCkgbXVsdGlwbGllcyB0aGUgQ1RNIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBj
dHgudHJhbnNmb3JtKC0yLDEsIDMvMiwtMS8yLCAxLC0yKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCmluZGV4IDIwNzFjNzNk
OGYxYzZkZmQyN2FjYmM0NGRiN2VlMDdkNzNjM2RmODQuLmM4ZjI3Yjg3NGFmNGVlNWUwODMxMGIz
ZDcwMDI4OWQxNDM2ZGQzY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25m
aW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtOTcsNyArMTAxLDYgQEAgY3R4LnRyYW5zZm9ybSgwLCAwLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAt
MTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0u
bm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggMWVlMzY1OTYyOGM5NzBlMTk2
ZGViZDFiYTBiYjdhM2Y4MjliOTE4Yi4uYjA2MmNhOWNiOGM0NTc4MTcwM2YwZDFkYTY4NTgzMWEz
YmZjNzdiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVk
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtOTMsNyArOTcsNiBAQCBjdHgudHJhbnNmb3JtKDAsIDAsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0x
MDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
Zm9ybS5za2V3ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
dHJhbnNmb3JtLnNrZXdlZC5odG1sCmluZGV4IDgzNzY5ZTAzNDQ2NjNkOTRmNTRmYjFjNjY0NjQ3
NjA2ZjllOTYwNTAuLmM2OTFhYTUwNDExYzAyZWMyZWRkYzdhYjgwYjRlMTk1OGQwOTY4MDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3Jt
LnNrZXdlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
dHJhbnNmb3JtLnNrZXdlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRy
YW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRyYW5z
Zm9ybSgpIHdpdGggc2tld3kgbWF0cml4IHRyYW5zZm9ybXMgY29ycmVjdGx5PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNmb3JtKCkg
d2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NCw3ICs0
OCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1NSwwLDI1NSwg
IjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2
MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1NSwwLDI1NSwg
IjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9y
bS5za2V3ZWQud29ya2VyLmpzCmluZGV4IGI4YWU4M2ZkYTdkM2RiZGRhZDdmZDI2MjI2NTZkYjJm
ZjI4ZjFmNzMuLjcyNmZiYTc4NzdmZWQ0ZWRiMzA4NWZiMjhkMGFmYTAxZDBmNzQ5NDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNr
ZXdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJh
bnNmb3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC00MCw3ICs0NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1
NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA2MSwxOSwgMCwyNTUsMCwyNTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1
NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRl
LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
bGF0ZS5iYXNpYy5odG1sCmluZGV4IDI5NzhiZTgxNDk1N2UxYjgyMmFlMzY2M2ViODA1OWQzMDk3
MjMwZmYuLjBjZGYyYTFmOWVhYzhhM2U0NGI1YTQwMjY3YzIzYjI2MzE5ZTkxMjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2lj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xh
dGUuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0
aW9uLnRyYW5zbGF0ZS5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNsYXRlKCkgd29y
a3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJ0cmFuc2xhdGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnRyYW5zbGF0
ZSgxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwg
LTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAwLDI1
NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRl
LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
dHJhbnNsYXRlLmJhc2ljLndvcmtlci5qcwppbmRleCBlMDE5YWJiMjVhNTQ1MGU0YzEyNGNiNzk4
ZmI0Yjg0MzRjYjE4ZDY2Li41ZjZkMDM5M2IxYTVjNTQ5N2I5MjliMzYxOGE0YzVlNzQ0NjQ4ZjI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
bGF0ZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi50cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJ0cmFuc2xhdGUoKSB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnRyYW5zbGF0
ZSgxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwg
LTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAwLDI1
NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRl
Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2xhdGUubm9uZmluaXRlLmh0bWwKaW5kZXggMGE5MGY3MjViMzRlYmE1MjhkMDZmYjEyYzQ2
ZGVlNzhkYzM3ODJlOC4uZDJlODdjNWU1YzJjYjc1NmE5NTFiNzM0NzdhNDg0NWMyZjkyN2NhMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xh
dGUubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2xhdGUubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+dHJhbnNsYXRlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zbGF0
ZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBA
IGN0eC50cmFuc2xhdGUoSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUud29ya2VyLmpz
CmluZGV4IGVhMjYxNzgxNTFmZWEwMGFmMjlmYThiYzdmZWI5MzNhM2U5MjQ3MWEuLjMwNTVjNTg4
MDY4NzJjODViYzBiYTI0MWIwNjJlNzE4Yjc1MDA3ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9u
ZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNsYXRlKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnRy
YW5zbGF0ZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0
eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5sb2cKaW5kZXggNDQ2NmVmMGU2
YzRlNDg3ZjA5ODUyZWY4YjU3ZTQ2NDNmZWE1OTkxNC4uYTk1ZWI4NzFiNTUzZDUxMjgwODVlMTMw
NzQ1Y2YzMGViNTI0Nzk0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2MtaW1w
b3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zL3czYy1pbXBvcnQubG9nCkBAIC0xNCw2
ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9u
ZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLm9yZGVyLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFjZjZiNjhkMGFlNmMwZTBmODMwNDc1N2U4YTY3ZjM0
NGY1YTYzZDAuLmRmMjBjZWE4NDhmYmJlYTZjZTVhMWI2MmQyNzUwYTdlMGI3MmRiYTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNiw4ICsyNiwxMCBA
QCBzd2lwZSBbIFBhc3MgXQogIyBPZmZzY3JlZW5DYW52YXMKIHdlYmtpdC5vcmcvYi8yMDMxNDYg
ZmFzdC9jYW52YXMvb2Zmc2NyZWVuLWVuYWJsZWQuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9i
LzIwMzE0NiBodHRwL3dwdC9vZmZzY3JlZW4tY2FudmFzIFsgUGFzcyBdCi0jIFNlZSB3ZWJraXQu
b3JnL2IvMjA1NDQ1IGJlZm9yZSBlbmFibGluZyB0aGlzIGJhY2sKLSMgd2Via2l0Lm9yZy9iLzIw
MzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMgWyBQ
YXNzIF0KK3dlYmtpdC5vcmcvYi8yMDMxNDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTg2NzU5IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0IFsgU2tpcCBdCit3
ZWJraXQub3JnL2IvMjA2MDU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcu
d29ya2VyLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8yMDYwNTUgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29ya2VyLmh0bWwgWyBTa2lwIF0K
IAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3Bl
Y2lmaWMgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGZhODI5Y2UxNTE2MGIzZWNiMTA0OTk5MjJjYmYzNmI4ODczZTJhZmQuLjA4OTI5
MDJiYWY4NjZkNWQ5ZGI3ZjhhOTkxMjRjMTZlZWM3NDhhODggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC01LDggKzUsMTAgQEAKICMgT2Zmc2NyZWVuQ2Fu
dmFzCiB3ZWJraXQub3JnL2IvMjAzMTQ2IGZhc3QvY2FudmFzL29mZnNjcmVlbi1lbmFibGVkLmh0
bWwgWyBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yMDMxNDYgaHR0cC93cHQvb2Zmc2NyZWVuLWNhbnZh
cyBbIFBhc3MgXQotIyBTZWUgd2Via2l0Lm9yZy9iLzIwNTQ0NSBiZWZvcmUgZW5hYmxpbmcgdGhp
cyBiYWNrCi0jIHdlYmtpdC5vcmcvYi8yMDMxNDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMjAzMTQ2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcyBbIFBhc3MgXQord2Vi
a2l0Lm9yZy9iLzE4Njc1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzIwNjA1NSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc3ZnLndvcmtlci5odG1sIFsgU2tpcCBdCit3ZWJraXQub3Jn
L2IvMjA2MDU1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmlt
YWdlLndvcmtlci5odG1sIFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387507</attachid>
            <date>2020-01-13 01:41:31 -0800</date>
            <delta_ts>2020-01-13 16:10:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205445-20200113094127.patch</filename>
            <type>text/plain</type>
            <size>2580205</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDIyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVlYWIzYmJhNjA0YmRhYTk4Mjky
ZjgyZmY4MWI1M2FhYTg5MjUwZS4uNjdjMzhlYzE4NjAyMWE4ZmMxNDMxYWUwOTg0MWY5NzgwNmZh
YTYzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEyLTIwICBDaHJpcyBMb3JkICA8Y2xv
cmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNTM2ODMpOiBbR1RLXVtXUEVd
IExvdHMgb2Ygb2Zmc2NyZWVuLWNhbnZhcyBXUFQgdGVzdHMgZmFpbGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwNTQ0NSAtIFVwZGF0ZSBh
bmQgcmUtZW5hYmxlIE9mZnNjcmVlbkNhbnZhcyB0ZXN0cworCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjAtMDEtMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUZXh0LWluZGVudCB3aXRoIHBlcmNlbnRhZ2UgdmFsdWUgc2hvdWxkIHJlc29sdmUg
YWdhaW5zdCB0aGUgYXZhaWxhYmxlIHdpZHRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBkYTE4YTY4NWRjMGNiNjVjYTEyOTgzMjIxNDJkZjI5NGFkMmI2YjA3Li4yNDRhMzI4ODkx
ZTE1NDJiMWZiMmZjMWQ1NjliN2ZiZmFjYmRmOTY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0xMi0yMCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGln
YWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjUzNjgzKTogW0dUS11bV1BFXSBMb3Rz
IG9mIG9mZnNjcmVlbi1jYW52YXMgV1BUIHRlc3RzIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMDU0NDUgLSBVcGRhdGUgYW5kIHJl
LWVuYWJsZSBPZmZzY3JlZW5DYW52YXMgdGVzdHMKKworICAgICAgICAqIHJlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L25vc25pZmYvaW1hZ2UtZXhwZWN0ZWQudHh0OiBOZXdseSBwYXNzaW5nIHRlc3QsIHByZXN1bWFi
bGUgZHVlIHRvIHByZXZpb3VzbHkgbWlzc2luZyByZXNvdXJjZS4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzLyo6IFVwZGF0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvKjogVXBkYXRlZC4KKwogMjAyMC0wMS0xMCAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJDb3JlXSBGaXggY3Jhc2gg
aW4gbW9kdWxlIGxvYWRlciBkdWUgdG8gY2hhbmdlIGluIGZyYWdtZW50IHJlc2VydmF0aW9uCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IDFmNGUwZTZiNGY3MjY4NGJjZmY0YWRjY2UwMDNhNTc5
OWRmODMxNjIuLjIyY2I0YmVhNmQ3YzhmNDFiOGMyYzk1YzdkMTI0NTgxNjNjMzBjNjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0yNzYsNiArMjc2LDcgQEAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2h0dHAiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2UtZGVj
b2RlcyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5k
ZXJpbmdjb250ZXh0IjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaW5mcmFzdHJ1Y3R1cmUiOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbm5lclRleHQiOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbnB1dC1ldmVudHMiOiAic2tpcCIsIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9u
b3NuaWZmL2ltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9pbWFnZS1leHBlY3RlZC50eHQKaW5kZXggYmI1
YzIxOWJjNjQ5ZmZhZmEyZWU2N2EzMmEyM2Q0ZDI4Yjg0YzZjZi4uOTIwZmRkZDQ4NGZkYzNiMDA5
Y2NkNTQ1MGQ0MTZkYzM4NjE1M2M0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL2ltYWdlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25v
c25pZmYvaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC02LDcgKzYsNyBAQCBQQVNTIFVSTCBxdWVyeTog
eC94CiBQQVNTIFVSTCBxdWVyeTogaW1hZ2UvZ2lmIAogUEFTUyBVUkwgcXVlcnk6IGltYWdlL3Bu
ZyAKIFBBU1MgVVJMIHF1ZXJ5OiBpbWFnZS9wbmc7YmxhaCAKLUZBSUwgVVJMIHF1ZXJ5OiBpbWFn
ZS9zdmcreG1sIGFzc2VydF91bnJlYWNoZWQ6IFVuZXhwZWN0ZWQgZXJyb3IgZXZlbnQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFVSTCBxdWVyeTogaW1hZ2Uvc3ZnK3htbCAKIFBBU1Mg
VVJMIHF1ZXJ5OiB0ZXh0L2h0bWwgCiBQQVNTIFVSTCBxdWVyeTogYXBwbGljYXRpb24veG1sIAog
UEFTUyBVUkwgcXVlcnk6IGFwcGxpY2F0aW9uL2JsYWgreG1sIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvTUVUQS55bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9NRVRBLnlt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MDNiZmM1OGQ3ZGM5MGU4MGFmMTZkMWE3ZTc4NjE3YWZjMWFiZTUxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbWFnZXMvTUVUQS55bWwKQEAgLTAsMCArMSwzIEBACitzdWdnZXN0ZWRfcmV2aWV3ZXJz
OgorICAtIHpxemhhbmcKKyAgLSBnc25lZGRlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL09XTkVSUyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL09XTkVSUwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNGNmNzgyNjZjNDdkNGNkNDhhYzE1YWJjNTUwZTVhNTkwNjQy
NDE3ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9PV05FUlMKKysr
IC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUB6cXpoYW5nCi1AdGFnYXdhCi1AZ3NuZWRkZXJz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy9ibHVlLXBuZy1jYWNoYWJsZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtcG5nLWNhY2hhYmxlLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4Nzk3NTM0M2Y2OTcyNjdjYTcyNGY4M2YyMTVlZTljZWFlMzVkM2QKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9i
bHVlLXBuZy1jYWNoYWJsZS5weQpAQCAtMCwwICsxLDEzIEBACitpbXBvcnQgb3MKK2ltcG9ydCB0
aW1lCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgIiIiU2VydmVzIHRoZSBjb250
ZW50cyBpbiBibHVlLnBuZyBidXQgd2l0aCBhIENhY2hlLUNvbnRyb2wgaGVhZGVyLgorCisgIEVt
aXRzIGEgQ2FjaGUtQ29udHJvbCBoZWFkZXIgd2l0aCBtYXgtYWdlIHNldCB0byAxaCB0byBhbGxv
dyB0aGUgYnJvd3NlcgorICBjYWNoZSB0aGUgaW1hZ2UuIFVzZWQgZm9yIHRlc3RpbmcgYmVoYXZp
b3JzIGludm9sdmluZyBjYWNoaW5nIGxvZ2ljcy4KKyAgIiIiCisgIGltYWdlX3BhdGggPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgImJsdWUucG5nIikKKyAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkNhY2hlLUNvbnRyb2wiLCAibWF4LWFnZT0zNjAwIikKKyAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJpbWFnZS9wbmciKQorICByZXNwb25zZS5j
b250ZW50ID0gb3BlbihpbWFnZV9wYXRoLCBtb2RlPSdyYicpLnJlYWQoKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY2FudmFz
LWxpbmUucG5nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZXMvY2FudmFzLWxpbmUucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGY4
ZjQ1NDA1NjA5MzllMTI5NWNjY2IwYzY2NWI5Y2VkOTA4YWQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpsaXRlcmFsIDUwMgp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVZBS0ohcipTWD0kPTgt
anR3NCZnSUxPX0pWY2p7SW1wfjNAZmskTDkKejB8VTEoMnMxTHduai0tZVdIMGdiYiFFVDlDQ1kw
b2xrK3pEM1EkUDAjNUpQQ0lYXmN5SExyeGh4aE9UVUJzRTIkCnpKaExRMiFRSW4wQWlSLUo5QjZR
fHI7QjRxI2pVczM0e3xtKjIoVVElcFElaX5renc5cSRTUXdHR287bnZMVnUodQp6VSY4IyRFREJC
bmluUE4mX04/QiRfQ3I5WldhRD9gSWc7ODMrX1hESTUyJipVR0FSdVZac1BEfHBvLU5rX2pmVVYK
WGI/NW9rcVdpfVI3JCojI3U2ezEtb0QhTTwrSVUpbgoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NsZWFyLTEwMHg1MC5wbmcg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jbGVh
ci0xMDB4NTAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlZWRkMGZmMDU4ODlmZmQ0NDY4YmYxOWEyZThlOWUw
YTA5NDIwMWMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDExNwp6Y21lQVNATj8ob2xIeWB1VkJx
IWlhMHZwXkRMYHoqITNIRShuYnokQ1FmeGB5P2spYGZMMiR2fDwmJUxUVEFuVkIKdUFyKjdwOSVT
U05AKHdOZD93YHdOejV2S1gyUn1ed2YqMlUzK0lMK0MkI31aQHh2WDxhWGFXRWQmS3FfQgoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvY29sb3JzLnN2ZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2NvbG9ycy5zdmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDI0ZGU4NGE1YmJhYzA1ZjBkODc4Yzk5NGJiNDVkMTJmYTQxNjQ2YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2Nv
bG9ycy5zdmcKQEAgLTAsMCArMSwxMSBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciCisgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5r
IgorICAgICB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj4KKyAgPHN0eWxlPnVzZTpub3QoOnRhcmdl
dCkgeyBkaXNwbGF5OiBub25lOyB9PC9zdHlsZT4KKyAgPGRlZnM+CisgICAgPHJlY3QgaWQ9Imdy
ZWVuLWJveCIgZmlsbD0iIzAwZmYwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIvPgorICAgIDxy
ZWN0IGlkPSJyZWQtYm94IiBmaWxsPSIjZmYwMDAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIi8+
CisgIDwvZGVmcz4KKyAgPHVzZSBpZD0iZ3JlZW4iIHhsaW5rOmhyZWY9IiNncmVlbi1ib3giLz4K
KyAgPHVzZSBpZD0icmVkIiB4bGluazpocmVmPSIjcmVkLWJveCIvPgorPC9zdmc+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9m
eWktbG9nby9meWlfY29sb3Iuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9yLnN2ZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjAz
ODc4OTJhZjA5MTk0OGE1MGEyZGRlODUwMTc1NGNmNmFmYzkxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxv
Z28vZnlpX2NvbG9yLnN2ZwpAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgorPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEu
MCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgor
PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIw
cHgiIHk9IjBweCIKKyAgICAgdmlld0JveD0iMCAwIDQ0MCA0NDAiIHN0eWxlPSJlbmFibGUtYmFj
a2dyb3VuZDpuZXcgMCAwIDQ0MCA0NDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKzxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgIC5zdDB7ZmlsbDojN0VEMkVFO30KKyAgLnN0MXtmaWxsOiMwMDND
NTc7fQorPC9zdHlsZT4KKzxnPgorICA8cmVjdCB4PSI2MS4yIiB5PSIyNTUuMyIgY2xhc3M9InN0
MCIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJN
MTU5LjMsMTAzLjhjLTI4LjUsMC01MS43LDIzLjItNTEuNyw1MS43VjI4NEgxMzh2LTYwLjVoMjgu
NnYtMzAuNEgxMzh2LTM3LjVjMC0xMS44LDkuNi0yMS40LDIxLjQtMjEuNAorICAgIGMxMS41LDAs
MjAuOCw5LjEsMjEuMywyMC40aDMwLjRDMjEwLjYsMTI2LjUsMTg3LjYsMTAzLjgsMTU5LjMsMTAz
Ljh6Ii8+CisgIDxyZWN0IHg9IjMwMiIgeT0iMTI2LjMiIGNsYXNzPSJzdDEiIHdpZHRoPSIzMC40
IiBoZWlnaHQ9IjI4LjMiLz4KKyAgPHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIzMDIuMSwx
NzYuMSAzMDEuOSwyODQgMzMyLjMsMjg0IDMzMi40LDE3Ni4xIi8+CisgIDxwYXRoIGNsYXNzPSJz
dDEiIGQ9Ik0yODQuMSwyMDguNGwwLTE1LjVsMC0xbDAtMTUuOGgtMzAuNGwtMC4xLDMzLjhjLTAu
OCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5LjljLTExLjgsMC0yMS40LTkuNi0yMS40LTIxLjQKKyAg
ICB2LTMyLjNoLTMwLjR2MzIuM2MwLDI4LjUsMjMuMiw1MS43LDUxLjcsNTEuN2M2LjksMCwxMy42
LTEuMywxOS45LTRsMS4zLTAuNmwwLDIzLjFoMC4ydjUuOGMwLDExLjgtOS42LDIxLjQtMjEuNCwy
MS40CisgICAgYy0xMS41LDAtMjAuOC05LjEtMjEuMy0yMC40aC0zMC40YzAuNSwyOC4xLDIzLjUs
NTAuOCw1MS43LDUwLjhjMjguNSwwLDUxLjctMjMuMiw1MS43LTUxLjd2LTMuOEgyODRsMC4xLTY5
LjkKKyAgICBDMjg0LjEsMjA5LjksMjg0LjEsMjA5LjEsMjg0LjEsMjA4LjR6Ii8+Cis8L2c+Cis8
L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL2Z5aS1sb2dvL2Z5aV9jb2xvcl9iZy5zdmcgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfY29sb3JfYmcu
c3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk0ODY0YjVjMmMyNTlkMmQ0OTRmN2NjYTZiN2U0YmY2MmNlNDZhNWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfY29sb3JfYmcuc3ZnCkBAIC0wLDAgKzEsMjYgQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIEdlbmVyYXRvcjog
QWRvYmUgSWxsdXN0cmF0b3IgMjIuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lv
bjogNi4wMCBCdWlsZCAwKSAgLS0+Cis8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgorICAgdmlld0JveD0iMCAwIDQ0MC43
IDQ0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQwLjcgNDQwOyIgeG1sOnNw
YWNlPSJwcmVzZXJ2ZSI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAuc3Qwe2ZpbGw6IzAw
M0M1Nzt9CisgIC5zdDF7ZmlsbDojN0VEMkVFO30KKyAgLnN0MntmaWxsOiNGRkZGRkY7fQorPC9z
dHlsZT4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSIwIiBjbGFzcz0ic3QwIiB3aWR0aD0iNDQw
IiBoZWlnaHQ9IjQ0MCIvPgorICA8L2c+CisgIDxnPgorICAgIDxyZWN0IHg9IjYxLjIiIHk9IjI1
NS4zIiBjbGFzcz0ic3QxIiB3aWR0aD0iMzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBhdGgg
Y2xhc3M9InN0MiIgZD0iTTE1OS4zLDEwMy44Yy0yOC41LDAtNTEuNywyMy4yLTUxLjcsNTEuN1Yy
ODRIMTM4di02MC41aDI4LjZ2LTMwLjRIMTM4di0zNy41YzAtMTEuOCw5LjYtMjEuNCwyMS40LTIx
LjQKKyAgICAgIGMxMS41LDAsMjAuOCw5LjEsMjEuMywyMC40aDMwLjRDMjEwLjYsMTI2LjUsMTg3
LjYsMTAzLjgsMTU5LjMsMTAzLjh6Ii8+CisgICAgPHJlY3QgeD0iMzAyIiB5PSIxMjYuMyIgY2xh
c3M9InN0MiIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwb2x5Z29uIGNsYXNz
PSJzdDIiIHBvaW50cz0iMzAyLjEsMTc2LjEgMzAxLjksMjg0IDMzMi4zLDI4NCAzMzIuNCwxNzYu
MSIvPgorICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yODQuMSwyMDguNGwwLTE1LjVsMC0xbDAt
MTUuOGgtMzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5LjljLTExLjgs
MC0yMS40LTkuNi0yMS40LTIxLjQKKyAgICAgIHYtMzIuM2gtMzAuNHYzMi4zYzAsMjguNSwyMy4y
LDUxLjcsNTEuNyw1MS43YzYuOSwwLDEzLjYtMS4zLDE5LjktNGwxLjMtMC42bDAsMjMuMWgwLjJ2
NS44YzAsMTEuOC05LjYsMjEuNC0yMS40LDIxLjQKKyAgICAgIGMtMTEuNSwwLTIwLjgtOS4xLTIx
LjMtMjAuNGgtMzAuNGMwLjUsMjguMSwyMy41LDUwLjgsNTEuNyw1MC44YzI4LjUsMCw1MS43LTIz
LjIsNTEuNy01MS43di0zLjhIMjg0bDAuMS02OS45CisgICAgICBDMjg0LjEsMjA5LjksMjg0LjEs
MjA5LjEsMjg0LjEsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxv
Z28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX21vbm9jaHJvbWF0aWMuc3ZnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJkZTI3NTk3MmIzM2M1NzEzOGVhMDg2YWViMjgyNjFkOGJiZjc0M2YKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpYy5zdmcKQEAgLTAsMCArMSwxOCBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9i
ZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2
LjAwIEJ1aWxkIDApICAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCisgICB2aWV3Qm94PSIwIDAgNDQwIDQ0MCIg
c3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQwIDQ0MDsiIHhtbDpzcGFjZT0icHJl
c2VydmUiPgorPGc+CisgIDxnPgorICAgIDxyZWN0IHg9IjYxLjIiIHk9IjI1NS4zIiB3aWR0aD0i
MzAuNCIgaGVpZ2h0PSIyOC4zIi8+CisgICAgPHBhdGggZD0iTTE1OS4zLDEwMy44Yy0yOC41LDAt
NTEuNywyMy4yLTUxLjcsNTEuN1YyODRIMTM4di02MC41aDI4LjZ2LTMwLjRIMTM4di0zNy41YzAt
MTEuOCw5LjYtMjEuNCwyMS40LTIxLjQKKyAgICAgIGMxMS41LDAsMjAuOCw5LjEsMjEuMywyMC40
aDMwLjRDMjEwLjYsMTI2LjUsMTg3LjYsMTAzLjgsMTU5LjMsMTAzLjh6Ii8+CisgICAgPHJlY3Qg
eD0iMzAyIiB5PSIxMjYuMyIgd2lkdGg9IjMwLjQiIGhlaWdodD0iMjguMyIvPgorICAgIDxwb2x5
Z29uIHBvaW50cz0iMzAyLjEsMTc2LjEgMzAxLjksMjg0IDMzMi4zLDI4NCAzMzIuNCwxNzYuMSAg
ICAgIi8+CisgICAgPHBhdGggZD0iTTI4NC4xLDIwOC40bDAtMTUuNWwwLTFsMC0xNS44aC0zMC40
bC0wLjEsMzMuOGMtMC44LDExLjEtMTAuMSwxOS45LTIxLjMsMTkuOWMtMTEuOCwwLTIxLjQtOS42
LTIxLjQtMjEuNHYtMzIuM2gtMzAuNAorICAgICAgdjMyLjNjMCwyOC41LDIzLjIsNTEuNyw1MS43
LDUxLjdjNi45LDAsMTMuNi0xLjMsMTkuOS00bDEuMy0wLjZsMCwyMy4xaDAuMnY1LjhjMCwxMS44
LTkuNiwyMS40LTIxLjQsMjEuNAorICAgICAgYy0xMS41LDAtMjAuOC05LjEtMjEuMy0yMC40aC0z
MC40YzAuNSwyOC4xLDIzLjUsNTAuOCw1MS43LDUwLjhjMjguNSwwLDUxLjctMjMuMiw1MS43LTUx
Ljd2LTMuOEgyODRsMC4xLTY5LjkKKyAgICAgIEMyODQuMSwyMDkuOSwyODQuMSwyMDkuMSwyODQu
MSwyMDguNHoiLz4KKyAgPC9nPgorPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfbW9u
b2Nocm9tYXRpY19iZy5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpY19iZy5zdmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTRjODJkMzFhMjdkYzBkOWFiMzhmOTE1NzRjMTBjNDcwOGRlZTBkZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
L2Z5aS1sb2dvL2Z5aV9tb25vY2hyb21hdGljX2JnLnN2ZwpAQCAtMCwwICsxLDI0IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBHZW5lcmF0b3I6IEFkb2Jl
IElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYu
MDAgQnVpbGQgMCkgIC0tPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKKyAgIHZpZXdCb3g9IjAgMCA0NDAuNyA0NDAi
IHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ0MC43IDQ0MDsiIHhtbDpzcGFjZT0i
cHJlc2VydmUiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgLnN0MHtmaWxsOiNGRkZGRkY7
fQorPC9zdHlsZT4KKzxnPgorICA8Zz4KKyAgICA8cmVjdCB4PSIwLjMiIHdpZHRoPSI0NDAiIGhl
aWdodD0iNDQwIi8+CisgIDwvZz4KKyAgPGc+CisgICAgPHJlY3QgeD0iNjEuNSIgeT0iMjU1LjMi
IGNsYXNzPSJzdDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8cGF0aCBjbGFz
cz0ic3QwIiBkPSJNMTU5LjcsMTAzLjhjLTI4LjUsMC01MS43LDIzLjItNTEuNyw1MS43VjI4NGgz
MC40di02MC41aDI4LjZ2LTMwLjRoLTI4LjZ2LTM3LjVjMC0xMS44LDkuNi0yMS40LDIxLjQtMjEu
NAorICAgICAgYzExLjUsMCwyMC44LDkuMSwyMS4zLDIwLjRoMzAuNEMyMTAuOSwxMjYuNSwxODcu
OSwxMDMuOCwxNTkuNywxMDMuOHoiLz4KKyAgICA8cmVjdCB4PSIzMDIuMyIgeT0iMTI2LjMiIGNs
YXNzPSJzdDAiIHdpZHRoPSIzMC40IiBoZWlnaHQ9IjI4LjMiLz4KKyAgICA8cG9seWdvbiBjbGFz
cz0ic3QwIiBwb2ludHM9IjMwMi40LDE3Ni4xIDMwMi4yLDI4NCAzMzIuNiwyODQgMzMyLjgsMTc2
LjEgICAgICIvPgorICAgIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yODQuNSwyMDguNGwwLTE1LjVs
MC0xbDAtMTUuOGgtMzAuNGwtMC4xLDMzLjhjLTAuOCwxMS4xLTEwLjEsMTkuOS0yMS4zLDE5Ljlj
LTExLjgsMC0yMS40LTkuNi0yMS40LTIxLjQKKyAgICAgIHYtMzIuM0gxODF2MzIuM2MwLDI4LjUs
MjMuMiw1MS43LDUxLjcsNTEuN2M2LjksMCwxMy42LTEuMywxOS45LTRsMS4zLTAuNmwwLDIzLjFo
MC4ydjUuOGMwLDExLjgtOS42LDIxLjQtMjEuNCwyMS40CisgICAgICBjLTExLjUsMC0yMC44LTku
MS0yMS4zLTIwLjRIMTgxYzAuNSwyOC4xLDIzLjUsNTAuOCw1MS43LDUwLjhjMjguNSwwLDUxLjct
MjMuMiw1MS43LTUxLjd2LTMuOGgtMC4ybDAuMS02OS45CisgICAgICBDMjg0LjQsMjA5LjksMjg0
LjUsMjA5LjEsMjg0LjUsMjA4LjR6Ii8+CisgIDwvZz4KKzwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlp
LWxvZ28vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWNm
MGViNjQ1Mjk3OWQ2MDA2NGFiNzIzM2Y0Y2RjY2VkNzBkOTQzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxv
Z28vdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0
aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZnlpLWxvZ28vZnlpX2NvbG9y
LnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
L2Z5aS1sb2dvL2Z5aV9jb2xvcl9iZy5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9nby9meWlfbW9ub2Nocm9tYXRpYy5zdmcKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9meWktbG9n
by9meWlfbW9ub2Nocm9tYXRpY19iZy5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTk2eDk2LnN2ZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTk2eDk2
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZGFmZmQ5MjBkYzczNjIzYzBkOGYxMTg4YWUxN2MyMWQ1M2VjMmFk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZXMvZ3JlZW4tOTZ4OTYuc3ZnCkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NiIgaGVpZ2h0PSI5NiI+Cisg
IDxyZWN0IGZpbGw9ImxpbWUiIHdpZHRoPSI5NiIgaGVpZ2h0PSI5NiIvPgorPC9zdmc+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL3czYy1pbXBvcnQubG9nCmluZGV4IGU2ZjQ0Y2MwYzIzZDRjODkxOTg4NTE4
OTMxMzJkMDVjYjVlMTkxNmYuLmEzMjc2ZDM2ZWNhOWE2ZTdkOGJlYmVlMmYyZmFiNDNjOTczYmU0
YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
IEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE0LDcgKzE0LDcgQEAg
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbWFnZXMvT1dORVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvTUVUQS55bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9hbmltLWdyLmdpZgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2FuaW0tZ3IucG5nCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYW5pbS1wb3N0ZXIt
Z3IucG5nCkBAIC0yMywxMCArMjMsMTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibGFjay1yZWN0YW5nbGUucG5n
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmx1
ZS1hcmVhLnBuZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL2JsdWUtYm9yZGVyLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2VzL2JsdWUtcG5nLWNhY2hhYmxlLnB5CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYmx1ZS5wbmcKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ibHVlOTZ4OTYucG5nCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvYnJva2Vu
LnBuZwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vz
L2NhbnZhcy1saW5lLnBuZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW1hZ2VzL2NsZWFyLTEwMHg1MC5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9jb2xvcnMuc3ZnCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZmFpbC5naWYKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9nZ3JyLTI1NngyNTYucG5nCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvZ3JlZW4t
MTAweDUwLnBuZwpAQCAtMzQsNiArMzYsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL2dyZWVuLTF4MS5wbmcKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi0y
NTZ4MjU2LnBuZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2VzL2dyZWVuLTJ4Mi5wbmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy9ncmVlbi05Nng5Ni5zdmcKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi5wbmcKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmVlbi5zdmcKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy9ncmdyLTI1NngyNTYucG5n
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlcy93cHQtbG9nby93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3czYy1pbXBvcnQubG9nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM5M2I0MDMyNGI1YWNiNzU2Y2I2NjYyZTM1Y2NlZWI5YzI5ODVlYzMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlcy93cHQtbG9nby93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
K0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9n
by93cHQtbG9nby1kYXJrYmx1ZS1iZy5zdmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS5zdmcKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9n
by93cHQtbG9nby1saWdodGJsdWUtYmcuc3ZnCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tb3JhbmdlLWJnLnN2Zwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1s
b2dvL3dwdC1sb2dvLXdoaXRlLnN2ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUt
Ymcuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28tZGFya2JsdWUtYmcuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZjM3NGMw
MGNkMTM1OGY0NDZhNDM2MTIyOTQxYTBkNDBiOTA5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93
cHQtbG9nby1kYXJrYmx1ZS1iZy5zdmcKQEAgLTAsMCArMSw5IEBACis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDc2MiA3NjIiPgorPHJlY3QgeD0i
MCIgeT0iMCIgZmlsbD0iIzAwM0M1NiIgd2lkdGg9Ijc2MiIgaGVpZ2h0PSI3NjIiLz4KKzxyZWN0
IHg9IjE4My45IiB5PSI1MTEuNCIgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjIwMS41IiBoZWlnaHQ9
IjM4Ii8+Cis8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNTA0LjksNTQ5LjRjMzcuMywwLDY3LjYt
MzAuMyw2Ny42LTY3LjZ2LTE5aC0zOHYxOWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYu
MywwLTI5LjYtMTMuMy0yOS42LTI5LjYKK1YyODcuNGgtMzh2NTYuNWgtNTEuOXYtOTIuNmgxMTIu
NGMyNS41LDAsNDYuMywyMC44LDQ2LjMsNDYuM2MwLDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQw
LTYuOSw2OS44LTQyLjEsNjkuOC04MworYzAtNDYuNS0zNy44LTg0LjMtODQuMy04NC4zSDM2Ni40
Yy0xMC41LDAtMTksOC41LTE5LDE5VjM4NmwtNDYuNC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYu
NC05LjRjLTYuNywwLTEzLDMuNi0xNi40LDkuNAorbC00Ni4yLDc5LjJWMjEzLjRoLTM4djI0Mi43
YzAsOC42LDUuOCwxNi4xLDE0LDE4LjNjOC4zLDIuMiwxNy4xLTEuNCwyMS40LTguOGw2NS4yLTEx
MS44TDM1MCw0NjUuN2MzLjQsNS44LDkuNyw5LjQsMTYuNCw5LjQKK2MxLjcsMCwzLjMtMC4yLDUt
MC43YzguMy0yLjIsMTQtOS44LDE0LTE4LjN2LTc0LjJoNTEuOXY5OS44QzQzNy4zLDUxOS4xLDQ2
Ny42LDU0OS40LDUwNC45LDU0OS40eiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9n
by1kYXJrYmx1ZS5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1kYXJrYmx1ZS5zdmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRi
MDdkYTc4OTQzNDkyOWQyZmVlOWE5OWM2NzA4OGU4MTE5Y2E0YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1s
b2dvL3dwdC1sb2dvLWRhcmtibHVlLnN2ZwpAQCAtMCwwICsxLDggQEAKKzxzdmcgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzk4IDM0MCI+Cis8cmVjdCB4
PSIwIiB5PSIzMDAiIGZpbGw9IiMwMDNDNTYiIHdpZHRoPSIyMDEuNSIgaGVpZ2h0PSIzOCIvPgor
PHBhdGggZmlsbD0iIzAwM0M1NiIgZD0iTTMyMC45LDMzOGMzNy4zLDAsNjcuNi0zMC4zLDY3LjYt
NjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAtMjkuNi0x
My4zLTI5LjYtMjkuNlY3NgoraC0zOHY1Ni41aC01MS45VjQwaDExMi40YzI1LjUsMCw0Ni4zLDIw
LjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45LDY5LjgtNDIuMSw2
OS44LTgzCitDMzk4LDM5LjgsMzYwLjIsMiwzMTMuOCwySDE4Mi40Yy0xMC41LDAtMTksOC41LTE5
LDE5djE1My42bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTkuNGMtNi43LDAtMTMs
My42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyaC0zOHYyNDIuN2MwLDguNiw1LjgsMTYuMSwxNCwx
OC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0xMTEuOEwxNjYsMjU0LjNjMy40LDUu
OCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1LTAuN2M4LjMtMi4yLDE0LTkuOCwx
NC0xOC4zdi03NC4yaDUxLjl2OTkuOEMyNTMuMywzMDcuNywyODMuNiwzMzgsMzIwLjksMzM4eiIv
PgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9nby1saWdodGJsdWUtYmcuc3ZnIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28v
d3B0LWxvZ28tbGlnaHRibHVlLWJnLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjYxNjcyZGYzM2YyMjY3NGIy
NjBlYjlhNjFhNmM5MGFjNzQ2ZjRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28tbGln
aHRibHVlLWJnLnN2ZwpAQCAtMCwwICsxLDkgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNzYyIDc2MiI+Cis8cmVjdCB4PSIwIiB5PSIwIiBm
aWxsPSIjNzhEOUY0IiB3aWR0aD0iNzYyIiBoZWlnaHQ9Ijc2MiIvPgorPHJlY3QgeD0iMTgzLjki
IHk9IjUxMS40IiBmaWxsPSIjMDAzQzU2IiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxw
YXRoIGZpbGw9IiMwMDNDNTYiIGQ9Ik01MDQuOSw1NDkuNGMzNy4zLDAsNjcuNi0zMC4zLDY3LjYt
NjcuNnYtMTloLTM4djE5YzAsMTYuMy0xMy4zLDI5LjYtMjkuNiwyOS42Yy0xNi4zLDAtMjkuNi0x
My4zLTI5LjYtMjkuNgorVjI4Ny40aC0zOHY1Ni41aC01MS45di05Mi42aDExMi40YzI1LjUsMCw0
Ni4zLDIwLjgsNDYuMyw0Ni4zYzAsMjAtMTMsMzcuOC0zMS44LDQ0djM5LjFjNDAtNi45LDY5Ljgt
NDIuMSw2OS44LTgzCitjMC00Ni41LTM3LjgtODQuMy04NC4zLTg0LjNIMzY2LjRjLTEwLjUsMC0x
OSw4LjUtMTksMTlWMzg2bC00Ni40LTc5LjRjLTMuNC01LjgtOS43LTkuNC0xNi40LTkuNGMtNi43
LDAtMTMsMy42LTE2LjQsOS40CitsLTQ2LjIsNzkuMlYyMTMuNGgtMzh2MjQyLjdjMCw4LjYsNS44
LDE2LjEsMTQsMTguM2M4LjMsMi4yLDE3LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMzUwLDQ2
NS43YzMuNCw1LjgsOS43LDkuNCwxNi40LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIu
MiwxNC05LjgsMTQtMTguM3YtNzQuMmg1MS45djk5LjhDNDM3LjMsNTE5LjEsNDY3LjYsNTQ5LjQs
NTA0LjksNTQ5LjR6Ii8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1sb2dvL3dwdC1sb2dvLW9yYW5nZS1i
Zy5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
cy93cHQtbG9nby93cHQtbG9nby1vcmFuZ2UtYmcuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkZTJjMTVmMWIy
MjIwOGJkMzQzMGVkMzY2MTQwMzA0NzRmMzcxYjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQt
bG9nby1vcmFuZ2UtYmcuc3ZnCkBAIC0wLDAgKzEsOSBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjIgNzYyIj4KKzxyZWN0IHg9IjAiIHk9
IjAiIGZpbGw9IiNFODZFNDMiIHdpZHRoPSI3NjIiIGhlaWdodD0iNzYyIi8+Cis8cmVjdCB4PSIx
ODMuOSIgeT0iNTExLjQiIGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIyMDEuNSIgaGVpZ2h0PSIzOCIv
PgorPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTUwNC45LDU0OS40YzM3LjMsMCw2Ny42LTMwLjMs
NjcuNi02Ny42di0xOWgtMzh2MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2LjMsMC0y
OS42LTEzLjMtMjkuNi0yOS42CitWMjg3LjRoLTM4djU2LjVoLTUxLjl2LTkyLjZoMTEyLjRjMjUu
NSwwLDQ2LjMsMjAuOCw0Ni4zLDQ2LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0MC02Ljks
NjkuOC00Mi4xLDY5LjgtODMKK2MwLTQ2LjUtMzcuOC04NC4zLTg0LjMtODQuM0gzNjYuNGMtMTAu
NSwwLTE5LDguNS0xOSwxOVYzODZsLTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2LjQtOS40
Yy02LjcsMC0xMywzLjYtMTYuNCw5LjQKK2wtNDYuMiw3OS4yVjIxMy40aC0zOHYyNDIuN2MwLDgu
Niw1LjgsMTYuMSwxNCwxOC4zYzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0xMTEuOEwz
NTAsNDY1LjdjMy40LDUuOCw5LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1LTAuN2M4
LjMtMi4yLDE0LTkuOCwxNC0xOC4zdi03NC4yaDUxLjl2OTkuOEM0MzcuMyw1MTkuMSw0NjcuNiw1
NDkuNCw1MDQuOSw1NDkuNHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LWxvZ28vd3B0LWxvZ28td2hp
dGUuc3ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LWxvZ28vd3B0LWxvZ28td2hpdGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYWI3YjUzZTg3Zjk2
NzA2NTJhNjMxNDA2OGE2ZTVkODUwYTBkY2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlcy93cHQtbG9nby93cHQtbG9n
by13aGl0ZS5zdmcKQEAgLTAsMCArMSw4IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM5OCAzNDAiPgorPHJlY3QgeD0iMCIgeT0iMzAwIiBm
aWxsPSIjRkZGRkZGIiB3aWR0aD0iMjAxLjUiIGhlaWdodD0iMzgiLz4KKzxwYXRoIGZpbGw9IiNG
RkZGRkYiIGQ9Ik0zMjAuOSwzMzhjMzcuMywwLDY3LjYtMzAuMyw2Ny42LTY3LjZ2LTE5aC0zOHYx
OWMwLDE2LjMtMTMuMywyOS42LTI5LjYsMjkuNmMtMTYuMywwLTI5LjYtMTMuMy0yOS42LTI5LjZW
NzYKK2gtMzh2NTYuNWgtNTEuOVY0MGgxMTIuNGMyNS41LDAsNDYuMywyMC44LDQ2LjMsNDYuM2Mw
LDIwLTEzLDM3LjgtMzEuOCw0NHYzOS4xYzQwLTYuOSw2OS44LTQyLjEsNjkuOC04MworQzM5OCwz
OS44LDM2MC4yLDIsMzEzLjgsMkgxODIuNGMtMTAuNSwwLTE5LDguNS0xOSwxOXYxNTMuNmwtNDYu
NC03OS40Yy0zLjQtNS44LTkuNy05LjQtMTYuNC05LjRjLTYuNywwLTEzLDMuNi0xNi40LDkuNAor
bC00Ni4yLDc5LjJWMmgtMzh2MjQyLjdjMCw4LjYsNS44LDE2LjEsMTQsMTguM2M4LjMsMi4yLDE3
LjEtMS40LDIxLjQtOC44bDY1LjItMTExLjhMMTY2LDI1NC4zYzMuNCw1LjgsOS43LDkuNCwxNi40
LDkuNAorYzEuNywwLDMuMy0wLjIsNS0wLjdjOC4zLTIuMiwxNC05LjgsMTQtMTguM3YtNzQuMmg1
MS45djk5LjhDMjUzLjMsMzA3LjcsMjgzLjYsMzM4LDMyMC45LDMzOHoiLz4KKzwvc3ZnPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZXMvd3B0LXByLWJvdC1sb2dvL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3czYy1pbXBvcnQu
bG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU2MTc2NTliNmM4YjdkODQxZTU3NDQ1ZDFjMmQwMWU0YTk5YmUxMDIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ltYWdlcy93cHQtcHItYm90LWxvZ28vdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwx
NyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
KwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAor
CitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xp
c3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZXMvd3B0LXByLWJvdC1sb2dvL3dwdC1wci1ib3QtbG9nby1kYXJrYmx1ZS5zdmcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1h
Z2VzL3dwdC1wci1ib3QtbG9nby93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZXMvd3B0LXByLWJvdC1s
b2dvL3dwdC1wci1ib3QtbG9nby1kYXJrYmx1ZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY3MTJmYTIzYzkx
OTlkOGI2N2Y2M2M3Y2EzYzU1NWI5MTVkMmQ1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2VzL3dwdC1wci1ib3QtbG9n
by93cHQtcHItYm90LWxvZ28tZGFya2JsdWUuc3ZnCkBAIC0wLDAgKzEsNTAgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorIHdpZHRoPSIyNjAiIGhlaWdodD0iMjYw
IiB2aWV3Qm94PSIwIDAgMTI4MC4wMDAwMDAgMTI3Ni4wMDAwMDAiCisgcHJlc2VydmVBc3BlY3RS
YXRpbz0ieE1pZFlNaWQgbWVldCI+Cis8IS0tIGZyb20gaHR0cHM6Ly9zdmdzaWxoLmNvbS9pbWFn
ZS8zMDM0NjUuaHRtbCAsIENDMCAtLT4KKzxtZXRhZGF0YT4KK0NyZWF0ZWQgYnkgcG90cmFjZSAx
LjE1LCB3cml0dGVuIGJ5IFBldGVyIFNlbGluZ2VyIDIwMDEtMjAxNworPC9tZXRhZGF0YT4KKzxn
IHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDEyNzYuMDAwMDAwKSBzY2FsZSgwLjEwMDAw
MCwtMC4xMDAwMDApIgorZmlsbD0iIzAwM0M1NiIgc3Ryb2tlPSJub25lIj4KKzxwYXRoIGQ9Ik01
OTc1IDEyNzQ5IGMtODYgLTYgLTE0NCAtMTQgLTE1MSAtMjIgLTYgLTYgLTQxIC0xMTEgLTc3IC0y
MzIgLTM3CistMTIxIC0xMDcgLTM1NSAtMTU3IC01MjAgLTUwIC0xNjUgLTEyMyAtNDA2IC0xNjIg
LTUzNiBsLTcxIC0yMzcgLTE4OCAtNDYKK2MtMjEzIC01MiAtNDc1IC0xMzUgLTY1OCAtMjA4IC02
OCAtMjcgLTEzMCAtNDcgLTEzNyAtNDQgLTcgMyAtMzAxIDIyMSAtNjUzCis0ODUgLTM1MyAyNjUg
LTY0NSA0ODEgLTY0OSA0ODEgLTEzIDAgLTI1NyAtMTQ5IC0zOTIgLTI0MCAtMTk4IC0xMzIgLTM1
OQorLTI1NCAtNTc4IC00MzYgbC0yNSAtMjEgMjcxIC03NDYgYzE1MCAtNDExIDI3MiAtNzUyIDI3
MiAtNzU4IDAgLTYgLTQwIC01NgorLTg4IC0xMTIgLTE3NSAtMjAyIC0zMzcgLTQyMCAtNDU3IC02
MTUgLTMyIC01MiAtNjQgLTk2IC03MiAtOTkgLTggLTMgLTM2NiA0CistNzk2IDE2IC00MzAgMTIg
LTc5NCAyMSAtODA4IDIxIC0yMyAwIC0zMCAtOSAtNTYgLTY3IC02MSAtMTM3IC0xNDIgLTM1Mwor
LTIwMiAtNTM4IC02MSAtMTg2IC0xNDUgLTQ5NCAtMTM4IC01MDIgMiAtMiAzMDMgLTIwNCA2Njgg
LTQ0OCA1NjIgLTM3NyA2NjUKKy00NTAgNjcwIC00NzMgMyAtMTUgMSAtNzIgLTQgLTEyNyAtOCAt
OTkgLTIgLTUyNSAxMSAtNzAyIGw3IC05MiAtNjY5IC00NDgKK2MtMzY3IC0yNDYgLTY3MiAtNDUw
IC02NzcgLTQ1MyAtOSAtNiAyMyAtMTQ3IDcyIC0zMjAgNzEgLTI0OSAxODAgLTU1NCAyODQKKy03
OTQgbDE2IC0zOSAxMzcgNiBjNzUgNCA0NDAgMTQgODEwIDI0IGw2NzMgMTcgMjUgLTI5IGMxMyAt
MTcgNjggLTk1IDEyMAorLTE3NCAxMTMgLTE2OSAyMjIgLTMxNCAzNTAgLTQ2NyBsOTMgLTExMSAt
Mjc1IC03NTIgYy0xNTEgLTQxNCAtMjc0IC03NTcKKy0yNzIgLTc2MSA1IC0xNCAyMTMgLTE4NSAz
NjEgLTI5NiAyMjUgLTE3MCA2MDYgLTQxOCA2MzEgLTQxMiA3IDIgMjk5IDIxOQorNjQ5IDQ4MiBs
NjM3IDQ3OSA0NyAtMTUgYzI3IC05IDg0IC0zMCAxMjggLTQ4IDE4MyAtNzQgMzkyIC0xNDEgNjE5
IC0yMDAgODEKKy0yMSAxNDkgLTQwIDE1MSAtNDIgMyAtMyAyMjIgLTcyNCAzODYgLTEyNzMgMzgg
LTEyNiA3MyAtMjM5IDc4IC0yNTEgOCAtMTgKKzI0IC0yMiAxMzcgLTMzIDMxNCAtMzAgMTA3OCAt
MjIgMTExMCAxMiA2IDcgNDEgMTExIDc3IDIzMiAzNyAxMjEgMTA3IDM1NQorMTU3IDUyMCA1MCAx
NjUgMTIzIDQwNiAxNjIgNTM2IGw3MSAyMzcgMTg4IDQ2IGMyMTMgNTIgNDc1IDEzNSA2NTggMjA4
IDY4IDI3CisxMzAgNDcgMTM3IDQ0IDcgLTMgMzAxIC0yMjEgNjUzIC00ODUgMzUzIC0yNjUgNjQ0
IC00ODEgNjQ5IC00ODEgMTEgMCAyNTAKKzE0NSAzNjIgMjIwIDIwNiAxMzcgNDIyIDI5OSA2MDgg
NDU2IGwyNSAyMSAtMjcxIDc0NiBjLTE1MCA0MTEgLTI3MiA3NTIgLTI3MgorNzU4IDAgNiA0MCA1
NiA4OCAxMTIgMTc1IDIwMiAzMzcgNDIwIDQ1NyA2MTUgMzIgNTIgNjQgOTYgNzIgOTkgOCAzIDM2
NiAtNAorNzk2IC0xNiA0MzAgLTEyIDc5NCAtMjEgODA4IC0yMSAyMyAwIDMwIDkgNTYgNjggNjEg
MTM2IDE0MiAzNTIgMjAyIDUzNyA2MQorMTg2IDE0NSA0OTQgMTM4IDUwMiAtMiAyIC0zMDMgMjA0
IC02NjggNDQ4IC01NjIgMzc3IC02NjUgNDUwIC02NzAgNDczIC0zIDE1CistMSA3MiA0IDEyNyA4
IDk5IDIgNTI3IC0xMSA3MDIgbC03IDkyIDY2OCA0NDggYzM2OCAyNDYgNjczIDQ1MCA2NzggNDUz
IDkgNgorLTIyIDE0NiAtNzIgMzIwIC03MSAyNDkgLTE4MCA1NTQgLTI4NCA3OTQgbC0xNyAzOSAt
MTQxIC02IGMtNzggLTQgLTQ0MyAtMTQKKy04MTAgLTI0IGwtNjY4IC0xNyAtMjUgMjkgYy0xMyAx
NyAtNjggOTUgLTEyMCAxNzQgLTExMyAxNjkgLTIyMiAzMTQgLTM1MAorNDY3IGwtOTMgMTExIDI3
NSA3NTIgYzE1MSA0MTQgMjc0IDc1NyAyNzIgNzYxIC01IDE0IC0yMTMgMTg1IC0zNjEgMjk2IC0y
MjUKKzE3MCAtNjA2IDQxOCAtNjMxIDQxMiAtNyAtMiAtMjk5IC0yMTkgLTY0OSAtNDgyIGwtNjM3
IC00NzkgLTQ3IDE1IGMtMjcgOQorLTg0IDMwIC0xMjggNDggLTE4MyA3NCAtMzkyIDE0MSAtNjE5
IDIwMCAtODEgMjEgLTE0OSA0MCAtMTUxIDQyIC0zIDMgLTIyMgorNzI0IC0zODYgMTI3MyAtMzgg
MTI3IC03MyAyMzkgLTc4IDI1MSAtOCAxOCAtMjQgMjIgLTEzNyAzMyAtMTY0IDE2IC03NzUgMjIK
Ky05NTkgMTB6Ii8+Cis8L2c+CisKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB2aWV3Qm94PSIwIDAgNzYyIDc2MiI+Cis8cmVjdCB4PSIxODMuOSIgeT0iNTExLjQiIGZp
bGw9IiNGRkZGRkYiIHdpZHRoPSIyMDEuNSIgaGVpZ2h0PSIzOCIvPgorPHBhdGggZmlsbD0iI0ZG
RkZGRiIgZD0iTTUwNC45LDU0OS40YzM3LjMsMCw2Ny42LTMwLjMsNjcuNi02Ny42di0xOWgtMzh2
MTljMCwxNi4zLTEzLjMsMjkuNi0yOS42LDI5LjZjLTE2LjMsMC0yOS42LTEzLjMtMjkuNi0yOS42
CitWMjg3LjRoLTM4djU2LjVoLTUxLjl2LTkyLjZoMTEyLjRjMjUuNSwwLDQ2LjMsMjAuOCw0Ni4z
LDQ2LjNjMCwyMC0xMywzNy44LTMxLjgsNDR2MzkuMWM0MC02LjksNjkuOC00Mi4xLDY5LjgtODMK
K2MwLTQ2LjUtMzcuOC04NC4zLTg0LjMtODQuM0gzNjYuNGMtMTAuNSwwLTE5LDguNS0xOSwxOVYz
ODZsLTQ2LjQtNzkuNGMtMy40LTUuOC05LjctOS40LTE2LjQtOS40Yy02LjcsMC0xMywzLjYtMTYu
NCw5LjQKK2wtNDYuMiw3OS4yVjIxMy40aC0zOHYyNDIuN2MwLDguNiw1LjgsMTYuMSwxNCwxOC4z
YzguMywyLjIsMTcuMS0xLjQsMjEuNC04LjhsNjUuMi0xMTEuOEwzNTAsNDY1LjdjMy40LDUuOCw5
LjcsOS40LDE2LjQsOS40CitjMS43LDAsMy4zLTAuMiw1LTAuN2M4LjMtMi4yLDE0LTkuOCwxNC0x
OC4zdi03NC4yaDUxLjl2OTkuOEM0MzcuMyw1MTkuMSw0NjcuNiw1NDkuNCw1MDQuOSw1NDkuNHoi
Lz4KKzwvc3ZnPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvTUVUQS55bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvTUVUQS55
bWwKaW5kZXggYmNiMzBlZDI3NjY0MmZiYmUyZDA1NWM2YTFkMTMxZTA5N2RhYWM2OS4uZDNlNGMz
ODdlOGI1YjlkMjdlYTNkZWE2ZmViZGMxZDlhNjYyZTRmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL01FVEEu
eW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9NRVRBLnltbApAQCAtMyw1ICszLDQgQEAgc3VnZ2VzdGVkX3Jldmlld2Vy
czoKICAgLSBBbWVsaWFCUgogICAtIGFubmV2awogICAtIGtlbnJ1c3NlbGwKLSAgLSBqZGFzaGcK
ICAgLSBmc2VyYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMuY29weS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS5o
dG1sCmluZGV4IGJjMmVkOWNlZTVlZmU1ZGNiOWU1MDc5OTAxZWMzODUxYTI3ZGI2MTAuLjgyNGUx
ZWNhZWFhZTY3NWY4N2Q1NjMyZDg1M2JlMmI2YzlmMDM2OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuY29weTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuY2FudmFzLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5
LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwotICAgIGN0
eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUs
MjU1LDAsMTkxIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUp
JzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOworICAgICAgICBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEi
LCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZh
cy5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNv
cHkud29ya2VyLmpzCmluZGV4IDM1ZGQzZDlmYWNmOWQwNzg4ZjlhZDQ1ZWUyZDNhNWM0NjBmYjY2
YjguLjEzZjg1YmM1Zjc5MDdiYmZjODZiZGViODlhM2Q1MTEzYzdiNjRiODYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHkud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAw
LjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdjb3B5JzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwy
NTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkxIiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AuaHRt
bAppbmRleCBjMzZiMjMyYjZkZDAwOTBhMjEyMzFkZDgyZTUyYmMxNGMyN2I1M2Y4Li40OWRjNjQz
ZjA4MmVjMzI1OGE4NTc4MmM4OWFiZjU1MzU1MWQ4NjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tYXRvcC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
Y2FudmFzLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5h
dGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgy
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKLSAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIx
MjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUs
IDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwy
NSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpz
CmluZGV4IDE3MTgxY2I0MjI0NzA0ZjE2ZjhmMjYzZGU3MTNmNmZkZTc5NmM0ODAuLjdjZGFjODc1
M2RkMDIzZTdlOTliMjhlMDAwOWI4ODk4MTU5ZGRjOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3Aud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgy
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKLSAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwyNSIsICIx
MjgsMjU1LDEyOCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUs
IDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMjU1LDEyOCwxOTEsICI1MCwy
NSIsICIxMjgsMjU1LDEyOCwxOTEiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggZjcyNDllNDA0
MjAxOGUyMmM4ODc2Y2UxOWJmZjFhMzQ1YmU3MGQyMC4uNjQ3ZTQ4NjZmNjA3NTNjYjU1YjEzNDAy
YzY5ZTlmZTA0N2QwZGUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuZGVzdGluYXRpb24taW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWlu
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW48L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVz
dGluYXRpb24taW4nOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDk2IiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24t
aW4ud29ya2VyLmpzCmluZGV4IDEyNTA0Zjk1MGE3NTA0MjE5MmE5NjAyMjZjZWU1MTZjOGMwYTZj
MjkuLjBmYmZjNzYxYzViMzBmZmRhNDQ5YzhlYzhmMDVlOGU0ZDRiNTkyMTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1
ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsK
LSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIs
ICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUs
IDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOworICAgICAgICBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDk2LCAiNTAsMjUiLCAi
MCwyNTUsMjU1LDk2IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKaW5kZXggNDU0Y2Y3NTQ0YWM5M2Ni
OGFhYmQ5YjgxNTIwNjNlOTA0ODE4ZjU4Yi4uNDYxMTRjNjU1NjU1N2M5ZjNmODFiZjA5ZTE3NThh
YzNhN2EzMjA2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52
YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1vdXQnOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFz
MiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDI1NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0
aW5hdGlvbi1vdXQnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMjU1LDMyLCAiNTAsMjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LW91dC53b3JrZXIuanMKaW5kZXggZWQ4ODM1YmY2ZTNiMjYyYmI3ZTMyZTY3Y2VmOGM1NTMzOGE2
M2FkNy4uNjU5ZDBlZmVlNDYzNjE4NTFhNjdmZmI0NjZmNTdhNjFjNDFhMmI0MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5h
dGlvbi1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1v
dXQnOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwzMiwgIjUw
LDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUs
IDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnOworICAg
ICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDMyLCAiNTAs
MjUiLCAiMCwyNTUsMjU1LDMyIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAppbmRleCA4NzJiZmUw
OGM4Y2UyOWNhYTg4ZDQzYWIzNTZiODE1Y2QzMjg0Mjc5Li5hN2NmYzMwNmM1MWVhN2I3M2I0NzM4
NWYxYjNjYWI1YTMwNzZkNGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0
aW9uLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUp
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMi
LCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0
NiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCmluZGV4IDhkMzUwYzVk
ZTkwMGUwNDM3YmQ4MDI4OGFhYzQ0NGRlNGMyNWQzNzguLjY0OGRhNzhjZTliZjYyYTZlODk2YzVh
YjI3NTM0MzQ5NzkyM2RlNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUp
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9m
ZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0NiwyMjMi
LCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxMDksMjU1LDE0NiwyMjMsICI1MCwyNSIsICIxMDksMjU1LDE0
NiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
YW52YXMubGlnaHRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
bGlnaHRlci5odG1sCmluZGV4IDc4MWI2YzFkZWVmY2I0YTIyNTJlZWUxNDk5MzMzM2ZlZDcyYWQw
Y2IuLjE1MDEyZjIyMzJiYjE1YjM5YTMxMDgzODI3NzgxOTVjMTIzMTcxNzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMu
bGlnaHRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2xpZ2h0ZXInOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwy
NTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdsaWdo
dGVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUs
MTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXIud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci53b3JrZXIuanMKaW5k
ZXggMDYwYzZhM2ZmYTMzOWI5NWM1ODRmOTJmNGU0ZDQ5MGRmNDUwNGQ4ZS4uNTQ1MGZjMzFjYTJk
ZTQxMWFmMjA3ZDRkZjhhNGQyYzU0NTgzMjZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDE1ICsyOSwxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ2xpZ2h0ZXInOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwg
MCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5
MSwyNTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICds
aWdodGVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwy
NTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AuaHRtbAppbmRl
eCAyMmVlZGMwODEyMDMzYTFmZmVmMWZmZWEzZDdiMmZlNTM2NTY1YjE0Li4zMGFmYjQ5NDc2Mjk2
ZmYyNzcwYzc4Y2FkMzJkNjJiOGYyMjg1MDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0
b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnc291cmNlLWF0b3AnOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwg
MCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5
MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLWF0b3AnOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkx
LDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0LDEyOCIsIDUpOworICAgIH0sIHRfZmFp
bCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLndv
cmtlci5qcwppbmRleCAwMDA1YmNhNGMzNzZhZDM0MzMzZmNlMGUxOTFiZmJkYjQyODNiMmY0Li44
YjhkMTgzMjEzY2I2YmUxOWJkMjc2Y2M2YjVkNTcxMjE5NGVkOGM1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3Aud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1
NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtYXRvcCc7Ci0gICAgY3R4LmRyYXdJ
bWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEsMjU1LDY0
LDEyOCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7Cisg
ICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtYXRvcCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQs
MTI4IiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2Fu
dmFzLnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMu
c291cmNlLWluLmh0bWwKaW5kZXggNTY0Yjg2NDQ1N2IxMjM2MTRmZDA3ZTgzYjBhZGI3YWZkNjg5
ODJlYS4uNzNhZTdiNzEwZTEwMWNkYWU1N2FmYmM1OGQzZGU3M2YwYjk4NDE4YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5j
YW52YXMuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUp
JzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVu
Q2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdzb3VyY2UtaW4nOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9mYWls
KTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi53b3JrZXIu
anMKaW5kZXggODJhNTA4ZTc1MjVmYjMwMjNhMDFhNjc5NzM4ZTE2YzhjNWQ4ODYwMS4uYTRiOWE1
Yjk4YWVjNTU0YjY5ZjYyNjBkZTg4YTE1NmRlMjAyMWIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtaW4ud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAw
LjUpJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDI1NSwyNTUsMCw5NiwgIjUwLDI1IiwgIjI1NSwyNTUsMCw5NiIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eDIuZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC41KSc7CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdzb3VyY2UtaW4nOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQuaHRtbAppbmRl
eCA0MzFkNmJjZjE4ZTI4Zjg0MTllZDI2MzIyZDg0YjY0NjBiYzc0NWU2Li41ZjlmM2ZhMjI4Yjdi
MjM0NjZmYWU1ZThmYjM3MDhjOGM3ZDI3ZDFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOSwxNSArMzMsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9
ICdzb3VyY2Utb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1
LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBj
dHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYs
ICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCmluZGV4IGNl
MTZkM2JjNmE2MmUwOTVlMGE1MzhkZGNiZmZmOWYxOTUyNTI1ZWMuLjBmZmYwMzNiMDlhZmYwYWNm
MzhjMjMzMWIzN2NiOWZlOGI0OWRmOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLW91dCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUs
MjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLmh0bWwKaW5kZXggMTIz
YWE1ZTY0ZDZkY2MwMDA2ZGU1ZDQ2NWJhNWM5MzM0NGQyM2ZiMC4uZWQ0Mjg0NjZjZmNlNjI1M2Nl
NjQ0MGUxZDllOTJhZTUyZWUyZGFlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI5LDE1ICszMywxNSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eDIuZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOwotICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3NvdXJjZS1vdmVyJzsKLSAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyMTksMjU1
LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1v
dmVyJzsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIxOSwyNTUs
MzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci53b3JrZXIu
anMKaW5kZXggYjVkY2ZmZjNjZDU1ODlhYTUyNjNmNjU1Y2U2ZjM4MGM1MDk0MzE4Zi4uYjBiYzVj
NTEzNDU0ZjU2M2E0N2I2ZmJkZWFjNjI1MTVhYzMxMjFlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsMTUgKzI5LDE1IEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4Mi5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1
NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwotICAgIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDIxOSwyNTUsMzYsMjIzLCAiNTAsMjUiLCAiMjE5LDI1NSwzNiwyMjMi
LCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOworICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIs
IDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54
b3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci5odG1sCmlu
ZGV4IDQ5YWU2YzA4YzY4ZWNjMTY1OGEwNTg0MWFjMzEwMmZkNDE1ZDFjZDEuLjJkZjUxMzIzMzI4
YzE4MWQ1NTE2MDc5YzMyM2EyMGE5MDNiNjY3ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2FudmFzLnhvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2FudmFzLnhvcjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUu
Y2FudmFzLnhvcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTUgKzMzLDE1
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
Mi5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgw
LCAyNTUsIDI1NSwgMC41KSc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKLSAgICBjdHguZHJhd0ltYWdl
KG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3hvcic7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci53b3JrZXIu
anMKaW5kZXggZjNkNTAyNTVhYzU5NGYxMWE2ZDUxYWVjOWU2OTliOWZmZmMxNWEyZi4uOWZhNTUw
NTc1YzEzZjEyZGFjY2MxYjQ5ZDNmOGIxNGMwODYxZDg2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNhbnZhcy54b3Iud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxNSArMjksMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgyLmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjUpJzsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJh
dGlvbiA9ICd4b3InOwotICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUs
NjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICBjdHgyLmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMCwgMjU1LCAyNTUsIDAuNSknOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAi
NTAsMjUiLCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5jb3B5Lmh0bWwKaW5kZXggNDc2MWIwNDdhNjhiZDU1MzRhMDFjM2VkZjZhM2Uz
ZjgyNzU5OWU4NS4uOGYwY2FhNDRlYWQ4NjJjMWJjZWVlYzI5NDdlYmI2ZTBjNWZlZjFkZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5jb3B5
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwo
KSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBk
b2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xp
cC5jb3B5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5jb3B5
Lndvcmtlci5qcwppbmRleCBmYzRhNGNiNThkMTExODgwZDNjZDIyMDk2NmQwNjc0MjVmNjRkOTQ5
Li4yNTY5NjRhMGE2NDQwZWRmZWM3M2Q5ODRmNWZhN2MxYjcxNTNkOGQzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuY29weS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBj
bGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCBhYTg2
M2QxNWM3NjE3MWUzYjBlMTY1ZDAzZDU0MzdhZmNkMjA3Y2E1Li43YjI4NDJkMjFlYzk3OTQwODNk
MjM2NTc3MjIzYmIwYjc0NjNlYjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9u
LWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xp
cCByZWdpb24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCBy
ZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4
IDZjNTgwNzg4OWVkNWM4ZGEwMDJlYjUxYTI3NGY0ZTIxNmExMTgzZTIuLmI0MGI4ZjE1YWNkOWZh
OTNkMDk4YmQ4NzhkYzdmMjk4MWU2MmMxM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNp
ZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXgg
M2JkZTNmZjdjNWZkNzUxOGZlY2FmZmExMTA3NjAwN2JmODNmNjlmOS4uNmFkNGJjNGI1M2ZlOGM1
YzNiODRkMWMzZWYzNTg2YWUzODIzZDE2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9u
LWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJl
Z2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lv
bi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcwppbmRleCBiY2NmM2E4
ODY5YWUwZDUwNTAxOTllNTFkNGQ2N2Q1N2IzYzZlNTY2Li5lZGMwZTk4N2E1NTE4ZWRjODgwNTc5
MDJhZjA2MzMxZWM1NWQ5NDg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNsaXAuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAg
cmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRleCA1ZGVkMGIzNjE1
NDJlMTUxNGM3ZmNkNzZhOTc3NjZlZjMzYjI3NmU2Li4zZDNlNjZiYTY2NWE2MjA0ZDgyMjliOGI2
Nzk2ZjMxYjlhMDQxYWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQ8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJm
aWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmNsaXAuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCmluZGV4IGZlZTExM2ExYzYx
MGEyOTEwMGViNWZhYWE4YmZjNGI5Y2YxMDg2MWMuLjVjNmEzN2E0MjQxZTc3MzU2NTQxMTc2ZmI5
YjllZmMyYTBhYjg1NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBjbGlwIHJl
Z2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAppbmRleCA0Nzc2ZTBlMjE2
MGY0MjBjZjViMTNiYmMwZjc3NjI4YjNlYmFmYzcyLi5mODE3YjM4ODA0Y2JjMWViYjkwMTgyN2M2
Njg3M2VmMzQyZTUyN2U1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuZGVzdGluYXRpb24tb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3ZlcjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+ZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdp
b24uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24u
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLmRlc3RpbmF0aW9uLW92ZXIud29ya2VyLmpzCmluZGV4IDUxMTY4
NDQxMTNkM2I2NzE5Yzk3YjJlYzcwNGViM2FiNjUzZDg2YzAuLmNiMTNiM2Q1ZTI0YmVhNzg1YzM0
ZDYxZDRkNzI1NTVkMTIxNzFlMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdodGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci5odG1sCmluZGV4IGJmMWNkOGJiMWI0MmY1M2IzZThj
MGJhMDQwNDljMjBjN2Y5M2NkMWEuLjAwNzk2NmUwYzE3YWE5OGQyMzAxZTJiNWI2MTZhNTY2ZmVi
MjA5MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5saWdo
dGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLmxpZ2h0ZXIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLmNsaXAubGlnaHRlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5saWdodGVyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRoZSBj
bGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmNsaXAubGlnaHRlci53b3JrZXIuanMKaW5kZXggZTllOWZjOWNkNjM4
Y2RlOWU3ZThiOTY5MGM0ODU0ODc1NjVjYjY0ZS4uODQwZDEwZjkxMzU5YjhjMTJlZjdlZDNlZTVl
NmQ4NmUxMWVjYzY3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5j
bGlwLmxpZ2h0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC5saWdodGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRv
ZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlw
LnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291
cmNlLWF0b3AuaHRtbAppbmRleCAzYTBmMGRmNWRlNmM2YWQ5NTQwYzIwMzg5MTI4NmM3NzA2ODc3
NjU2Li4yYjAwMDAxZTY5ZDMwMmE3NTk4YTkzMDUyMGEwMzBlZTRhYzg2MjYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3AuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3AuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmNs
aXAuc291cmNlLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3A8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWF0b3Aud29ya2VyLmpzCmluZGV4IGE2ZTBm
ZGNmODI4NGIzZTM2ZWUyNjBlOWM5OTRlZmM4NmU1ODVlY2IuLmRhZjVlOTYwYjJkMGM2MmFjZDA0
YTExYWEwYmRkYWY0NjllZDE2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2UtYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdp
b24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1pbi5odG1sCmluZGV4IDE1ZTBhZWU1NTMyNzdmZWU4OTgwYzY4YmI2
MjA4ZGU3NGI2NGIxMWMuLjY4MDljODA5ZjU3MjU2OThkMzc1ZDM4MjFjNWYwOTkwMDYzM2RhZDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW48L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUg
dGhlIGNsaXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhl
IGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggNmI1MjBj
MWIzOTI3NzYzOGZmZDhkZDA4MTZhNDgzNzNiZDQ4NDkyYi4uODFlOGVjMTllZGEwNWExMDhiNTJj
ZjU0ZjRlYTRlZmZlZmE0NzBlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5jbGlwLnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuY2xpcC5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LmNsaXAuc291cmNlLW91dC5odG1sCmluZGV4IDk3ZGU0MmQ5YmEzMzIyMjdmMTRhOTRjNmEwYTMy
NDhiZmRmNDY3ZWYuLmExYzljM2M2YjFiNTE0OWIzMTg3OGYwNDVhNTQ0ODZiNzc3YTY4NmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLmNsaXAuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRl
IHRoZSBjbGlwIHJlZ2lvbi48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZG9lcyBub3QgYWZmZWN0IHBpeGVscyBvdXRzaWRlIHRo
ZSBjbGlwIHJlZ2lvbi4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNzJh
OGYyOTExYmI3ZGRjNmJlOWU3NTUwNWYzOTU2ZDY3OGFjM2I0OC4uNGZiZWE1YzJiZTJmOWYxZDMz
MDQxZDQwMmNjNmQxNGJiMDc1MzMzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5jbGlwLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lkZSB0aGUgY2xpcCByZWdp
b24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmNsaXAuc291cmNlLW92ZXIuaHRtbAppbmRleCA5YWMyMzFkNmE0NThjOTI1N2YyYzcw
YWE2Mzc4ZmI1MjVmMWRmNmQxLi44MzY4MDZmMjlhODdjMzQ4Mzc2OTVkY2I3ZDgzYzlmYjI4OTdj
MjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNl
LW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmNsaXAuc291
cmNlLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4
ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxz
IG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXIud29ya2Vy
LmpzCmluZGV4IGE1OTQ2MjY2NTE0NjlhMThlNjhjMDkzNzM2YjBkYWIzMjc1OTlmYmEuLmNmMDRi
MWUzOGFhNTA3ODZkZDRmMDM2YWRkZjBiOGZkNDRmZTRhNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC5zb3VyY2Utb3Zlci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnNvdXJjZS1vdmVyLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRvZXMgbm90IGFmZmVjdCBwaXhlbHMgb3V0c2lk
ZSB0aGUgY2xpcCByZWdpb24uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5jbGlwLnhvci5odG1sCmluZGV4IGZiOTk1ODQ4ODhjMTM3ZGVmY2E5YWU4
MGQ0NDY2YTgyNmEwMzQyM2UuLmNhMzRjY2U5YzA0NDM2YTc1NDAzZjRmMzU4MzRjNzk0NjRlYmI0
ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuY2xpcC54b3IuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmNsaXAueG9yLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5jbGlw
LnhvcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuY2xpcC54b3I8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZp
bGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwo
KSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uLiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Y2xpcC54b3Iud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhv
ci53b3JrZXIuanMKaW5kZXggNjI5OTY4MDI5YTAzZTZhODRjNjVlNDk1YzIwOGRjZjFjMDU4OWFi
Yi4uM2JmOTJkNmUxM2VjYjUxN2MyMDI5ODc4MzU1ZjFmNDBmNGU1MDZkNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5jbGlwLnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImZpbGwoKSBkb2VzIG5vdCBhZmZlY3QgcGl4ZWxzIG91dHNpZGUgdGhlIGNs
aXAgcmVnaW9uLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy5odG1sCmluZGV4IDBjY2ZlYTlhNmVk
NWRlMjhlNjkwYTZjZmM4NTU5YWY5MmZmMGMxZjkuLmZlOTgyYWMzZTk1OTM4YTMzNDhiOWI4OGUy
OTE3NGM4MDdkYmYzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhczwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5nbG9i
YWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3RlbnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRp
b25zCiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwy
NTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXMud29ya2VyLmpzCmluZGV4
IGFiOGE2NDI0YWNkZTY5YWYzOWI1MzIxODhmNjFjOTNhZWZiNDI5ZDUuLmQwM2E0NTliODQzNzgx
MDJiNzMyMWRjODBjODhiMDdlODllZmEyMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVu
dGlhbCBhbHBoYT0wIG9wdGltaXNhdGlvbnMKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFz
MiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwy
NTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNh
bnZhc2NvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
Y2FudmFzY29weS5odG1sCmluZGV4IGY3OTdjNjM3NjQ5ODgyMDI4OWUyM2ZmZWZmYzAyODBlNzdk
MWQyY2QuLmVhMGIxZDliYmI0YmM1ZGVhNjliOTcxOTYxODQ1MGE3YTU2OTkzYmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFz
Y29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuY2FudmFzY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYs
NyArMzAsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknCiBjdHguZ2xv
YmFsQWxwaGEgPSAwLjUxOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEzMCwg
IjUwLDI1IiwgIjAsMjU1LDAsMTMwIiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZh
c2NvcHkud29ya2VyLmpzCmluZGV4IGJjOGRhYWY5MWFkY2U5ZTk0ODhiMGM5NWFjNjZlZDEwMzI0
NGI3ZjQuLjA1YzQ0YzcwODRiOTJlZTk2OTc5MGIxY2IzZTZhZGI0ODAwNTVjOGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzY29weS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5j
YW52YXNjb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknCiBjdHgu
Z2xvYmFsQWxwaGEgPSAwLjUxOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDEz
MCwgIjUwLDI1IiwgIjAsMjU1LDAsMTMwIiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0
dGVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52
YXNwYXR0ZXJuLmh0bWwKaW5kZXggZWE2YzVhYzJkNjg2YjA1MzliMjJjYzA1NGY0Y2IzM2RkZmQ5
YjJjZC4uMTFiMjcwZjQxMjQ5NWVkZGVlZTVjMjM1YTZkNmU5ZjJiMzUwNjVkOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJu
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52
YXNwYXR0ZXJuLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihv
ZmZzY3JlZW5DYW52YXMyLCAnbm8tcmVwZWF0Jyk7CiBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAv
LyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxB
bHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuY2FudmFzcGF0dGVybi53b3JrZXIuanMKaW5kZXggMDhiNWQ2YWQ5ZGJk
Y2I0NTYyZWVmN2M1M2IyZjc2YjFkYjQ2ZjU1ZC4uOTZiMDA5MjQ5ODNjYzJiN2IwNmY2ZGZkMTM0
MTIyYThhMjRlMmRkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhc3BhdHRlcm4ud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUg
PSBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMyLCAnbm8tcmVwZWF0Jyk7CiBjdHgu
Z2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1p
c2F0aW9ucwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwy
NTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQuaHRtbAppbmRleCA2YTE1YzBjODk3ODgw
OWJlYTEwYWI3N2I3YTY0OWU5NDI2MGExNDE4Li4xOTczOWI4NzgzZjFkNWI0ODhkMmVlZTc4YzNm
MGFlMzBmMGEwNzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3Nl
cnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMS4wLCAiY3R4Lmdsb2JhbEFscGhhIiwgIjEuMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0Lndvcmtlci5qcwppbmRleCBjOTYxOTI4Mjg0ZTVm
NDFkNmM4MDgzY2U3YzlmNmQyZGUzZGVmYzI1Li5iMTIyNmI4YTJmZTJlMDA3ZGEyZjI2MDJlYmRl
NDkyNTQ3ZWRjYjE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgMS4wLCAiY3R4Lmdsb2JhbEFscGhhIiwg
IjEuMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmZpbGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC5odG1sCmluZGV4IDEzYWNkYWZmZmY1ZTNmMzg4N2Nk
ZDQ3OWU1NzFhNzkyODk1NWFmM2MuLjFiNzYxNWJlZjE0NmQ3MmRiY2E0NWQyZGI5Zjc1MjMxMTEx
YmRmYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuZmlsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuZmlsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuZmlsbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAg
b3B0aW1pc2F0aW9ucwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAy
LDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
ZmlsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhh
LmZpbGwud29ya2VyLmpzCmluZGV4IGQyZmJmMDgyN2I0YjA4YTMxZDBiODNjMjcwY2U2YThjYjI1
OTZlYzEuLmFhY2M0M2M0NDU5OWE0OWJkMWRlYmYwMWYxMDUxNTY4YTdjNmUyN2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBA
QCBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAg
b3B0aW1pc2F0aW9ucwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAy
LDI1MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEu
aW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1h
Z2UuaHRtbAppbmRleCBmMjRlMDZhMDhlNGE0MTNjN2JhNjg1NTFkZDkwNjk5MDE3MTg4ZjU4Li41
ZDU4NmExOTFlZWY5YmNkNmQ1Zjc4ODAyMjJiYjYxNGFmOTVkN2YyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW1hZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxMSArMzMsMTEgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MiwyNTMsMCwyNTUsICI1MCwyNSIsICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMs
MCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmltYWdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEuaW1hZ2Uud29ya2VyLmpzCmluZGV4IDQ5NzQ2ODdlOGQyYmI2NzgwYTI2
OGRhNzZhZjU4YWRlM2VmNDc5MzYuLmY2NDVhOGU1NTY0MGNjOGZlNTAxYjBhODE5ZTYwZTk5ZDI3
MmExNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxw
aGEuaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xv
YmFsQWxwaGEuaW1hZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNSwxMSArMjksMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMiwyNTMsMCwyNTUsICI1MCwyNSIs
ICIyLDI1MywwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDIsMjUzLDAsMjU1LCAiNTAsMjUiLCAiMiwyNTMsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRl
cm4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2Vw
YXR0ZXJuLmh0bWwKaW5kZXggMzNmYTIzYThmOTdiY2E3MDdiN2E0NTA1MjA5MDE3NWI4OGI2ZDM2
Ni4uMGM3Nzk2NWY3YThiNTBkYTVhNjJlYTkxNmIxZWQzNDEyY2Y5YjVhOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0
dGVybi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5n
bG9iYWxBbHBoYS5pbWFnZXBhdHRlcm48L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDEzICszMiwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3Rl
bnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCi0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1
MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOwor
ICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFs
cGhhPTAgb3B0aW1pc2F0aW9ucworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1
MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4ud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRl
cm4ud29ya2VyLmpzCmluZGV4IGQ4MDVmNjlmNDdjZjY0NmNhYWJlNDRmYTkyMTkwNzg2OWNiOTQ2
NzQuLjg0NDFkYzI3NWQ1YTE1ZWVmZGM0NTMxMjA4NDI1NTJmOTM1ZmM5YzUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmlt
YWdlcGF0dGVybi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5nbG9iYWxBbHBoYSA9IDAuMDE7IC8vIGF2b2lkIGFueSBwb3Rl
bnRpYWwgYWxwaGE9MCBvcHRpbWlzYXRpb25zCi0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1
MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOwor
ICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFs
cGhhPTAgb3B0aW1pc2F0aW9ucworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyLDI1
MywwLDI1NSwgIjUwLDI1IiwgIjIsMjUzLDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwKaW5kZXggZjQy
MmNmZWEyMzNiZjZjMjdhNzcyMTRhMjZjZTg5NzFiODJkZTkxZi4uMDIyOTc3NThjNzVhMjYwZDBk
NmIxMDNmYzliZDk3YTEwNzk4MDYxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlk
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5nbG9iYWxBbHBoYSA9IC1JbmZpbml0
eTsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgYSwgImN0eC5nbG9iYWxBbHBoYSIsICJh
Iik7CiBjdHguZ2xvYmFsQWxwaGEgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEs
IGEsICJjdHguZ2xvYmFsQWxwaGEiLCAiYSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbnZhbGlk
Lndvcmtlci5qcwppbmRleCAwOTViOTQ0NmI3ZjVhMTdkNjdlOWRjYzBhOTRmYTE2MzY0YjY0Mzdi
Li4xYWIzM2U5YzViYzhmZDEzNzZlODM3ZTk2MDcwNDI1YTA0MWFjMzQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmludmFsaWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgY3R4Lmdsb2JhbEFscGhhID0gLUluZmluaXR5OwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFs
cGhhLCBhLCAiY3R4Lmdsb2JhbEFscGhhIiwgImEiKTsKIGN0eC5nbG9iYWxBbHBoYSA9IE5hTjsK
IF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxBbHBoYSwgYSwgImN0eC5nbG9iYWxBbHBoYSIsICJhIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuZ2xvYmFsQWxwaGEucmFuZ2UuaHRtbAppbmRleCBiZGUxNWUyZDhjNzY4Yzc2YjMyN2ExZWU4
OTAxNmZhNDQwZDY1NmZjLi44YmM0NDBkNzAzNjZmZmJkNjNmYjY5ZjA4YTEwODY4OTBiNzZlYjQ3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLnJh
bmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5y
YW5nZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEucmFuZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmdsb2JhbEFs
cGhhLnJhbmdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5nbG9iYWxBbHBoYSA9IDA7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIDAsICJj
dHguZ2xvYmFsQWxwaGEiLCAiMCIpOwogY3R4Lmdsb2JhbEFscGhhID0gMTsKIF9hc3NlcnRTYW1l
KGN0eC5nbG9iYWxBbHBoYSwgMSwgImN0eC5nbG9iYWxBbHBoYSIsICIxIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEucmFuZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9i
YWxBbHBoYS5yYW5nZS53b3JrZXIuanMKaW5kZXggZjM4ZWU1NmY5YTdlOWRiNjlhOTViOTc5N2Vi
NzJjMmVjODE4YzJlOC4uNTAzOGQ2M2RhMGNhZWNkMWUyYmM0ZTlmNjU2ODAwYWIzNWIyZDgwOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5yYW5n
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5yYW5nZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIy
LDcgKzI2LDYgQEAgY3R4Lmdsb2JhbEFscGhhID0gMDsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxB
bHBoYSwgMCwgImN0eC5nbG9iYWxBbHBoYSIsICIwIik7CiBjdHguZ2xvYmFsQWxwaGEgPSAxOwog
X2Fzc2VydFNhbWUoY3R4Lmdsb2JhbEFscGhhLCAxLCAiY3R4Lmdsb2JhbEFscGhhIiwgIjEiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5pbWFnZS5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdl
LmNvcHkuaHRtbAppbmRleCAzMDAxYWExYzQ5MWI2OTc2ZjBhNTIyYTFkY2I1OTM5YjdkZjk2OWFl
Li5iNDk0NGE3NmMxMDU5Y2FlYWJmN2FiNDJiMWE1OTJiMDNmMzhjZWRmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmNvcHk8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuY29tcG9zaXRlLmltYWdlLmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMCwxOTEsICI1MCwyNSIsICIyNTUsMjU1LDAsMTkxIiwgNSk7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS53b3JrZXIuanMK
aW5kZXggMDQ3NmUzYTExNDljODA2ODc5OTBlZmI0ZDAzZGNhOTBiZWU5MjA3ZC4uNDkzZWUwYjQw
MTVhYTViNzdkZTJkN2VkNTU5ZjU3MjcwOTMxNDVjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLmNvcHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsK
LSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSww
LDE5MSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwxOTEiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMTkxLCAiNTAsMjUiLCAiMjU1LDI1NSww
LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmlt
YWdlLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1sCmluZGV4IDJiMThjMzZjNzEwY2EzN2VmYTQzMzcw
MmE4ODgxMTRiNDUyY2Q5NjMuLjc5ZWNmY2RmOTVmMzFmMzY4NGU3ZmNkMThkMzkzMzZkNTk1ZmVh
NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGlu
YXRpb24tYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uu
ZGVzdGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwg
IjUwLDI1IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUwLDI1IiwgIjEyOCwyNTUsMTI4
LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4IGI1ODcwMDQ3YTJi
MjVkZmFhYTIxNDNkZDk1OTE3NTlmNmI4Zjc2ZmYuLmQzNmVkNTBhMDM0OWQ1ODY0YjZhNDIzZDEz
ODljNjcxYWNjNDAzYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEy
OCwyNTUsMTI4LDE5MSwgIjUwLDI1IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwyNTUsMTI4LDE5MSwgIjUwLDI1
IiwgIjEyOCwyNTUsMTI4LDE5MSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggY2ZkZTgwMTQ5NmY0
ZjM3NzBmMzlmZGE1YTM5N2ZhZjNmOTdiZDVhYS4uZWYyMDVmMWI5NTVhYjE3NzljZjVhNzQ0OGEy
YTRmNWYxNjBlMjRhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWluPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSw5Niwg
IjUwLDI1IiwgIjAsMjU1LDI1NSw5NiIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSw5NiwgIjUwLDI1IiwgIjAsMjU1LDI1NSw5NiIsIDUp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggZWZmNjQ3NWE1ZGFiOWU0MWZkNjA1MWQx
ODNiMjYwMjM2ZDNmNzhmOS4uNjBlYjYxOTUxY2JjOTc4YjBhODUwMGE4NTQ3MzhjYmYyYTA1MmU4
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5h
dGlvbi1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwy
NSIsICIwLDI1NSwyNTUsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwyNTUsOTYsICI1MCwyNSIsICIwLDI1NSwyNTUsOTYiLCA1KTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlv
bi1vdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRp
b24tb3V0Lmh0bWwKaW5kZXggMWY3MDUxMTlhZGI0N2RhZDJmMjk4Mjc3MjdhNDcxMzEzMDU4Y2I1
Yy4uZWNmZWVlZDZiZmRhZTI5NTRjNzI2MjRiN2MxN2EzMzc5Njg2NDczMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0
aW5hdGlvbi1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwx
MSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIi
LCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwy
NTUsMzIsICI1MCwyNSIsICIwLDI1NSwyNTUsMzIiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC53b3Jr
ZXIuanMKaW5kZXggZmRhNzNkOTJmYzJlODUwOGJhNjgzY2E4MDViZWFjZDdmZTg2MmJjMy4uZWU5
N2RjY2Y3YmQzMDZkMWVlMDZlY2M2ZDcwNjhkOWE1NWQyN2I5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDEx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIs
IDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50
aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1
NSwzMiwgIjUwLDI1IiwgIjAsMjU1LDI1NSwzMiIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci5odG1sCmluZGV4
IDFiMjFkMmQ5ZjUzZTgyY2M5MzdiOTEwZGU5ZjFkMTM2MGYxNDY5MzcuLmViNThiMzE1OTY1OWU0
MmFjYWU3MWZlYjg1OWEzY2ViMmJiOWQ5MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24tb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlcjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIsIDUpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIy
MywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXIud29y
a2VyLmpzCmluZGV4IDYyMDkxMWRkNGYwNTI1ZWE3MWFhZTg0NzQ1M2FhMWJkOGQ4ZjZkOWMuLjI3
NGMzMmM4OTA2YWMxZWM3NDU2OGJkZjY1NDI4ZWQ5Y2ZkZTliZGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVy
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMw
LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUs
MTQ2LDIyMyIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDEwOSwyNTUsMTQ2LDIyMywgIjUwLDI1IiwgIjEwOSwyNTUsMTQ2LDIyMyIsIDUpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci5odG1sCmluZGV4IGY4
OThlNDQ3NjI0YTg5NDM0YzYzMTY3YzU2YjJhZjc0MmEyMjJmN2QuLjQ5MzVjYTNjNDExNDM3ODEx
M2MwZTVkODVlZmQ3ZmRiMTllNDI0NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2UubGlnaHRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuaW1hZ2UubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlcjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3Np
dGUuaW1hZ2UubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTEg
KzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwy
NTUsMTI4LDI1NSIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDE5MSwyNTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXIud29y
a2VyLmpzCmluZGV4IDU3NGRlNWMzNDA4NWY4NDJiOGNlZWM4NzdiMWQ0ZTkzMjVlNDVjZTMuLjA1
ZTM5Zjk1NjQ5ODczNjg3ODgzNDgzY2NhMzNmYjliOTYyY2U0ODEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMwLDExIEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDE5MSwyNTUsMTI4LDI1NSwgIjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsMTI4LDI1NSwg
IjUwLDI1IiwgIjE5MSwyNTUsMTI4LDI1NSIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLmh0bWwKaW5kZXggMDEyZDg5MjAxNTk1
NjBlMTBhODExNGI3YzMyOTlhODAwMjhmNmFhNy4uOTNhNTI3ZGUyNGQ5ODRkZTY3NjE0MDRhNzlh
MDkxZDk0ZTZmNTYxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5zb3VyY2UtYXRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
aW1hZ2Uuc291cmNlLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBv
c2l0ZS5pbWFnZS5zb3VyY2UtYXRvcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAi
MTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Ut
YXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1hdG9wLndvcmtlci5qcwppbmRleCBiMTU5YTdkMGE1YzBkNDBjNTM0OTNmYjM3ODQ4YWNlZDQ2
N2M1NmExLi41ZmRkZmNmZDhhODc5YzBmMDFlZDk1ZDFhMzI4YmU0OGE5OWQzODE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9w
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMw
LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUiLCAiMTkxLDI1NSw2
NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAx
OTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi5odG1sCmluZGV4IGY0
MWZjNGFhMTBkYzk5NTEwNjRkNWJiNWQ0Y2U0YTRiMmIwMjIxMzEuLjI1MTlmZTcyZDc3OWI5N2Zi
YTFkNTFlZjQwMWY0ZGRiNmI4NjI1ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
b21wb3NpdGUuaW1hZ2Uuc291cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDk2IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMjU1LDI1NSwwLDk2LCAiNTAsMjUiLCAiMjU1LDI1NSwwLDk2IiwgNSk7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtaW4ud29y
a2VyLmpzCmluZGV4IDc4OWZjYjkwMzlkOGExNmE0YjJiM2U5ODg5YjY2MTlkZWFiOTEzMGEuLmE1
Y2E4ZDkyZTk0MjhkOTAyN2JkNTc5OGExM2IyNTRhYzEzZmQ5ZjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLWluLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1pbi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwy
NSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLmltYWdlLnNvdXJjZS1vdXQuaHRtbAppbmRleCA5MTg2MGU3ODc5NTY2ZjkwOGU2NDAy
YjI2NTJiMjZjMTYxN2ExMGM3Li5mNTczOTNiOGMxYjk0OGZkN2EzOWNlYjI5ZjRmYmQzYTg1MDlh
ZGZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJj
ZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLmltYWdlLnNv
dXJjZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAs
OTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCA1
ODNkMjIyMmU3YmU4ZmZmNTI3NTNkNmNiNGUyMDgyMzJjZTcxMTQzLi4xMDM4ZWM1YmNmZDg0OWVh
Zjk3NjI0NWJiNDY2YWIzN2I0NTJmYzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUs
MjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1LDAsOTYiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsK
KyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsOTYsICI1MCwyNSIsICIyNTUsMjU1
LDAsOTYiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5p
bWFnZS5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFn
ZS5zb3VyY2Utb3Zlci5odG1sCmluZGV4IGI4ZTUyY2FjMGFkMTBhYTMwYjY5MjdiMWJlYzFhNGUy
NzViODUxMGQuLjk2YzUyNTJlYjQ4ZmFhZTg4Y2Q2NDkxMmVmNDRlNDA1NzA2ZDQ5ZjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVyLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBv
c2l0ZS5pbWFnZS5zb3VyY2Utb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92
ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwy
MjMsICI1MCwyNSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2Uuc291cmNlLW92ZXIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci53b3JrZXIuanMKaW5k
ZXggYjQ1OTMzOWU0ZmQ2ZTIxNDYwY2VjYmI2MTYwM2Y2YjljMDg0Mzg3Zi4uNTVjMGYwZWI5YzRi
YmYxYzM4MjI1MmY3M2Y0OWQzZDVlNmEzOTUyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2Utb3Zlci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAyMTksMjU1LDM2LDIyMywgIjUwLDI1IiwgIjIxOSwyNTUsMzYsMjIzIiwgNSk7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjE5LDI1NSwzNiwyMjMsICI1MCwy
NSIsICIyMTksMjU1LDM2LDIyMyIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLmltYWdlLnhvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5pbWFnZS54b3IuaHRtbAppbmRleCBkMDUwNzExZGExZWVhZWM3ZThlNjY1NWEzOGRhZGI0YmJh
NzNiOTNiLi42MDM5Mjc1YmYwNmI0YTkyMzZkNTZiNmU3NjVkOWI0YTc0NmE2ZjYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5pbWFnZS54b3I8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLmltYWdlLnhvcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzAsMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDE5MSwyNTUsNjQsMTI4LCAiNTAsMjUi
LCAiMTkxLDI1NSw2NCwxMjgiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAxOTEsMjU1LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5pbWFnZS54b3Iud29ya2Vy
LmpzCmluZGV4IGJkNzc3ODViNTU4ODAzMzBiNmViM2I2YmRkMjQyN2VlYmE5MDA3OTguLmM0ZTIw
ZmZlNTFjNGUyZTEyOWNmYzlhOTE3M2YwYzI3ODA5NDJjMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuaW1hZ2UueG9yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLmltYWdlLnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxOTEsMjU1
LDY0LDEyOCwgIjUwLDI1IiwgIjE5MSwyNTUsNjQsMTI4IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTkxLDI1NSw2NCwxMjgsICI1MCwyNSIsICIxOTEs
MjU1LDY0LDEyOCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWls
KTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlLmh0bWwKaW5kZXggN2M3MDE2ZTRkZTQ3ZjE2
NTkyYzFjNjFiNTExZDc5ZThlMDE5MTM5OC4uNDFkMzEyODdmNzE2M2NhYTQyYWQ5MTRkMzdmNzYy
MGQyMzRkZDE5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24uY2FzZXNlbnNpdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmNhc2VzZW5zaXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZl
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2FzZXNlbnNpdGl2ZTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hv
cic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ1NvdXJjZS1vdmVyJzsKIF9hc3Nl
cnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2Vz
ZW5zaXRpdmUud29ya2VyLmpzCmluZGV4IDA5MWRmZDYxYmJmNzliODFiZWYyOTkzMzI0MmZiM2Zl
N2UwMGViMmYuLmZhMGI2MDJmZGRlZWQ5MmFmYTY0MTc1NDlhMzg1ZjEwYWI4MTk1YjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNhc2VzZW5zaXRp
dmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9u
LmNhc2VzZW5zaXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnU291cmNlLW92ZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
IiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci5odG1sCmluZGV4IGNiMTUyMDRhYzYxZTk0ZTYw
ZTkwMGU3MWE4MDA3MTJjODI5NGRiZmYuLjc0NmFiMjYwYjU5MGNmZDYwOGUyYzVmN2FmMjQ2ZjQ2
MmRiNDcwYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmNsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uY2xlYXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmNsZWFyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnY2xlYXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ2Ns
ZWFyJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ2NsZWFyJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jbGVhci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5jbGVhci53b3JrZXIuanMKaW5kZXggMWVmZDE0OTRlNjA4NDg5ZjRjZmUzNmI3MGNk
ZGJkNTg5ODdlNTRjNC4uNzE0OWZlOTNhZjYyN2Y4NzA1MWU0Zjc5MGE4N2I3NTVjNTEzNzM3YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uY2xlYXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNs
ZWFyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyAr
MTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ2NsZWFyJzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24sICdjbGVhcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidjbGVhciciKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5kYXJrZXIuaHRtbAppbmRleCAxZjRjZmIwN2E2NWEwODVhNTRkYTgyMTQyY2E1
ODkxNGFiZjY0MzBkLi4xNjE2MTFkYWI5ZGY0ZmZjNWNjNGVlNjFmNWExNzlkMTAxMmQ2NGZjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5kYXJrZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJr
ZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkYXJr
ZXInOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJj
dHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRh
cmtlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5k
YXJrZXIud29ya2VyLmpzCmluZGV4IDJiMjgyZjU2NDBhMzRkNDRlMTM3MTAyNDFjZjAwMjlkMGIw
ZmE3MDAuLjZiOGUzMDRmZDlmYTg3ZTQwZGZkNDA0MWFlM2E0ODU2OWE2NTA0NzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRhcmtlci53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBA
QCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rhcmtlcic7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAn
eG9yJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVy
YXRpb24uZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uZGVmYXVsdC5odG1sCmluZGV4IGIxMTRlMTQ5NDc5YzRiZjllMjAwM2Q4YWU2YjNlMzA1OGJl
MDNiZTQuLmFhZGZiNWRjNjFjMTA2NDM4ZTI2ZDY1YTU3NTdhYmU2NWFkMmI3ZGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmRlZmF1bHQ8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24sICdzb3VyY2Utb3ZlcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIidz
b3VyY2Utb3ZlciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lndvcmtlci5qcwppbmRleCA5
MDZmMWJiMzM5MGRkYzg0MmZjMGJkNTU4ZDFlZGQ2OGVkNjg4NGM3Li4yYWQ4MGE2NDZiNWNkN2Nk
NzY5ZGZjYWE1ZDQzMGQ1NDVjNjRlN2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3Nv
dXJjZS1vdmVyJywgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAiJ3NvdXJjZS1vdmVy
JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLm9wZXJhdGlvbi5nZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmdldC5odG1sCmluZGV4IGUzYzhmOWVlMmZiMjBkYjllNTlkOTVkODNjNTFm
NjZkOTVjOWE3MzUuLjZlN2FiNTU1NzJhOTg1MTNhMTI0ZWNmN2YzZDU4NmNhMjUyY2Q1YjEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmdldDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8
IG1vZGVzLmxlbmd0aDsgKytpKQogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBt
b2Rlc1tpXTsKICAgICBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBt
b2Rlc1tpXSwgImN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iLCAibW9kZXNbXCIiKyhpKSsi
XCJdIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmdldC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5nZXQud29ya2VyLmpzCmluZGV4IDJkZDUwZmE2ZDk3NWFj
NWIwOGRmY2Q0NzlkMmQ3NjVkMjc1ZDMxNTAuLjQ2Y2VlMGI5ZjE3ODZjNDY2ZjNjMmM0NTExMGI1
MGRmODMzMmE0YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3Bl
cmF0aW9uLmdldC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24uZ2V0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjAsNyArMjQsNiBAQCBmb3IgKHZhciBpID0gMDsgaSA8IG1vZGVzLmxlbmd0aDsgKytpKQog
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBtb2Rlc1tpXTsKICAgICBfYXNzZXJ0
U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBtb2Rlc1tpXSwgImN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24iLCAibW9kZXNbXCIiKyhpKSsiXCJdIik7CiB9Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0
aW9uLmhpZ2hsaWdodC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRp
b24uaGlnaGxpZ2h0Lmh0bWwKaW5kZXggMWJmZGIzYjE2NTdjM2NjY2RjNWY0ZmYzMDg2MjZlNDQw
ODdiNjU4My4uMDRlMzI0ZmJmY2Y5OTYzMDVhM2Y5NjcxNDI5ZThjOWQxNzk3OTM3MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS5vcGVyYXRpb24uaGlnaGxpZ2h0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24u
aGlnaGxpZ2h0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnaGlnaGxpZ2h0JzsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24s
ICd4b3InLCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5oaWdobGlnaHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24uaGlnaGxpZ2h0Lndvcmtlci5qcwppbmRleCBmYWM2NGZjZTEzNTQ0MmNiMDM3
ZTAwNTllYmM4MDczNjljNDY0ZmYxLi5iNTQxN2YwNmRjNjg1MDdiYjNiZmFjYmJjZGFjYWNjMTZm
N2VlMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi5oaWdobGlnaHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLmhpZ2hsaWdodC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwogY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdoaWdobGlnaHQnOwogX2Fzc2VydFNhbWUoY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXguaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXguaHRtbAppbmRleCA3ZTFk
NjVjMzNiNjI1N2MyNjgwODM4MjJlMmVkYmVjYTBiNjFiOWRiLi4zMmEwYzY2N2M4NGEyNjlhODYy
Y2JiN2YzY2M2MGJlODQwYWNiYWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZm
aXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4PC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9y
JzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXJcMCc7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ubnVsbHN1ZmZpeC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3Vm
Zml4Lndvcmtlci5qcwppbmRleCA4MzFmOTQ3NzQxODg3ZGI4NDFkNTc2NTQ3NzMyNjFhNDRjMWJm
NTk0Li41OTRmNDJlYjllOTk0MTYwN2FlMmFjNGVkZWQ2YTFlYzc0NThlNWExIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3VmZml4Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5udWxsc3Vm
Zml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyAr
MTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3In
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUub3BlcmF0aW9uLm92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLm92ZXIuaHRtbAppbmRleCA3MWEzNDQ1NGJiZjAwOGY5NTNmMmYwMWIyNWYw
YTg1MTViOWFiMzE4Li43MzkwOWYzMjY1MDMwMzFkYmM1MDdjNTQxNzFjNTYzOWI1N2YyNTMyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3Np
dGUub3BlcmF0aW9uLm92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnb3Zlcic7CiBfYXNz
ZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24iLCAiJ3hvciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24ub3Zlci53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLndvcmtlci5q
cwppbmRleCA4OWMyNjM0NWYzYzJmYmViMGRmNjU3YjFhODk1MzI1ZDhjMmNlNDNmLi5iMzgxM2Yy
MzY2YjQ2ZGZjYzJjODM5MmY3MDJiZTU4NDMzZjQ2YjhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5vdmVyLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ292ZXInOwogX2Fzc2Vy
dFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiwgJ3hvcicsICJjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLnVucmVjb2duaXNlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2Vk
Lmh0bWwKaW5kZXggMzZlOTkwZmYwNWQ2MmRiMWI2N2Y3MzhjODQ2NGIwODg0OGVjNjEyZS4uYWIy
YmFmNGVjMTA3OWMwNDI5Mzg2YTAzMjlkNzI4M2M1OWE5YWQ4NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS5vcGVyYXRpb24udW5y
ZWNvZ25pc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnbm9uZXhpc3RlbnQnOwogX2Fzc2VydFNhbWUoY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biwgJ3hvcicsICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIid4b3InIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi51bnJlY29nbmlzZWQud29ya2VyLmpzCmluZGV4IDU5ODBkMTY2YTBl
YjBmMjY1ODE1OTc4MDgxMjkyNGQ3ZWI4YTkxMmMuLjRlOGRiNDE1YTQ3MDcyODUyZWMwYmUyNjI2
MjFlOWM1MmMwMDI2MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
b3BlcmF0aW9uLnVucmVjb2duaXNlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS5vcGVyYXRpb24udW5yZWNvZ25pc2VkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J3hvcic7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ25vbmV4aXN0ZW50JzsKIF9h
c3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sICd4b3InLCAiY3R4Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiIsICIneG9yJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuY29weS5odG1sCmluZGV4IDk4ZmQ1ZDIy
NDY0N2RmYmM4NjU3YTQyNzBmNWM0MThkMTMyYmM5NzQuLmQ3YTU1ZTc4NmNkOTdmNzI1NjgxOGQw
MzVlYjliYWNjNmQ0MjYxMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQuY29weS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuY29weS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jb21wb3NpdGUuc29saWQuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUuc29saWQuY29weTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwg
MjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmNvcHkud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5jb3B5Lndvcmtlci5qcwppbmRleCA0MTI0OTY3MTM2
NTU3N2Q4NzE4OTg0NDYzNmM2YjU5NjJkNTBkNTI5Li4xODE0OTg3M2M3MGFkMzJiZjU5ZWViMjg1
ZjNjYjhjMDI4ZDExOTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuY29weS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0
eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MjU1LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5k
ZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LmRlc3RpbmF0aW9uLWF0b3AuaHRtbAppbmRleCBhM2I2NDVmOWQ1YjQ3ZTE3NzkzZGY5Mzc1NmQ2
OGVjOWQwNTYyYjEzLi40MDQ4ZTY5MTYwMTBlZTliZTkwNDJlNmExNDk2ZmI2YzA3YTJhZDExIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9u
LWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3Rp
bmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5h
dGlvbi1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggYmIy
YmY1YTMxNjk0NGQ2M2VlMzlmMzcyMjZmOTVmYzJlNTdlYzNlZC4uMGRlMjA5NTg3MTA3Mzg5MDcx
NjE3NTRhZmJhMGI0ZTBlNTU5YjdlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiBjdHguZmlsbFN0eWxlID0g
J3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDI1NSwyNTUs
ICI1MCwyNSIsICIwLDI1NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW4u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW4u
aHRtbAppbmRleCA0MGRiYjRjN2YwNjdhZDU3YWE1OTk0N2IyODkzMGZjZmI2M2Y5MzFmLi4wNzQx
ZDQxMGU4NTI0MTQ5OTJlNTAzMmM1ZTFjMjNmOGYxYWYwZmVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1pbi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29s
aWQuZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWlu
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4nOwogY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwyNTUsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLWlu
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRp
b24taW4ud29ya2VyLmpzCmluZGV4IGI1NDIwOGY2NmNlYmE1ZDU5N2NjZjg0MmFkZmUxOTNhMGQ0
NDdkOTAuLjBlOWQ5M2EyNzIzNDY2ZTEwMTY3NTc5M2Q4OWQwNzg3NzQ5NGMwYWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24taW4ud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRp
b24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3
ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24taW4n
OwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMjU1LDI1NSIsIDUpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLmRlc3RpbmF0aW9uLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5z
b2xpZC5kZXN0aW5hdGlvbi1vdXQuaHRtbAppbmRleCA2MjE3MWVjYWM5ZWNlOGYwYzViMmRjNDQ3
YmUxYmJhMDlmZDM0YjlkLi43NzMyZTQ0MTUwZGQ5NDZmODA1NDMzOTBhNjRjZWMxMGE3NGIyYjg4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0
aW9uLW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVz
dGluYXRpb24tb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9z
aXRlLnNvbGlkLmRlc3RpbmF0aW9uLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0
aW9uLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
ZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
c29saWQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwppbmRleCBmYmNkNzVkNjFhOGUzNjUwMTNk
YTQ3MGVhYmZlNWJjMzZmMjJlZjhlLi5lYWVjYWFhYTNlOThlMzRkZjQ2ZWI4YjRkOGJlMmRlYWM2
M2NhOGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRl
c3RpbmF0aW9uLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnZGVzdGluYXRpb24tb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwg
MS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIuaHRtbAppbmRleCAxNDY2OWQ2YmE0YjA5MjIy
ZTQ4OWY4YzM2MDAxN2U5NWUyZGVhODE3Li5mZTM4ODM3YzNlZGRmYWU3OWI0MTVkOWJiMTU1MTRj
YzY2NDc1ZDBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlk
LmRlc3RpbmF0aW9uLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwg
MCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDI1NSwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIu
anMKaW5kZXggNzZkMGRmMjU4MzRmZTJiNzRhMmFhMDM0NWNkMTFhZjdiYzdjZTY1Zi4uYWIyYjlk
NzAzYjRlODk5OTRjYzFjZWI5YTA4MDI5MTM4YjZjZWY0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5kZXN0aW5hdGlvbi1vdmVyLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmRlc3RpbmF0aW9uLW92ZXIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBA
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDI1NSwyNTUsICI1MCwyNSIsICIwLDI1NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGln
aHRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLmh0
bWwKaW5kZXggYWY3NTcyYTBkOTVkNWFhNTIxNWM5OWE2YWFiNTBjOGRiOTQyZjE2MC4uNjlhYzUz
NTM4NDg2Mzg3MzhiN2QwMDkwMDk4OGRlZGFkMDljNjllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNvbXBvc2l0ZS5zb2xpZC5saWdodGVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnbGlnaHRl
cic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnNvbGlkLmxpZ2h0ZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS5zb2xpZC5saWdodGVyLndvcmtlci5qcwppbmRleCAzNDRhNWEzYjc0YmVhMjc3ZmFmZTZhNDcx
MWI1OGFiZTU3Y2U1NDQ3Li5hODFlMzQwMDRkMjRlMzEwYmIzNWE4ZDI0ZGE0ODljN2QxOWFkN2Mz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLmxpZ2h0ZXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQubGlnaHRl
ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIz
LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdsaWdodGVyJzsKIGN0eC5maWxs
U3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1
NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1NSwyNTUsMjU1IiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNl
LWF0b3AuaHRtbAppbmRleCAwODJkNDIxNWE0ZDE4NTZiYjYwZWE1MWJiYzVmYWUzZTc1NzIwNzg5
Li41OTIzNzk5YTdlZjA2ZDFjNTVkMDNkNDdhMjFkYjY4OWY1MDZkYmYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtYXRvcC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1
NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1hdG9wLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29ya2VyLmpz
CmluZGV4IGMyZDBmMGUxMmMzYWUwNzY1ZGIwZTU2NDM1NDczZWQ5YzUyMjhiZjguLmEzMzVlYWVj
ZjAyOTlhOGI2ZmM0ZWViYmM5NDk3OGI2NTIxMDM3ZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLWF0b3Aud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW4uaHRtbAppbmRleCBjMzU1
MjY4NmIzMmNiMWMyZmU5MjJlODlhNmVlZjgzMzMzODQxMzI1Li5lMmYzMzhlNGM0OGE3ZTBkNGYw
MTExYjVhZjc3NGMwMDBhNTcxYmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnNvbGlkLnNvdXJjZS1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUuc29saWQuc291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2UtaW48L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLnNvbGlkLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDI1NSwyNTUsMCwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDAsMjU1IiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQuc291cmNlLWluLndvcmtlci5qcwppbmRleCBkZTk0ZDFlZWEzZTJiZTY2N2UxY2MyNDI2Yjg0
MzkxMzcyYjNkZGU3Li5jMzM2Mjg2MTRiYTQzNzNkOTdjYjcwNzk2MWU3MTUxYWI2YzViNGQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1pbi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Ut
aW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsy
Myw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMCwyNTUiLCA1KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3Vy
Y2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1v
dXQuaHRtbAppbmRleCA4OWZjY2ZlYmNkN2RiZWVkZDcwN2Y1NTI0NDIyMTgzNTYxN2I1ZTMxLi5i
YzI0MGMyMGJkOGJjOWJhOWRlZmZiOTA1ZGQ5Mzc3ZTg1N2ZkMWMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnNvbGlkLnNv
dXJjZS1vdXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdXQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdzb3VyY2Utb3V0JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwg
MCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUuc29saWQuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNzZlNmFkYzE3NGEyZGU0
OTFjNDIyMmZjYjFiYWNlZTExMTVlNGRlMi4uYTU3NTU0YTQ0MTViZGU2MjFiM2Y0NWQ5N2MxMzBj
NTJhMDY0NGI3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xp
ZC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnNvbGlkLnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEuMCknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQu
c291cmNlLW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291
cmNlLW92ZXIuaHRtbAppbmRleCBkZTIyMDZmNTRlYjM2Y2Y3N2Y2MTJhNmRhYTUyNGI0OTg4ZGYw
ZjRlLi45ZTliYzlkMWUwOTUzOTA5ZmI2MDk3YmQ3ZTJiZjE4YjVhMmVhNTM0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC5zb3VyY2Utb3Zlci5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUu
c29saWQuc291cmNlLW92ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Jh
KDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnNvdXJjZS1vdmVyLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2Vy
LmpzCmluZGV4IGVkYmQ2MjhhMjJjNThhYTdkNWMyYWVmMGFlYmY5YjVhMDhjYjUwNTguLmFhYzVi
YmVkMDJiODUwZmQzZmRkODE5OTY4YjhiOWNmNmI5MmQ3YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQuc291cmNlLW92ZXIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhKDI1NSwgMjU1LCAwLCAxLjApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnhvci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3IuaHRtbAppbmRleCA4ZDQ4ZmY4ZGJlZmVk
ZmQzMmY0ZWRlMmVhYjZlNTdhMWU5NjljZDA1Li40N2RmNzI2MDM4ZmE2MzAyZWQwZGJlNzQxMzRh
ZWVlMzc0MTg2Mzk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNv
bGlkLnhvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29saWQueG9y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNv
bXBvc2l0ZS5zb2xpZC54b3I8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnNvbGlkLnhvcjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ3hvcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDEu
MCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUuc29saWQueG9yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUuc29s
aWQueG9yLndvcmtlci5qcwppbmRleCBhMjQ1OTUxNzFkOWQ5ZGI5NzRlNzhkNjEzODUwZTA4M2Fh
YTYyZWFhLi42NmRmMjYzYjk1MDIxNzVkYjZlOGNmZmM1NzU1OWNhYmY0NmYxMmE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnNvbGlkLnhvci53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS5zb2xpZC54b3Iud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1
NSwgMCwgMS4wKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAi
LCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnRyYW5zcGFyZW50LmNvcHkuaHRtbAppbmRleCBjZjI1NmE5ZDA0YTcwZDgwZDZhNDU5
NTc0ODgxYjM4Y2I5ZTZhYTA0Li5kZDMzOTBlZTI2Njg2Y2IyNjI4MDAzZDM2YjE0YjllMjI1Zjll
ZDRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmNvcHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAg
Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMjU1LDE5MSwgIjUw
LDI1IiwgIjAsMCwyNTUsMTkxIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmNvcHkud29ya2VyLmpz
CmluZGV4IDhmYjM1YWI0M2MyMDBlMjNmMmNiYzE3MjA1ODIwNzQyNjZlZTcwMjIuLjY3NjI3MjM4
ZDM0NjI0OTY0YjNhNDA4MTQ2ZTZmNDVkYmNmYTZmNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuY29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1
NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwyNTUsMTkxLCAiNTAsMjUiLCAiMCwwLDI1
NSwxOTEiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3AuaHRt
bAppbmRleCAwNGJmY2E1ZTY4MDc0ZDAyYjdhODJkMWYxYTBmOTMwYmI1MzRlOWI0Li5mZWIzYmVi
NjU2ZTUwOWU2YjQyNDIxYjIyZDE2YWY2NjAwM2U0YjAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3AuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0
b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3A8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0
aW5hdGlvbi1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDEyOCwxMjgsMTkxLCAiNTAsMjUiLCAiMCwxMjgsMTI4LDE5MSIs
IDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1hdG9wLndvcmtl
ci5qcwppbmRleCBiYzAzNmIyMjVhYjFlZTA4Y2FjNjgwYTVmMWE3ZTU0OTg3ZDUxYzdkLi5lY2Uw
ZTVjZjE5NThiMDA5YjA2MTk1NDMyNmJkZTljZDRhZTY3NDkxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWF0b3Aud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGlu
YXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlv
bi1hdG9wJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDEyOCwxMjgsMTkxLCAiNTAsMjUiLCAiMCwxMjgsMTI4LDE5MSIsIDUpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggZTQyOWMyYmRl
YWZiMzkyOTNhNTQ1ZjMxNGNjNjQxMDk1ZWJjZTk0MS4uZDA5NGFlZTNmZjRiM2NjODAzN2YwODE3
MWViZjZmYWRhMGU0MDFhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmRlc3RpbmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlv
bi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDk2
LCAiNTAsMjUiLCAiMCwyNTUsMCw5NiIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9u
LWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQu
ZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4IGY5ZWU2ZDIxM2FiNDUzY2M4OGZmYjhkNjNm
NmIzOTEyNzlkZTMyZjguLjY3YzZiNWY4MTkwZWJkMDQ3MWUxYmEyZGJmNWJkMjBjODQwYjU0YWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVz
dGluYXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRp
b24gPSAnZGVzdGluYXRpb24taW4nOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwg
MC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsOTYsICI1MCwyNSIsICIwLDI1NSwwLDk2
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC5odG1sCmluZGV4
IGE4MGEzYTkxNzI4ODk1ZjI3NGZkMzQ5ODM4NmU0ZjIwYzU3MmUyMTQuLjE3NmU1MGRkMTk2Yzhm
YTFkMDhhYWZiZmIwODNmNDNiYjhiZDNmZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRl
LnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJl
bnQuZGVzdGluYXRpb24tb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3
ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0
JzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDMyLCAiNTAsMjUiLCAiMCwyNTUsMCwzMiIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW91dC53b3JrZXIuanMKaW5kZXggZjYxYWMwZmQ3
ZGY1ZDNkMGUxMDRhNzBiMTk5Y2U3OTdmMDk0YmJkMy4uMDE2YzUwZWYxY2JkODBiYzM1NDAzYTlk
NTIwMmQ3ZTY2Y2YwMDllNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuZGVzdGluYXRpb24tb3V0Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW91dCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwzMiwg
IjUwLDI1IiwgIjAsMjU1LDAsMzIiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5hdGlvbi1v
dmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3Rp
bmF0aW9uLW92ZXIuaHRtbAppbmRleCA4N2FkY2NmNTlhMmRkY2Y2MDMyNWRiNWY3ZTBlYzk1ODlj
ZmZhMDRjLi42YmE1ZTBjZGJiZmNjYjgzN2VlMDUxMmQxYjA5MDE0MjFkMmIyZmE1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9u
LW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
LmRlc3RpbmF0aW9uLW92ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAw
LCAyNTUsIDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDE0NiwxMDksMjIzLCAiNTAsMjUiLCAi
MCwxNDYsMTA5LDIyMyIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0aW9uLW92ZXIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5kZXN0aW5h
dGlvbi1vdmVyLndvcmtlci5qcwppbmRleCAxMTYwZTczZDg0NDk2YWUwOTRkZjA3ZDZjODlkZDhm
MGYwMGQyYmQ4Li5kZGE3NGY4MTY2ZGExZGU5ZjA4YWUyOTdmZGNkMjRkMDUyY2ZjNDc2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmRlc3RpbmF0
aW9uLW92ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJh
bnNwYXJlbnQuZGVzdGluYXRpb24tb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICdkZXN0aW5hdGlvbi1vdmVyJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUs
IDAuNzUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDE0NiwxMDksMjIzLCAiNTAsMjUiLCAiMCwxNDYs
MTA5LDIyMyIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci5odG1sCmluZGV4IDlhZTVkZGVi
YTliYjk2YjMwYTU5NDA1YzdlNjU0MDhmMTM2ZmY3YjMuLmUwNmZlOTFiOTQ2NmRiOTcxZjhlN2Uw
Zjg2MzZkZmM1ZmE2MzRlODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudHJhbnNwYXJlbnQubGlnaHRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlcjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQubGlnaHRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0g
J2xpZ2h0ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMTI4LDE5MSwyNTUsICI1MCwyNSIsICIwLDEyOCwxOTEsMjU1IiwgNSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LmxpZ2h0ZXIud29ya2VyLmpzCmluZGV4IDhkYTExNGM5YjJi
MTBjN2IwMjlmYWI5YWZjYTIzYzY2YzgzM2Y4ZWIuLjkzZWFmMWMxMGRiNTg2YjQxNTRiZmVlZDlh
YTU0OGM3MDMxMzRiNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dHJhbnNwYXJlbnQubGlnaHRlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5saWdodGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gJ2xpZ2h0ZXInOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSkn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMTI4LDE5MSwyNTUsICI1MCwyNSIsICIwLDEyOCwxOTEsMjU1
IiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3AuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3AuaHRtbAppbmRleCBiZGIyODNj
YmEwMzJiOWZjNjdhNWQzODg2OGMwMDRiODA2ZWVhN2ZlLi43Y2U0YmY1MjAyMTJlN2IzYWY1ZjIz
YjkxOTlmOTRjZDI4N2JiMDUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLWF0b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsNjQsMTkxLDEyOCwgIjUwLDI1Iiwg
IjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1hdG9wLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Au
d29ya2VyLmpzCmluZGV4IGEwM2UyZTRhMzMwMGU1MTBjMmMyYTc2ZjkyNzEyNTBjOWFiYmE2MmUu
LjZkNGZkMWVhMjJiZmQyMGJlNDQzMWM3YzA1ZDA1NmI0OTZjMjczMTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLWF0b3Aud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNl
LWF0b3Aud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3
ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWF0b3AnOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsNjQsMTkxLDEyOCwgIjUwLDI1IiwgIjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LnNvdXJjZS1pbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5zb3VyY2UtaW4uaHRtbAppbmRleCAzZmI4MzBhZTU2NGY2ZGNjNmM0ZjkyODhmYzFhN2Rl
YTAzZTM3YWE1Li43MjdmMjZmNDAyOWNiZGFhYjJjM2Q4MjgzY2M4NDA0MDYxZjkyMjZmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1p
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50LnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMs
NyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDI1NSw5NiwgIjUwLDI1IiwgIjAsMCwyNTUsOTYiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGY0OTUzOWI1OWUxZTZmYmIzMzE0N2NmNmVh
Yjc5MTdmMzg3MzJlMzMuLmVjZDhhYTVkZmJjMDdjYjMzNDBjNzhhNjc1ZTM2OTE2Yjg2ZjI5ODAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291
cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5z
cGFyZW50LnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3Vy
Y2UtaW4nOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwyNTUsOTYsICI1MCwyNSIsICIwLDAsMjU1LDk2IiwgNSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJh
bnNwYXJlbnQuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggYjM0MDViYjBmYWQwZjJmYjc5YTQ4MjAz
NGYwNjYwMjM2ZGFmMGY3Ny4uZWQ0NDdkN2YyZDBkOTI5MDhhYjVhODZhOWJlOTkxZWI0M2IzYzdl
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3Bh
cmVudC5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291
cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwwLDI1NSw5NiwgIjUwLDI1IiwgIjAsMCwyNTUsOTYiLCA1KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggYWZhMWFkZjE0YWEw
YjU3ZDNjYmYwN2NmODVmNTRhYTdlMDZkOWViMS4uMjQzYzhiMzVkYThiOGIwMjVhNDNjZGY2ZTBh
NTBmNTc2MDhjMWFiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50
cmFuc3BhcmVudC5zb3VyY2Utb3V0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQu
Y29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAnc291cmNlLW91dCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1
LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDI1NSw5NiwgIjUwLDI1IiwgIjAsMCwyNTUs
OTYiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci5odG1sCmluZGV4IGNjMWU5
NTMzMDk2M2VhODgzMWIyNWZhYjVkMjQ0YzMzNTg0YzBkMmIuLmJiNGIyODg5ZWVjNmM4YjllYWMy
ZmI0ZjE1NjM5MTNiZDI2MzVlZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnRyYW5zcGFyZW50LnNvdXJjZS1vdmVyLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5z
b3VyY2Utb3ZlcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwzNiwyMTksMjIzLCAiNTAsMjUi
LCAiMCwzNiwyMTksMjIzIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQuc291cmNlLW92ZXIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zl
ci53b3JrZXIuanMKaW5kZXggODE1M2UxNzZhODdhMDA2ZjJjODA2ZDQxZDU1NTY2MjMzODgxZGFk
OC4uYmE4MDRiNTBiZjY5ZDA1MjM0ZWRkZjI5YjI3ZmVhMTFiYWQ5ZGVkNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3VyY2Utb3Zlci53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC5zb3Vy
Y2Utb3Zlci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5
LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwzNiwyMTksMjIzLCAiNTAsMjUiLCAiMCwzNiwyMTksMjIzIiwgNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQueG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRyYW5zcGFyZW50
Lnhvci5odG1sCmluZGV4IDNmOThlNzhhM2M2ODA2OWQ2YjNiN2Y3ZmUyNzYyNzE2N2MxNGEwYzIu
Ljc2MDAyMzM2YmYzYjAyMTNjOTBkZmQ5MWNhNjNhOGUzZjk0MWRlZGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS50cmFuc3BhcmVudC54b3IuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnRyYW5zcGFy
ZW50LnhvcjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudHJhbnNwYXJlbnQueG9yPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAneG9yJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDY0LDE5MSwxMjgsICI1MCwyNSIsICIwLDY0LDE5MSwxMjgiLCA1
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC54b3Iud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS50cmFuc3BhcmVudC54b3Iud29ya2VyLmpzCmluZGV4IDU4NjM0YmQ2ZThlMDhmZTBk
MTZlY2Q1ZmMyZjA4MWIyODg5M2IwZDQuLjUxZjhlYjJhNWE4ZDM2YWRmOGM0ZDBhODYyYTc5YmI1
OGYwMmM4NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudHJhbnNw
YXJlbnQueG9yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnRy
YW5zcGFyZW50Lnhvci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE5LDcgKzIzLDYgQEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICd4b3InOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsNjQsMTkxLDEyOCwgIjUwLDI1IiwgIjAsNjQsMTkxLDEyOCIsIDUpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5maWxsLmNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuY29weS5odG1sCmluZGV4IDQ5YTczODIwYTA1MTkyYmI1NDE0NDM1ODllOGExMDJmYmE0
YWQxMjQuLjM0MThkZmRmMDlmMWQ5YjVhNTdkNWQ1NDI3MGY0MWNkMmQ3YTA3YzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmZpbGwuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZp
bGwuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292
ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2
ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5
IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBw
aXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmls
bFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLmNvcHkud29ya2VyLmpzCmluZGV4IDllY2JmNWQ0NjFmZjU1NTZmNTg1ZWVkYjZm
YmYwYzQzYmY0MWExZjYuLjc0YmIzNGExOWU0ODRhNDVmZGUxYTE4N2VhZjY4ODBiMmMwMzJiMzIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwu
Y29weS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50
cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWF0b3AuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRv
cC5odG1sCmluZGV4IGJmNDFjZTYxNTE2ZWU0MDAyZmFjNDk0YWQ3NjNjYmZiZWIxM2I1M2EuLjQ4
NjQ5OTVkM2M4YTRkNTAxMTFjN2RhYTQzMjNkYmZjNDVlNTg1NDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVz
dGluYXRpb24tYXRvcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24tYXRvcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+ZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNl
IG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hh
bmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0
IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwg
MC43NSknOwogY3R4LnRyYW5zbGF0ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAs
ICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24t
YXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCmluZGV4IDNmMWFmM2Q3ZDVjYTZhZDA2MmIz
NzNmZDgyZjczNTQ5ZmFhM2Q1OTcuLjU1ZTU4Yzg5YTcyZjczMmZkOGJkZWQ0ODI3YjQ0ZTQzYjk4
ODkyY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0
aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4
ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
cmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxS
ZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5m
aWxsLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5maWxsLmRlc3RpbmF0aW9uLWluLmh0bWwKaW5kZXggZTI3YzcwYTIzNGFiYzVjMThi
NzAyMGNjZWJjMDA4NDQzNGIxYWQ3MC4uMWNiNmQyNjM5N2U2YjAzOTc1YjhmY2JjOTk1NzExNjE0
NjJlZDk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMSw5ICsxLDEwIEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBn
ZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuZmlsbC5kZXN0aW5hdGlvbi1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRyYXdz
IHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFu
ZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMiwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI5LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0ZSgw
LCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLmZpbGwuZGVzdGluYXRpb24taW4ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi53b3JrZXIu
anMKaW5kZXggZmUxYWU2NTZiYTg2NmE5ODJlNjAyMDJjN2JhOWExNjYzNGY2M2FlNC4uYjk2MWZk
NTM5NDZjMDg1YmZlNTNkZjM0YjM3MWI3ZTg5NmEzZTA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0aW5hdGlvbi1pbi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5kZXN0
aW5hdGlvbi1pbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGwoKSBkcmF3
cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBh
bmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMCwgMjU1LCAwLjc1KSc7CiBjdHgudHJh
bnNsYXRlKDAsIDI1KTsKIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCww
LDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3Np
dGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLmh0bWwKaW5kZXggNjZi
MGQ2NDE5NjllNTI0MWVlZGE4NjM2YTVmOTU1NmVlNTc2OWE0Yy4uZmQ5ZWNjNWM1MzNjMTJmNmQ2
NDBmMGE3ZjgzOGIwODVlYmQ1YzJiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2UtaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1pbi5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmZpbGwuc291cmNlLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Ut
aW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQg
YnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUg
c291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxz
IHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0
KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxs
LnNvdXJjZS1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292
ZXJlZC5maWxsLnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggNDJlMWZmMDM3ZTRmMWNmYThkNmJl
ZGYyOGI0YjY4NmNjOWRmY2Q5Yi4uZjZjYWFjZTU0Yjk3Nzk5NGQzYTlmMjY0NzViY2IzN2Q0Mzhh
YzE4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
ZmlsbC5zb3VyY2UtaW4ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVj
dCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4i
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUs
IDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUpOwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCww
LCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNl
LW91dC5odG1sCmluZGV4IDVjODBjM2Y3M2Y1YjBmOTRiMWQyYjAyN2UwNzNkYmFkMWMzYzgwZDEu
LjU3OGExYTRiZDVlMDViMGUzN2FlMGVjMmU5MzVkMWY1NDBiOTM1YzUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNl
LW91dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbCgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMC43NSknOwogY3R4LnRyYW5zbGF0
ZSgwLCAyNSk7CiBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwg
NSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5maWxsLnNvdXJjZS1vdXQud29ya2VyLmpzCmlu
ZGV4IDZmNzM4NzA0MzhkYjFjMWMzMzI5ZDRlYTY0MDAzNGVhOTQzMDNhODYuLjZkYjE3NTdkMWI4
MDExN2I1MWU4MmNiZTZkY2I4NjY1MjQ3Yjg0NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmZpbGwuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuZmlsbC5zb3VyY2Utb3V0Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbCgpIGRyYXdzIHBpeGVscyBub3Qg
Y292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDAuNzUpJzsKIGN0eC50cmFuc2xhdGUoMCwgMjUp
OwogY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRl
LnVuY292ZXJlZC5pbWFnZS5jb3B5Lmh0bWwKaW5kZXggNzMzYTUxMzU4NzcxNzA3MDhmZjgzMzM4
MzY3OWYyM2E2NjJkMzAxYi4uMWUxY2FiNjRiNzJjOGExMGVkYjBmYjU0ODFjNjFmZWYxNDNlMzYy
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1h
Z2UuY29weS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVk
LmltYWdlLmNvcHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuY29weTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkg
ZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCww
KSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRy
YXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCks
IGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCwx
MiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwg
MTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAs
MCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAs
IDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQuaW1hZ2UuY29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcwppbmRleCA3ODk4MDY2ZGYzOWQw
NTM3NTY3MTZiODM0YWFmYzQ5Nzk2M2NkM2IyLi43MDE5MjcwY2Q2OTZlZDAxN2Q1MDc2YjQ2MDgz
MTc1N2IyMDdlNWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ug
b2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFu
Z2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwg
MTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIs
IDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRp
b24tYXRvcC5odG1sCmluZGV4IDkyMjRlNzRlMGFhZWQ3YzViMGVjNzgxZjM1Njk1YjYwYzgyMmJk
YTguLmJjNmFjM2VlMmMxZWYxYzZmZGFiNTQ2ZDc3M2I2MDIzNGYyZDAzZWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9u
LWF0b3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24t
YXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWF0b3A8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJl
ZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQg
YnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAi
LCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVh
dGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwx
NSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3Rp
bmF0aW9uLWF0b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5kZXggYzI3OTk2MDVlMDE2
YWFlNTBiZjQ1ZmZjY2Q1Y2FlNWEyMWI4YTRjMS4uYWFhZTE5ODI3ZWViY2QyMzIxZjQ5YzJmNjg1
YTI0NGJiZDliZjg4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBu
b3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5v
dCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAg
ICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUi
LCAiMCwwLDAsMCIsIDUpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCww
LDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmlt
YWdlLmRlc3RpbmF0aW9uLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi5odG1sCmluZGV4IDUxMDJiMTk0MWRmZWIwMjQw
NTU5YWY2YTU0M2Q1MmI3ZjNhNWZiNGIuLjM0MTBhYTQyYWI5YTVjMTAzZDE1ZjM0YjQ0ZmJkMjFh
YWM5NzQwMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3Zl
cmVkLmltYWdlLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5kZXN0aW5hdGlvbi1pbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRl
c3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwx
NSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAx
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAw
LDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5pbWFnZS5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggOWEx
MDkwZGE3MTI1NjBmNDY3ZTJhZjhmNTFmOTgwY2NhODdjMTk1YS4uMTQwZTIxZDhlYWRmNGEyMTY3
NWRiOGMwYTM5ZTdhNWYxYzUxODc1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2UuZGVzdGluYXRpb24taW4ud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLmRlc3RpbmF0aW9uLWlu
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEyICszMCwx
MiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEwLCAxMCk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIx
NSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAsIDEw
LCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE1LDE1
LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAi
LCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2Uuc291cmNlLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5zb3VyY2UtaW4uaHRtbAppbmRleCAwZDJhODk4YjEwZWZlN2RjOTYzYzZi
YWEzMzFkMzdkMDgxYTFiZDc4Li45NzlmMGFhOTNlZDkzNmZkNzllMTI1YmY1NGFhZjE3OGUxMWEy
YWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5p
bWFnZS5zb3VyY2UtaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVu
Y292ZXJlZC5pbWFnZS5zb3VyY2UtaW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW48
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2UtaW48L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291
cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVu
Y2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgNDAsIDQw
LCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAsMCwwLDAiLCA1KTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCww
IiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Ut
aW4ud29ya2VyLmpzCmluZGV4IDAzMDcwYjRlOTkzNWFkYWVlZGNkNDBmOWJlNDc3OWUyNDQzYWMy
YTEuLjRhOTE0NzBhYTAxMTUyY2M2ZDIwMTAyMDliYWU2NjZhNmVkNGFmMzUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1pbi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1h
Z2Uuc291cmNlLWluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdl
KCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAs
MCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI2LDEyICszMCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDQwLCA0MCwgMTAsIDEwLCA0MCwgNTAs
IDEwLCAxMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUs
IDAsMCwwLDAsICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDQwLCA0MCwgMTAsIDEw
LCA0MCwgNTAsIDEwLCAxMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1
IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC5odG1sCmluZGV4IDI2NTkwMmIz
Y2Q2OGU4NmYxMDY2Njg2NThkZDQwMjViNGUyOWMyMjQuLmNlNzIwMzJjNTgyYmI2MmEyZWQ0M2U4
ZWRmOTBjZjEzMDY4MGRmMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLmltYWdlLnNvdXJjZS1vdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5pbWFnZS5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
aW1hZ2Uuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdlLnNvdXJj
ZS1vdXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3Qg
Y292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBs
ZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBkcmF3cyBwaXhlbHMgbm90IGNv
dmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTIgKzM0LDEyIEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAs
MCwwLDAiLCA1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgNDAsIDQwLCAxMCwgMTAsIDQwLCA1MCwgMTAsIDEwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUsMTUsIDAsMCwwLDAs
ICIxNSwxNSIsICIwLDAsMCwwIiwgNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLmltYWdl
LnNvdXJjZS1vdXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNDFiM2ZhNTc2M2M3MDA4Mzgx
NzlkMTgxMmI5N2I1YjRjNDRlOTJmZC4uNGMwNTRjYjI5ZGZmMzZmMzBlNjNjNTA2MjIyZGMzNzI3
MTVlOGY1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNv
bXBvc2l0ZS51bmNvdmVyZWQuaW1hZ2Uuc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUg
c291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxz
IHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0
MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDE1LDE1LCAwLDAsMCwwLCAiMTUsMTUiLCAiMCwwLDAsMCIsIDUpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAi
NTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNSwxNSwgMCwwLDAsMCwgIjE1LDE1IiwgIjAs
MCwwLDAiLCA1KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weS5o
dG1sCmluZGV4IDkyNDIyZjU4ZjY0ZThhN2QzN2Y1ZjhlNzRmNzdkMzEwODNlODdlYzkuLmQyNGY2
YjRkYmEyMzdlY2RmZmM1NTAwOGM4ODZiY2JiNzkyZGFjODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21w
b3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5jb3B5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmNvcHkuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuY29weTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVk
Lm5vY29udGV4dC5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNh
bnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdp
dGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVh
dmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52
YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQu
Y29weS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5u
b2NvbnRleHQuY29weS53b3JrZXIuanMKaW5kZXggNzU3NzhmNDRjYjc4NjhiZDAxMmE0NWEyMWM5
YWNkMjYxMWE3YTU4NC4uYjU0MDAyMDEyNTJiNDhjMDU5ZTQyYTY4YTkwZTcxMzhjYmZlMzExZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250
ZXh0LmNvcHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5jb3B5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAo
MCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY29weSc7
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBj
dHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1hdG9wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29t
cG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRv
cC5odG1sCmluZGV4IGIwNThjNmZiYjQ3OGU0NGJiYTljMDc1MDhkOGRkM2UxODRkNGIxNTEuLjIy
YThiZGRhN2Q0OTdkMmE5N2E1NTQyMTZkNzhjZWFmOTA1Mzg0MDMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9j
b21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1h
dG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9j
b250ZXh0LmRlc3RpbmF0aW9uLWF0b3AuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGlu
YXRpb24tYXRvcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5h
dGlvbi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3
aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxl
YXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8g
Y29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhl
IHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogdmFyIG9mZnNjcmVlbkNhbnZh
czIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3Jl
ZW5DYW52YXMyLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2Nv
bnRleHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29t
cG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKaW5k
ZXggMGVlZTUxYWIwZjM4M2E0NjA3ZDA3YjczNjQxYzg1N2YzNDFkYzE1ZC4uYjgxMzAzMzk0ZmJk
NzZiMmEzZDFlMTgxMjI4OWUxNTk1ZTgyZmY4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5n
LzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWF0b3Aud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5kZXN0aW5hdGlvbi1hdG9wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJh
d0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCww
LDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRp
b24tYXRvcCc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAs
MCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0
aW9uLWluLmh0bWwKaW5kZXggZDliOWRjM2Y2NDBjZmMyY2VjMWVhYTJkMmVmZGE4MjYyN2MwZGUz
My4uOTdhZjY3MzE1MDdiYjVlMDk3MDA0NmYxNjBkOTQwMGE3NDQ0OTY2NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0
aW9uLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
bm9jb250ZXh0LmRlc3RpbmF0aW9uLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3Rp
bmF0aW9uLWluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0
aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRo
IG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29u
dGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLWluJzsKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0
LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLm5vY29udGV4dC5kZXN0aW5hdGlvbi1pbi53b3JrZXIuanMKaW5kZXggODMxNjM2
NTVhOTJjZjIyOTNlN2NhOGNhY2Q5OWFlNzZkODk2MWUxYi4uYWFjZDk2ZjU1ODE2YzkyZmM1Y2Fk
NzVhMzM2NTEyN2RkZDNlYTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LmRlc3RpbmF0aW9uLWluLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuZGVzdGluYXRp
b24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2UoKSBvZiBh
IGNhbnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYg
QEAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1pbic7CiB2YXIg
b2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJh
d0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUu
dW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW4uaHRtbAppbmRleCBmYzUyZDEw
OTRmZDY2YmMzNGJlNmZiYjMxNTZjYTEyZTFlYmQzNGU4Li4zOTA0YWQ1NGFhMGFjZThiNjEwYTcz
ZDljMGZkNGE0Mjg2ZGFmYjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9z
aXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291cmNlLWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jb21wb3NpdGUudW5j
b3ZlcmVkLm5vY29udGV4dC5zb3VyY2UtaW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29tcG9zaXRlLnVuY292ZXJlZC5u
b2NvbnRleHQuc291cmNlLWluPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBh
IGNhbnZhcyB3aXRoIG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFz
IHdpdGggbm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3Qg
bGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHgu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNj
cmVlbkNhbnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3JrZXIuanMKaW5kZXggY2NhMWIxYmQz
NDU4YWE2MjM4YWFlMDYxNjFiZDljZGJjY2YzYjE5ZS4uY2IxMDcwYjM3ZTVkMTJiODFkZTg2ZGJi
ZjEzODFiYjhiN2U1YmM2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBv
c2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1pbi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGgg
bm8gY29udGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUg
dGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4
dC5zb3VyY2Utb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuc291cmNlLW91dC5odG1sCmluZGV4IGI1NTVjNjUzMDY3YmY4MmQyYzQ2N2Q0
Y2YwNmI0YTA5ZGI5MGNjMjIuLjcwNzg5ZjQ4NmZkOTZiMDQwZDJjMjJmYmYxN2RiNDMyZTAzN2Nk
YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5v
Y29udGV4dC5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQubm9jb250ZXh0LnNvdXJjZS1vdXQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRl
eHQuc291cmNlLW91dDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3Vy
Y2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5kcmF3SW1hZ2UoKSBvZiBhIGNhbnZhcyB3aXRo
IG5vIGNvbnRleHQgZHJhd3MgcGl4ZWxzIGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZl
IHRoZSBwaXhlbHMgdW5jaGFuZ2VkLjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGEgY2FudmFzIHdpdGggbm8gY29u
dGV4dCBkcmF3cyBwaXhlbHMgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBp
eGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZ2xvYmFsQ29tcG9z
aXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdXQnOwogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMy
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5ub2NvbnRleHQuc291
cmNlLW91dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5ub2NvbnRleHQuc291cmNlLW91dC53b3JrZXIuanMKaW5kZXggNDBkN2NjODUxMzJmNTQ2ZDk4
MjZlYzEwOTUwMGNhNTJkODhiYmQyNy4uNzI2YzNhODBjNDk5N2Q3ODc2YzVlNjUwZmEzYjE3OTA4
YTYzYjY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVy
ZWQubm9jb250ZXh0LnNvdXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLm5vY29udGV4dC5zb3VyY2Utb3V0Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYSBjYW52YXMgd2l0aCBubyBjb250
ZXh0IGRyYXdzIHBpeGVscyBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4
ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPSAnc291cmNlLW91dCc7CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5
Lmh0bWwKaW5kZXggMGE2N2E0NWY4M2ZkNzVmNWNkNDA0ZmIwNGMzM2U0OTFkNzcyNDE5Yy4uODRh
NTM4ODc4ZjY4OGQ5OWJhNGI1MDY1ODQ0NjI0YTJmZTBlOGQ3NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0
ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5jb3B5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhl
bHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9l
cyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4
ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRv
ZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwx
MiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0
eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwot
ICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTAp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCww
LDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHkud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5jb3B5Lndvcmtlci5q
cwppbmRleCBlYTRmNDdmYjgyMzI2ZjViZmU4MmYxMWMxMjIwNTYxZDZjMmUxMWJlLi5iOGEyZTIw
MzQyMzg2Nzg0M2M1MDhmNWViMGU3MWQzNjMwZDZiYzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9z
aXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmNvcHkud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uY29weS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVs
cyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2Vz
IG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRt
YXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwKaW5kZXggMGIyOTBkNjBhYWNhYmNmMTk3NzhhMTJlN2E1ZWJhNzc5MjlhNDEx
ZS4uYzdjMjBiYjM5MmJiMmJjYWZjMGNiOGEyZGYzY2ZiMDIxMDMwMzY4MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlv
bi1hdG9wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQu
cGF0dGVybi5kZXN0aW5hdGlvbi1hdG9wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5h
dGlvbi1hdG9wPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlv
bi1hdG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMg
bm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBu
b3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxz
IG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMg
bm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5m
aWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAg
IGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAs
MCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRp
bmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWF0b3Aud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0
aW5hdGlvbi1hdG9wLndvcmtlci5qcwppbmRleCBmMzI4MTFlMjViY2MyYzI0NGZiNmQ3ODI1MDg2
NGE1MzJkNTliYzY4Li5hMWEyZWI4NTQ4ZjgwNWVhODc1OTNlMjVlNzAyOGE1ZWVhYTFhNWY5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJu
LmRlc3RpbmF0aW9uLWF0b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21w
b3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24tYXRvcC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJl
ZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBl
YXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGlu
Zy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4uaHRtbAppbmRl
eCA4OGVjODk3YTYyZTVmMTY4Y2M5YTBmNWFmYWI5ZTJiMWRiODg4YzNjLi41MDU4Yzc1YmNkODEw
YWIyYjhhMWJkMDllYzEzMjAwZDNmN2E4MWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5kZXN0aW5hdGlv
bi1pbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW48L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJj
ZSBvYmplY3QgYXMgKDAsMCwwLDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNo
YW5nZWQuPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiUGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3Vy
Y2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5j
aGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMwLDEyICszNCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhl
bihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0
dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAw
LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJl
ZC5wYXR0ZXJuLmRlc3RpbmF0aW9uLWluLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5j
b21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4ud29ya2VyLmpzCmluZGV4
IDA4MDBmMGJmN2U1MjEzYTk4Y2Q5ODUxMmMzZDY1MzQ3MTJlOGVhYjQuLjJhYjcxM2I5NDFiZWMy
ZDdkNjNjOWYxMGE1ZmM3ODMzOWNhOTE5OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8y
ZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGluYXRpb24taW4ud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uZGVzdGlu
YXRpb24taW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXR0ZXJuIGZpbGwo
KSBkcmF3cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCww
LDApLCBhbmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsMTIgKzMwLDEyIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8t
cmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAs
MCwwLDAiLCA1KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1
MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3Vy
Y2UtaW4uaHRtbAppbmRleCA3OGQxZmFkNjVhMWNmYjQyNTE3ZjlhZmEzMDVkZDM1MDViYmUyNjhj
Li40YmViM2ZiMjRiNDcyYzM1YTU3OTUzODAzYzc5MzM2OThjYjZiZmY1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4u
c291cmNlLWluLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW48L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY29t
cG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
UGF0dGVybiBmaWxsKCkgZHJhd3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2Jq
ZWN0IGFzICgwLDAsMCwwKSwgYW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2Vk
LjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNlIG9i
amVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hhbmdl
ZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCwxMiArMzQsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4o
cmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTAp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCww
LCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51
bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4ud29ya2VyLmpzCmluZGV4IGEzNGQ4ZjZkNmVlZTNk
Y2VhMWY0YjJlNmMxMGM0ZTc0OGE2YjEwZDAuLmM0ZTZjODVjZDIzMDc2ZDYwNDI4ZTAyNDE4YzBi
OWZlYTY5ZmE5NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLWluLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29tcG9zaXRpbmcv
MmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1pbi53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJl
ZCBieSB0aGUgc291cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0
aGUgcGl4ZWxzIHVuY2hhbmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7
CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0g
Y3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9u
ZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBl
YXQnKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIs
ICIwLDAsMCwwIiwgNSk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3Np
dGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0bWwKaW5kZXggNDcyMzdl
M2RiYzI2MzcxNzE2NDdlYTE3M2QyNTFkYWQzYzY4YmNiYy4uOTA3Yzc3YWE0NmRkMDdhYjRjM2Uy
YTVkZTE4MjdkMDJjMTRmZDBhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBv
c2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbXBvc2l0
aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2Utb3V0Lmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNvbXBvc2l0ZS51bmNv
dmVyZWQucGF0dGVybi5zb3VyY2Utb3V0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2Utb3V0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXR0ZXJuIGZpbGwoKSBkcmF3
cyBwaXhlbHMgbm90IGNvdmVyZWQgYnkgdGhlIHNvdXJjZSBvYmplY3QgYXMgKDAsMCwwLDApLCBh
bmQgZG9lcyBub3QgbGVhdmUgdGhlIHBpeGVscyB1bmNoYW5nZWQuPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGF0dGVybiBmaWxsKCkgZHJh
d3MgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBzb3VyY2Ugb2JqZWN0IGFzICgwLDAsMCwwKSwg
YW5kIGRvZXMgbm90IGxlYXZlIHRoZSBwaXhlbHMgdW5jaGFuZ2VkLiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEy
ICszNCwxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5maWxsU3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVh
dCcpOwotICAgIGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCww
IiwgNSk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Up
LnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGN0eC5jcmVhdGVQYXR0
ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEw
MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiLCA1KTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNvdXJjZS1vdXQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbXBvc2l0aW5nLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5z
b3VyY2Utb3V0Lndvcmtlci5qcwppbmRleCBiYjQ1MTRlNGUzMTYyODcyZDZhZmUxMTEwNzhmZmFj
MjE4OWYxYjVhLi42YWJiNjZhOTUxYTAwMzllODkyZDZmZTI3ZmNjOGI1NGYyZmVkZjgxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvY29tcG9zaXRpbmcvMmQuY29tcG9zaXRlLnVuY292ZXJlZC5wYXR0ZXJuLnNv
dXJjZS1vdXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb21wb3NpdGluZy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlBhdHRlcm4gZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291cmNl
IG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVuY2hh
bmdlZC4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiwxMiArMzAsMTIgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRl
cm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwg
NTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIsIDUpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIiwgNSk7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0
ZXNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVz
cGFjZS5odG1sCmluZGV4IGVjMjRhMTljMTczNmNlYTBhNTgzY2FkOTA4NWMyNjc5MjU4OTE5MGMu
LjAxYjNmZjljNjVmZDgyZDMzNTNhNzVjYjY2NDE0Y2FmYWE3MGRiM2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2UuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY29vcmRpbmF0ZXNw
YWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmNvb3JkaW5hdGVzcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29vcmRp
bmF0ZSBzcGFjZSBnb2VzIGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+VGhpcyBzaG91bGQgbm90IGJlIHVwc2lkZSBk
b3duLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29vcmRpbmF0ZSBzcGFjZSBnb2Vz
IGZyb20gdG9wLWxlZnQgdG8gYm90dG9tLXJpZ2h0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwyNTUsMjU1LDI1NSwgIjI1LDEy
IiwgIjAsMjU1LDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEy
LCAwLDAsMjU1LDI1NSwgIjc1LDEyIiwgIjAsMCwyNTUsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwzNywgMCwwLDI1NSwyNTUsICIyNSwzNyIsICIwLDAsMjU1LDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMCwyNTUsMjU1LCAiNzUs
MzciLCAiMCwwLDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5jb29yZGluYXRlc3BhY2Uud29ya2VyLmpz
CmluZGV4IDdjYWQ5N2IyZGZiOTg4ZjNjZTQzNDQ2YzU1NWNjZTkyZWJiZjVhMzIuLmMzOWE2YTQ0
MzFlOWY3OGE4Y2M4ZjliZDgyNzI2YWQ5YTdhZjhlMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3Jt
YW5jZS1yZXF1aXJlbWVudHMvMmQuY29vcmRpbmF0ZXNwYWNlLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
Y29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLmNvb3JkaW5hdGVzcGFjZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPlRoaXMgc2hvdWxkIG5vdCBi
ZSB1cHNpZGUgZG93bi4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIkNvb3JkaW5hdGUgc3BhY2UgZ29lcyBmcm9tIHRvcC1sZWZ0IHRvIGJvdHRv
bS1yaWdodCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMTIsIDAsMjU1LDI1NSwyNTUsICIyNSwxMiIsICIwLDI1NSwyNTUsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwwLDI1NSwyNTUsICI3NSwxMiIs
ICIwLDAsMjU1LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAs
MCwyNTUsMjU1LCAiMjUsMzciLCAiMCwwLDI1NSwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDM3LCAwLDAsMjU1LDI1NSwgIjc1LDM3IiwgIjAsMCwyNTUsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1yZXF1aXJlbWVu
dHMvMmQubWlzc2luZ2FyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC5taXNzaW5nYXJncy1leHBlY3RlZC50eHQKaW5kZXggZjdlODJhOGMxYmZhNjJmZDMz
NjdhYzFhNWU0ZjUyZjcxM2U5YjI3YS4uZmVmOWM2MmY0NjZhNzI2ZjIxZDliMzMxODE4YmE3ODFm
ODNjYzdhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNz
aW5nYXJncy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8y
ZC5taXNzaW5nYXJncy1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBACiBNaXNzaW5nIGFyZ3Vt
ZW50cyBjYXVzZSBUeXBlRXJyb3IKIAogCi1GQUlMIE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5
cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBjdHguc2V0VHJh
bnNmb3JtKCk7IH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTWlzc2luZyBhcmd1bWVudHMgY2F1c2Ug
VHlwZUVycm9yIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJk
Lm1pc3NpbmdhcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3Np
bmdhcmdzLmh0bWwKaW5kZXggMGJlOGI1OGI2MWUzMzAyMjA5MWI1YzYzZjBjZjM3N2RiODI1OGIz
Ny4uNGM4MTA0OTVjOGYyMjRkNThlODg1NWMwZGM2Mzg0YWJkNGUwMjQwNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJncy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3MuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubWlzc2luZ2FyZ3M8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQubWlzc2luZ2FyZ3M8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pc3NpbmcgYXJndW1lbnRzIGNh
dXNlIFR5cGVFcnJvcjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIk1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvciIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTMwLDcgKzM0LDYgQEAgaWYgKGN0eC50cmFuc2Zvcm0pIHsgLy8gKGF2b2lkIHNwdXJpb3VzIGZh
aWx1cmVzLCBzaW5jZSB0aGUgYWltIGhlcmUgaXMgbm90IHRvIHQKICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC50cmFuc2Zvcm0oMSwgMCwgMCwgMSwg
MCk7IH0pOwogfQogaWYgKGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5zZXRUcmFuc2Zvcm0oKTsgfSk7CiAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNm
b3JtKDEpOyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCk7IH0pOwogICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwKTsgfSk7CkBA
IC0xMTMsNyArMTE2LDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIHZhciBnID0gY3R4LmNy
ZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgpOyB9KTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgZy5hZGRDb2xvclN0b3AoMCk7IH0pOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRz
LzJkLm1pc3NpbmdhcmdzLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVx
dWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNmM1ZDcy
NDYyNWE2NjcxNzk4ZDIxMGE1YmZiNmU0NTY3OWY2NGY0NS4uZmJmYWI1NTc5Y2QxZGZkOTBjOGEy
NDVkZTY5MDZmM2E5OTUyYzc5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC5taXNzaW5nYXJncy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3Jt
YW5jZS1yZXF1aXJlbWVudHMvMmQubWlzc2luZ2FyZ3Mud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBNaXNzaW5nIGFyZ3VtZW50cyBjYXVzZSBUeXBlRXJyb3IgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY3R4LnNldFRyYW5zZm9ybSgpOyB9
IiBkaWQgbm90IHRocm93CitQQVNTIE1pc3NpbmcgYXJndW1lbnRzIGNhdXNlIFR5cGVFcnJvciAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC5taXNzaW5nYXJn
cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3Npbmdhcmdz
Lndvcmtlci5qcwppbmRleCAxYTlkNDFlMzg1ZDViOThkNDZkZTdmNzA2YjU1ZjI1OTI2NjcyMDMz
Li5iOGJjMTI3Yjg3N2MwODg2OTljNDk4YWMyNzZiZGJjNDIzZDM4MGFjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzLzJkLm1pc3NpbmdhcmdzLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiTWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9y
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBpZiAoY3R4LnRyYW5zZm9ybSkgeyAvLyAoYXZvaWQg
c3B1cmlvdXMgZmFpbHVyZXMsIHNpbmNlIHRoZSBhaW0gaGVyZSBpcyBub3QgdG8gdAogICAgIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnRyYW5zZm9ybSgx
LCAwLCAwLCAxLCAwKTsgfSk7CiB9CiBpZiAoY3R4LnNldFRyYW5zZm9ybSkgewotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgp
OyB9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0
eC5zZXRUcmFuc2Zvcm0oMSk7IH0pOwogICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnNldFRyYW5zZm9ybSgxLCAwKTsgfSk7CiAgICAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguc2V0VHJhbnNmb3JtKDEsIDAs
IDApOyB9KTsKQEAgLTEwOSw3ICsxMTIsNiBAQCBpZiAoY3R4LnB1dEltYWdlRGF0YSkgewogdmFy
IGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKCk7IH0pOwogYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgw
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25mb3JtYW5jZS1y
ZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC52b2lkcmV0dXJuLmh0bWwKaW5kZXggNDJlYjk4ZWMxZWM1NmFiYTE5NmVjYzgyMjZl
NmIwNWZkZjVkN2MyNC4uYmQxZDU0MTJmNjA1NmFlMzc5MGFkN2FkMDA3NzNjOWJhZTMzNTk3NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnZvaWRyZXR1
cm48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudm9pZHJldHVybjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dm9pZCBtZXRob2Rz
IHJldHVybiB1bmRlZmluZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJ2b2lkIG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5lZCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTQ3LDcgKzUxLDYgQEAgaWYgKGN0eC5wdXRJbWFnZURhdGEpIHsKIH0KIF9hc3NlcnRTYW1lKGN0
eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSwgdW5k
ZWZpbmVkLCAiY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAsIDAs
IDAsIDApIiwgInVuZGVmaW5lZCIpOwogX2Fzc2VydFNhbWUoY3R4LmNyZWF0ZUxpbmVhckdyYWRp
ZW50KDAsIDAsIDAsIDApLmFkZENvbG9yU3RvcCgwLCAnd2hpdGUnKSwgdW5kZWZpbmVkLCAiY3R4
LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApLmFkZENvbG9yU3RvcCgwLCAnd2hpdGUn
KSIsICJ1bmRlZmluZWQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Nv
bmZvcm1hbmNlLXJlcXVpcmVtZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb25m
b3JtYW5jZS1yZXF1aXJlbWVudHMvMmQudm9pZHJldHVybi53b3JrZXIuanMKaW5kZXggMGQ3ZGE1
OTcyNzVkMDFhZTk3MGU5OTg3OGQ5NWU5MjhjOTEzZWY2Ni4uNjI4M2Y1M2NhOTU1ZjgwMTc5NWZm
MWYxYmIwOTA3NjA3NGZlN2E2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy8yZC52b2lkcmV0dXJuLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29uZm9ybWFuY2UtcmVxdWly
ZW1lbnRzLzJkLnZvaWRyZXR1cm4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ2
b2lkIG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5lZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAgaWYg
KGN0eC5wdXRJbWFnZURhdGEpIHsKIH0KIF9hc3NlcnRTYW1lKGN0eC5kcmF3SW1hZ2Uob2Zmc2Ny
ZWVuQ2FudmFzLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSwgdW5kZWZpbmVkLCAiY3R4LmRyYXdJ
bWFnZShvZmZzY3JlZW5DYW52YXMsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDApIiwgInVuZGVmaW5l
ZCIpOwogX2Fzc2VydFNhbWUoY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDApLmFk
ZENvbG9yU3RvcCgwLCAnd2hpdGUnKSwgdW5kZWZpbmVkLCAiY3R4LmNyZWF0ZUxpbmVhckdyYWRp
ZW50KDAsIDAsIDAsIDApLmFkZENvbG9yU3RvcCgwLCAnd2hpdGUnKSIsICJ1bmRlZmluZWQiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZz
Y3JlZW5jYW52YXMuY29udmVydC50by5ibG9iLncuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9jb252ZXJ0LXRvLWJsb2Iv
b2Zmc2NyZWVuY2FudmFzLmNvbnZlcnQudG8uYmxvYi53Lmh0bWwKaW5kZXggMWM2OWQ0ZDI2MzYx
ZjdkMTE3YTljODNlOWE0NTdlYjVmMGYwNzhkYi4uOWIwOGNjODYyNTdmZjBlNTIyMGMyM2UzYTc2
ZmZiOGE0ZDdkOGZhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2NvbnZlcnQtdG8tYmxvYi9vZmZzY3JlZW5j
YW52YXMuY29udmVydC50by5ibG9iLncuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvY29udmVydC10by1ibG9iL29m
ZnNjcmVlbmNhbnZhcy5jb252ZXJ0LnRvLmJsb2Iudy5odG1sCkBAIC0zMDAsNiArMzAwLDggQEAg
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2
YXIgd29ya2VyID0gbWFrZVdvcmtlcih0KTsKICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24obXNnKSB7CisgICAgICAgIGlmICht
c2cuZGF0YSBpbnN0YW5jZW9mIE9iamVjdCkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
YXNzZXJ0X3RydWUobXNnLmRhdGEpOwogICAgICAgICB0LmRvbmUoKTsKICAgICB9KSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2Fy
Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjNh
cmcuaHRtbAppbmRleCBkYTFkYzhmY2MyZjA0YjQwZjUxOTU5MjYxMWVhYWY4Zjg2YTg3N2QwLi5m
M2VkZTlhODFlZWNmYTA5NzAzNTk5ZGNlMGM1Mzg5ZTI0MTIxYzAwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuM2FyZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS4zYXJnLmh0bWwK
QEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuM2FyZzwvdGl0bGU+Cis8bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS4zYXJnPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSwxOCArNDAsMjAgQEAgdmFyIHByb21pc2UyID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogUHJvbWlz
ZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UxLCByZXNw
b25zZTIpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgMCwgMCk7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZTEsIC0xMDAsIDApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Ux
LCAxMDAsIDApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAtNTApOwotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAs
MjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1
NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgdmFyIHByb21pc2UzID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UxKTsKKyAgICB2YXIg
cHJvbWlzZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTIpOworICAgIFByb21pc2UuYWxs
KFtwcm9taXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0aW9uKGJpdG1hcDEsIGJpdG1hcDIpIHsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAyLCAwLCAwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAxLCAtMTAwLCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAx
MDAsIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIC01MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAs
IDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuM2FyZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuM2FyZy53b3JrZXIuanMKaW5kZXggMDhjYjM1M2E1MGQ3YWNmMzEyZjZiY2E1Y2Ri
MGI5OGIzNDY3ZDEwNC4uNmJlNmJkZjk2ZWUxMTViYjhmMmQ5YjMzMGViMzE0NDZhNTU1Y2EyNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjNhcmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS4zYXJnLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzEsMTggKzM1LDIwIEBAIHZhciBwcm9taXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwg
cHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4
LmRyYXdJbWFnZShyZXNwb25zZTIsIDAsIDApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Ux
LCAtMTAwLCAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMTAwLCAwKTsKLSAgICBj
dHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgLTUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3Bv
bnNlMSwgMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAs
MCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAw
LDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIHZhciBwcm9taXNlMyA9
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAgdmFyIHByb21pc2U0ID0gY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHByb21p
c2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwMiwgMCwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgLTEw
MCwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMTAwLCAwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAtNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcDEsIDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5
LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1
NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy5odG1sCmluZGV4
IDZkNWZiZmRlZmMxYWVhMzgxMDdmNjA5ZTNjNWVmNGNiNWU4ODUyNGQuLjc2NzFmM2E0OTM0MjZj
MzIyMjg2ZGRmNzU4NDU2ZTQxZTQ2ZTU3MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS41YXJnPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjVhcmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTM3LDE3ICs0MiwxOSBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChbcHJvbWlz
ZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikgewotICAg
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCA1MCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlMSwgMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1
NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwg
MCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAg
dmFyIHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNl
LmFsbChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAy
KSB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgNTAsIDAsIDUwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwy
NTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDks
IDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS41YXJnLndvcmtlci5qcwppbmRleCAxN2Uw
MWZhZDAxZTljNzExNDk2ZTY5YmJkZTEzNjJkMDFlZGYzYzRhLi41OTE3NjE1ZjM5NzhhMzM0YjU3
YjQ5MWNiNTY5Njg3MDllMmE2NzU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuNWFyZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjVhcmcud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMywxNyArMzcsMTkgQEAgdmFyIHByb21pc2Uy
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
UHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Ux
LCByZXNwb25zZTIpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgNTAsIDAsIDUwLCA1
MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDUwLCA1MCk7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAi
MCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUs
ICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIgcHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNlNCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21pc2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rp
b24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDUw
LCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDUwLCA1
MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVj
dCgwLCAwLCA1MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAi
OTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAs
MjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmJh
c2ljLmh0bWwKaW5kZXggNTMwZGM2ODNhNTM3MzAzYmU2ODUyYmI3YjljZDQ2ZWIxYmI4Njk3NC4u
ODI5ZmM2YjRhNjc0NThmYWY3YmQ3NjZjOGViNDM5YmM4OTUwMDIyNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuYmFzaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFy
Zy5iYXNpYy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBO
T1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5
LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLjlhcmcuYmFz
aWM8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1h
Z2UuOWFyZy5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTQgKzMz
LDE0IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwg
IjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1
LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1
LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5iYXNp
Yy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5iYXNpYy53b3JrZXIuanMKaW5kZXggNTMwNDZlMjJkMDAxY2NiNmFhOGI3YmMwMjNk
NzM0YzZlYWNjMWQ0ZC4uYWZhNzMwYjlmN2NiMGYwN2U4ZTM3ZjdjYzcyMTAwMjY5OTlhNTcxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LjlhcmcuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS45YXJnLmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsMTQgKzI4LDE0IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAi
OTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1
NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCww
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSww
LDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy5odG1sCmluZGV4IGU2Yzc1MTI1
Yzc2OTA5NGNhNzc0MzYzYzNmOWY1ZDFkNGM4ZTMyNzAuLmEwMWFjZTE3MmE3YTc2N2JkODMxN2I0
N2MwYzRhN2EzNDBlMGZhZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLmh0bWwKQEAgLTEs
OSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3Qg
aGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zPC90aXRsZT4KKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvczwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzcsMTggKzQyLDIwIEBAIHZhciBwcm9t
aXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJvbWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTIsIDAsIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAw
LCAxMDAsIDUwLCAtMTAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
MSwgMCwgMCwgMTAwLCA1MCwgMTAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTUwLCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0lt
YWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIHZhciBwcm9taXNlMyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlMSk7CisgICAgdmFyIHByb21pc2U0ID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsK
KyAgICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHByb21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRt
YXAxLCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMiwgMCwgMCwgMTAw
LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwg
MCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwMSwgMCwgMCwgMTAwLCA1MCwgMTAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIDAsIDUwLCAxMDAsIDUwKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1
NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwg
MCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHBvcy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLndvcmtl
ci5qcwppbmRleCAyYTE4YTkzNTVmNWZhMzJjZjQwOWIzMGQ2NWE2ZWJhMjg3Y2E4N2RkLi42ODdm
MDI0NGYyNWIzNWE0NzdjMjEzMWM3MGI1NGI3ZmIwMzk5ZjFhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5kZXN0cG9zLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5kZXN0cG9zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzMsMTggKzM3LDIwIEBAIHZhciBwcm9taXNlMiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIFByb21pc2UuYWxsKFtwcm9taXNlMSwgcHJv
bWlzZTJdKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlMSwgcmVzcG9uc2UyKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZTIsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAtMTAwLCAwLCAxMDAsIDUwKTsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMTAwLCAwLCAxMDAs
IDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgMCwgLTUw
LCAxMDAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwg
MCwgNTAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIHZhciBwcm9taXNl
MyA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMSk7CisgICAgdmFyIHByb21pc2U0ID0gY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UyKTsKKyAgICBQcm9taXNlLmFsbChbcHJvbWlzZTMsIHBy
b21pc2U0XSkudGhlbihmdW5jdGlvbihiaXRtYXAxLCBiaXRtYXAyKSB7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwMiwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgLTEwMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMTAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAw
LCAtNTAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEw
MCwgNTAsIDAsIDUwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSww
LDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLmRl
c3RzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5kZXN0c2l6ZS5odG1sCmluZGV4IDg4Yjk2MzRkMDk5NDRmN2M5YmE1ZmFiZWFlNGVm
ODY5MDVjNTVlOGUuLmRkZWEzODU3NTY4ZGI3YWQwYWZkOGQ0ODYwNmI5MTY3NmVlNWNhY2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45
YXJnLmRlc3RzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmRyYXdJbWFnZS45YXJnLmRlc3RzaXplPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTM3LDE4ICs0MiwyMCBAQCB2YXIgcHJvbWlzZTIgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBQcm9taXNlLmFsbChb
cHJvbWlzZTEsIHByb21pc2UyXSkudGhlbihmdW5jdGlvbihyZXNwb25zZTEsIHJlc3BvbnNlMikg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UyLCAxLCAxLCAxLCAxLCAwLCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMCwgMCwgMTAwLCA1MCwgLTUwLCAwLCA1
MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAxMDAs
IDAsIDUwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEwMCwgNTAs
IDAsIC0yNSwgMTAwLCAyNSk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAsIDEw
MCwgNTAsIDAsIDUwLCAxMDAsIDI1KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5
OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1
LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICB2YXIg
cHJvbWlzZTMgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTEpOworICAgIHZhciBwcm9taXNl
NCA9IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlMik7CisgICAgUHJvbWlzZS5hbGwoW3Byb21p
c2UzLCBwcm9taXNlNF0pLnRoZW4oZnVuY3Rpb24oYml0bWFwMSwgYml0bWFwMikgeworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcDIsIDEsIDEsIDEsIDEsIDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcDEsIDAsIDAsIDEwMCwgNTAsIC01MCwgMCwgNTAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAsIDUwLCAxMDAsIDAs
IDUwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwg
MCwgLTI1LCAxMDAsIDI1KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAx
MDAsIDUwLCAwLCA1MCwgMTAwLCAyNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUs
MCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJn
LmRlc3RzaXplLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS45YXJnLmRlc3RzaXplLndvcmtlci5qcwppbmRleCBhOWY5NDA3MjVjYTNhNzI4
M2YzMjIxNWMyNTM2NjZjZDUwNjA5ZDgwLi43ZjU4NmVmMDU1OGU2YWUwYjRhZGZiODBlZjdiY2Q4
ZjUzODI4ZjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuOWFyZy5kZXN0c2l6ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuZGVzdHNpemUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMywxOCArMzcsMjAgQEAgdmFyIHBy
b21pc2UyID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMl0pLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UxLCByZXNwb25zZTIpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMiwgMSwgMSwg
MSwgMSwgMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZTEsIDAsIDAs
IDEwMCwgNTAsIC01MCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwg
MCwgMCwgMTAwLCA1MCwgMTAwLCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UxLCAwLCAwLCAxMDAsIDUwLCAwLCAtMjUsIDEwMCwgMjUpOwotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UxLCAwLCAwLCAxMDAsIDUwLCAwLCA1MCwgMTAwLCAyNSk7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5
LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgdmFyIHByb21pc2UzID0gY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2Ux
KTsKKyAgICB2YXIgcHJvbWlzZTQgPSBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZTIpOworICAg
IFByb21pc2UuYWxsKFtwcm9taXNlMywgcHJvbWlzZTRdKS50aGVuKGZ1bmN0aW9uKGJpdG1hcDEs
IGJpdG1hcDIpIHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAyLCAxLCAxLCAxLCAxLCAw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAxLCAwLCAwLCAxMDAs
IDUwLCAtNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwMSwgMCwg
MCwgMTAwLCA1MCwgMTAwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cDEsIDAsIDAsIDEwMCwgNTAsIDAsIC0yNSwgMTAwLCAyNSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwMSwgMCwgMCwgMTAwLCA1MCwgMCwgNTAsIDEwMCwgMjUpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1
NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3MuaHRtbAppbmRleCA5ZWE1OGI5
MDkzY2E0MDk0YTVlZjQ3YjNlNTc0MTc4NDZmOWZhOTJhLi42NTQxZDc2MmJmMWRmOGYwZjc2MDc4
ODg4ZjdmMTM1MTU3OGZhOGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3MuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3MuaHRtbApA
QCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvczwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLnNv
dXJjZXBvczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTQgKzMzLDE0IEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMTQwLCAyMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAs
MCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAi
MCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDE0MCwgMjAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1
LCAiOTksMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3Vy
Y2Vwb3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlcG9zLndvcmtlci5qcwppbmRleCAwYjE4ODVkNzVkMTM3OWM1MmYx
ZGY1YzM5ZWYxYjY2ZDU4OWZjZDc0Li43Y2VmYWQ5MmRkNjlhNjJmODI2NGRkZjU4ZDJjYjk3YzA0
NzJhOTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuOWFyZy5zb3VyY2Vwb3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXBvcy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE0ICsyOCwxNCBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDE0MCwgMjAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsMCwgMCwyNTUsMCwyNTUsICIwLDAiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0K
LXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9
PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxNDAsIDIwLCAxMDAsIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
MCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSww
LDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS45YXJnLnNv
dXJjZXNpemUuaHRtbAppbmRleCAxMmFhZDZjYTU5MjU0OGIzNmFlNDRhNzk2NDdmYjVkYThjN2M3
YTIwLi4zYzcxOGM4ZGE0NWM4Y2ExZWNhNGMzMjVlZjlmMjJhNjIwZDEwM2M5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3Vy
Y2VzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlc2l6ZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0
b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJh
d0ltYWdlLjlhcmcuc291cmNlc2l6ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS45YXJnLnNvdXJjZXNpemU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI4LDIxICszMywyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDI1
NiwgMjU2LCAwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAg
IGN0eC5maWxsUmVjdCgwLCAwLCA1MSwgMjYpOwotICAgIGN0eC5maWxsUmVjdCg0OSwgMjQsIDUx
LCAyNik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1
NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1
NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAs
MjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjAs
MjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwyMCwgMCwyNTUsMCwyNTUsICI4MCwyMCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMzAsIDAsMjU1LDAsMjU1LCAi
ODAsMzAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgMjU2LCAyNTYsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTEsIDI2KTsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDQ5LCAyNCwgNTEsIDI2KTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1
NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIw
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAw
LDI1NSwwLDI1NSwgIjIwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDIwLCAwLDI1NSwwLDI1NSwgIjgwLDIwIiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDIwLDMwLCAwLDI1NSwwLDI1NSwgIjIwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDMwLCAwLDI1NSww
LDI1NSwgIjgwLDMwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
OWFyZy5zb3VyY2VzaXplLndvcmtlci5qcwppbmRleCBlMWZhNjBkY2IyMTJiN2NjZTQ0YmMzMjY0
NjY4ODc0NmI0YWNiMWIzLi5kYWMxYzdhMGE5YWI1OGIyNzk4ODAyMGEyZjI3YmJiOWE1NzEwYTNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuOWFyZy5zb3VyY2VzaXplLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuOWFyZy5zb3VyY2VzaXplLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwog
cHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMjU2LCAyNTYsIDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUxLCAyNik7Ci0gICAgY3R4LmZpbGxS
ZWN0KDQ5LCAyNCwgNTEsIDI2KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAi
OTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyMCwyMCwgMCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDgwLDIwLCAwLDI1NSww
LDI1NSwgIjgwLDIwIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMjAsMzAsIDAsMjU1LDAsMjU1LCAiMjAsMzAiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwzMCwg
MCwyNTUsMCwyNTUsICI4MCwzMCIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAyNTYsIDI1NiwgMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCA1MSwgMjYpOworICAgICAgICBjdHguZmlsbFJlY3QoNDksIDI0LCA1MSwgMjYpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1
LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk5LDAsIDAsMjU1LDAsMjU1LCAiOTksMCIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAw
LDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDkiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgODAsMjAsIDAsMjU1LDAs
MjU1LCAiODAsMjAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjAsMzAsIDAsMjU1LDAsMjU1LCAiMjAsMzAiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
ODAsMzAsIDAsMjU1LDAsMjU1LCAiODAsMzAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0
X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFscGhh
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxw
aGEuaHRtbAppbmRleCBhYjY0M2RkYTY5MjQ1MDg5MjA3ZWY5OWFlNDg3MTc0MDNlMGE4MDZiLi5m
MWExZjA4MzIzMjE0OTkyOWQwZTZmZDI3NzhlMThjN2JhYzllYjMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEuaHRt
bApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRo
aXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5hbHBoYTwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5hbHBoYTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksMTEgKzM0LDExIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbHBoYS53b3JrZXIuanMKaW5kZXggZDcxYjNkNTBk
NTZmNGE5ZGU5ZWI0ZjI3ZTI2ZTc0YWNhYjhiZmVmNi4uNjgyOGFmOTIyNWU2ZTE4ZjcyOTVlNmM3
MTI3OTA0ZTNiMjk1YjhkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFn
ZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSwxMSArMjksMTEgQEAgdmFyIHByb21pc2UgPSBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9t
aXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci5odG1sCmluZGV4IDkz
NWM2NmZiNTBiYzFiYzAzYWQyNDRhYjE2NjE5YWRhZGNiZGEzYWYuLjI4NzA4OTQxYjQ2NjE0NmY0
NmNkNWYwOTZmOTIwMTQwNWQ3OTU0MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVy
Lmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElU
ISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVy
PC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdl
LmFuaW1hdGVkLnBvc3RlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJhd0ltYWdlKCkgb2YgYW4g
QVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1lPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJhd0ltYWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0
aGUgcG9zdGVyIGZyYW1lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTEgKzMxLDExIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUo
KTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLmFuaW1hdGVkLnBvc3Rlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLndvcmtl
ci5qcwppbmRleCBkMzI4ZDE4ZDg2ZjI5Yzk3ZjAwMjQ3YjFiMmIzOTMyMDkyMTBjNTRkLi5jZTZl
OGVlNGY1NWYyMTQ0NWMxYTE0NzZmMDhmMjc1N2QzNjVlODA1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuYW5pbWF0ZWQucG9zdGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJh
d0ltYWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1lIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
MTEgKzI2LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRt
bAppbmRleCAwNWJmNjIxYzM0NjE5YTU5MzA0NTYzMzcwMTQyMDZmNzU5ZDU4OTFlLi41MzEzNzZh
YWFiN2U1MGY5NGZiMmExNDE2NDEzYTU2ZWNiNTQ3MDYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCkBA
IC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0
ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmJyb2tlbjwvdGl0bGU+Cis8bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5icm9rZW48L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDEzICszMSwxMyBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5k
b25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmJyb2tlbi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLndvcmtl
ci5qcwppbmRleCBkYjk2ODE3NWE1ZTQ2NTM0MjFkYmFlZTFiNjIyMWRmOTI0ODFhZmUyLi40YWNj
NDBiNDllNjhiNWU3ZGRmZTY3NTMzM2E4YWJjZGM5MWM2ODNhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2VuLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuYnJva2Vu
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMTMgKzI2
LDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNw
b25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmNhbnZhcy5odG1sCmluZGV4IDMyZmYzZmNjYmRjNWJlZmIwZDI4OGRkNmM0OGQ4NzAzY2E2
ZGE2NjcuLjJmYzgyOTNjYjIyYzQ5YWNjMGUxODk1NzhhMDk4NTZhOGYwMGQyNDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jYW52YXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
Y2FudmFzLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5P
VCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHku
IC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuY2FudmFzPC90
aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLmNh
bnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzEsNiBAQCBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwg
IjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
OSwwLCAwLDI1NSwwLDI1NSwgIjk5LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDks
IDAsMjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLmNhbnZhcy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuY2FudmFzLndvcmtlci5qcwppbmRleCA4YWY4M2YyMTc2NWE0Y2Y3Y2Yy
OGUzYzcxMTliMjAwZTM4N2FiZGMxLi4zZmYyZGJlY2Q3Yzk1OGM0ZDUxZjhlOGQxZTNjNDlkZTcx
YTc0YWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2FudmFzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAwLDAsIDAsMjU1LDAsMjU1LCAiMCwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwwLCAwLDI1NSwwLDI1NSwgIjk5
LDAiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDki
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jbGlwLmh0bWwKaW5k
ZXggYTUxYzQxMWFkYzRlNDFkYzU3NTRlZjMxMDM3ZWZhMzYzOTRmZDJlOC4uNTYyYTljNWQwYjg0
MGQ4Mjc3M2U2Y2UzYmJiNDFiMGIwMDA5MjllYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY2xpcC5odG1sCkBAIC0xLDkgKzEs
MTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLmNsaXA8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzAsMTEgKzM1LDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLmNsaXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLmNsaXAud29ya2VyLmpzCmluZGV4IGYwMzYzYzIyZTdhYTI3Njk4YmE0ZjJhNDNi
ZmM2ZjYwYTdjYzk5Y2QuLjE3NDFmMTViNjgyMmM1M2ZmODEyNTA2M2QzOTY4ODc4ZDRmYWQ3M2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2UuY2xpcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY29t
cG9zaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuY29tcG9zaXRlLmh0bWwKaW5kZXggNjhkNjY4NDE3ZGJkYWY2NGFmNTJjYzMwOWYyOWU2Yzc0
NTBlYjk3Zi4uZGUzNzczOTk5M2Y5OWRmZjc3MzlkNzg1YmVkZTk5OWI1ZGEzNWY0ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLmNvbXBv
c2l0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5jb21wb3NpdGUuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwh
LS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2Vu
dGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS5j
b21wb3NpdGU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5k
cmF3SW1hZ2UuY29tcG9zaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwx
MSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsK
LSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuY29tcG9zaXRlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5j
b21wb3NpdGUud29ya2VyLmpzCmluZGV4IDQzNWM3OTNlNGU1ODIzMzhmZmJlY2Y3ZDVkYzBiOWM1
ZjFhYTA2ZjkuLmVlY2M4OTE0ZTNiNWEwMzlmOWEyOThiMGY0ZGI0YzFiODllZWIwOWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5jb21w
b3NpdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5jb21wb3NpdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSwxMSArMjksMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
LmZsb2F0c291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuZmxvYXRzb3VyY2UuaHRtbAppbmRleCAxZDNiMjFiN2RjMjhiN2ZmYWQ1ZjA4ZWIy
MDNjZDI5OWEwNzMyOGE0Li5mOTBiNDFkM2YzMGFhOTBiMzRhZGY0Nzc3Njc0OTRkYzZjN2FmZDll
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UuZmxvYXRzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2UuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmRyYXdJbWFnZS5mbG9hdHNvdXJjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsMTEgKzMxLDExIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAuMSwgMTAuMSwg
MC4xLCAwLjEsIDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwLjEsIDEwLjEsIDAu
MSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2UuZmxvYXRzb3VyY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLmZsb2F0c291cmNlLndvcmtlci5qcwppbmRleCAzYTkwZDMz
Zjc4MzQwYTE5NjEwYTY4YzA0NTZlM2JjY2JmMDBmMWYxLi5kMTU0YTEyYjBhNmNlNTIzYjRiM2Zl
MzBiNWZhZTgyYTg1YjUyNTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuZmxvYXRzb3VyY2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDExICsyNiwxMSBAQCB2
YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAg
IH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDEwLjEsIDEwLjEsIDAuMSwgMC4xLCAwLCAwLCAxMDAsIDUwKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0
ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAxMC4xLCAxMC4xLCAwLjEsIDAuMSwgMCwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3QuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qu
aHRtbAppbmRleCAzYjNhNjA5YjY0ZjViNzJhOWM2MjhmZTBiZTRiZDE0OThkOGQ2ZWRjLi5kMDE4
ZTk0M2Q3NzM5ZTI3MzZiZmZlNDg3Zjg4ODM4NjljYjQ0OTYyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkZXN0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0
aXZlZGVzdC5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBO
T1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5
LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLm5lZ2F0aXZl
ZGVzdDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRlc3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk5lZ2F0aXZlIGRlc3RpbmF0
aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZTwvcD4KQEAg
LTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5lZ2F0aXZl
IGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3Rhbmds
ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI4LDIxICszMywyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwgNzgsIDUw
LCA1MCwgMCwgNTAsIDUwLCAtNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwMCwg
MTI4LCA1MCwgLTUwLCAxMDAsIDUwLCAtNTAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgs
NDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAwLCA3OCwgNTAsIDUw
LCAwLCA1MCwgNTAsIC01MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMDAsIDEy
OCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1
IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwy
NTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUx
LDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0
OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9
KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3Qu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKaW5kZXggOTFjZjQ2NjNiMmY2M2NkZTBkN2M2MTZlZjNk
OTk4MTAwNWEzODRjZS4uMDE4NWRkNGE0NTI5MTUzMDM4YmQwNjA0MDRkNzc0MDU5ODM1OGZkOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGVzdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk5lZ2F0aXZlIGRlc3RpbmF0aW9uIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRo
ZSBjb3JyZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDEwMCwgNzgsIDUwLCA1MCwgMCwgNTAsIDUwLCAtNTApOwotICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDEwMCwgMTI4LCA1MCwgLTUwLCAxMDAsIDUwLCAtNTAsIC01MCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwy
NTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1
NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAwLCA3OCwgNTAsIDUwLCAwLCA1MCwgNTAsIC01MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAxMDAsIDEyOCwgNTAsIC01MCwgMTAwLCA1MCwgLTUwLCAtNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwg
IjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwg
MCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UubmVnYXRpdmVkaXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5uZWdhdGl2ZWRpci5odG1sCmluZGV4IDc0MWFhZWEwMmEyMjliODRhZjkzMWYx
OTQyZTAzZjkyNTVhODEzN2QuLjJmMGE5MWRhY2M3Y2ZhNTZhNjQ0Y2EzYTg5YmYzNTI2ZWU4N2E1
MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5uZWdhdGl2ZWRpci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpci5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9D
VFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm5lZ2F0aXZlZGlyPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5OZWdhdGl2ZSBkaW1lbnNpb25zIGRvIG5vdCBhZmZlY3QgdGhlIGRpcmVjdGlvbiBvZiB0aGUg
aW1hZ2U8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJOZWdhdGl2ZSBkaW1lbnNpb25zIGRvIG5vdCBhZmZlY3QgdGhlIGRpcmVjdGlvbiBvZiB0
aGUgaW1hZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSArMzMsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAx
NzgsIDUwLCAtMTAwLCAwLCAwLCA1MCwgMTAwKTsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOwotICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwx
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRo
ZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDE3OCwgNTAs
IC0xMDAsIDAsIDAsIDUwLCAxMDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
NzgsIDUwLCAxMDAsIDUwLCAxMDAsIDUwLCAtMTAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAs
MjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSww
LDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEs
NDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5lZ2F0aXZlZGlyLndvcmtlci5qcwppbmRleCA5ZDQ4MTJiZjE2OTZmOWYyNWY4M2JiYzFkNGQ4
MjRlNmY0MGVhZjcwLi5iMjljZGFkNzQwZWUwZDI3ZDQzZDg0NDNjM2Q4YTFhNWE2OWU2ZGM2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
bmVnYXRpdmVkaXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRpci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIk5lZ2F0aXZlIGRpbWVuc2lvbnMgZG8gbm90IGFmZmVjdCB0aGUgZGlyZWN0aW9uIG9m
IHRoZSBpbWFnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDE3OCwgNTAsIC0xMDAsIDAsIDAsIDUwLCAxMDApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDc4LCA1MCwgMTAwLCA1MCwgMTAwLCA1MCwgLTEwMCk7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUx
LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwot
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMTc4LCA1
MCwgLTEwMCwgMCwgMCwgNTAsIDEwMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCA3OCwgNTAsIDEwMCwgNTAsIDEwMCwgNTAsIC0xMDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUs
MCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUxLDEsIDAsMjU1LDAsMjU1LCAiNTEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1
MSw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7
Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3Vy
Y2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
ZWdhdGl2ZXNvdXJjZS5odG1sCmluZGV4IDBhOTlhYTU2NzQxMmQ4NTkyM2NmYzBlYWJlNDliYzE5
OWM3MGRlNTQuLmMyZjc4ZTVhOTUyNjIxYmU0MDlmMjM3N2ZkNTIxMzI4NmI1Njg3MDUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5uZWdh
dGl2ZXNvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQ
RSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBi
eSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5OZWdhdGl2ZSBzb3VyY2Ugd2lkdGgvaGVpZ2h0IHJlcHJlc2VudHMgdGhlIGNvcnJlY3Qg
cmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiTmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXByZXNlbnRzIHRoZSBjb3Jy
ZWN0IHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDIxICszMywyMSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDEwMCwgNzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOwotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDEwMCwgMTI4LCAtMTAwLCAtNTAsIDUwLCAwLCA1MCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0g
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTEsMSwgMCwyNTUsMCwyNTUs
ICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDEwMCwg
NzgsIC0xMDAsIDUwLCAwLCAwLCA1MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAwLCAxMjgsIC0xMDAsIC01MCwgNTAsIDAsIDUwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIs
IDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAw
LDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTEsMSwgMCwyNTUsMCwyNTUsICI1MSwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUxLDQ4LCAwLDI1NSwwLDI1
NSwgIjUxLDQ4IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9m
YWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5lZ2F0
aXZlc291cmNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJk
LmRyYXdJbWFnZS5uZWdhdGl2ZXNvdXJjZS53b3JrZXIuanMKaW5kZXggZmUwYjBjMTdhNzVmN2Nl
NzIwMGNlNjgyZGJmZDZmMjc1Yjg2NTQ3ZC4uMjE3MWY2OTJmNTMwM2NhNmNlYjg1MzU4NTBjZDI4
ZTRhMmVkZjVmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLm5lZ2F0aXZlc291cmNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubmVnYXRpdmVzb3VyY2Uud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJOZWdhdGl2ZSBzb3VyY2Ugd2lkdGgvaGVpZ2h0IHJl
cHJlc2VudHMgdGhlIGNvcnJlY3QgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMTAwLCA3OCwgLTEwMCwgNTAsIDAsIDAsIDUwLCA1MCk7Ci0gICAg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAwLCAxMjgsIC0xMDAsIC01MCwgNTAsIDAsIDUwLCA1
MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIs
IDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsMSwg
MCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSw0OCwgMCwyNTUsMCwyNTUsICI1MSw0OCIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMTAwLCA3OCwgLTEwMCwgNTAsIDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAxMDAsIDEyOCwgLTEwMCwgLTUwLCA1MCwgMCwgNTAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTgs
MSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MSwxLCAwLDI1NSwwLDI1NSwgIjUxLDEiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTEsNDgsIDAsMjU1LDAsMjU1LCAiNTEsNDgiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAi
MjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS5odG1sCmluZGV4IDQ3ODAwMTFiZDMwNTZkOWJmOTky
YTNlNWUwOTZhZDRjNzI3MWJlMmMuLjlkMzc2MWEwZjExOWFiNTdkYjIxNDRkZDc2ZmZiZmFkZDM0
OGJlODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2Uubm9uZmluaXRlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NU
WVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5kcmF3SW1hZ2Uubm9uZmluaXRlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZHJhd0ltYWdlLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZHJh
d0ltYWdlKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzEyLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIHdpdGggSW5m
aW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwzMTEgKzMzLDMxMSBAQCB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9
KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0
eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBOYU4sIDApOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIE5hTik7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHkpOwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0
eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBOYU4sIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBOYU4sIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCAtSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCBOYU4pOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgLUluZmluaXR5
LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIE5h
TiwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAtSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgTmFOLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAtSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIE5hTiwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIE5hTiwgMCwgMCwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAtSW5m
aW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1
MCwgTmFOLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgNTAsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCAxMDAsIDUwLCAwLCBOYU4sIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIC1JbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgTmFOKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
SW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
MCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0
eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHks
IDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5p
dHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIElu
ZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAw
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAs
IDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAw
LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUlu
ZmluaXR5LCAwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgTmFOKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAtSW5maW5pdHksIDAsIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBOYU4sIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIC1JbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgTmFOLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
LUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgTmFO
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUlu
ZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHksIDEwMCwgNTAsIDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUw
LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIElu
ZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAtSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIE5hTiwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5hTiwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIDUwLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIC1JbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IDUwLCAwLCBOYU4sIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIC1JbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgTmFOLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEw
MCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgTmFOKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAs
IEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEw
MCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAw
LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAs
IDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1
MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwg
NTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAw
LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
SW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHks
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
MCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0s
IHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
b25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNGViYzc2MTY1MjUwNGU4ZWQyN2U1
NjJmZTliYTE5ODU2NzkwMzZjZS4uOWMyNmNkMjU2MDIxN2RjZjZlMzQ1MjdhM2FhMTJjN2Q1OGM4
ZDMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRo
ZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImRyYXdJbWFnZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNCwzMTEgKzI4LDMxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBOYU4sIDApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIE5hTik7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHkp
OwotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC1JbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCBOYU4sIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgLUluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIE5hTiwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgMCwgMCwgLUluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCBOYU4sIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCAtSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBOYU4pOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci0gICAgY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgLUluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIE5hTiwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtSW5maW5pdHksIDEwMCwgNTAs
IDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgTmFOLCAxMDAsIDUw
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5
LCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAtSW5m
aW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IE5hTiwgNTAsIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIE5hTiwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgTmFOLCAwLCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIC1JbmZpbml0eSwgMTAw
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBOYU4sIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIDAs
IC1JbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCwg
MCwgMCwgTmFOLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAw
LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgNTAsIDAsIDAsIDEwMCwgTmFOKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3Bv
bnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5
LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
NTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgNTAsIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwg
MTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2Uo
cmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJ
bWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
MCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5
LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAs
IDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5LCAw
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAs
IDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIEluZmluaXR5
LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
LCAwLCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTAp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2Us
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIElu
ZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0
eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25z
ZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkp
OwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwg
MCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAw
LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAw
LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5m
aW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIElu
ZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRy
YXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAs
IDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAsIDUw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHks
IDEwMCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4
LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIEluZmluaXR5LCAxMDAs
IDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgSW5m
aW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdl
KHJlc3BvbnNlLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwot
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwg
NTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwg
MTAwLCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwg
NTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmlu
aXR5LCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCBJbmZpbml0eSwg
NTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5maW5pdHksIDUw
LCAwLCAwLCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgSW5m
aW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUw
KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMTAwLCA1MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJhd0lt
YWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFn
ZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCk7Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsK
LWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7Ci1jdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7
Ci1jdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZp
bml0eSwgNTApOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCBJbmZpbml0eSwg
MCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAs
IDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKLWN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Ci1j
dHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwKTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOwotY3R4LmRyYXdJbWFnZShyZXNw
b25zZSwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Ci1jdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKLWN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwg
NTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIE5hTiwgMCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAtSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgTmFOKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAtSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC1J
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBOYU4s
IDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIC1JbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgTmFOLCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgTmFOKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLUluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIE5hTiwgMCwgMTAwLCA1MCwg
MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAtSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgTmFOLCAxMDAsIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAtSW5maW5pdHksIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIE5hTiwgNTAs
IDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCBJbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCAwLCAwLCAxMDAsIC1JbmZpbml0eSwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIE5hTiwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAtSW5maW5pdHks
IDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1
MCwgTmFOLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIC1JbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBOYU4sIDEwMCwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHks
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAs
IC1JbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAw
LCA1MCwgMCwgMCwgTmFOLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgLUluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIDEwMCwgTmFOKTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwg
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7
CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTAs
IDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwg
NTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAg
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0
eSwgMTAwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAw
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAs
IEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
SW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IEluZmluaXR5LCAxMDAsIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFw
LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAw
LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1
MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIElu
ZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIEluZmlu
aXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5p
dHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHks
IDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIElu
ZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwg
MCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAw
LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgSW5m
aW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIDAsIEluZmluaXR5LCA1MCwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwg
MCwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJ
bmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5m
aW5pdHksIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmlu
aXR5LCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
MCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5
LCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBj
dHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAs
IDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCBJbmZpbml0eSwgMCwgMTAw
LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
SW5maW5pdHksIDAsIDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIEluZmluaXR5LCAwLCAxMDAsIDUwLCAwLCAwLCBJbmZp
bml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgSW5maW5pdHksIDAsIDEw
MCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCwgMCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwg
MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5p
dHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIElu
ZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5LCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgMTAwLCBJ
bmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIDEw
MCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmlu
aXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHgu
ZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIElu
ZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIEluZmlu
aXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0
eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRy
YXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5m
aW5pdHksIEluZmluaXR5LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCwgMCwgMCwg
SW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUwLCAwLCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5LCAwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1MCk7CisgICAg
ICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAs
IDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZp
bml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDEw
MCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHks
IDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCBJbmZp
bml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJ
bmZpbml0eSwgMTAwLCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5LCAwLCAwLCBJbmZp
bml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5p
dHksIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJ
bmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3
SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAx
MDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5
LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIEluZmluaXR5LCAx
MDAsIDUwLCBJbmZpbml0eSwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwgMCwgSW5maW5pdHksIDEwMCwgNTApOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIElu
ZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwg
SW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIElu
ZmluaXR5LCAxMDAsIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgSW5maW5pdHksIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCBJbmZpbml0eSwgMTAwLCA1MCwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCBJbmZpbml0eSwgSW5maW5pdHksIDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMTAwLCA1
MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5m
aW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgSW5maW5pdHksIDEwMCwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDUw
KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0
eSwgMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIElu
ZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSwgMCwgMCwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwg
MCwgMCwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIEluZmluaXR5LCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0
eSwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5k
cmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJbmZpbml0eSwgNTAsIEluZmluaXR5LCAwLCBJbmZpbml0
eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUw
LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIEluZmluaXR5LCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJ
bmZpbml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCBJ
bmZpbml0eSwgNTAsIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJh
d0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIEluZmluaXR5
LCA1MCwgMCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdl
KGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0eSwgNTApOworICAgICAg
ICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5pdHksIDUwLCAwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgSW5maW5p
dHksIDUwLCAwLCAwLCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
Y3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZp
bml0eSwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAs
IEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0
eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5p
dHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwor
ICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgSW5maW5p
dHksIDAsIEluZmluaXR5LCA1MCk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAw
LCAxMDAsIEluZmluaXR5LCBJbmZpbml0eSwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAg
ICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIEluZmluaXR5LCAw
LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEw
MCwgSW5maW5pdHksIDAsIEluZmluaXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIEluZmluaXR5LCBJbmZpbml0eSwgNTAp
OworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJbmZpbml0eSwgMCwg
SW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0
bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIEluZmluaXR5LCAwLCAwLCBJ
bmZpbml0eSwgNTApOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCBJ
bmZpbml0eSwgMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIDAsIDEwMCwgSW5maW5pdHksIDAsIDAsIDEwMCwgSW5maW5pdHkpOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgSW5maW5pdHksIEluZmlu
aXR5LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwg
NTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHksIDUwKTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHks
IEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAs
IEluZmluaXR5LCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCBJbmZpbml0eSwgMCwgSW5maW5pdHksIDUwKTsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIEluZmluaXR5LCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwg
MTAwLCA1MCwgSW5maW5pdHksIDAsIDEwMCwgSW5maW5pdHkpOworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCwgMCwgSW5maW5pdHksIEluZmluaXR5LCA1MCk7Cisg
ICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwLCAxMDAsIDUwLCAwLCBJbmZpbml0eSwg
SW5maW5pdHksIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAs
IDEwMCwgNTAsIDAsIEluZmluaXR5LCAxMDAsIEluZmluaXR5KTsKKyAgICAgICAgY3R4LmRyYXdJ
bWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdl
cy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5ub3dyYXAuaHRtbAppbmRleCBiNjZlZmVi
Zjc1NmVlYzgyODUyMGVlNjQwNWY0ZTc3MjY1YjgyMTUxLi5mMGRmYjI5OGYyOGE4Y2RmNmViMGNh
NWQ2YzA3ZTUzMmU0MjU4N2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2Uubm93cmFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm5vd3JhcC5odG1sCkBAIC0xLDkgKzEsMTAgQEAK
IDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdl
bmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZHJhd0ltYWdlLm5vd3JhcDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5ub3dyYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN0
cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRoZSBlZGdl
czwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlN0cmV0Y2hlZCBpbWFnZXMgZG8gbm90IGdldCBwaXhlbHMgd3JhcHBpbmcgYXJvdW5kIHRoZSBl
ZGdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI4LDEzICszMywxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIC0xOTUwLCAw
LCAyMDAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUs
MjUsIDAsMjU1LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIC0xOTUwLCAwLCAyMDAwLCA1MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDQ1LDI1LCAwLDI1
NSwwLDI1NSwgIjQ1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDU1LDI1LCAwLDI1NSwwLDI1NSwgIjU1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm5vd3JhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5k
cmF3SW1hZ2Uubm93cmFwLndvcmtlci5qcwppbmRleCBiMDE0OTc0YjY0YjdkYWU2NDQ0YjI2Mjll
MmI0YWJiNzlmYmRhMzFhLi5hYWIwODc3MWRiNDQzMzQ4ZDE5MzIzOGVkYzYwYzFlMTRkMDQyNWVi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2Uubm93cmFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2Uubm93cmFwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
U3RyZXRjaGVkIGltYWdlcyBkbyBub3QgZ2V0IHBpeGVscyB3cmFwcGluZyBhcm91bmQgdGhlIGVk
Z2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjQsMTMgKzI4LDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgLTE5NTAsIDAs
IDIwMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA0NSwy
NSwgMCwyNTUsMCwyNTUsICI0NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTUsMjUsIDAsMjU1LDAsMjU1LCAiNTUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLTE5NTAsIDAsIDIwMDAsIDUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNDUsMjUsIDAsMjU1
LDAsMjU1LCAiNDUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTUsMjUsIDAsMjU1LDAsMjU1LCAiNTUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51
bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5u
dWxsLmh0bWwKaW5kZXggNzc0NTJiOWM3NzYxZTBmYjU2ZDQzY2I3ZDM2MTEyOWU3YTk0MWY4ZS4u
MGNmOWNhMjZkNzMxNDdmMzhjM2Q0NTM4YjgyYTMzZDBmNmViMTFlMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UubnVsbC5odG1s
CkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhp
cyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLm51bGw8L3RpdGxlPgorPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3SW1hZ2UubnVsbDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzEyLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguZHJhd0ltYWdlKG51bGwsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLm51bGwu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lm51bGwud29ya2VyLmpzCmluZGV4IGU4ODZhMzM0Y2MxZGM3MDcxZDI3YzRkNjBkYTJmYTU5Yzkx
ODI1YmUuLjhlZDA4ODdlY2Q4Nzk3ODNiZDE4ZTNlYjgyMjE1YTQ4ZjhkYjIyODUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5udWxsLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1h
Z2UubnVsbC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsg
fSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMt
dG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC5odG1sCmluZGV4IGI0ZWNhMTRhOTk3YTM0
MTRhZDM1NDU1MzM2ZGYyZmYxZWYzMGNmNGIuLjEwZGFmMTJjZDIzZTBlYTI1NGM2NTYxYzY5YTI4
OThlNzA2ZWU1MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFz
LzJkLmRyYXdJbWFnZS5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnBhdGguaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUg
aHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
dG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRy
YXdJbWFnZS5wYXRoPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZHJhd0ltYWdlLnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEy
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDEy
ICszMywxMiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIGN0eC5maWxsKCk7Ci0gICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJ
bWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0lt
YWdlKGJpdG1hcCwgMCwgMCk7CisgICAgICAgIGN0eC5maWxsKCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnBhdGgud29ya2VyLmpzCmluZGV4IDdlNGEy
NDBjZWU2NDZhZTkxYTNiM2JjM2Y4ZjA2ODlmZTRkNmM2NTUuLjQ1YTA4Mjk3NDkwNGYxMjI0OGJl
YzE2NTY1Y2E2ZTI3NmZjOWIxNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10
aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UucGF0aC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDEyICsyOCwxMiBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDApOwotICAgIGN0eC5maWxsKCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCk7CisgICAg
ICAgIGN0eC5maWxsKCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAg
fSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5z
ZWxmLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS5zZWxmLjEuaHRtbAppbmRleCA2ODI4YjdjMDk1ZDNjYjI1MjlkNDQxNzgzZDA2MTk5MjhmOTg1
YjVhLi5kZTRhMGY3ZWI1OWQ4ZGFlNzg4YzIxMGNkNjRhMDc1ZGQ5ZjFkMDhmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNl
bGYuMS5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1Qg
RURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAt
LT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnNlbGYuMTwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5zZWxm
LjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzMwLDYgQEAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIw
LDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTks
MCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAw
LDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJ
bWFnZS5zZWxmLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLnNlbGYuMS53b3JrZXIuanMKaW5kZXggZGRkN2UxOGZmMjJjMWFhNDk5NTQ5
ZTE5MjYwOGFlNDMxMjE0NGUwMS4uNWFkOTA0OGNhYWZhYjE4YWY1Zjg3ODA5OTk2NDZjZmVjMjQx
OGFhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJh
d0ltYWdlLnNlbGYuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1j
YW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSww
IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIuaHRtbApp
bmRleCA2OTAyMDJkMzMxNjcxMTI5OWMzOWRkZmI3ZWZjYjJmNjQ2NzYyYjNiLi5iMmU1OGRiNTcx
NTVhZTk2MDk0MzdiZTc0YWUyYWJmMTFhY2I3NTE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uuc2VsZi4yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi5odG1sCkBAIC0x
LDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1sPgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0ltYWdlLnNlbGYuMjwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS5zZWxmLjI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMCwwLCAwLDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUs
ICI5OSwwIiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5
LDQ5IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zZWxmLjIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNl
bGYuMi53b3JrZXIuanMKaW5kZXggYjNjMDA1ZTJlNzVhOGFiOTA3YzI5ODM0ZGIxOWZjODY1Y2I4
N2MzNS4uYzZmZTBkY2QyYTg3N2QwNTJiYjNiYTgyYTZkZGYzZjlmZThjNzFkZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnNlbGYuMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLnNlbGYuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMCwwLCAw
LDI1NSwwLDI1NSwgIjAsMCIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTksMCwgMCwyNTUsMCwyNTUsICI5OSwwIiwgIjAsMjU1LDAsMjU1
IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSww
LDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10
by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcuaHRtbAppbmRleCAyZTNjZGMwMzBmZmY0YjA5
ODI4MjhjMTAxMzNhYzQyYzBjN2U1ZDRiLi43MmJhMmVjN2JhNDliZGQzNDViMjUyNGMyOWFiMjkx
YjJjYmUwOWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8y
ZC5kcmF3SW1hZ2Uuc3ZnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52
YXMvMmQuZHJhd0ltYWdlLnN2Zy5odG1sCkBAIC0xLDkgKzEsMTAgQEAKIDwhRE9DVFlQRSBodG1s
PgogPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29s
cy9nZW50ZXN0LnB5LiAtLT4KIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZHJhd0lt
YWdlLnN2ZzwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRy
YXdJbWFnZS5zdmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmRyYXdJbWFnZSgpIG9mIGFuIFNWRyBp
bWFnZTwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImRyYXdJbWFnZSgpIG9mIGFuIFNWRyBpbWFnZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDExICszMSwxMSBA
QCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewog
ICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5k
cmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4o
Yml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKaW5k
ZXggNjg2MGE4NTI1NmNiN2NhYzY5NmU1ZjhkNzM2ZDYxODM3ZGI2NDA0Yi4uNTA4OTJjMmI0YTBh
ZjBiMDU2NjdiYzFjZDM2NTc3ZTNjMWM0MDNhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1h
Z2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSgpIG9mIGFuIFNWRyBpbWFnZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIyLDExICsyNiwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwotICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIDApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRf
ZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNm
b3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2Uu
dHJhbnNmb3JtLmh0bWwKaW5kZXggMDgxN2U4MTg1MWFiYjNhMGYxMTc1MjQwOTQ4MWZmYjdkMDBj
NzI4Zi4uYjc4MmJhODdlNjhhYmQzOTkyOGFlZWI5YzBkMzQwMTY5OWNlNmYxYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnRyYW5zZm9y
bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS50cmFuc2Zvcm0uaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0g
RE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVz
dC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS50cmFu
c2Zvcm08L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5kcmF3
SW1hZ2UudHJhbnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSwxMSAr
MzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNl
KS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UudHJhbnNmb3JtLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFu
c2Zvcm0ud29ya2VyLmpzCmluZGV4IDQxYjBkNGNlNWRjM2ZjYmRkNDFjMDVjNTUwZWNjOGQxZmRh
YjRlYWUuLmE0Y2I4NjVkYzFlNTUwODIwZDEyMjVjY2VhZTYwNWUyYTE1YmZiMWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS50cmFuc2Zv
cm0ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS50cmFuc2Zvcm0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNSwxMSArMjksMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCAwLCAwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndy
b25ndHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0lt
YWdlLndyb25ndHlwZS5odG1sCmluZGV4IGY5YjdmM2ExZmI3ZjQ4YWFmZDhlYjQwNzUwODhmMGFk
Y2Q1ZDIyYWMuLjVjYjI4MzQ2NmJkNTg3OWQ3MDg0YzNiNTJlMjNhMjUxN2ZlM2Y2YTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9u
Z3R5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3
SW1hZ2Uud3Jvbmd0eXBlLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8
IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dl
bnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2Uu
d3Jvbmd0eXBlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
ZHJhd0ltYWdlLndyb25ndHlwZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW5jb3JyZWN0IGltYWdl
IHR5cGVzIGluIGRyYXdJbWFnZSBkbyBub3QgbWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRzLCBz
byBXZWJJREwgdGhyb3dzIGEgVHlwZUVycm9yPC9wPgpAQCAtMTEsNiArMTIsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW5jb3JyZWN0IGltYWdlIHR5cGVzIGluIGRyYXdJ
bWFnZSBkbyBub3QgbWF0Y2ggYW55IGRlZmluZWQgb3ZlcmxvYWRzLCBzbyBXZWJJREwgdGhyb3dz
IGEgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjQsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UodW5kZWZpbmVkLCAwLCAwKTsgfSk7CiBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoMCwgMCwg
MCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
ZHJhd0ltYWdlKCIiLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS53cm9uZ3R5cGUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdl
Lndyb25ndHlwZS53b3JrZXIuanMKaW5kZXggYzRmNDY2ODg1N2E4YmIzOWQ3MzM3ZGFlMTQ4ZGMx
MWYwMDFmMzE4YS4uZmZkYzI1MDIxNjM1YTgyNjRiYzdjMzcxYTdmM2U1ZTNjMTIzNjUzNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLndy
b25ndHlwZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMv
MmQuZHJhd0ltYWdlLndyb25ndHlwZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IkluY29ycmVjdCBpbWFnZSB0eXBlcyBpbiBkcmF3SW1hZ2UgZG8gbm90IG1hdGNoIGFueSBkZWZp
bmVkIG92ZXJsb2Fkcywgc28gV2ViSURMIHRocm93cyBhIFR5cGVFcnJvciIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1
LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdl
KHVuZGVmaW5lZCwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKDAsIDAsIDApOyB9KTsKIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZSgiIiwgMCwgMCk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMuaHRtbAppbmRleCBlZjY2ZDVl
ZGM1NDI2ZmVkM2YzNDIwN2Q3ZDExN2Y0MjNkMTI4ZjA1Li5mOTQ1Y2VkYWIxNWZiNzdkYzJhNzE0
ZDc1ZDQwNzU4NzYzNmM4MDU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhl
LWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWlt
YWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLmh0bWwKQEAgLTEsOSAr
MSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8IS0tIERPIE5PVCBFRElUISBUaGlzIHRlc3QgaGFz
IGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuIC0tPgogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5kcmF3SW1hZ2UuemVyb2NhbnZhczwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmRyYXdJbWFnZS56ZXJvY2FudmFzPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMSw2IEBAIGFzc2VydF90aHJvd3MoIklO
VkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwKIG9mZnNjcmVlbkNhbnZhczIud2lkdGggPSAwOwogb2Zmc2NyZWVuQ2FudmFzMi5oZWln
aHQgPSAwOwogYXNzZXJ0X3Rocm93cygiSU5WQUxJRF9TVEFURV9FUlIiLCBmdW5jdGlvbigpIHsg
Y3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS56ZXJvY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvY2FudmFzLndvcmtlci5qcwppbmRleCAzYTE3Y2ZlNWEz
OTA5YTk3ZTY5OWIzZjlkNjc5OTYyNjY5OGYyNjQxLi4xZTlkNjNjZjkyYjAzNTNjODg0MjZjZjRj
ZDY4ZTVhNTA3MzMzNDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb2NhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
aW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9jYW52YXMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGFzc2VydF90
aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2Uob2Zm
c2NyZWVuQ2FudmFzMiwKIG9mZnNjcmVlbkNhbnZhczIud2lkdGggPSAwOwogb2Zmc2NyZWVuQ2Fu
dmFzMi5oZWlnaHQgPSAwOwogYXNzZXJ0X3Rocm93cygiSU5WQUxJRF9TVEFURV9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmRyYXdJbWFnZShvZmZzY3JlZW5DYW52YXMyLCAwLCAwKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8t
dGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5odG1sCmluZGV4IGE3NjcwY2Q5ZjJl
ZmFkMjI3MGQ2N2FkOTBkM2ZiYzc0Y2E1ZmE0MWUuLmI5NDFmM2FhM2FhYTg5MzIyYjQwMDE3ZDAy
OTI3NGRjZWMyNjRjODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2Fu
dmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2Vz
LXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaHRtbApAQCAtMSw5ICsxLDEw
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmRyYXdJbWFnZS56ZXJvc291cmNlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLnplcm9zb3VyY2U8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSB0aHJv
d3MgSU5ERVhfU0laRV9FUlI8L3A+CkBAIC0xMSw2ICsxMiwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJjZSByZWN0YW5n
bGUgdGhyb3dzIElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTMgKzMzLDEzIEBAIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsK
IH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgYXNzZXJ0X3Rocm93
cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
MTAsIDEwLCAwLCAxLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5E
RVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEw
LCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0la
RV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAwLCAw
LCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMTAsIDEwLCAwLCAxLCAwLCAwLCAxMDAsIDUwKTsg
fSk7CisgICAgICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAxMCwgMTAsIDEsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsK
KyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDEwLCAxMCwgMCwgMCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAg
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3Nv
dXJjZS5pbWFnZS5odG1sCmluZGV4IGMxZjJiMzI0ZDVmMjM3MDU0ZDU4NGFmOGNiYWIyNmYzMTVl
ZDAwYWEuLjFhYmNiNmFiZjQ5NWFlOGY2OTU5MzkzZGQzNDk2ZDYwNDFiNmNjNzUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFnZS56ZXJvc291
cmNlLmltYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQu
ZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2UuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmRyYXdJbWFnZS56ZXJvc291cmNlLmltYWdlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9ImxvbmciPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2U8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPmRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291cmNlIHJlY3RhbmdsZSBmcm9t
IGltYWdlIHRocm93cyBJTkRFWF9TSVpFX0VSUjwvcD4KQEAgLTExLDYgKzEyLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImRyYXdJbWFnZSB3aXRoIHplcm8tc2l6ZWQgc291
cmNlIHJlY3RhbmdsZSBmcm9tIGltYWdlIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDEzICszMywxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgewotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0
eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOyB9KTsKLSAgICBhc3NlcnRfdGhy
b3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAwLCA1MCk7IH0p
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93
cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAs
IDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIi
LCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsK
KyAgICAgICAgYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4
LmRyYXdJbWFnZShiaXRtYXAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZh
cy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1p
bWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIu
anMKaW5kZXggM2NjM2M3MjExOWU3NWFlOWRlYWU1ZjhmNWQyMjU0NmY1OTBjN2UxZS4uY2Y0NzJh
YzQxNzljOTkwMzI2MWY4YzcyZjExZDQ5YmM2MTA3NzhiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1hZ2Uud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRyYXdJbWFn
ZS56ZXJvc291cmNlLmltYWdlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJh
d0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIGZyb20gaW1hZ2UgdGhyb3dz
IElOREVYX1NJWkVfRVJSIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTMgKzI4LDEzIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSU5ERVhf
U0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCwgMTAw
LCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOyB9KTsKLSAgICBhc3Nl
cnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwLCAxMDAsIDUwKTsgfSk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwot
Ci10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAg
PT4geworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgMCwgMTAwLCA1
MCk7IH0pOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNhbnZhcy8yZC5kcmF3SW1hZ2UuemVyb3Nv
dXJjZS53b3JrZXIuanMKaW5kZXggMGYwZWQ1ZDlkZDE2ZTRkNmQ5NzNiODAwMWQyYzg0OThjMzg4
YzM5Ny4uYjNiNmE1OWNiN2FmMTUwODYzZjQ4M2RlNDM4MzdlYjkxNGRmYWZjNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3Vy
Y2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUtY2FudmFzLzJkLmRy
YXdJbWFnZS56ZXJvc291cmNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZHJh
d0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFuZ2xlIHRocm93cyBJTkRFWF9TSVpF
X0VSUiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDEzICsyOCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwg
ZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMCwgMSwgMCwgMCwg
MTAwLCA1MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rp
b24oKSB7IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMSwgMCwgMCwgMCwgMTAwLCA1
MCk7IH0pOwotICAgIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDEwLCAxMCwgMCwgMCwgMCwgMCwgMTAwLCA1MCk7IH0p
OwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAg
Y3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmRyYXdJbWFnZShi
aXRtYXAsIDEwLCAxMCwgMCwgMSwgMCwgMCwgMTAwLCA1MCk7IH0pOworICAgICAgICBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZHJhd0ltYWdlKGJpdG1h
cCwgMTAsIDEwLCAxLCAwLCAwLCAwLCAxMDAsIDUwKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJv
d3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAx
MCwgMTAsIDAsIDAsIDAsIDAsIDEwMCwgNTApOyB9KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5iYXNpYy5odG1sCmluZGV4IGU1MTQxZDY5YWViMjdj
MmM5ZmU1ZDVkMzQzN2ZmODI0OTY2NjZiYzUuLmI3OTUwNjgxODU4NjEwMDJhNTBiYzNhNzllODg0
YWQ5Njk0N2FiYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5iYXNpYzwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5j
bGVhclJlY3QuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBjbGVhcnMgdG8g
dHJhbnNwYXJlbnQgYmxhY2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgY2xlYXJzIHRvIHRyYW5zcGFyZW50IGJsYWNrIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAs
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMud29ya2VyLmpz
CmluZGV4IGViMGFlNGVmZTBjN2M0NTM3MGQzMzJiZTQyZTBiNDdjNzEwODhiYzkuLjc4NzFhMDM5
NTAzNGM1ZmFhNWE2NmY0MDMzYjU5YTMxNDA3MTExYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFzaWMud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuYmFz
aWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgY2xlYXJzIHRv
IHRyYW5zcGFyZW50IGJsYWNrIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFyUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAs
MCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
Y2xpcC5odG1sCmluZGV4IDI1YWYzMmRjYTE0NWM3MmNiODMxMTNlYTM1Y2JjZmJkMWE3M2YyZmEu
LjJjM2ZmMGRmOTFiM2JmZTE2MmZhMWRjN2M5YmQyZTY2MTI2MWNjYzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qu
Y2xpcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5jbGVhclJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jbGVhclJlY3QuY2xpcDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+Y2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3Qg
aXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAg
Y3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTYsIDE2KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LmNsaXAud29ya2VyLmpzCmluZGV4IGNlNTg4NzFlY2Zj
OWMwYjlmZDEwZjQ4YmM2ZGU4ODQzMGRlYWNiZjguLjQ1NmFhZjQ2MDQ2ZTY2YjM0MzdhYWI5NzJm
YmRiYzRlZWUyNjVkNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3QuY2xpcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5jbGlwLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lv
bnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmds
b2JhbGFscGhhLmh0bWwKaW5kZXggMTlkZGFiZmM5MzJhODlmMGE3MjkyMWQ5ODAzYzRiN2U0Yjc0
YTYyMy4uOWEyODljOWQ2ZGJkN2Y5YzdhZDVlNmMyMThlMGIyZDc5MzQ5ZTg5NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9i
YWxhbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8y
ZC5jbGVhclJlY3QuZ2xvYmFsYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFy
UmVjdC5nbG9iYWxhbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0IGlzIG5vdCBh
ZmZlY3RlZCBieSBnbG9iYWxBbHBoYTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZmZWN0ZWQgYnkgZ2xvYmFs
QWxwaGEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuMTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1Iiwg
IjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmds
b2JhbGFscGhhLndvcmtlci5qcwppbmRleCBhMjljZTQ0ZDgyODQ2OGM0OGZkMzU3NGI3MDZkN2Q5
NzEzOWE5MmU2Li43ZmViMTlhOWEzZjI2MDkwNDBkZDRhNzRjMDEyOTA3NmU5MGNkYzdmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0
Lmdsb2JhbGFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmds
b2JhbEFscGhhID0gMC4xOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3Np
dGUuaHRtbAppbmRleCA2M2E5YWMzNTJlZjViMzAzNGVhZTVkNTE1MmNjMDZkNDA4N2MzODFhLi43
Y2I1MzRjMGVjOWIyN2M1NmY4YjgwNDAzOTgyYWRkYjJhMTU3ZjVkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBv
c2l0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5j
bGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3NpdGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Y2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0
IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb248L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgaXMg
bm90IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4Lmdsb2JhbENvbXBvc2l0
ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1hdG9wJzsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUw
LDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5nbG9iYWxjb21wb3Np
dGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpzCmluZGV4IDQ4NzNiMGEzNTk4NWYyZDM2
NGZlZjljODg0NzQ5NDY4OTdlZmYwYzQuLjU2YzQ2ZDRiMmFhYzQ3Njk3YWZjZTAyNTc0ZDljZWYx
NzA4OWEyYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNsZWFyUmVjdCBpcyBub3QgYWZmZWN0
ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u
ID0gJ2Rlc3RpbmF0aW9uLWF0b3AnOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLmh0bWwK
aW5kZXggMDY0ZjgwNTQ0MjE0YWU3ZWMzYThjYjY4NGMwOGQ0MjAzZThjZTIyOC4uNTVlZWYzZDli
OWEwMmY4YmVlNDlmMDUwOTdkNzU3MzNmOWQ0NjA0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5uZWdhdGl2ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QubmVnYXRp
dmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y2xlYXJSZWN0Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5uZWdhdGl2ZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Y2xlYXJSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9m
IG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxMiwgMCwwLDAsMCwgIjI1LDEyIiwgIjAsMCwwLDAiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDAsMCwwLCAiNzUsMTIiLCAi
MCwwLDAsMCIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMCwwLDAs
ICIyNSwzNyIsICIwLDAsMCwwIik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwz
NywgMCwwLDAsMCwgIjc1LDM3IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA4ZGMxY2YyNGYxMmY2MmM4
ODM1ODZmMzNiYWQ0YWQwMjlkOWM0OTAzLi4xNzU2MzRmYzcxYTJkZGFhMDk0MjYzM2Q1OWNlMDM5
NWY0NWY5ODcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwx
MiwgMCwwLDAsMCwgIjI1LDEyIiwgIjAsMCwwLDAiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDc1LDEyLCAwLDAsMCwwLCAiNzUsMTIiLCAiMCwwLDAsMCIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMCwwLDAsICIyNSwzNyIsICIwLDAsMCwwIik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNywgMCwwLDAsMCwgIjc1LDM3IiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9uZmluaXRlLmh0
bWwKaW5kZXggOGUzYjI0MWE1YmFmMTUxY2UzNWQwNDE3ZTU2NmUxMmQxODc5Mjc2Ni4uMWIyMzY2
NzhhNzBkMzMwYWM4ODFiZGNhOWI3Y2Y1MzEwOGE4Nzc2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5v
bmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5jbGVhclJlY3Qubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFyUmVjdC5ub25maW5pdGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJjbGVhclJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIs
NyArNDYsNiBAQCBjdHguY2xlYXJSZWN0KDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkp
OwogY3R4LmNsZWFyUmVjdCgwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguY2xlYXJS
ZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5k
ZXggYmQ1MTIzMzZlMDAzNzhmZGJjZDRhNGY1ZjlhMDRiY2Y4MjgwZWIwZS4uYTY4ZTU0ZmZkMWRi
ZGE3MDA2NGIwNTQ2ODAyMmNlMzFiNTM4N2ZlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Qubm9u
ZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0KCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDcgKzQyLDYgQEAgY3R4LmNs
ZWFyUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5jbGVhclJlY3Qo
MCwgSW5maW5pdHksIDEwMCwgSW5maW5pdHkpOwogY3R4LmNsZWFyUmVjdCgwLCAwLCBJbmZpbml0
eSwgSW5maW5pdHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC5wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0LnBhdGguaHRtbAppbmRleCAwMGQyMjg2ZmI1NjU5NzA0MmI3ZTQ1N2QxZjJhZWU2MGIx
YjFlMWRiLi4xN2YyMDBhNWQ2OTNiYjVlMTVlNDU3ZWE0MjQ5NzFmMDkwNmY4MzA5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBh
dGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xl
YXJSZWN0LnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuY2xlYXJSZWN0LnBhdGg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuY2xlYXJSZWN0LnBhdGg8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aDwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNs
ZWFyUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDE2
LCAxNik7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNs
ZWFyUmVjdC5wYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5jbGVhclJlY3QucGF0aC53b3JrZXIuanMKaW5kZXggMzg1NjcyZDlmMjkyODBkMzA4
OTUxNWJhNTgxZGJiY2YxNGM4MWRjMi4uNDY2MTY5YTVlYjNmNjJmMjM5YWVlN2VmNmEwNjA4ZmQ1
MjY5ZGQ5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmNsZWFyUmVjdC5wYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJjbGVhclJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmNsZWFy
UmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy5odG1sCmluZGV4IDU0Y2JiZmIyMDFm
YWYxN2IzYjY4Njc2MmFjNWM0MDFhOGEyNjk3YTguLmE4YmM0N2RiZDM5NmY3MTM2NzdhN2QxZWVh
MmMwZmYzMDQ4ZWFjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0LnNoYWRvdzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5jbGVhclJlY3Quc2hhZG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jbGVhclJlY3QgZG9l
cyBub3QgZHJhdyBzaGFkb3dzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGRvZXMgbm90IGRyYXcgc2hhZG93cyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAwOwogY3R4LnNoYWRvd09mZnNl
dFkgPSA1MDsKIGN0eC5jbGVhclJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3Quc2hhZG93Lndvcmtlci5q
cwppbmRleCA4NmJkMTQ5YTNmOGI4MDEwNmIwM2M2ZmU3NjMxNzkyZDQwZWJiNjY1Li4yZjA2ZTgx
YWYyNmU2OTAyOTRlYWU1ZmU3YzBmZjQyNGYzZDNhOGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnNoYWRvdy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC5z
aGFkb3cud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3QgZG9lcyBu
b3QgZHJhdyBzaGFkb3dzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WCA9IDA7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmNsZWFyUmVjdCgwLCAtNTAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFu
c2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVh
clJlY3QudHJhbnNmb3JtLmh0bWwKaW5kZXggMTQyNzhhYjFhNTk5Nzk1Y2YwZmM2YmQ3YjRiM2Yw
Mjc1YzE3OTU4Mi4uYTMyYTdiMTI3ZTBkYThjOGQzZDgzZWRjZjQ5YTU0OGZmNTBkM2UwYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVj
dC50cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QudHJhbnNmb3JtPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmNsZWFy
UmVjdC50cmFuc2Zvcm08L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNsZWFyUmVjdCBpcyBhZmZlY3Rl
ZCBieSB0cmFuc2Zvcm1zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zY2FsZSgxMCwgMTApOwogY3R4LnRyYW5zbGF0ZSgwLCA1
KTsKIGN0eC5jbGVhclJlY3QoMCwgLTUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuY2xlYXJSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKaW5kZXggZTVl
YTMzMzU1YTg1OGYxOTIyMDYyYzUyMDM2ZjRjYWY2OWEwODRjNC4uNmRhMGQyYWIxYmE1MTY5NDI4
MjNhZTdkNzc0MTYwM2QxZWUxNGMyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QudHJhbnNmb3Jt
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY2xlYXJSZWN0IGlzIGFmZmVjdGVk
IGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zY2FsZSgxMCwgMTAp
OwogY3R4LnRyYW5zbGF0ZSgwLCA1KTsKIGN0eC5jbGVhclJlY3QoMCwgLTUsIDEwLCA1KTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCww
LDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0
YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuY2xlYXJSZWN0Lnplcm8uaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby5odG1sCmluZGV4IGQx
Zjk1NTMwZWI4NjZmNGExNjAzNDk1MTI5MDlhNzY3MWU2MGNkY2UuLmMwNjhhN2E2YjViYzM4ZDFl
ZGFjNjc2YTQzMDEwNTM4ZGViMDMzMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJlY3QuemVyby5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QuemVybzwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5jbGVhclJlY3QuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2xlYXJSZWN0IG9m
IHplcm8gcGl4ZWxzIGhhcyBubyBlZmZlY3Q8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVhclJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5v
IGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAs
IDApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDAs
IDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56ZXJvLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5jbGVhclJl
Y3QuemVyby53b3JrZXIuanMKaW5kZXggMDA4NTBjNmIwZjJkNDVmZWFlNTVmYjRhOTI2MjQwOWY0
NjU5YTZkYi4uMzMyY2NlMmJmOTg3NzM4ZWZkZTgxMDNiZWMwNDYwN2IwNGU0NmUyYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmNsZWFyUmVjdC56
ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuY2xlYXJSZWN0Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjbGVh
clJlY3Qgb2YgemVybyBwaXhlbHMgaGFzIG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYg
QEAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDApOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAwLCA1
MCk7CiBjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLmZpbGxSZWN0LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMuaHRtbAppbmRleCAyZjZlNmQxYTlmZTc5MTMz
MzZmMjdjNjY1YTgwYjBhMTQ2OTI1YTdiLi45MmFhODc3ODUzZjg2NzFlYTc3NjdhMDAzZDc3NDY3
MTA4Y2I0ZmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuZmlsbFJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRv
LXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFJlY3QuYmFzaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFJl
Y3QuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IHdvcmtzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3Qgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmZpbGxSZWN0LmJhc2ljLndvcmtlci5qcwppbmRleCA4MDU1NjEwNDRmZmI2YzljNTAxMDg0YWE1
NzcyZWNmMTkwOWNmYTRmLi4xN2VlZDNhODczZGI4ODlmMGE4NTIwYThlMzg4M2FlNzc4ZjE1ZTAx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5maWxsUmVjdC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImZpbGxSZWN0IHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLmZpbGxSZWN0LmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLmh0bWwKaW5kZXggZGRjNjI1ZGZiZTZlNWM0Y2Q3ZDM4
MzM0M2E1ZmEwY2U2OWRlZTVmOS4uYTdhMTYyZTM5MmZmYTA5NGFlMGYzZTcxN2ZlMGZmNDNiNTU1
Nzk3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LmZpbGxSZWN0LmNsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuZmlsbFJlY3QuY2xpcC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsUmVjdC5jbGlwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LmNsaXA8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJl
Z2lvbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVz
LXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuY2xpcC53b3JrZXIuanMKaW5kZXgg
NzQwYTlkZTVlMjA4ZDU4YzJjZWMzNzdkYWNmOTkzMTk3MTcwODhjYy4uMTEyNWE3NDE3ZTI1MDI3
ZTI4NmI0OGI3ZTgxMTg1MWVlM2QyNDNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5jbGlwLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBp
bmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwg
MTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5lZ2F0aXZl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
bmVnYXRpdmUuaHRtbAppbmRleCBiYTUyNWNlMjM5YzcyMjAzYWVlNjU3YWE5NDI1OWE2NjA3NGFk
YmMxLi40MzMzNDg3MTZkNGVhNTJiZjdmMWRlOWQxYmU2YWYwMjk4ZmY5NDZmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVnYXRp
dmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmls
bFJlY3QubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFJlY3QubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFJlY3QubmVnYXRpdmU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmls
bFJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwy
NTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdhdGl2ZS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QubmVn
YXRpdmUud29ya2VyLmpzCmluZGV4IGRmNjQ0ZDVmYjM4NzRhZmU5OTYzZjIzOWE4NDZkYjZkMWYw
YzU4NzcuLjA4ZGUwZThmZGM2Yzg0N2I1YmEyZDcwY2M1YjA5NDAxOTQ4OTc3Y2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5uZWdh
dGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFz
LzJkLmZpbGxSZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZmlsbFJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEy
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwg
MCwyNTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5ub25m
aW5pdGUuaHRtbAppbmRleCA3YmVkZWU2MzI3NjA4N2E0ZjgxODc2YjFhMWNjOGI1OTcwMjgwN2Vi
Li40ZDcyZDg4ZTBiNzNkZmMwNmJiNjc2ODM0MTg3ZmNmZjJiMDI1YjMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qubm9uZmluaXRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0Lm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsUmVjdC5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFJlY3Qubm9uZmluaXRl
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsUmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00
Myw3ICs0Nyw2IEBAIGN0eC5maWxsUmVjdCgwLCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5
KTsKIGN0eC5maWxsUmVjdCgwLCBJbmZpbml0eSwgMTAwLCBJbmZpbml0eSk7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgSW5maW5pdHksIEluZmluaXR5KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5maWxsUmVjdC5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXgg
Nzk0NTViMjlmNjE1ZTk0M2U4NzVkOWRmMjY0YTkxNTJlODNjMThhNC4uZTdmYjdmNzBlZDU0Nzc0
ODk2MzcyYTlmNDI1YjJiNmNiMDMzMWQ4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lm5vbmZpbml0
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0KCkgd2l0aCBJbmZp
bml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgY3R4LmZpbGxSZWN0
KDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxSZWN0KDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5maWxsUmVjdCgwLCAwLCBJbmZpbml0eSwgSW5maW5p
dHkpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGguaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5wYXRo
Lmh0bWwKaW5kZXggZmY2NTMwZTk4ODUxNGNmODUzMTdkYTdmZjk0MDZkZjc1MGM0OWE2ZC4uZTQy
MzVkY2NmYzRjYTJkMDc3ZDFkZjgyOTdmMjJiNTBkZDAyMTkyNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGguaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0aC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
UmVjdC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZp
bGxSZWN0IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgZG9lcyBub3Qg
YWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0aC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QucGF0
aC53b3JrZXIuanMKaW5kZXggNzQzMzYyMGVkNjE3MmQ4NzExNGM5ZTc1ZjhhY2E4ZThlMzY5MGU5
Yy4uMWYwNDcyZWI4OTgzZTk2ZDQ0M2QwZDBiOWI3MWQxNjc3NTMxZTExOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnBhdGgud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxs
UmVjdC5wYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFJlY3QgZG9l
cyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5maWxsUmVjdCgwLCAwLCAxNiwgMTYpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Quc2hhZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3Qu
c2hhZG93Lmh0bWwKaW5kZXggMTM5OWJiYmZiNjI2NTVjNDZjNGI1YmYwMDk0NWFiMTYyMmRkYTU5
MC4uNzQ0YjUzNTgxY2ExZDU4MzY0YjE3ZjFjZTFiODQ0NGU5NzY2OGVjZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVj
dC5zaGFkb3cuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFJlY3Quc2hhZG93PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxSZWN0LnNoYWRvdzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+ZmlsbFJlY3QgZHJhd3Mgc2hhZG93czwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGRyYXdzIHNoYWRvd3Mi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMDsKIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC5zaGFkb3cud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRvdy53b3Jr
ZXIuanMKaW5kZXggN2YwNTZmNTBkM2MxNzJiYTIyODU3ZmIyZTA0OWE0NDdhOGM0MjNjOS4uZjMx
YTQxNjY2MjVmNjljMDA0NWEwM2U1NmQxOTkzMmU1ZmI1NWJlOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnNoYWRvdy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
LnNoYWRvdy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGRyYXdz
IHNoYWRvd3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMDsK
IGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9k
cmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFuc2Zvcm0uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC50cmFu
c2Zvcm0uaHRtbAppbmRleCAyMWI3ODBhNTUyOTRkMDAwY2E5ZGM0OTcxYTU0YTJmYTZkMGRjMzg5
Li5hNDY1MmI1MDNkYzYyODkyYmViMmZkYTg5NzRiZjg5NTM5N2IzNzdkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QudHJhbnNmb3Jt
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxS
ZWN0LnRyYW5zZm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5maWxsUmVjdC50cmFuc2Zvcm08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFJlY3QudHJhbnNmb3Jt
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFuc2Zvcm1z
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LnRyYW5zbGF0ZSgwLCA1KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFJlY3QoMCwgLTUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5m
aWxsUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKaW5kZXggZDBiZmFhOWE0
YmFmYjc4MmUyZTllZGViYjBhNGIyY2I4Mjg5Y2EyMy4uYTYxYTU2MzM5MTc3NTg1MzY2OGUxYzA3
NGU1NGRlNjJhZTg4YTIyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0LnRyYW5zZm9ybS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5z
Zm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC50cmFuc2xhdGUoMCwgNSk7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIC01LCAxMCwgNSk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0Lnplcm8uaHRtbAppbmRleCBi
MTMwOWVlMWY3Y2NmYTEwOTg1Yjk0ZmUyZGZkYzIzOTZjNGFhM2U2Li44YjY5YzVjMjcxN2RhMzcx
N2M3YTg3ZDM4ZTg2MzBlYTA2MzcwZTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxSZWN0Lnplcm88L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFJlY3QuemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3Qgb2YgemVy
byBwaXhlbHMgaGFzIG5vIGVmZmVjdDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0IG9mIHplcm8gcGl4ZWxzIGhhcyBubyBlZmZl
Y3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDApOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDAsIDUwKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAwLCAwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5maWxsUmVjdC56ZXJvLndv
cmtlci5qcwppbmRleCBhZmUzODMyY2MxY2ZjNGVhYTgxM2FjMGMzZTQxMzJmN2IzYWMzMDUxLi42
YTUzN2Q4ZDYyYmRkZTg0ODE5ODVjN2E0ZjQ4NzFiZjQ2MDIyMmI4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuZmlsbFJlY3QuemVyby53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLmZpbGxSZWN0
Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsUmVjdCBvZiB6ZXJv
IHBpeGVscyBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCAwKTsKIGN0eC5maWxsUmVjdCgwLCAwLCAwLCA1MCk7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QuYmFzaWMuaHRtbAppbmRleCAzMjllMjk4OTc0YzIwMjYyYzRlYTc5NzdhZDQy
NDA5OWUyM2ViMTFhLi4xMTZjYjI0MTlkNzEwMzFhNzUxMmZiZTEwMDZiODdhYzQzMDZlMjI3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tl
UmVjdC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ryb2tlUmVjdC5i
YXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCB3b3JrczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0
eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuYmFzaWMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuYmFzaWMu
d29ya2VyLmpzCmluZGV4IDEzZmQyYWU5YjBhOTE4ZGEyM2MyNWM1MzBhZWRkYzY5Y2VhZmE2MzAu
LmVhOTYxM2FlNjFiNmI0YjNiNDVkMDc1Y2YzZTA0MzVlMWFlYWYyMzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmJhc2ljLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ry
b2tlUmVjdC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJl
Y3Qgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYw
JzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuY2xpcC5o
dG1sCmluZGV4IDFmMWM5NDdkM2U5MjE4MWRhYTBkN2Q0YTRlNGYxZTllYzUyNGZlMTYuLjE4MzJk
NmQ4OTBhYzJlZDAyODgyZDI1MDIyZDI5ZWU1YzMxNWJhN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5jbGlw
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0
cm9rZVJlY3QuY2xpcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0LmNsaXA8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPnN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9uczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qg
aXMgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
Y3R4LnN0cm9rZVJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDE2LCAxNik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC5jbGlwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAud29ya2VyLmpzCmluZGV4IGRmYjY3MDVj
MDZhYjFjY2NhMTViNWI3OWYyZjlkYTU2M2IxNDNkMDUuLjdiNzYyMTBkN2ZjNzNjZTA2NzhjYzgx
YTdhNjFjOTFiMGJlNzdmZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8t
dGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LmNsaXAud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5n
IHJlZ2lvbnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5zdHJva2VSZWN0KDAsIDAsIDEw
MCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxNiwg
MTYpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFs
YWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJv
a2VSZWN0Lmdsb2JhbGFscGhhLmh0bWwKaW5kZXggMzVlNGUwNjY3ZTEwNjJlNzk2YmM4Y2RmM2My
YWI1Zjg3NzMzMTJkNS4uNTYzODk3ZjM2OGY2YjViYWNmMWI2NDBmMmI0YTc0NGU3ZDBlMmFiNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuZ2xvYmFsYWxwaGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnN0cm9rZVJlY3QuZ2xvYmFsYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9r
ZVJlY3QgaXMgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGlzIGFmZmVjdGVkIGJ5
IGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAn
I2YwMCc7CiBjdHgubGluZVdpZHRoID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgyNSwgMjQsIDUwLCAy
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUi
LCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxhbHBoYS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC5nbG9iYWxhbHBoYS53b3JrZXIuanMKaW5kZXggZjI0MTIwMDM0ZjBmOGJjN2RmZjc0ZDk0YmU0
MzM4YzljZmE3NWY3Yi4uN2M4MWJjYzgxYWFlMjU3OTdlYTA2NjM1Mjg0Yzc4YjM2MmM2NGUwOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QuZ2xvYmFsYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4Lmxp
bmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1MCwgMik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3Np
dGUuaHRtbAppbmRleCA0NGI4OTY2ZTQyODQyZWU4NTlkMzBkZGI0MWUwNzUyNTEyYWI2YTQzLi41
ZDM0NGU4ODU3MzgwNWE4OTJlZGFiMGM5ZWYyZmVkYzM3NGE0ZGRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21w
b3NpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9r
ZVJlY3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJl
Y3QgaXMgbm90IGFmZmVjdGVkIGJ5IGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIxLDcgKzI1LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4LmxpbmVXaWR0aCA9
IDUwOwogY3R4LnN0cm9rZVJlY3QoMjUsIDI0LCA1MCwgMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2Fu
dmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29tcG9zaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZS53
b3JrZXIuanMKaW5kZXggOTNiZTYzYzNlYmI2YzVlOTE0YzEyMzEwN2ExY2Q2ZmI5ZGRlN2IxZS4u
ZDZlNjQ4MTRlOThhOWY1YTlhODYzNzM1YjdhNTRmNmIxMDY5ODY0NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuZ2xvYmFsY29t
cG9zaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC5nbG9iYWxjb21wb3NpdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJzdHJva2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAw
JzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJl
Y3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS5o
dG1sCmluZGV4IGJlNWY5YWEzYzc1OGVhZGY5YThkZTBiMTFkNTZjYjk1ZDg3ZGE0NWYuLmZjNzI0
MGU4YTBjMTgxNzJlYTBlMDBlNjVjZGYzMTExMjIzZGU2MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3
aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
bmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0Lm5lZ2F0aXZlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ry
b2tlUmVjdCBvZiBuZWdhdGl2ZSBzaXplcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAw
LDI1NSwwLDI1NSwgIjc1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwzNywgMCwyNTUsMCwyNTUsICIyNSwzNyIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMjU1LDAsMjU1LCAiNzUsMzci
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QubmVnYXRpdmUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDljODM5NTBhOWZjMWE0ZjlhY2Y3ODJlODc0NmVk
N2EzOGU2MGVhODYuLjdjYmNjYzRjMDFkMDhhNzljODA0NGMwYzM0YWZiNzY1MmIyN2NiNjYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5uZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NCw3ICsyOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSww
LDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSww
LDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3Qubm9uZmluaXRlLmh0bWwKaW5kZXggOTE5ODM2NTg3NmM5Y2Q5ZGNlZDg5OTJk
OGVlMzI0MzAwOWU2ODNkNS4uNjIxZDdiNjk4YmUyNTVkYjA4M2M0NWFkMTdmMzY3ZGExNmVlNzNl
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3Qubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3Qubm9uZmluaXRlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnN0cm9rZVJlY3Qubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QoKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDQsNyArNDgsNiBAQCBjdHguc3Ryb2tlUmVjdCgw
LCBJbmZpbml0eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIEluZmlu
aXR5LCAxMDAsIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZp
bml0eSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5ub25m
aW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3Qubm9uZmluaXRlLndvcmtlci5qcwppbmRleCA3ZmIxNjgxMWEwYWJlMjYzMGI4
YzJmYWM2M2M5YjhmMjIyZWU3OTI3Li5iY2QwZGViMjQ4N2ExNjkzMzE0YjQ3ZmYxYjExNzU4YmE5
MDdiNTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rh
bmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QoKSB3aXRoIEluZmluaXR5L05hTiBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtNDAsNyArNDQsNiBAQCBjdHguc3Ryb2tlUmVjdCgwLCBJbmZpbml0
eSwgSW5maW5pdHksIEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIEluZmluaXR5LCAxMDAs
IEluZmluaXR5KTsKIGN0eC5zdHJva2VSZWN0KDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJh
d2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5wYXRoLmh0
bWwKaW5kZXggZGM0OWNiZmJlNjliMzNiZjk2ZTIyMDQ3NjVhZDRhMDJmM2NmMzk4Yy4uODdmYmM0
NGQ4OGIwNTRiNTJhMzFjNjRmNjhkYTQ2NjliZjZiYjhiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0aC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnBhdGgu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ry
b2tlUmVjdC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QucGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+c3Ryb2tlUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aDwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qg
ZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBA
IGN0eC5zdHJva2VSZWN0KDAsIDAsIDE2LCAxNik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
LnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJk
LnN0cm9rZVJlY3QucGF0aC53b3JrZXIuanMKaW5kZXggYjU5MDhiMTY3NGZiNjhjZTExODhiZWVm
M2RlYmY2ZTU1MjUxMzU3ZC4uOGQ1YmJiMDU5YWQ2YTM5ZTE5NDFhM2FhODYzZDYzMGY5YzZiMTEx
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QucGF0aC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10
aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QucGF0aC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInN0cm9rZVJlY3QgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zdHJva2VSZWN0KDAsIDAsIDE2LCAxNik7CiBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10
by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKaW5kZXggYTA0MmQ5NDM1ODk0
M2U0YjVhZjc0ZDBmYmNiM2QzOTQ2MmY4NGFjOC4uYzE1MGY1ZmFjMWE4YzdhNDc0YjM1MGY4NDM4
MzYwZTZiNWI3MzcwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3Quc2hhZG93PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnN0cm9rZVJlY3Quc2hhZG93PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0
IGRyYXdzIHNoYWRvd3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJzdHJva2VSZWN0IGRyYXdzIHNoYWRvd3MiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICsz
MSw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0
eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1j
YW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFu
Z2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Quc2hhZG93Lndvcmtlci5qcwppbmRleCA3
ODFlMGI5NjljOTlkNTQ3MDE2NmM5NjUwMDk4MzgxMzU3NGY1YzFmLi45ZTkxZTk3NDI1MjcyNTVj
ODYzYzMyYjgyMTYwYTk2NmUyMjg0ZTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC5zaGFkb3cud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnNoYWRvdy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3QgZHJhd3Mgc2hhZG93
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4
LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZVJlY3QoMCwgLTc1LCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0LnRyYW5zZm9ybS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNm
b3JtLmh0bWwKaW5kZXggYmE4NTliOGQ4M2VhY2JmYjAwNjlmOWYzNDdiY2ZhY2Y2NTI1ODQyNi4u
MmM5MDEyOWIzOTUzYThmMmQ1ZTNiN2RmOTIxNDM4ZWFlYTFiMTM5MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3Jt
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9r
ZVJlY3QudHJhbnNmb3JtLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QudHJhbnNmb3JtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QudHJh
bnNmb3JtPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBpcyBhZmZlY3RlZCBieSB0cmFu
c2Zvcm1zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMwZjAnOwogY3R4LmxpbmVXaWR0aCA9IDU7CiBj
dHguc3Ryb2tlUmVjdCgyLjUsIC0yLjYsIDUsIDAuMik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmct
cmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QudHJhbnNmb3JtLndvcmtlci5q
cwppbmRleCA4NWJjNmU4YjIzYzkwZmEwYTY1OTFhODExZmJjM2JjZjM0NDMyMGUwLi44OTI3NWU4
MDllZTU0M2NmZDFiMTA3MmU3MGEzNDQ1NTk0ZTBjNWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC50cmFuc2Zvcm0ud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0LnRyYW5zZm9ybS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxSZWN0
IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5z
dHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1OwogY3R4LnN0cm9rZVJlY3Qo
Mi41LCAtMi42LCA1LCAwLjIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEuaHRtbAppbmRleCA5NzNiOWQxYWYxNGJlYmM4MTJmOTNj
ZWU1YmFkODlhNWZjZTQ5NjA1Li4xMjQ4MmFmNGM1MGRjZDAwNzZmYjQzYjdlZTUwOWEyNmU2ZGQx
ODVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQu
c3Ryb2tlUmVjdC56ZXJvLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRo
ZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Ryb2tlUmVjdC56ZXJvLjE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Ry
b2tlUmVjdC56ZXJvLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVJlY3Qgb2YgMHgwIHBp
eGVscyBkcmF3cyBub3RoaW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRyYXdzIG5vdGhpbmci
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5s
aW5lV2lkdGggPSAyNTA7CiBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjEud29ya2VyLmpz
CmluZGV4IDVkMWY0NjY0YWZjYWFjOTIzNzZkOWI2Y2U3ZjVlZWZmMDhjNjliM2EuLmZmZWRiZTVi
ZDM2NWE5YzQ1ZDcwMzRmYTg2MzkyNzIwMzlhM2JkYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
emVyby4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAw
eDAgcGl4ZWxzIGRyYXdzIG5vdGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zdHJv
a2VTdHlsZSA9ICcjZjAwJzsKIGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHguc3Ryb2tlUmVjdCg1
MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8u
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJl
Y3QuemVyby4yLmh0bWwKaW5kZXggMTYxZTI0MDgzOWZhYWNlNTZiNmFlNzA1ODM5OWVhMWQwZjhm
MTIwZC4uZWY0Mzg4ZjA5OTQ4YTMwZGYyOGYwZGFlMzU4MmVhMmU2NTU4ZjZiZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVy
by4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3QuemVyby4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuemVyby4y
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90
aGluZywgaW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiAweDAgcGl4ZWxzIGRy
YXdzIG5vdGhpbmcsIGluY2x1ZGluZyBjYXBzIGFuZCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4LmxpbmVDYXAgPSAncm91bmQnOwogY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIGN0
eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0
cm9rZVJlY3QuemVyby4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uMi53b3JrZXIuanMKaW5kZXggYmQ3Zjg1MjA4MzZm
NTBhNDY2YjVkOTA2ZWIyMmZhMGQxNTIzZDJkNS4uZGU2Y2ZlZTc0ZjZjZDVjYmJmNWVkYWJiZGEz
OWRmNWYxNTgyMjIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUt
Y2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1y
ZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJhd3Mgbm90
aGluZywgaW5jbHVkaW5nIGNhcHMgYW5kIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBj
dHgubGluZUNhcCA9ICdyb3VuZCc7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4LnN0cm9r
ZVJlY3QoNTAsIDI1LCAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVj
dC56ZXJvLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5z
dHJva2VSZWN0Lnplcm8uMy5odG1sCmluZGV4IDc1NjZiYTg0ODJhNzQyZTMzNTFjNmVlNmI5MzY3
YTQwMGJmYjc0ZTkuLjgwNDI5Mjg0ZTk5Y2I1NmM4OWE0MTUxMjcxMTJjMDI5Zjg3YWFiOGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VS
ZWN0Lnplcm8uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0Lnplcm8uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uMzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdHJva2VSZWN0
Lnplcm8uMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxzIGRy
YXdzIGEgc3RyYWlnaHQgbGluZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBkcmF3cyBhIHN0cmFp
Z2h0IGxpbmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYw
JzsKIGN0eC5saW5lV2lkdGggPSA1MDsKIGN0eC5zdHJva2VSZWN0KDAsIDI1LCAxMDAsIDApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Ry
YXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby4zLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0
Lnplcm8uMy53b3JrZXIuanMKaW5kZXggMGI3M2RlYjI3NmE2NjhkOGNmYTUwMDNjZDg4NjM1ZDZi
ZWYyZmJhOC4uYzRiYTI0ZjFiMDRjZGRjZmYxNWMzZTU2YjhiNzA1N2UxYjg3YTA5NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
emVyby4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52
YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTYsNyArMjAsNiBAQCBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgubGluZVdpZHRo
ID0gNTA7CiBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVj
dGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwKaW5kZXggZTQw
ZDc4ZDA2ZGZlZjdkNmQ0ZmM5NTRlYTg1ZDg0NTVlYTdhODZmNC4uODYwZmUzMmRkN2IxN2IwZDVj
YTMyMmMxZWI5MGJiZDAzNzhjZjJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xl
cy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2RyYXdp
bmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby40Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0cm9rZVJlY3Qu
emVyby40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnN0cm9rZVJlY3QuemVyby40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5z
dHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIG5vIGNhcHM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJz
dHJva2VSZWN0IG9mIE54MCBwaXhlbHMgZHJhd3MgYSBjbG9zZWQgbGluZSB3aXRoIG5vIGNhcHMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgubGluZUNh
cCA9ICdyb3VuZCc7CiBjdHguc3Ryb2tlUmVjdCgxMDAsIDI1LCAxMDAsIDApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2lu
Zy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjQud29ya2VyLmpz
CmluZGV4IGU3ZGU3YTVkZDE4Yzk2ZmE2NjljZjVjZmRkNDVjZDc2ZmNjYmE3OTUuLjMxZjA2NjEz
ZDFkMzBjNjgxODVhNDdlM2ZkYTVkM2I3MzM3Y2QzZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5n
LXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3Qu
emVyby40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBO
eDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBubyBjYXBzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHgubGluZVdpZHRoID0gMjUwOwogY3R4LmxpbmVDYXAgPSAncm91bmQnOwog
Y3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5nbGVzLXRvLXRoZS1jYW52YXMv
MmQuc3Ryb2tlUmVjdC56ZXJvLjUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhl
LWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS5odG1sCmluZGV4IGMyM2Y2NzVlODI1ZGQ0YWU1
NmFiM2I1NGQxYmQwYzM2ZTUyOGFiZWYuLjUwMDUzNjdiMWE0Y2Q5MjZiZmVlYjBjZjE1OWJhMGE0
MDRjZmJhYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNhbnZh
cy8yZC5zdHJva2VSZWN0Lnplcm8uNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMt
dG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VSZWN0Lnplcm8uNTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5zdHJva2VSZWN0Lnplcm8uNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c3Ryb2tlUmVjdCBvZiBO
eDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBqb2luczwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInN0cm9rZVJlY3Qgb2YgTngw
IHBpeGVscyBkcmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggam9pbnMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5saW5lV2lkdGggPSAyNTA7CiBjdHgubGluZUpvaW4gPSAncm91bmQnOwogY3R4
LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAwLCAwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3RhbmdsZXMtdG8tdGhlLWNh
bnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1yZWN0YW5n
bGVzLXRvLXRoZS1jYW52YXMvMmQuc3Ryb2tlUmVjdC56ZXJvLjUud29ya2VyLmpzCmluZGV4IGNi
ODIyNGVkODQ4ODJlM2I4MTYwNzgxNGYxMjFhMDQzMWM3ZjY4YWIuLjE1NTY2M2JjMWNhZTRmOWY0
YmExZTAyY2UwNmFiYjAyZGQ5MDAzMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLXJlY3Rhbmds
ZXMtdG8tdGhlLWNhbnZhcy8yZC5zdHJva2VSZWN0Lnplcm8uNS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctcmVjdGFuZ2xlcy10by10aGUtY2FudmFzLzJkLnN0cm9rZVJlY3QuemVyby41Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlUmVjdCBvZiBOeDAgcGl4ZWxz
IGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBqb2lucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmxpbmVXaWR0aCA9IDI1MDsKIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7CiBjdHguc3Ryb2tl
UmVjdCgxMDAsIDI1LCAxMDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5k
ZWZhdWx0Lmh0bWwKaW5kZXggMGUwMTFhZGQyZDc2MGUzMDVlODJlYWQ4MTVlNzk3ZDUzNTBjM2Fm
ZC4uYWRjNDgxOGI2NDRiMjY5MDg2NWMzYTRjOTJkNWMxNWYzYTRmNWMxNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
ZGVmYXVsdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAog
X2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgJyMwMDAwMDAnLCAiY3R4LmZpbGxTdHlsZSIsICIn
IzAwMDAwMCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IGJk
NWFmNTIyOGMxYmU3MDZjNDNhMGY0ZTFiMzljZDI5N2MyMThkNmIuLjk5NTYzZjc5ZWI4MGJiMTg1
OWQ1MzQ2MjNjYjA1NGQ4ZWFjYzM4MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsMTYgKzQs
MTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5maWxsU3R5bGUsICcjMDAwMDAwJywgImN0eC5m
aWxsU3R5bGUiLCAiJyMwMDAwMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRyYW5zcGFy
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNl
bWl0cmFuc3BhcmVudC5odG1sCmluZGV4IGQyMTI4MmE1OTAwOWVlZGNiNmI1NDc2MmY4MjkxNjM5
ZjM1YjI4MjUuLmUzOTRmODU1MDkyMjI2ODgxNWMwMWRhMzY4MTRlMmQ2Nzg2MGE4OWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRy
YW5zcGFyZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC40NSknOwog
YXNzZXJ0X3JlZ2V4cF9tYXRjaChjdHguZmlsbFN0eWxlLCAvXnJnYmFcKDI1NSwgMjU1LCAyNTUs
IDBcLjRcZCtcKSQvKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zZW1pdHJh
bnNwYXJlbnQud29ya2VyLmpzCmluZGV4IDZkNTQ0ZjE3ZTIyN2FmOTE0NTU2ZTkxMTA0MmRhOGI2
MjMxZWNlZjIuLjdmYTE1N2QxOWM4NzI2YTIzODIxMjJlZDBhYTNiMjBhMjgyMzBhZjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc2VtaXRy
YW5zcGFyZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUuZ2V0LnNlbWl0cmFuc3BhcmVudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LDI1NSwyNTUs
MC40NSknOwogYXNzZXJ0X3JlZ2V4cF9tYXRjaChjdHguZmlsbFN0eWxlLCAvXnJnYmFcKDI1NSwg
MjU1LCAyNTUsIDBcLjRcZCtcKSQvKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC5zb2xpZC5odG1sCmlu
ZGV4IDVkYTViOTc2NzUxNTU4NDUzMWYzZjhmMTgzYTQ2MzJlMzY0YzIwOWEuLjNjYmEzYTRlYjg4
NWJkZWVmYmMwNmI5NmIxNDlhMTZkN2U5NTUxYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5nZXQuc29saWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnNvbGlkLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5nZXQuc29saWQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLmdldC5zb2xpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIGN0eC5maWxsU3R5bGUgPSAnI2ZhMCc7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0
eWxlLCAnI2ZmYWEwMCcsICJjdHguZmlsbFN0eWxlIiwgIicjZmZhYTAwJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuZ2V0LnNvbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5nZXQuc29saWQud29ya2VyLmpzCmluZGV4IGFlZWE0NGFiZDFjOGYwZWU4Yjg3
YzExYmVlNGY5NWQ4Y2IwYzY5OGMuLjdmYTdmZDVhZTlkNWIwNWY4OWYyMjRlMmMzMTk3OWI5MmI2
YTUxOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5nZXQuc29saWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5nZXQuc29saWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogY3R4LmZpbGxTdHlsZSA9ICcjZmEwJzsKIF9hc3NlcnRTYW1lKGN0eC5m
aWxsU3R5bGUsICcjZmZhYTAwJywgImN0eC5maWxsU3R5bGUiLCAiJyNmZmFhMDAnIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQuaHRtbAppbmRleCBhMzkwYWJiYjg3M2Ew
ZDNkN2E0MzQ2ZDM3YmU5OTM4ZDkzZTQ1MmUxLi5mZDRjNDQ1NzNlZDM3MTVkMjQ3ZTJhNjU1NDNj
OTA5YTUyYWNhZGFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuZ2V0LnRyYW5zcGFyZW50
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5nZXQudHJhbnNwYXJlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMCknOwogX2Fzc2Vy
dFNhbWUoY3R4LmZpbGxTdHlsZSwgJ3JnYmEoMCwgMCwgMCwgMCknLCAiY3R4LmZpbGxTdHlsZSIs
ICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmdldC50cmFuc3BhcmVudC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRy
YW5zcGFyZW50Lndvcmtlci5qcwppbmRleCAzZGY5MWRkMWExYzVkYzEwMTZiMzYwZjdiZmMwOGI4
NWZlMDMxNTM0Li44YmIxNzVhMGJlN2FiNmVlMDBmNjhkMmI3ZDlkMmYzMDM4YmY5MTJlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuZ2V0LnRyYW5z
cGFyZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuZ2V0LnRyYW5zcGFyZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLDAsMCwwKSc7CiBfYXNzZXJ0
U2FtZShjdHguZmlsbFN0eWxlLCAncmdiYSgwLCAwLCAwLCAwKScsICJjdHguZmlsbFN0eWxlIiwg
IidyZ2JhKDAsIDAsIDAsIDApJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJpbmcu
aHRtbAppbmRleCA4ZDIzMjYyMDI5YzhkYWRmMDM4NjdkYzk4YWZlYjA1ODA0ZmU3ODg0Li5jZjJj
YTRjMDU3OTU4N2M4YTZjNWQ5ODM0MGM2Nzc1NTdlNGYyNjI2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHN0cmluZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5pbnZhbGlkc3RyaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5pbnZhbGlkc3RyaW5nPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiBjdHguZmlsbFN0eWxlID0gJ2ludmFsaWQnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWRzdHJp
bmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmlu
dmFsaWRzdHJpbmcud29ya2VyLmpzCmluZGV4IDUwMTg5YmRmNjhmMmRjM2YyMTRkNDU4MzI5YzVk
NGEzNjIwMzk5N2EuLjcwNWY4YWU2OTczMDIzNzQ2MDUxNDgzNjc3NjVlMGM0ZTE0Mjc4MTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlk
c3RyaW5nLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUuaW52YWxpZHN0cmluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxs
U3R5bGUgPSAnaW52YWxpZCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS5odG1sCmluZGV4IDNkMTA0
M2QyOGQ3MzI4NTFkZDM5ZGI1ZGRhYjZmYTNjZTY2ZjMwNWQuLjczZjZiYmFmNTViZDIyYTBlNTdm
YzA3MmNmNGM3ZWQ4N2IwNTU3M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUuaW52YWxpZHR5cGU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLmludmFsaWR0eXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFN0eWxl
ID0gbnVsbDsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUuaW52YWxpZHR5cGUud29ya2VyLmpzCmluZGV4IDQyMmFl
M2U4OWI5MWI0YTNkODNhMmEzNzk1Mzg5M2JiNjExZjU2OGUuLmE1OTg2OGQ0ZTE5Y2RiMTliYjc4
NDIwNDBhNWUzZjgyMDJmOGZhN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5pbnZhbGlkdHlwZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLmludmFsaWR0eXBlLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxTdHlsZSA9IG51bGw7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtMS5odG1sCmluZGV4IGY3OTU2OTRiZGU5N2UyOTg0YTM0NDAw
YmZiNDYyN2Y2Y2JjMjI0ZTcuLmVkODQ0ZWM3ZGU2MmZlN2RlZTkzMDkxYTZkNmNmOGRlNTgyYTE1
YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0x
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsLTEud29ya2VyLmpzCmluZGV4IGMxNDc5MDVkNWY3NmM2Nzg2NDc1ZTlhMzdkZDlh
M2RiYjFiMWUxODUuLjdkMzc1MTZjOTYzNzZlYmMxZTY5NDA1ZWUzNWE0MDk5Yzc5NzM2MWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAgMTAw
LjAlIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Mi5odG1sCmluZGV4IGEyYzJjNzBkNjI1OTA0ZWUxYzA0Zjk1MzM3Y2U5NzUwNGI5N2JhYTAuLmIz
NzAzNGI1MjM5NjA1ZjM0MjA1MTIwMDEwNzEzNTc1YjU0ODFhMDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUgLyAwLjIp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0yLndvcmtl
ci5qcwppbmRleCBkN2EzN2QyYzAzNzc4ZmU2MzUzYjkyOWFmMTdhODY2ZmIwNzU3ZTU3Li5lMTI1
YzcwNDQwZGQzOWMxOGE1MzVmZjM1ZWMzYjBmYzZmYmRmMDY0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSAvIDAuMikn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKaW5kZXgg
YTBiZjRmMzdkMGMzZWYzMWFmZGRlOWJiMjE5ZjBhYTAxOWY2Njg1Mi4uMmQ0MjlmMGM4ZmI4MzAz
MGM1NTdhNDQ3NDZjMzFlZWJkNDlmZGZjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC0zLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLjAsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTMud29ya2VyLmpzCmluZGV4
IDE3MDlmNDkzZGE2NDU3MGRmYzY5NGYwMzYwZmU5YjZiYThhZThmNDMuLmFlNDNhNjM3NmQ3ZTY0
MDk1NGJjZmRhZjEzZjM2NDU3NWFhODIwMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbAppbmRleCBhMjhmNjg5
NDhkOTExNmEzNjYzNTM4YThhNThjN2Y4NTYxZDg1YzZjLi40YWM4YWNkNzQxNjdjMGEzZWQyMDhl
NDkwOWI2YThiZjk0MWU1NTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNC53b3JrZXIuanMKaW5kZXggMjkzNWM1
MWYyOTE4YjgyMDhiNmU1M2FiYzA2YzZiOWM2ZjU3ZWY1My4uOGJhMWQzM2EzYzFmMTU3OWVlMzYy
MGI3YjM2ZWVhOGIwNGFhMzAwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVz
Ij4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlLCAyMCUpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS5odG1sCmluZGV4IDg3YTA5MzVkYWIyMGVk
M2E1ZTMxMTk0MDAwZjFjYTk0YTQ0MDdmMjQuLmM2NzMxOTRjYWViYjQxNDg0MTliZjUyZmVkNzI1
MmI5YTJlNWMxNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
PHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIuanMKaW5kZXggNjRjODEwODBlM2Zm
YWVlMWJiZWYyMzQwZWYwODBlYjNmNTBiNWQ2Zi4uYjM4ZDg0ZmFiODEyYzgwYTE4NDM5MGZiM2M5
ZmVhMTM4OWM2ZDJiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbC02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRtbAppbmRleCBjMThmOWQ5MDU4MmUzOTJlNGY1
MzAzY2YzNDhiMTc5YjEyYmZkMDU2Li45NDZhNzc0ZmRmMDNhMGQ1NWE3YjY5MmVkOTZlNzM2NDg0
Y2JhOTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTYuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbC02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2wtNjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Ni53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsLTYud29ya2VyLmpzCmluZGV4IGZlMzNmNGIyYmJhMzljNDhlOWNk
MjlkY2ZlMWZkMGYxMTJkZGI5NGYuLjk5Y2ZhMjVlZTVlMDYzZDE5ZTQxNzc5NTgxODNjNWYyYWFh
Mjk3NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC02Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hz
bCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wt
Ny5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC03Lmh0bWwKaW5kZXggM2FkOTVkYjE1NTc0ZWY4YjM3ZmU5NjVlMzMwOWRh
MDk3NjI2ZTkxZi4uZWM5MzljZmNmMTEyZGNjYzMyZTc1ZGQyZjA4NzQ1ZmU2OWE4ZjkyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbC03Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1oc2wtNzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTc8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTMzLjMzMzMz
MzMzZ3JhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC03
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2wtNy53b3JrZXIuanMKaW5kZXggMjFkNTFkN2Q3Zjg2ODE0NTJhMTVl
NjIxOWQyMTZlZmIxOWMwYWE2Yi4uZmJjYmJjOTk2OWMwMTdiMWIwZDkxOGVhOThjNjQxYmEyMTRk
ODM1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC03Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTcud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
KDEzMy4zMzMzMzMzM2dyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1oc2wtOC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lmh0bWwKaW5kZXggOTk3MWIyMjViYTFkYzlhYjE2Yjgw
ZmE1N2U3NjlhMGFkNTY2ODQxMy4uNTJkYThjOWNiNWQzZWU4ZTBkOGUyNjkxNmIwYTkyMWIzZjUy
ZmIwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtODwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
LTg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2wo
Mi4wOTQzOTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsLTgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbC04Lndvcmtlci5qcwppbmRleCBiNWJjNjRjOGM4Yjk3
NDYwOGZlZTM2YWY3NDU5MDBhZWRhMGM5MGFkLi4yZTMxMGRlMjY0ZDQxM2YzMWYxYTQwM2I4NzJi
NjIxZmQ1YWIyNTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTgud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdoc2woMi4wOTQzOTUxMDI0cmFkLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsLTkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS5odG1sCmluZGV4IDBkOTlkMTQ1N2ViNjZl
ODVlZmVhYWY3ZDZlNjIyOTdhYzRlZjlkNjEuLmQ4Y2RhN2ZmYmJiMThjMjNkNjNhYWFlMDNiOTI2
YjA5MGZiYjE2YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsLTk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbC05PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
PHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnaHNsKDAuMzMzMzMzMzMzM3R1cm4sIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2wtOS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsLTkud29ya2VyLmpzCmluZGV4IGNhZTE5
NTMxZWIwMjhlZWFlZjc4N2YxNWIwOWQ4YmY1NDNlN2E2MGUuLmZiZmNiYWUzZjVmMTg0YzM4NzY2
MjA1YTMwYjgxZjZmMmEzMmI2NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2wtOS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbC05Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgwLjMzMzMzMzMzMzN0dXJuLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwKaW5kZXggN2Yw
M2Y3MWJlNjA4NGIzYTU0Y2Y5ZDMxZTM1ZmJjNzNiMjQ1NWNhZi4uMzU1Y2U4OGY1YTJjMTQ0NDU0
NjczZWNjNzZmMDM0ZTY4NzliNGZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1o
c2xhLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCAxMDAuMCUgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKaW5kZXggMjFi
NDRjZTdmOGM0NDk0MGU2OWIxNjJlNDdjMDBhMDEwZTA2NzAzZS4uMTZjZjE5MzJmNWZlZjE4NDk0
MjBhYWEwYzEzMzY5ZjZiNGI5NjIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwIDEwMC4wJSA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMi5odG1sCmluZGV4IDAxNDk1N2RlZTEyZDFl
NDQxYWY1ZTViMzk3YjU3MzgzYjU5MTc5NWQuLmI5MTMxYTkzYjQ2M2MyMzNmMjIwY2JkZmRhNmVh
OGVkYzM4ZWViMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlIC8gMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcwppbmRleCA3YmY3OGI5Mjg2
Y2FhNzdhMmYxNTk4ZDNiNDIwNjE0OGNjZWJkYjkzLi41YmJkNjE4ZTA3OWEyZGQ0ZWJhNTYyNWU3
Zjc4N2MxODVkZDhmZWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjAgMTAwLjAlIDUwLjAlIC8gMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCmluZGV4IDlmZGU3YmQ5NjNkOGJiZjVl
MjEzOGI2OTFlZGVjNjNhOWJhMzA3YjIuLmJmOGJkMWI1YThiNDQwYzdmOWRkM2Q0OGIyMzU5NTVi
Zjg0ZDgxMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2xhLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwppbmRleCBmZjZhYjgwMTc2
MTVmYTYxOGZjMTNhYjIxNTAxNTQyZTgwYmRlYzFmLi45MDAxNGM4MjJlY2RjOGJiYWI1ZjhjOTky
OWU3NTY1YzExNTdkNWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNs
YS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMC4yKSc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNC5odG1sCmluZGV4IDU2Njk5MzE4YTVjMTg2
YmQyZmVmMzJjN2U5ZDNkYmY0NjRhNzA4YjguLjY1NmVhY2Y2YWNkYTY5YjZhOTNkNDAwOGM1OWYz
OWMxZmYyMmZkMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LWhzbGEtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lndvcmtlci5qcwppbmRleCBmMzkxMGVm
OTBmNGNmNTRlZTQ3MzAyYmNmZTc2YmNjMWRhMDQwMTBhLi4yNTFkNDdmZjU5OGVmNmFlZjJiMDQ1
ZTVlZWMyNTQ4OWY3ODliYjZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS00Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
aHNsYS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSwgMjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS5odG1sCmluZGV4IDFlMTk5MGYyZmFl
ZTA5MjQ3NGE3ZjFhYzFlMjY5ZmNmOWJiM2Y2YzAuLjc3NDAzY2IyZjFmNDIyZTA1ODM3N2RmYTFh
OThjNzVkZTk2MTYyZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS01Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LWhzbGEtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUsIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS53b3JrZXIuanMKaW5kZXggYzk2
MzFlYzMwMjVjNTMzNTE5ZTIxOWU2ZmNkY2ZhY2RiM2E5YTI4YS4uOTIyMmY0YzVkNmQ4YWJhMTE1
NGJlNmM2YTBlZWQ5ODUxNmIyY2M0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LWhzbGEtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwZGVnLCAxMDAuMCUsIDUwLjAlLCAwLjIpJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lmh0bWwKaW5kZXggMGYxYjY0
NGVhMjExYzYwNWI3MDVmNGI1ZTU3NDgxYmZjNzlkZDVjYy4uNjA0ZDJlNzFjODVlMThlMmExMmFj
YjdmNDMyY2MxYzI0N2NiYTJiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsKDEyMGRlZywgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LWhzbGEtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lndvcmtlci5qcwppbmRleCBj
NmU0NDMwZDk0NzQ0NzJhZDA1NGYwNzRkMzYxNzIwN2Q3YzY1ZjMyLi5iYzFkMzBiZTU1ZjQ4M2M2
ODNiMjkzNDUzMDk3YWJhYjI2NDMwODgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS02Lndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsYS02Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjBkZWcsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1oc2xhLTcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTcuaHRtbAppbmRleCBkYTI5MDc2
MmQ1N2RlZDlhNThlOWNjY2VhZjc3NDk3NmQxMjNjYTI4Li5hMzZmM2JiOWI3MTE0NGUxYTZjZTk0
NjhiYTkzNmEyOGVmYTliMzk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
Ny5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2woMTMzLjMzMzMzMzMzZ3JhZCwgMTAwLjAlLCA1MC4wJSknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtNy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lndvcmtlci5q
cwppbmRleCBjZmVhZWZkMDZkNzE2NzBhNWRhMWJjOTllMTNmMTY5ODAyNDIyNThlLi4wZTgxYTgz
NGQxNzNlNWNjMWRjYTUzOTNkOWMwZWE5N2E0NThkMzlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS03Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtaHNsYS03Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMzMuMzMzMzMzMzNncmFkLCAxMDAuMCUs
IDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04
Lmh0bWwKaW5kZXggNDA0Mjc3ZDhhMGU0N2Q4NmNlMzJhYTgzN2M2MTA1ODlmNjQzZTEwNy4uM2Y1
ZDE1Y2Q5NGIyOTkwODMxOGVhMzhjNDUxYzRmYjM5OTY4NTVlYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEt
OC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1oc2xhLTguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtODwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDIuMDk0Mzk1MTAyNHJhZCwgMTAw
LjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9y
LTQtaHNsYS04Lndvcmtlci5qcwppbmRleCBmYjM0MTVhZDkwMzRlMDVkMTgzMmI3ZGE3Yzg4ZTZl
NDgzYzgzMTE0Li5hNTNmNGNlNjc4Y2RjZGM0Yzk4MmE4ZDc4ZjhkNmM5NGY5NDdhN2FmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtaHNsYS04Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS04Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgyLjA5NDM5
NTEwMjRyYWQsIDEwMC4wJSwgNTAuMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xh
LTkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1oc2xhLTkuaHRtbAppbmRleCAyYmQ1YTEwYTk3YzE4ZTI4M2E0MzY2YTU2YjA3
MmE1MzhlNjk5NTMzLi44NTI1ODc3M2RlOTk4MzM1MGFkMWEyOGI3MmRmZDg5NTlkYWRjYmQ0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtaHNsYS05Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LWhzbGEtOS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtaHNsYS05PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1oc2xhLTk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMC4z
MzMzMzMzMzMzdHVybiwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LWhzbGEtOS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05Lndvcmtlci5qcwppbmRleCAxZGYxYzgyYzhmYzFm
ZDgwYmRhYjUyOGI3YmI0MzNkYjBkNjYxMjIxLi5mZmJjNGIwNjU1NTRhNDBlY2ZkZTA1MDFhMTZi
YTRhYTAyMzAyYjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtaHNsYS05
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ2hzbCgwLjMzMzMzMzMzMzN0dXJuLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCmluZGV4IDMzMTJkMDVhNDI2
YWU5NDhhMDc0YWMwZWRmYjIzZmIwMGJkNWM3ZTQuLmNkODhkZWJmMjJhNjFmZGE3YjAyM2FkMWJk
MTllYTgzY2IxNTdmZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYi0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAncmdiKDAsIDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcwppbmRleCA0ZDEzODZhNTliMDk3ZjA0YTI2YTgw
ZTE4ZTZjNGE5Njc3MzA4YmUyLi5iMDk1ZjBlNjgyYTA1ZjA5N2FmYWY1MGUxM2UwNDM4NTYyY2Nh
YWQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2Io
MCwgMjU1LjAsIDApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi0yLmh0bWwKaW5kZXggNzE2ZDRmODA3ZTk1YTY1MmMxZTM3NWM3NDljZDQ4Yjk3NzA4ZWY2Yi4u
YjY0MjNmYjAyMDU2M2JiMjJiN2YzOGM2Y2EzYTk2YWQ4ODg2YjE3ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJn
Yi0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMjU1LCAwLCAwLjIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcwpp
bmRleCAxMDAzMDllNWJjMjE2OWQzOGRmOTQyYWZmNGI3YTZmYTdhZTcwM2NhLi43NGJiYWIzODIx
MDc0MDAzZTZlNzEzNGU3MDNkMmJhOTQ0Y2YzY2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTIud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBj
bGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMjU1LCAwLCAwLjIpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCmluZGV4IGIwZmFhMDU5NDlkZWZi
Yzg1NGIzYTM5OGQ4OWFmZjRmNjA4N2ZhMWMuLjMwZjEzYzI4ZjY4MGFhOTRiNzUxNWY0MWVlYWQ2
NmZjYzRhMTM0ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UuY3NzLWNvbG9yLTQtcmdiLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LXJnYi0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
PHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1Iiwg
IjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi0zLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKaW5kZXggNmFjNDc3OTVlZDhiODQwMmVmYmMyMmI0
Y2NkYzgxZmUyMjVmNDEyNi4uNTg3YTVmMzZjZDAyYzAyYWU4YTA2MzI5YzlmMTU3ZWFiMDQ0ZDAy
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYi0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAs
IDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAs
NTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTQuaHRtbAppbmRleCBkZjg1ODAxOWE5OWRkYzBmN2FhZTA5NGUzNDM0Y2MwZWQwZDBmMDFkLi5j
ZWYwNGZkNzkyYjQ4ZTFlZDc3NGM0YzU5ZmIzMjFlZjNmOGQxMjZjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
LTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1NSAwKSc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwppbmRleCBh
Y2RmYjJkZjQxNTZhM2FlZmJhNTQ4ODE5MmI3Njg2MDdlN2QwM2I4Li5jMmIxYzJhMzY1ZWM0ZTRj
ODIwYjlmZmZkOWJlMTFjMDQ5NjAwYWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29s
b3ItNC1yZ2ItNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCAyNTUgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00
LXJnYi01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbAppbmRleCBiMzg5MDNiMGIyMzBjZDkzNzUyZmQzNmNj
MTY3NGJiMGE4Y2VjYjliLi4xN2Y1NTkxZTc3M2JiNDg5OTA1ZWZiNmE3ZmI5MTI1Y2QyYTY5M2I2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTUuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1j
b2xvci00LXJnYi01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJu
b3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDI1
NSAwIC8gMC4yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1y
Z2ItNS53b3JrZXIuanMKaW5kZXggN2M0NGRkZDIxZmFlNzY5YmRjMjU1MjlmZDEzZTBkZWY1NjI2
MTIzZi4uNzIzNzkzNjQzZTNjYWRhYjc2MjkzNmRhMTMxZjNlYjJhNjkxMzU1NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LXJnYi01Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAwLjIp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi5odG1sCmluZGV4
IGM1NGQ4ZGZkMGU5MjcwZGNhOGViMjBkYjgzMjQ5MTgwZDk4ODM0NTcuLjQ2MTc0ZDQwYWRmNDM2
N2EwOWIxNzJiMWEyNmE2MzU1YmJiY2M3ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2ItNi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2ItNi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTY8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmNzcy1jb2xvci00LXJnYi02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMjU1IDAgLyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYi02Lndvcmtlci5qcwppbmRleCAyMWQ2MmY2MjEz
MjM2ZDYxYWE2N2NkOGM1YTJhMGRkZDMyY2VmYjY4Li4wNGMzZTgxYjIxODkzOTc3NWJjYTJkZjc0
Njc2ZjE1Y2Q3ODk2NTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiLTYud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2It
Ni53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMCAyNTUgMCAvIDIwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsNTEsICI1MCwy
NSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2Jh
LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2JhLTEuaHRtbAppbmRleCBkYmM4MzFkYjM4M2Y3ZTZhYzYxNzM0NzJhY2Ji
OTQ0ODcyODRiNTU0Li43ODFlYmQzMjcwNTliN2QwMmI3MDgwNTdkNmYyNWVkZDdhZDVhZjM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuY3NzLWNv
bG9yLTQtcmdiYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAs
IDI1NS4wLCAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2JhLTEud29ya2VyLmpzCmluZGV4IGNiYjY4MDYxMDc1Mzk3MGNlYTBjNDgzNTAwZjRmZmZk
YzFjYjgzMjguLjNkZWFkNzNkYzJkNDdiMWRkZmRjNTllOGE2ZDI0Y2RmZjdkZjEzNDUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUu
MCwgMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMi5o
dG1sCmluZGV4IGMxZjljNmJhZjZiYzBlNDZjOWE3NDFiZTQ1MDFlMGQ3YjJiNTFlZmIuLmJlMzY3
YTY0MGVlNzQ3YWM1NzNiZWRmZDRhMWUyNzJkYmE2ZjllYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3NzLWNvbG9yLTQtcmdiYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAwLjIpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpz
CmluZGV4IGVlM2EwOWE4Njk4YjcyZGEyMTc2NWRiNGIwMTg1MDZiY2Y4OTQwMTcuLmZkZmIxZTI4
N2NjZWE4ZTM0NjgyYmU2ZGNiNjMxNWNkOTVjOGI4ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDAuMiknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbAppbmRleCBmOTkyNjYz
ZGY2YThkZjRhYTY2NGQwMjVmODBjZTJiMzA3YWJjYzIzLi5hNDBjMjI3ZDE2ZjczNmQyMDVhZDE4
NDliNWQ0Y2JkYWEyY2E1NzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEt
My5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5jc3MtY29sb3ItNC1yZ2JhLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1
MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xv
ci00LXJnYmEtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcwppbmRleCA3YjVmMzkyNmU0
MTU0MGRmYjUxNDkyZWM0ZTUwYTA2N2I1OTViMDMzLi5hNDU2ZTY1MGRmNWI1NzE2NzAwMWMxYjZh
OTAwMWM4MzZkNGUyNGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAi
NTAsMjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQt
cmdiYS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuY3NzLWNvbG9yLTQtcmdiYS00Lmh0bWwKaW5kZXggNDgyYzk1ZmVmYzhjZjQ2OWE4MTcxNmU4
NzFhMzJmM2MzYWQxYWNlNC4uMDkzZTM0ZTA5OGZhNGU0ZmE3MTFjMTI0MzFiNTk0Yjc0Njc4YmUz
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYmEtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNz
cy1jb2xvci00LXJnYmEtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSgwIDI1NSAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS00Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3It
NC1yZ2JhLTQud29ya2VyLmpzCmluZGV4IDhlMDI5MzUwZDM4OGYzY2JhYTVlOGRmNzZmNzU3NjVl
NTJhNzE2YzYuLjRjZGExYmEzMjMzMTIzOGVjMGQ1ODg0YzE4OGViNzlkNmEwMzlmNzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwIDI1NSAw
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lmh0bWwK
aW5kZXggZGRmZmY1NTFkN2M1Y2E5ZjYzYzE3NWM2MDllOGI0OTcxNjRmNTM3OS4uNDk2ZThiODYx
ZGI2NmVjYzMxZDllYTgxMTU0NTU5N2M5YTE0MDdjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwIDI1NSAwIC8gMC4yKSc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCw1MSwgIjUwLDI1IiwgIjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmNzcy1jb2xvci00LXJnYmEtNS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lndvcmtlci5qcwppbmRl
eCAxNGQyYjMwMTUzNzhlZTNlMDIzZjBhMGZkYWZmZjlhY2ZmNjRmZjM5Li5iZjliNzZiZmNlMGM0
ZjQwZDI2YTEwNjI5NjEzMWJhNzJmOTE0MzNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS01Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3Nz
LWNvbG9yLTQtcmdiYS01Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCAyNTUgMCAvIDAuMiknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsNTEsICI1MCwyNSIsICIwLDI1NSwwLDUxIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5j
c3MtY29sb3ItNC1yZ2JhLTYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYuaHRtbAppbmRleCAzMzljZjVmOTE4Yjdl
ZjY3MTQxZThhZmUyOTBhMjZiNzM0NDEzMjQ1Li44MzA2YjgzNmIwOGM3Y2JhYzljOWQ0Nzg3OWJh
Zjg2MTJhMWQwMjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmNzcy1jb2xvci00LXJnYmEtNi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdiYS02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5jc3Mt
Y29sb3ItNC1yZ2JhLTY8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2JhKDAgMjU1IDAgLyAyMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDUxLCAiNTAs
MjUiLCAiMCwyNTUsMCw1MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuY3NzLWNvbG9yLTQtcmdi
YS02Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYud29ya2VyLmpzCmluZGV4IDAxNmM3Y2M1MWE5MjIxNzA5
ZjU3NmM5MzE4YTNmYzAzZTM5NTMxMWUuLjBlMjBlODQ5ZGE2YjJiOGIyMDUwMjZjYTZjMTI1OGU0
OWZmOWM0Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5jc3MtY29sb3ItNC1yZ2JhLTYud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwIDI1NSAwIC8gMjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw1MSwgIjUwLDI1Iiwg
IjAsMjU1LDAsNTEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLmh0bWwKaW5kZXggNjYz
NzY5M2I0MTBkNDI2M2E1NWMzZTk0ZjBmYjY3YzFkNTQ5NmI5ZC4uY2NjNzI5YTA0M2YxYjBmZTg1
NGQxY2I1YWYyNDY4ZDY4OTg2YjUyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaGV4MzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaGV4MzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDMud29ya2Vy
LmpzCmluZGV4IDhjY2ZlNmQ2OTRlZjBlZjEyZmU1ZTE0NjNhZmFhZGU3ZDViZTQxMmMuLjMxMmUw
NDAyZWU1MWQ0ZDRmYmRiOThlZGQ4MjFiNmQ1ZWM1MjNkOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXgzLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4My53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC5odG1sCmluZGV4IDQwM2VhOTAzODcxZjM2OTlh
OGQ5MzY4MDIwYjI4ZjE4MTA1MWEyMjIuLjA3YTU2M2FkZGRhMjQ0OTU0ZTcyODMzOTZhOTE4YzEz
NDJkMWU2NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oZXg0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhleDQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLmhleDQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwZic7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4NC53b3JrZXIuanMKaW5kZXggZDg3
NDNjMzBlYzJjMzYzODJiMmQxMzU3NGUxNWM3MWRlNzRhMjE0Mi4uOTNiNTliYjBhNDFiMzJmMmQw
YjdkNTU0Y2VkZmI5YjU2MWM1NTU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg0Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjBmJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oZXg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaGV4Ni5odG1sCmluZGV4IGMyZGJlOTA0YjU2MmM4MjA1YTNkYzkzYWRjZDQz
ZjVjNzFhYmI4ZTIuLjQ0OTQ3ODJiYzI2Yjk4NzM0OTBlNDU5NGQ4ZGQxYzBiNGFlYzlmNDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
ZXg2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhleDYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLmhleDY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhleDY8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICcjMDBmRjAw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg2Lndvcmtlci5qcwppbmRleCBiNmZlNTgzYTg3OTll
MGNhYTQ0NzBhYmMyOWI2MzlkMTFiODhhYTRiLi4zYjM3M2VlOTVhOGJhNzU0ZTRlNWUzYjllZGY4
NDM2NDIzOTliODVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaGV4Ni53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhleDYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAwZkYwMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaGV4OC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhleDguaHRtbAppbmRleCBiMDkwOTZlYWUwY2ZjMmI5NGVlZDQ1NDBiNDE3MzA2OGIzNzIz
ODdlLi41MjVmMjA3NzI3ZTVkMDZhNTc4ZTRhODQwNjA5MWRiNTNjN2Q0ZDA0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaGV4OC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5oZXg4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oZXg4PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4K
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAwZmYwMGZmJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oZXg4Lndvcmtlci5qcwppbmRleCAwNmI1ZmQwZmJkY2FhY2Q2MmY0
ZWRhZWJiM2ZlMjJhYThiOTAzNzNjLi5iNzFmMTUxMmMzZjNkOGUyZGU4MzM1ODUxYjE3MGU5Zjdj
YjNiMDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaGV4OC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmhleDgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzAwZmYwMGZmJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2wtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC0xLmh0bWwKaW5kZXggZjZmOTk4Mzg0ODRhYzYzODZmZTA2MDMxODJlMjE5MTI0YWI3YTI4
NC4uODAyMTBhNDcwNjIxYTIxNDkzODdhYjNlZGZjZGQzMmNjNzU1ZjQxNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0x
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLTE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMi
PgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIwLCAxMDAl
LCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTEud29ya2VyLmpzCmluZGV4IDUwM2Y1
YjY1OGI4N2UxY2MzOGUxMTllYmRjNzFlMWU0MjI0NTNiYjUuLjM3ZTcxOWQ0Yjg5Mzc1YTNhZmU0
MDZhYzI5YTJmMTQ0MWVlNjUwNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEw
MCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbAppbmRleCA3ZGY5MTE1ODBhOTZk
MmVmNWU2ZjMwODE1MjM3N2QxYjkxMThjMjdjLi4zNjAwZmY2ZGIyMjJlODY4ZjlmM2FhNjNkNDBm
MDg1NTdlMzBkMDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0yPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ2hzbCggLTI0MCAsIDEwMCUgLCA1MCUgKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC0yLndvcmtlci5qcwppbmRleCBiYjkxODJhOGI4ODdiZjIzZGZjYjgyODYzMDQ4Njg0
MjA4YzI3MmU5Li4yZjViNGU5MWIwM2JjMTQzODZkZWQyOWVmNjA4ZGM2NWI2NDQ5ZDBjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFz
cz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogY3R4LmZpbGxTdHlsZSA9ICdoc2woIC0yNDAgLCAxMDAlICwgNTAlICknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLTMuaHRtbAppbmRleCBlNTZjOTVmYjI3NmRhMTQ3ZDE2Y2FmNzRmNmU5ZWQ3Yzkz
YzY1ZGY4Li41ZWJlMmVhNzFlNjJiYzcyM2M4MDJkMThlNjZmNjI2M2YwMDBkNzc4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJu
b3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgzNjAx
MjAsIDEwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtMy53b3JrZXIuanMKaW5k
ZXggMDgwOWZkNDI0ZTE0YjlkYTkxNzAyYzNmYzE5YTY2NDMxMTZjY2Y5Yy4uZjQwMWYzOGRkMThl
ZWI1MzAyZTRkODM5Y2RlODY4MWFmNjRlMTllMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC0zLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTMud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNs
KDM2MDEyMCwgMTAwJSwgNTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNC5odG1sCmluZGV4IGYy
M2E3NzA1Mzk0MDM2NjAzNjk2ZWRjOTI1ZjU3OGY5YzI2MTAzNGIuLmYyOGNmNDlkMDk2NWM4YmVm
ZTVjZjg5YTQwY2FlMmE1OGUzOTNmNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLTQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKC0zNjAyNDAsIDEwMCUsIDUwJSknOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2wtNC53b3JrZXIuanMKaW5kZXggY2NiYzNjZGE4OGQyOGE5MjFmY2Q1
ZmZmZjJjOGM1ZDNkNWJkNzkxOS4uODYxMTVhODg4YzQ2OTZlYzI4OTkzY2I0ODZhMDIyODNiMDMw
ODBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKC0zNjAyNDAsIDEwMCUsIDUwJSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsLTUuaHRtbAppbmRleCAwZWY4YTBhOGNkZDg2NGQ4Zjk2ODFlZjcx
MDRmMGM3OWU2MzlmNTBjLi44Nzc5YmY5NTRlMjIxYmRjOWFmN2YzM2RhNjUyODk1YWJmNWZlOTgx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaHNsLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaHNsLTUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2wtNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbCgxMjAuMCwgMTAwLjAlLCA1MC4wJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNS53
b3JrZXIuanMKaW5kZXggNDJhOWY5MDkyNGUxNjU0Nzk4Yzc5MDdmMzE1ZWVjYjQzOTVkODBiNi4u
MjE2ZGU1NzUzYzNiNzE3NWUxMDQ1ZDMxYWFiYjIxOWZkNTBjZGFlYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC01Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
LTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4K
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxs
U3R5bGUgPSAnaHNsKDEyMC4wLCAxMDAuMCUsIDUwLjAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
Ni5odG1sCmluZGV4IDQyMGI3ODdlYzhhMWIwZjM2N2E0ZjBhNzg3ZjkyZmJjOTM4Y2FjNWUuLmE0
YTNlNzljNGM0ZmRiM2E0NDIzMGRmMTA2YmJmMTczMzlhODdiNzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaHNsLTY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKCsxMjAsICsxMDAlLCAr
NTAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC02Lndvcmtlci5qcwppbmRleCA5YTUzNjg2
MjBmOTkyZmE4ZTc4ZWE3ZDBmMDNhMTkxMzcxOTg3ZjAxLi43YTdkMzRkNzNiNDQ2Mjg1ZDkxNzk3
OTlmMWUxZGQ3Mjg0NmY5ZGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtNi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woKzEyMCwgKzEw
MCUsICs1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLmh0bWwKaW5kZXgg
ZjU4Njk1OGNkZGM3ZmM0MGEyYjFhZGIyNDRiMzRmMzlkNTMyOTNjOC4uMjMzNjJmOWIwYmFiMzU4
YTUyMjRiNzE4YWY5MzgwMmJiM2EzZDg3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5oc2wtY2xhbXAtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0i
bm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2woMTIw
LCAyMDAlLCA1MCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTEud29y
a2VyLmpzCmluZGV4IDZjNTk4NjA2ZWY2YWQzYmM1NWVhN2YzMDk3MmQ0YjFiNjBkM2JhMjAuLjJk
YjA0NTg1YTRmMDJmNGZiZTBmNmMzZTBhY2Y5OWM1MDNhODZkMjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC1jbGFtcC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDIwMCUsIDUwJSknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bC1jbGFtcC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLWNsYW1wLTIuaHRtbAppbmRleCA5MmM5Yzk1ZTIzYTU2MDY5ODNhMjE2ZmQzM2Q0
YTkwM2FkMWY4ZmM3Li41MzlhOWMxMGU4NThhMmFlNjgzOWFhYzBiNTZkMWE0OTdiNjk3ZDZhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIC0yMDAlLCA0OS45JSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0yLndvcmtlci5qcwppbmRleCA3YWFj
MWM5OGU3ZGRjM2ZjY2ZiY2QxNTllYzI3MjhkODMzY2NmNmRiLi5lODE3ZTA1ZjI2MWYzMGQ0MTE0
Nzg4ZjIwN2M1ODZhODFiYzE0YjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9
ICdoc2woMTIwLCAtMjAwJSwgNDkuOSUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1
MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFt
cC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsLWNsYW1wLTMuaHRtbAppbmRleCBhNmNmMTUwNjlmN2IyZDY3ZTgyNjg3ODI3ZDQyNzA2YjQ1
YTg1OTBiLi44OWE2ZThkMDE1YTViNGQ1MThiNGZlN2ViZjkzM2QzZjE3ZmU4MmI5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNs
YW1wLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsLWNsYW1wLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5oc2wtY2xhbXAtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2hzbCgxMjAsIDEwMCUsIDIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAyNTUsMjU1
LDI1NSwyNTUsICI1MCwyNSIsICIyNTUsMjU1LDI1NSwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbC1jbGFtcC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtMy53b3JrZXIuanMKaW5kZXggMzQxMTUzYjA5MWQx
MzRiZWM4NTk3OGUwMTBkNzk0MTY4NmZkYjJiYi4uZWQzZTZmNzZjYTE1MzRkZTQyMmUzZmNmZDUx
M2RhMzUyMjg0Y2E2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcg
KzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEy
MCwgMTAwJSwgMjAwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1
NSwyNTUsMjU1LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAt
NC5odG1sCmluZGV4IGFjNDE0ZmQ2YmUwODE1MzQ2NTdhM2FmNzg2ODk0ODYyMWZhNWUxYzIuLmE1
YzRlMjE5N2Y5MzZkYWU0OTEyNDJiNWRkOWFkNThmYjA5ZDgwNzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wtY2xhbXAtNC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
Y2xhbXAtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsLWNsYW1wLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmhzbC1jbGFtcC00PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5
bGUgPSAnaHNsKDEyMCwgMTAwJSwgLTIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwyNTUsICI1MCwy
NSIsICIwLDAsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1jbGFtcC00Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2wt
Y2xhbXAtNC53b3JrZXIuanMKaW5kZXggNDAzOTYyYWZjNjRiOTQ5NDE2YTNmOTIwMTVkMjZlNTlk
MjZjNjJmZS4uYTZkMWViYzc4MDNjMjJlODI2NTg5MzJkZGUyYmVlNTZjOTcxMTQzNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbC1j
bGFtcC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaHNsLWNsYW1wLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsKDEyMCwgMTAwJSwgLTIwMCUpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwyNTUsICI1MCwyNSIsICIwLDAsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtMS5odG1sCmluZGV4IGJlNTk1ZDdhNGNjMWU0NTNhZWVmOTJkZDBjMDIw
ZGRkZTc1MDA1ZDguLjZiYWZhNmJiNDMwYjFlZWEwMTNlNTVhY2FhYWM5Njk2NzVhY2NlMzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxw
IGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0g
J2hzbGEoMTIwLCAxMDAlLCA1MCUsIDAuNDk5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1
MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LTEud29ya2VyLmpzCmluZGV4IDgxODVmZGQ3YzkwYjQwZTM0NTZjYzEyNWM5OTJmZWJjNWQ3OTE3
MDMuLmYwMTcwOGRiOWMwY2YwOTg0ZGEwZTgxZmNhMGM1MDYwYWU5NzdjNjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5v
dGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDUwJSwgMC40OTkpJzsKIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLTIuaHRtbAppbmRleCBjMWQwNDg2ZGQ3ZTUyNmU0ODlkY2U3NzgwYTMxN2M2ZmEw
YmFhM2YzLi4yOGUzZDZlOWEzNjQ2M2ZjOGNiMmQyOGRiY2FmZGYzODUzNzAxYTYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5maWxsU3R5bGUucGFyc2UuaHNsYS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xh
LTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFz
cz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xh
KCAxMjAuMCAsIDEwMC4wJSAsIDUwLjAlICwgMSApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLTIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhz
bGEtMi53b3JrZXIuanMKaW5kZXggOTFjODgyZWMwN2UzMWFkMzg5ZDFmZGFlOTZmNjAyMzUzZDRj
ODRlMy4uZWJiM2IyNTA2ZjVlOTdhNjU1ZWUwOWFiMjQ5ZWEwYTc2NDVmMmQwZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmhzbGEtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
Y3R4LmZpbGxTdHlsZSA9ICdoc2xhKCAxMjAuMCAsIDEwMC4wJSAsIDUwLjAlICwgMSApJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEuaHRtbAppbmRleCA4MGIwZWNmMzM4MzBk
MjRjYThlZTQ5MzZlNzk2MGY2M2Y5MTE2ZTdhLi4yYzdmN2ExMmIxNTIwY2JhMzg4ZmQzM2Q2ZDI2
MzM4MjhhZWQ0ZjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaHNs
YS1jbGFtcC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMjAwJSwg
NTAlLCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEud29ya2Vy
LmpzCmluZGV4IGIwMzE0MTY2MDFmYmY3NGYwZjM3MmNmMjk2OWQ1OTg0OTg0Y2U1N2YuLjlhZDY2
N2NkMDMwMjhjMzkzYjFjNzQwMDgzOTczOGQ3OGRjYWI4NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTEud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9
Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDIwMCUsIDUwJSwgMSknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtY2xhbXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi5odG1sCmluZGV4IGFlNGU2MzdhMjI5NjhmOGYxNGQyZWY4
ZjkzMDZhNDU0ODU3MjU2NmUuLjVmMTNhYzQ0N2NmMDMzMThjYjliNTQ5NjhlMDdkOTEwYzE2Njlh
YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5oc2xhLWNsYW1wLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAtMjAwJSwgNDkuOSUsIDEp
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0yLndvcmtl
ci5qcwppbmRleCA2NzFjYTFhZDM5MGY5NGZiMTE4NDkwMDZhYzRlOTA2NmIwNWQyMzg2Li5lMjY2
YzQ0NTgxYzY1MzdhZGI3MGYzM2UwNzg3YTNkNDQ5N2RlMWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aHNsYS1jbGFtcC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNz
PSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAtMjAwJSwgNDkuOSUsIDEpJzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy5odG1sCmluZGV4IDllMzU2MzRiNTM3
Yzg0YWJkZTE2M2VjODY1NDVmNjUxMzA5ODBiODEuLmI5MWZmZDdmZGU0NzRhMGYxZWRlNjZiNmZi
Y2YxNjdkMGRkZTY0YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC0zLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5o
c2xhLWNsYW1wLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtMzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAl
LCAyMDAlLCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMjU1LDI1NSwyNTUsMjU1LCAiNTAsMjUiLCAiMjU1LDI1
NSwyNTUsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtMy53b3JrZXIuanMKaW5kZXggYTYwNDVjNjE0YWIwNWQ0OTZjNzc4ZTcyMDljOWQ1ZTViMWFj
ZWJmMi4uZDNjMzlmMTE1ZGQ0NWYzNTU0MzQxYTI2MTM0MzQxOWEzM2FkOWUzMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xh
bXAtMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmhzbGEtY2xhbXAtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgMjAwJSwgMSknOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDI1NSwyNTUsMjU1LDI1NSwgIjUwLDI1IiwgIjI1NSwyNTUsMjU1LDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00Lmh0bWwKaW5kZXggODU4
YjQ1OWMxZjU2M2U1ZTgzNjhjYTUzMzY1OGQ5ZmRlMmFjN2UyZi4uMmQ2NjQwMmY1MjE2MjRiYjg2
OWE5ZGFhMmNmNDJlMmM4MjJhODFjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC00
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9
Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgx
MjAsIDEwMCUsIC0yMDAlLCAxKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMjU1LCAiNTAsMjUiLCAiMCww
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
NC53b3JrZXIuanMKaW5kZXggNzdiZTdiZTA0MWJlNmU5ODA1OGJmZmEwYjg5ZjQxM2U0YzE3MzA3
Yi4uZmViYWE1ZjQxNzRlMTVjNGY2ZjYzMDAzN2VlZTIxOWI4YWM3OTUyYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAt
NC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8
cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgLTIwMCUsIDEpJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDAsMCwyNTUsICI1MCwyNSIsICIwLDAsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmhzbGEtY2xhbXAtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS5odG1sCmluZGV4IDI4NTEwOGE2ZTc0YTYzNmRj
YWI5MjUwMjFlNzM2Njk2NDVhZTI5M2EuLmZkMmVlNDVlOWJlMzQ0YjYzNGVjYTI3NTJhNmZjZTFi
NmFlYzliYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC01Lmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNs
YW1wLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMTIwLCAxMDAlLCA1MCUs
IDIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS53b3JrZXIuanMK
aW5kZXggZDUzNGQ0ZDZjNzJiNGY0NTljNDgwMjZjYmE1NGExZmQ2Y2ZmYTA1Mi4uOTQ0N2MwYWFj
MDY0NDNjN2YyYmRiNTY0ZDM4MzQzYmE5YmMwNmIyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEt
Y2xhbXAtNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdoc2xhKDEyMCwgMTAwJSwgNTAlLCAyKSc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHNs
YS1jbGFtcC02Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaHNsYS1jbGFtcC02Lmh0bWwKaW5kZXggODA1NjUxMWI2MzMwMGI1MTg2OGNkZGZmMWJl
YTM2MTAyOTFlYmY2Mi4uNzg5YzgyZWZiNjUwYWJkYjlkZmRhMGQ1ZDEyMjg4YWJjMzEzMmRmMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmhzbGEtY2xhbXAtNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5oc2xhLWNsYW1wLTYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5maWxsU3R5bGUucGFyc2UuaHNsYS1jbGFtcC02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnaHNsYSgxMjAsIDEwMCUsIDAlLCAtMiknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5oc2xhLWNsYW1wLTYud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi53b3JrZXIuanMKaW5kZXggMzJhNzdkOTIxZTIz
NmM2NTUwNTMyZThmM2Y2NmU5MmZhZjY5NDdhYS4uMjc2NTJhODFhYTY5OGIyMTBjMWZjNDE0OGJi
NmFjZjA0M2M2ZGRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmhzbGEtY2xhbXAtNi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdoc2xh
KDEyMCwgMTAwJSwgMCUsIC0yKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwwLDAsMCwgIjUwLDI1IiwgIjAsMCww
LDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQuaHRtbAppbmRleCBmMGVhMWE3MzNh
Yzg5Njg5MzViYjM4NWIyOWRlZjMwMTZhMTY4NjA2Li45ZTRjNGQ5ZWYzOGY5ZjVlYzQzYTMxOWY5
NDVmODFkODg3MGU0NzA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaHRtbDQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0PC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmZpbGxTdHlsZS5wYXJzZS5odG1sNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFN0eWxlID0gJ2xpbUUnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5odG1sNC53b3JrZXIu
anMKaW5kZXggYzk1NDk2NmMzOGExNDUwYTM3ZGRmZDcwNzUyN2Q1NWM2M2E5MDk5Mi4uYTgzMjM0
ZjdkMDMzYjMyZjMyMzBlZGU3YmY5OWM3ODdhYTcwMWYyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmh0bWw0Lndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaHRtbDQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAnbGltRSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsLTEuaHRtbAppbmRleCBiMjNhMzc2MmVmM2NiMDRmMGM0Y2NkMjA1MzVkYzFi
YWI2NjUwNTkyLi5lNWE3NzAyOTEwOThkNGJjMDJkZDBjOWI4NWRhMjgxMDY5M2EyNjJiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2wtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LWhzbC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ2hzbCgwLCAxMDAlLCA1MCUgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtMS53b3JrZXIuanMKaW5kZXggMjdkYjEyNTQ0OGFlZWVmMGE2MmRmYmZkMGQ1MDBmODE0
NGQzNjU1NC4uOGEyODRiZTc4M2MzZmZmMGI3YmZjNTZmZGM0YmI0NGZjMjM1YzFjMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0xLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAw
JSwgNTAlIC8gMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLmh0bWwKaW5kZXggMjIy
N2Q1NWZiMGFjMjE4YmY3ZWY1Y2RhYmNmZDAyYjNhY2VmNjRlNi4uZjI3MDcyMGNjZDRjNzE3Nzll
YTM2NTAxZmM4NTZhOWZmMTU5ZGE4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wt
MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCAxMDAlIDUwJSwgMSknOyB9
IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3Qg
bWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTIud29ya2VyLmpzCmluZGV4IDRlZGJhZTRk
N2VkYTcwOGZjNmY0Y2Q0NmRjMDA5ZmIyNTY2ZTRhMjEuLjEzNzhhNGEyYTgyMTA3ZjI5ODA5OTQ0
NzYyNzcwZTE2MTg3OWUzYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0yLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5jc3MtY29sb3ItNC1oc2wtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnaHNsKDAgMTAwJSA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2wtMy5odG1sCmluZGV4IGRjN2NhYWQzZjdmNjM5OWJjYzg5NzM0OTgyNTRlNWVjNjc3MTEy
MmMuLjdiZDgzOTRiNmNmMDcyMTEzNjliYWRhZTkzMTU3ZjNkNTA5ZjQyZTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTMuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtaHNsLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcg
KzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAn
aHNsKDAsIDEwMCUgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtMy53b3Jr
ZXIuanMKaW5kZXggNDc0NGY5ZTg3M2NmNDk3NzY4OGM1YTQxY2UwM2U4OTZhMGNjMzJjMi4uZjEx
OTZmNGIwNjRhZGZlYjAzNGQ3M2U1MTQwMTNiNzgxNGViYTkwNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9y
LTQtaHNsLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC0zLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSA1MCUpJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhz
bC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNC5odG1sCmluZGV4IGFmZmI2NWU3NmMxN2U0M2FmNzA1
OGZjMjU4YTdlMTIwNGQ1NmZmM2EuLjAxY2M4YmZhZWVlMjI2OTFmMWQzYjUxY2U5Y2M4OGYzMGZm
YjllYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
LTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAgMTAwJSA1MCUgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8g
dGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQg
ZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsLTQud29ya2VyLmpzCmluZGV4IDU0NWRmMzA3Zjc1Nzk0OGVlYmIxZDE0YTFh
YWYzOGI2Y2Y0OGI3N2MuLmNhZWI5ZWM0ZDQwMjNiYjQ3MGI5OWFlM2Q4NDM2NjliMWEzNzcyYmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wt
NC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIx
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNs
KDAgMTAwJSA1MCUgLyknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lmh0bWwKaW5kZXgg
NDA3ZjZlZTJjYzI0MjZkZjQ4YTE5ZDAwZmE5OTNhM2FmOTE0MzlkMC4uZTU2YWQ2NzdmNDFmMjBh
YmY2MWQ3ZGY4MjBhNjgwYzc0MDUzNmE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2wtNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1o
c2wtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAlIC8p
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbC01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbC01Lndvcmtlci5qcwppbmRleCA5NjBl
MzE4NDE0Yzk3Mzc0YjRlN2QxZmQ4NzQxNWVhYjBkY2MxMzBkLi5lYzBhM2ViODA4MDc0OTFhNGQ4
NDNhNGQwYzhhNTkxY2RhYWExNjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2wtNS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtaHNsLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAlLCA1MCUgLyknOyB9IGNhdGNoIChlKSB7IH0g
Ly8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYg
aXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1oc2xhLTEuaHRtbAppbmRleCAzMTk2NzZlMjEwMjNhNDViOTQ4Zjg3ODIyZjg5ZTdl
ZGE5ZDc5MmM1Li40MmQ2NTJjNzYyZjhlZmJlZGExMzhlZTEwOWYyNjFiZWE1NGI4NWFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1oc2xhLTEud29ya2VyLmpzCmluZGV4IDBiYmY1YWNjZDVlYzcxZTU4MzY0MWQzOGZk
ZTU1Mjg5ZjFlOGE1NDYuLmYyNTQzODhlODg4MGI1OWVhOTc5N2ZmMzQxMWJlYWEzYmZhNzMwZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNs
YS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyAr
MjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdo
c2xhKDAsIDEwMCUsIDUwJSAvIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLmh0
bWwKaW5kZXggMDAxZTFiYWE2MmJlNTRkMjFmMTIxMWIwMTM4YjI4Y2UxMmFkMGVlZC4uN2M5ZjMx
Mjc1Yzk1ZmY1NTQ0OWJiNjYwOTc4NTU0M2M5NDk4ZmE1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
aHNsYS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LWhzbGEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgw
IDEwMCUgNTAlLCAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1oc2xhLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0yLndvcmtl
ci5qcwppbmRleCBjMWU3YzBhNTY2Mzc1NTFkZWMwYjE0ZWU3YzVmOTg5YTA0MjgzOTU4Li4xYzVl
MDgxM2QxMGRhNGM0ZTVjMmIwYzM4MmM3YTVlMmUwNTJiY2RmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2xhLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMi53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgwIDEwMCUgNTAlLCAxKSc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3It
NC1oc2xhLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCmluZGV4IDRlOWU1OWMwNTIzYmMz
ZDU0MDRmMzk2YTU5MTQwOTRjYmExOTc1MzAuLmQ3ZGNmZGNmOTU0MWUzNTAzYTc4NmEyOWEyYzBj
ZTAwNjVhN2NmOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LWhzbGEtMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtaHNsYS0zPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbGEoMCwgMTAwJSA1MCUpJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1oc2xhLTMud29ya2VyLmpzCmluZGV4IGJiNDUyMTNjNGZkOTVk
M2QzOGQ5Yzg0MDdiOWFjZTM3N2MxMDU0NjAuLmIwYWQxMmY5YjU3NThiN2YyY2QyMWI4ZjIyYjNm
NTcxYTY0NmEwMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LWhzbGEtMy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3Nz
LWNvbG9yLTQtaHNsYS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZp
bGxTdHlsZSA9ICdoc2xhKDAsIDEwMCUgNTAlKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNo
b3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTEuaHRtbAppbmRleCBiYTBjYTVlMWJiYjkzYmQ5ODRlNGRlNzU2MzljMzVjZGM5NWJhZDQxLi5i
ZWViMTM2NmQ1NzBlYmQxYTlhZDYyMmY1ZmFmMGUyN2QyZDZjNWZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29s
b3ItNC1yZ2ItMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYi0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYi0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigy
NTUsIDAsIDAgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMS53b3JrZXIu
anMKaW5kZXggMTdhOGY0NDA1NjZmMDg5Yzc5NzRhNWI1ZTRlNDA1NmMzMjkzOWZhMi4uYzFhYTRm
MjU5OGQ4ZmQzZGM3NDNjZjVmYzE0MWNmNTcyYWY0MmZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1LCAwLCAwIC8gMSknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
LTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLmh0bWwKaW5kZXggNDIzNTRhZThjYTY3ZTYyNmM0OTc1
YmZlYWU2MDI2ZmM5ODE3NDAyMy4uZmRkMzBjYWY5ZTliMmRmOWFmMDRiYjY4OGRiMDQ1MmZmYjA0
OWFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2It
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdyZ2IoMjU1IDAgMCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiLTIud29ya2VyLmpzCmluZGV4IDdmNmVmYzYwNjBlNDRlMjk5ZWE5MWQ5OTFlZDVk
ZmZkMDZhZTk1MGIuLmRiZjVkMTlhNWQ4N2RlNzM2M2VjYTM1ODlkMWY1OWRkOWEwNzUzNzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmNzcy1jb2xvci00LXJnYi0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1
NSAwIDAsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmNzcy1jb2xvci00LXJnYi0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy5odG1sCmluZGV4IDQwMmU2
YWQ1N2YwZTE0ZTM1OGIxZjY2NzY5MDM4MDY2YTliYWZiMDMuLmQyMzkzOTdmZGI3MmViZjA5YmM2
YzAzYzgzZDc5ODI3NzcyNjZjZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi0zLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCAwKSc7IH0gY2F0Y2gg
KGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIg
aGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItMy53b3JrZXIuanMKaW5kZXggZjVkNTUxYzA0MWMwZTUx
OTYzZDBjZDE5MzE3ODk2Y2YwNDkyZDJiNS4uZGMwMWJjNzhmMWI5NjQ0YTgwODgwZjlhYmY4NmQ4
YTM2NDNmZTljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTMud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1j
b2xvci00LXJnYi0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMjU1LCAwIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC5odG1s
CmluZGV4IDI1NTZhOWM5YjFlZjk3MWJkZGViMTNjYWU5MmFmNDhkOTAxZmExM2MuLjFmNTJlYTMz
ZDBmZWI0NzQ3MjkyNDc0MDM0ZGM1NTM2YzYzOWU5MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJn
Yi00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiLTQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDAgMCAwIC8p
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xv
ci00LXJnYi00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi00Lndvcmtlci5qcwppbmRleCA5NjZm
NDY1ODY4ZmQ2ZTA5M2VkZmY2N2M5NTY5ZmY5NzMzYmUyY2U1Li45MTQyM2IxYzJlNDA4ZTY1MjIw
ZGIzNWE4ZmY0YjBmYmIyYzA4OTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuY3NzLWNvbG9yLTQtcmdiLTQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkg
eyBjdHguZmlsbFN0eWxlID0gJ3JnYigwIDAgMCAvKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2ItNS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiLTUuaHRtbAppbmRleCBjMmZjMWVlOGY2YzIzNjhhNzk4M2ZmZTIzMDQxNGMzYTEyNGQ4NTA1
Li42MWZmYWFmZWZjYmM3NGI1OWM3ODNhNTQwNmZhY2M3MjRmMDAwY2IzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3Mt
Y29sb3ItNC1yZ2ItNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYi01PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNz
cy1jb2xvci00LXJnYi01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3Jn
YigwLCAwLCAwIC8pJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYi01Lndvcmtlci5q
cwppbmRleCAzYTU0MjQ2YzcwYTEwZDc4YjQzN2EyOTdmMmFmZjcxMGUwZjRiMGUyLi5jNDU2ODMw
NDE5OTVmOTdmODIxZDkzZTI5NTMxNDQxOTY2ODQ0ZGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2ItNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiLTUud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigwLCAwLCAwIC8pJzsgfSBjYXRjaCAo
ZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBo
ZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKaW5kZXggZjg0MmVmYWYwZTZlZGEyNGJiZWNjODBi
YmJhMWVhZTI4M2I3NTVhMC4uOGE0NDhlMjM0M2ZkN2ZlMDVhMjg2YjJhY2JjNWNmOTg5YTA1Y2E3
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0x
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMTwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiYS0xLndvcmtlci5qcwppbmRleCA4OGY3ZDM1NDY1ZjU0MGFlMGI1NGI3
MTYyMDU0NjdmZGE1ODBlMmZjLi5kYWY1NDFkNDA3ZTg3MzQ0YTAxNzFlN2I1OWE4ZTIxMjE4NzAw
OTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYmEtMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAncmdiYSgyNTUsIDAsIDAgLyAxKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi5o
dG1sCmluZGV4IDIyNjYwY2EzOWJlMjZhMDVjNDU3NjZmNmQ1ZjIzMTZiODkxZTc0NzYuLmVlZmEx
Nzc0YzBiOTAwYTAxNWEyNjM4NGFmZjFjYmVlNGI1MDg2OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYmEtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5j
c3MtY29sb3ItNC1yZ2JhLTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNv
bG9yLTQtcmdiYS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MjU1IDAgMCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuY3NzLWNvbG9yLTQtcmdiYS0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMi53b3JrZXIu
anMKaW5kZXggY2Q0YjQ4OTBiZDg5NTAyMTU4ZjVhNTgyNWVjNDNmMTNhZjYwNjM3OC4uNTRlNTNj
MDdjMmQ2MTNjZjk3NDBjY2Y4ODUwNGIzODc2NDFlMjA2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQt
cmdiYS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1IDAgMCwgMSknOyB9IGNh
dGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0
dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdi
YS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbAppbmRleCBlODlhNzE1ZWE3NjZlNzA1ZDkw
NjA2OTRhNTRlZTgwZTBhOTc5ZmM1Li5mZGQ5ZDQ2YWM1YzVlN2RhNDViYjI5NGNiMDdjYWEyYTUy
NTBhOWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1y
Z2JhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuY3NzLWNvbG9yLTQtcmdiYS0zPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00LXJnYmEtMzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
Y3NzLWNvbG9yLTQtcmdiYS0zLndvcmtlci5qcwppbmRleCA5OTllMGI1OTk5MDZjYjUxMjI0MDM2
YWQ3ZmE4YzdkOGQ3NTI5MzI4Li4yNGI0M2YxOWM0ZDk1N2Y1NmY3NThiNzBmYWUwN2M1ODQ4Y2Rk
ZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5jc3MtY29sb3ItNC1yZ2JhLTMud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmNzcy1jb2xvci00
LXJnYmEtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAncmdiYSgyNTUsIDAgMCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4MS5odG1sCmluZGV4IDA3ZWUzNzAxODUxMzk5ODA2MDdjNjY2
NDEzYjM5NTI0ZDZlZWRhZmEuLmVlYzRiOWViYjVmYTZhNzcyNWY5ZjRiODNiMGM3MjhhYjY1NGQx
MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4MTwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICcjZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXgxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEud29ya2VyLmpzCmluZGV4IGY1OTVlMTA4
MDg3MTQzMDQzMWE1MmFiNDYwYzFiMWVjZmE2ODlkMDguLjc0YmQzOTY4ZjRlMzBiMGU5ZmMwNzIx
MWNiZjg0OGZhYTRjZTcwNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDEud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIuaHRt
bAppbmRleCAzMzBjNGJhYzE3NDlkNmMxNzg1NWFkMjc5NjVhZTlkN2QwMmVhODVhLi5hZTBmNzA1
ZmEyMDQ4YmYxZTRhMGViMDE0ZDBmY2U4NzNhZmRlMjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2YwJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDIud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4Mi53b3JrZXIuanMKaW5kZXggNmZiMTZmMzBkZWU5YTlkNGVhYjQyMGU1Mjg5ZDdmZGFh
ZGRlNTM1Yy4uZTJlNWNiMjI3YmJjNTc2ZmMzNzU5NzdhNDA5NTFmZjdlNDVkMWI5OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAnI2YwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhleDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMuaHRtbAppbmRleCAwYTY5YzI4MDRkNDc0M2Rm
NzViODllYmMxMjlkMjgxMzRlNzgzZWExLi42M2ZlZWU2YjdlY2Y5YmMwZWUxYmFlZWY1MDI0OTc5
MGNhYmFhMmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4My5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXgzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDM8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2cwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXgzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMud29ya2VyLmpzCmluZGV4
IDgzMmY0ZGVhMTIwZDM0M2MxYTUxMDA0NTZmODNiNzU3N2VjZGE4NGYuLjZkOTg3Zjc4NWUyMTJm
MmEzMzUyMjhhMWI1NmI4MTUxNjJlYzFkZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNn
MDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQuaGV4NC5odG1sCmluZGV4IDU1NjVlNzAwMmU1NTMwN2RiMjYzYjc5MTA2OWY1MTcxNGNlZDEx
YTAuLjI2NGM0YzVhZGM2MzExNzE4MjgyNGQzZDc3MjM5ZGZiNzNhNTEzM2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oZXg0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaGV4NDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHls
ZSA9ICcjZmcwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0
IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oZXg0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhleDQud29ya2VyLmpzCmluZGV4IGY3YTcwOTdhY2RmMDkzY2U4YzA1
ZjQwNTY5N2VlNzQ1YTI2Nzg1ODEuLmNhZmU2MWFlZGU3ZTUwNmNlYmUxMGM2YzI2ZTI0NWM0ZTY4
ZTA5YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhleDQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDQud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZzAwJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUuaHRtbAppbmRleCBi
MWU0NTJjMjI3MjZkYjdkZGQyNDgwYTFjMTFmNWQ2NjIwMjI2NDFkLi4zYzdkNThlN2I5YTU2ZDA1
N2JjYWU1OTM3N2U0ZWMxYzQ2NjhmYzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg1Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg1PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZmMDAwJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4
NS53b3JrZXIuanMKaW5kZXggYTkzMTQ2N2I3YTc4ZWJiNWQ4YjlhNzdhN2IwOGMwNzFiYWFjMTFj
YS4uNTczMTM3Mzc5YmIzODQ2MDNlOTE1YmI1ZGNjMTg5YjE5NzliMDRhYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4
NS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaGV4NS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnI2ZmMDAwJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhleDYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYuaHRtbAppbmRleCBiMDk1NGVmMWZlMDQ4NDg3OGY3
YTUzYjQyNzMxY2VkYWM3NDEzNDNhLi5lN2MwZDI2ZGRkZWRjMWZkNDM2MzZhMzMzODAyYmI1ZDk5
M2Q5NWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oZXg2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4Ni5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
ZXg2PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDY8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZnMDAwMCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlz
IHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2Vz
CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg2Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYud29ya2VyLmpzCmluZGV4
IDc1MDU0OGQ3NGU0OTg4NTNkZTJkYzJkZTdjYjgwYzM1YTFmMzQ1ODAuLjNmZDVlYzQ0MTA1Yzlj
MGZjOTllY2ZiNjhiZDU0ZmIzNjQyODU1MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDYud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhl
eDYud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNm
ZzAwMDAnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4
Ny5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQuaGV4Ny5odG1sCmluZGV4IGU1M2NiODdhOGJjMjkxYjI4MDA1MDg5MmZmNTIyNzRjMzc3
YWEyZGYuLjdkZDMzMTJlYmI0YzY1ZDM0MTc2MzNhMmY3YWNiZGU2ODcyMjg0MjYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhleDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oZXg3Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDc8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaGV4NzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxT
dHlsZSA9ICcjZmYwMDAwZic7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJv
dywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oZXg3Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcud29ya2VyLmpzCmluZGV4IDc3OTZhNGU5OWIwZTNh
NTVhZTFmOTQxOGM4YTY0Nzc5YjIxYzg4OTMuLmE4YzIzZTAyZjAxNjdhMjExODg0MzIyOTBlNmU0
MGUzNzgzYTliYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDcud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyNmZjAwMDBmJzsgfSBjYXRj
aCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRl
ciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDguaHRt
bAppbmRleCBhNTkzMzJmMDQwZDJiOGM2YWM3ODgzNTBhYmY1MTRlMzhiODkwOGRhLi5iMjQ2MDA0
NWNkZjUzOTdlZDQ3YjU5YzM3OTdhMjMyMGY1Y2I3MDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aGV4OC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oZXg4PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhleDg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZnMDAw
MGZmJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hv
dWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhleDgu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4OC53b3JrZXIuanMKaW5kZXggMjE1NmVmMDZjYzc1ZDI0ZDUwYTA1NWFmNGZm
ODE3ZDBiMWM0OTBiZS4uM2QzZGZjMTM1YjcwN2RjMDhiMjU2NDY2ZDRkNGM4YzVjZDA2YjM1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaGV4OC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaGV4OC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnI2ZnMDAwMGZmJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMS5odG1sCmluZGV4IGZi
MTU0ODQ3OGVhMzY2Njg0ZmZhMzhjZjk4NjZmN2ZlMDcyMGE3MzAuLmI1NGQyM2VmZmY1NWUwMDE5
ZjkzYWU3YzMzNTg3MjBlYTZiMGIyODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLmludmFsaWQuaHNsLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
aHNsLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAlLCAxMDAl
LCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQg
c2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bC0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC0xLndvcmtlci5qcwppbmRleCBmMWIyYTUwODZmY2YzNWI4MmYwMjcw
OTFhNjE0N2M0NzY0YmY5Y2RjLi5lZTMwZDMyNmQxOWUxMTE0YTUxYTU4YzgzZWZhNTI4YzZiODQw
ODRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5oc2wtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTEud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwJSwgMTAwJSwgNTAlKSc7IH0g
Y2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBt
YXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
LTIuaHRtbAppbmRleCA3ZjUwOTY2ZTBiNTY3ODJmOWM3YWQ1NTdmYjViYjYzMDRmNzkyYWFiLi44
ODQ2OGQ5YjViNDk1YjEwNGQxYTI3MDRjN2RmNTk3MDdjMjE0NDA4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLmhzbC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxl
ID0gJ2hzbCh6LCAxMDAlLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0
IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5pbnZhbGlkLmhzbC0yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0yLndvcmtlci5qcwppbmRleCBiMDlhOTJk
ZDk0YWMxMmRlZTg1N2FlMTdlMjMwYTFjMTBmMmZiZGYzLi41YzZiZTM0MTdmOGYwZDE0NGUzNGFj
ZWRmMWJmMjAyNTMxMDM2MGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTIud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCh6LCAx
MDAlLCA1MCUpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
LmhzbC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtMy5odG1sCmluZGV4IDcyNDRjZDBlMzRjMGE4MmY3YWJhMzg3NzBjNzc5
ODM5MWM1NzYwNTAuLjhmZmI2M2Y0M2JjMjM1ZmVlYjNkM2MxNTQ4ZWNjMjViOWExZTYxYzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTM8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTM8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDAsIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhp
cyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9l
cwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTMud29ya2VyLmpzCmlu
ZGV4IDBiMmEwNjUyYTM1MzBkZjQ2NDNjOTNhNWZiNTAwYmQ3ZDFiODEwNjguLmFjNzNiNTI5ZGUz
Yjc1OTZiYjZmM2U0ODllNmVmN2MzMDMyMjYwMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC0zLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2wtMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3
LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUg
PSAnaHNsKDAsIDAsIDUwJSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lmh0bWwKaW5kZXggMzU3NzY2NmE4YzdiYzA0NDRhZTVh
YzVlZTYyMTI2OWEyZGU0YjEyYS4uMzg3NDA4OTk0ODJlYjU3MWE1NmMzMzdjZWRmYTQ0YWJmOTcw
MWIyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQuaHNsLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5o
c2wtNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgMCknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTQud29y
a2VyLmpzCmluZGV4IGYxNzQzNDcyMjEzZTgwZDAzODljY2UwZjM1OTY0MDM3OWM4MGI0NzcuLmY0
MjM5ZWNkZTA3NDU5MWQxYzc2ODg1ZDdiY2I4ZTcwMzMxMThhZjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC00Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5oc2wtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5m
aWxsU3R5bGUgPSAnaHNsKDAsIDEwMCUsIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hv
dWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNS5odG1sCmluZGV4IGEzYjkwNzA4OWUy
NjJmN2MyZmMxMDY5MDc5NDRlNTJmYzYyMWRjNGYuLmMzNWEyYzRlYjdjOGI0ZGNiNzk1NDZmYTVk
ZTA3MTNhMWY4NzFhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTUuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQuaHNsLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsKDAsIDEwMC4lLCA1MCUpJzsg
fSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0
IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC01Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbC01Lndvcmtlci5qcwppbmRleCAzMzFlYzA3MDIzMzBhNzhjYTAzMTBjZTg0ZDcxOTVi
MjE3MmZhNTdlLi4wOTNmYzc4OTZhMzgwNWIyNDU4Y2ZlOTdlMmMxZTEyZGUwOTk3OWVmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtNS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgwLCAxMDAuJSwgNTAlKSc7IH0gY2F0Y2ggKGUp
IHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVy
ZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYuaHRtbApp
bmRleCA5ZTgwYTYyMjNiNzJlYWY4NzA4MGQxNjFlZjIwYTNkMDg1ZDM1NzhmLi44NzllMWI4ZTE3
ZTQ2MTY0MzczNzM3MzQ5MzQzMTk4OGY0Nzg3NzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhz
bC02Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5p
bnZhbGlkLmhzbC02PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ2hzbCgw
LCAxMDAlLCA1MCUsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywg
YnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2wtNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2wtNi53b3JrZXIuanMKaW5kZXggM2NhZDg0Zjc3YTQ1ZGQ0
ZWYwZTdmZjJkMjU1OGRlYzBkM2Q5YWY2MS4uZDIyNTJjMjIxNzRhYWFkYzRkM2U3NzVlMWFjMWFh
MjBmODMzYmZmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQuaHNsLTYud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbC02Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2woMCwgMTAwJSwgNTAl
LCknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91
bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTEuaHRtbAppbmRleCAwOTA0MjA5Y2UzNjhhNzM3NTk3MDNkOWExYjQ5NmM4OTZl
ODkyMTliLi4zNGNiM2UzNWIzNGZmMzAyOWZlODQyODYwMTRhZWY4YzUzOTA0YmMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5oc2xhLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5oc2xhLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0xPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsg
Y3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAlLCAxMDAlLCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTEud29y
a2VyLmpzCmluZGV4IDAxMWZiZTdiZDdkNWI2NWZmYjIzMjA4NmQ3NjliMmYwOGViMzdmZGYuLmEw
YTdiMWVmNjkzNWJkZGJjYWJjNjFmN2Y2N2IzMDAwZmUwMGZlMzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdoc2xhKDAlLCAxMDAlLCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLmh0bWwKaW5kZXgg
NmU4OWU5ZDcwMDc2ZmUwOGUwNjFhOTljMmVkNWY1ODJhYzIyNWE4ZS4uNmUwZmJlYTVhOTQwZTJk
NWE0ZDk5Y2MwNmYwNjI2YTY4OGEyMDBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnaHNsYSgw
LCAwLCA1MCUsIDEpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLmhzbGEtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTIud29ya2VyLmpzCmluZGV4IDlhYzc1YjdkYzUyN2Iz
NzMyZjQ5Yzc1MTI0YzA2YWUzNjg2Zjg4OTQuLmNlZDU4M2JlMzIwNDJkZmE1MTQ4ZTQ3ZDk2ZWI0
NWU4YzA0NDNmNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0yLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDAsIDUw
JSwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNs
YS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5oc2xhLTMuaHRtbAppbmRleCA4MmNhODQzYTQyZGM1NGUxNmEyZWUzNWJjNmJkODZl
ODhiNzFmODkzLi5iNTI0YWVjNDlhNDM3MGU5NzJjNWNmOGY3ZDk0OTU3ODExZWQ2YmQ0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5oc2xhLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQuaHNsYS0zPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMzwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDAsIDUwJSwgMSwpJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5oc2xhLTMud29y
a2VyLmpzCmluZGV4IDVmNTEyNmVmYzE0MmMwYmQ3ZDhjZTI2OGY4ODc1MzBhMGM0NzkwNjYuLmMw
OGRhMzRhZDljZTZiZDk3MGFjOTNlMTY2Y2FkZDc4MmJmOGI0YjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLmhzbGEtMy53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQuaHNsYS0zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdoc2xhKDAsIDAsIDUwJSwgMSwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRo
aXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRv
ZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLmh0bWwKaW5kZXggMjZi
YmQyNmI3ZDFkMzkyNjYyZGRjZWFlMzZlYTk5MGRkNzAwOTI4OS4uYTcyNzg5ODY2NGE3YTFmYThh
MzU5ODJkOTUzOTc0NDk0NDVjMWE5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxp
ZC5uYW1lLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnZGFya2Jyb3du
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5uYW1lLTEud29ya2VyLmpzCmluZGV4IDcwYjI0NDA4OWI2NDBhNzVlYWE3YTllOTky
NTdiYzgyYjI0MDMzNjEuLjI2ODE3NmZkZmVjNDIwMjNmNjczYWFmZTM3ZDk1ODU4ZDBmNmRhMzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLm5hbWUtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0xLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdkYXJrYnJvd24nOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIuaHRtbApp
bmRleCBkMTEyZDVkNjgxMTRjNDAyNDdjNzdmZTU2MDE5YjlkMWVmOTEyZmZiLi44Yjk5MTgxYzEz
YjE5YTQ2NDdlYzBhNjlkZjBjNzBkYWE0OTE2YWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5u
YW1lLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLm5hbWUtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdm
aXJlYnJpY2sxJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQg
aXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlk
Lm5hbWUtMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5uYW1lLTIud29ya2VyLmpzCmluZGV4IDFhYTBmNTI4NDM0ZWYyN2M2
ZDgyNzUwMjk4Zjg5NDM3YmY0N2YxYTguLjI5ODJlNTczYmNjMDRhMzNmZDhkMGVhOGE1YjViYWZk
NjI1NjU4NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0yLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdmaXJlYnJpY2sxJzsgfSBj
YXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1h
dHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFt
ZS0zLmh0bWwKaW5kZXggMDdhMGY2Y2M4M2JkNTFlMzUxMGJiNDE5NjFkZmJiZTQyYmQ2MGE5ZS4u
N2ZlYWMwMmJlZjBjNTM0NzEyZTMxODZmNzNiZmY0NTBlYWZkMWFiNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQubmFtZS0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMzwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxs
U3R5bGUgPSAncmVkIGJsdWUnOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhy
b3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LmludmFsaWQubmFtZS0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtMy53b3JrZXIuanMKaW5kZXggYWJjNTc5YTg4
OWFlMjY0NTVkZjY5ZDJiMDJjMGExNDRlM2U2ZjJmMS4uNTZhMDAzZmUwMDk5M2VlMzA5ODIwN2Fi
OWM2N2EwMTIxZWY5ZmQxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS0zLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JlZCBibHVl
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS00Lmh0bWwKaW5kZXggYTY5YzMwZTg3NjRiMDY0NWU5ZGVjM2JjMTMyYjU0ZWRlNDM5
NWM3OC4uOTEzNzc4OWZhNzc0MmNjMWFmZmQxODE5MGJkYmM1NWQ3MGE1NDE4NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQubmFtZS00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnInJlZCInOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3Qg
dGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQubmFtZS00Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNC53b3JrZXIuanMKaW5kZXggN2IyZjEx
OWQwZTdkZmVlZGE4YTA4NWUxMzYzMzljYzg5YTViYzlkZC4uZmQxOThiYTdhOWE0NzMyNWJjNGRi
ZDQzOGE4Y2I3MjRlNmVhYzg0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS00Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJyJyZWQi
JzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxk
bid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQubmFtZS01Lmh0bWwKaW5kZXggM2YzYWU2MzExOTI4MjJiMDc3NjE4OGVjM2VmYWYzNzc2NDM1
NGU1OS4uZDQ1MDk3NTE1MGZjNzEwNDkwZGUxNWVlYzExZjRmNmRkMzYxM2NjZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
bmFtZS01Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQubmFtZS01Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0
eC5maWxsU3R5bGUgPSAnInJlZCc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0
aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5uYW1lLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQubmFtZS01Lndvcmtlci5qcwppbmRleCBhM2Y5Y2Yx
NDRlOGNjZGQ2N2YxYTFhMDg1ZWE0M2JhMGU3NjE5YzU3Li45NDBlNTBiZGY1MmQwY2Y1YTM3ZGUw
YjBmZGNlZDQ5OWQzNWY5MWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5uYW1lLTUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLm5hbWUtNS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnInJlZCc7
IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4n
dCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiLTEuaHRtbAppbmRleCAzYmEyNDFiYzkwODU1YjJiMWRhMmVkYWE1NTAxMTE1NTFiMTFhMTgw
Li4yYjE2YzBjNDgxNjU3MjM5NzcwMWI1OWRjNGYyMGRiNTE5ZTViNmU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2It
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ3JnYigyNTUuMCwgMCwgMCwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxk
bid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYi0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0xLndvcmtlci5qcwppbmRleCBjMWVm
NDA1YzZhNWJkN2M4NTg2OGE3MDQ0M2FiYjQ3ZTA5YWJlOWJlLi45MTViMzEzMmIxMTlhMzFiMTU1
ODNiZTdlMWVmZTAxYTg3OWY0ZDg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigy
NTUuMCwgMCwgMCwpJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBi
dXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2ItMi5odG1sCmluZGV4IDA2MTc4NGY5ZWEyMjY3MjU2MmRkYTQ4YTA4
NGEwNDVjOGQ0Nzk0ZmMuLjdmM2JkMjYwZmYxZWIwZWQ0MTZlMmE0N2EzY2IzODc0YWJhYzM4OTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5pbnZhbGlkLnJnYi0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTI8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRy
eSB7IGN0eC5maWxsU3R5bGUgPSAncmdiKDEwMCUsIDAsIDApJzsgfSBjYXRjaCAoZSkgeyB9IC8v
IHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0
IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0yLndvcmtlci5q
cwppbmRleCBlMmMyODdlYmUxZmZkM2RlZGM0YjcxYTQyY2NkOTE1NzE0ZDY2Nzk5Li45NDBmNTU1
MTZlNDU2NWM0NjcyYzg4Yjg5MmEzNjhiN2NjZTEyODNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0
eWxlID0gJ3JnYigxMDAlLCAwLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4n
dCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2ItMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMuaHRtbAppbmRleCAxNjQxNjY3Mjg3MDM3Yzll
OTk0MTUxMWVjYzg0Mjg1ZTRiMmFkZGI3Li5lNmNiMzAxZDJkOGZjZTczNWVlZWVmYTcyODkwZGI3
OGJlOWY1MzY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2ItMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5pbnZh
bGlkLnJnYi0zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYi0zPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIC0gMSwgMCknOyB9IGNhdGNo
IChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVy
IGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiLTMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdi
LTMud29ya2VyLmpzCmluZGV4IGJkYjliNmRjN2EwMDMyNDRlNjkxZDZkMzJlMTU2ODAwM2RkNmNh
MjAuLjEzNzRkYzBmZmVmMzVlZTBjNDJhOWI3N2M1MWY1NTVkMzBmMGNjY2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJn
Yi0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2ItMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7
IGN0eC5maWxsU3R5bGUgPSAncmdiKDI1NSwgLSAxLCAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0
aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBk
b2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS5odG1sCmluZGV4IGJj
NDA1NjljYTQ1NzVmNTgxMmYwM2JjMGM1MzNjZWQ1YWYxMGYzZmQuLjMzNDdmZGU1MDQ4ZGEzY2Mz
MjA2MDhjYThlMDkyYWU1OGNjYjY0NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMTAw
JSwgMCwgMCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1
dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFs
aWQucmdiYS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMS53b3JrZXIuanMKaW5kZXggMjkwZjE3NTA5NmQ1Y2U0
YWU3YTViY2I2OTU2NzM1ODU1ZjkyY2Y4YS4uYzdiZDdkY2Q2ODEyZDNkMzc3YTA3NjYxMmRlNDQw
NjJmMGQ2YmVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTEud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMTAwJSwgMCwg
MCwgMSknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBz
aG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdi
YS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2JhLTIuaHRtbAppbmRleCBlZGVkNTI2ZGZhNDg2NzBkYTQ0NzEwZjliYzkyMzk0
ZTExYzdmMmEwLi4xNmQzODVlNTRmODJiNWMyYzgwOTA1MDExNWExNzY0YmE5MGEyMzIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52
YWxpZC5yZ2JhLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5
IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4gMCknOyB9IGNhdGNoIChlKSB7
IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUg
aWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0yLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMi53
b3JrZXIuanMKaW5kZXggMDM4YjM4MzhlZDgyMDkwYzE1Mzk5OWIyMzAzYWVjNmMwOTI1YjRkOC4u
ZWFkZWVjYzdiZGVmZjQwZTg2MjIxN2MwMTY0OGJmNmMxYzBmMTQzNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0y
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UuaW52YWxpZC5yZ2JhLTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBj
dHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAwLCAxLiAwKSc7IH0gY2F0Y2ggKGUpIHsgfSAv
LyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBp
dCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy5odG1sCmluZGV4
IGRlYzdhY2U5Mjk1NzQ3ZWRmZmE0ZGY2ZWY4NWNhYjczN2E1YjMxMmEuLmViNGJlMGQyODlhOWM3
ZDBjODYwZWU3Y2Q3MzJkYjliZDk1ZjkwZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEt
My5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiYS0zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEo
MjU1LCAwLCAwLCAxLiknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3cs
IGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmlu
dmFsaWQucmdiYS0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtMy53b3JrZXIuanMKaW5kZXggOWJkZjc3M2NhMDky
NmU4MTU1ZGJkMzJjNTdkYTNmYzRmZTY0ZTcwOS4uMDUzNzM4ZTBiNTA1MTNkYjc3ZDUyZDYxOTdl
NTU3NTE1YTAwNGFlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTMud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiB0cnkgeyBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAw
LCAwLCAxLiknOyB9IGNhdGNoIChlKSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBp
dCBzaG91bGRuJ3QgbWF0dGVyIGhlcmUgaWYgaXQgZG9lcwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQu
cmdiYS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UuaW52YWxpZC5yZ2JhLTQuaHRtbAppbmRleCA4YjBhZWU1NmVhYjAwMTU1OGE2ZDZiYTZjMDFl
MTFjNDJlNmQxNjJkLi5hN2EzNjk3ZDc0NjUxYzBiOGRmM2ZkMmM2ODkyNzkwMWNmY2YxYThhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
aW52YWxpZC5yZ2JhLTQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS00
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
dHJ5IHsgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgJzsgfSBjYXRjaCAoZSkgeyB9
IC8vIHRoaXMgc2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlm
IGl0IGRvZXMKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5yZ2JhLTQud29y
a2VyLmpzCmluZGV4IDBkYjQ0YzM4ODM2MTk4NWI1ZGMzOTliMTE2ZjQ5ODExZDA1MDFiY2QuLjYw
NzY5ZTcxNzA1OTBkMjcwNmVhMWI3ZWQ2MDQ2Y2Y4MDA2YTkzMTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLmludmFsaWQucmdiYS00Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogdHJ5IHsgY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMCwgJzsgfSBjYXRjaCAoZSkgeyB9IC8vIHRoaXMg
c2hvdWxkbid0IHRocm93LCBidXQgaXQgc2hvdWxkbid0IG1hdHRlciBoZXJlIGlmIGl0IGRvZXMK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lmh0bWwKaW5kZXggYTNkOTc5
MGE3NDYyMjgyOGE5NTM2ZmRmMWFkZGQzY2Q3ODFhMGZhNS4uZTg0ZmI1YjU5YjdmNTExZDMxYjkx
MGRiOGI4MGJiYTEzZjliZmUxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLmludmFsaWQucmdiYS01Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZpbGxTdHls
ZS5wYXJzZS5pbnZhbGlkLnJnYmEtNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2JhLTU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAs
IDAsIDEsKSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0
IHNob3VsZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UuaW52YWxpZC5y
Z2JhLTUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxl
LnBhcnNlLmludmFsaWQucmdiYS01Lndvcmtlci5qcwppbmRleCBlODMxN2VjZDMwYTYwOGJmYzE1
MDcxNjZjMGZiNWE2OGM3NzQxMjU2Li5mY2NhYjUyZmI2ZTlmNzM0MjFmMzAyZTlhMjYxNDhmYzZi
ZWFiNWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UuaW52YWxpZC5yZ2JhLTUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5pbnZhbGlkLnJnYmEtNS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDAsIDAsIDEs
KSc7IH0gY2F0Y2ggKGUpIHsgfSAvLyB0aGlzIHNob3VsZG4ndCB0aHJvdywgYnV0IGl0IHNob3Vs
ZG4ndCBtYXR0ZXIgaGVyZSBpZiBpdCBkb2VzCiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xh
bXAtMS5odG1sCmluZGV4IDVjNDhhZWVmNzMxMjk4MjU5NjRhZmEzMTkwYzZiN2VhY2ZjYjM5YjIu
LjFiMmEzYjIyNTY5OGE2NzRlYTZiYjJkYTVkYTkxODhhY2Y5MDVlNzkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAs
MjU1XS4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0xMDAw
LCAxMDAwLCAtMTAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMS53
b3JrZXIuanMKaW5kZXggYjk4YzQxY2IzMTAxNjk0OGJkMDRlZWY1ZTdlYTQyNmI1NjM3NDc3My4u
OTdhYmJjOTZjMTliZGRjOTJjMTFmYzMwN2MyMzU1ZDhhOWMyYjZkNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0xLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiKC0xMDAwLCAxMDAwLCAtMTAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNs
YW1wLTIuaHRtbAppbmRleCAzZGIwMThjNWYwOGJlNDY2MjY3OWE2NDYwZmUyOTM1MTMwNjlmMjM2
Li40NzFiNjdiMTNkMzMwMWUxM2U4YmE3MjkwYTg3NjA0ZWY4MDdjNTU2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiLWNsYW1wLTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0yPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItY2xhbXAtMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFsw
LDI1NV0uCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsy
NSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigtMjAw
JSwgMjAwJSwgLTIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTIu
d29ya2VyLmpzCmluZGV4IGRlN2Y5MDY3MTRkMWMwNTgxY2ZjY2E2ZGI2NGIxNDAxYjkzZTA0ODEu
Ljg2YzFmMjlkZDY1NTg5MjgxYTY4OWFmNDE1YTMwYTRlZGRjNjVmNTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNs
YXNzPSJub3RlcyI+QXNzdW1lcyBjb2xvdXJzIGFyZSBjbGFtcGVkIHRvIFswLDI1NV0uCiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxl
ID0gJ3JnYigtMjAwJSwgMjAwJSwgLTIwMCUpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC0zLmh0bWwKaW5kZXggYmRlMjM0ODM3NzY3YmNjOGU1NWRkOTg2OTNmZWE5YzJkNTg2MWMz
NS4uOGY2NTlmNzhmZjViMjk5YTNmZDA3NjA5ZTRhZmExNzgwMjIyMTA4MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1jbGFtcC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UucmdiLWNsYW1wLTM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBb
MCwyNTVdLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTIx
NDc0ODM2NDksIDQyOTQ5NjcyOTgsIC0xODQ0Njc0NDA3MzcwOTU1MTYxOSknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy53b3JrZXIuanMKaW5kZXggYTU5NGRhMGMxN2Q2
YTNhMTNjOTliYTRjODc5ZjE3MjYxYWQ4MTkwZC4uMmFmYzZiYjdkYTA1OTU3YTBiMDg5ZmNiMjE0
MjMyOTU3ZGQyNGYyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTMud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMg
YXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0yMTQ3NDgzNjQ5LCA0Mjk0OTY3
Mjk4LCAtMTg0NDY3NDQwNzM3MDk1NTE2MTkpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC00Lmh0bWwKaW5kZXggMzY2ODA1M2MwNTY2M2IzN2VkZjAyMDc0YTFhMjYyMDYwMWZmZjI5
Zi4uYWEwZTlhNWExNTYwNzA4MTEwZmQ3Njk0OTliZjcxZDQ5YjhlNmM4MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1jbGFtcC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUu
cGFyc2UucmdiLWNsYW1wLTQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBb
MCwyNTVdLgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyAr
MjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoLTEw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lndvcmtl
ci5qcwppbmRleCAwZGNiY2JjODMzOGVkNjE5N2EzYmRjZmNmNzBkNmNkY2UyZjgzMGQyLi5kM2M5
Nzk0OWYxYjYxYmYyOGRiODAxYzIxYTdiMmNiZGFmZjNhZWEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItY2xhbXAtNC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0i
bm90ZXMiPkFzc3VtZXMgY29sb3VycyBhcmUgY2xhbXBlZCB0byBbMCwyNTVdLgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoLTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5odG1s
CmluZGV4IDA0OTEzYzQzODRiYTQwMGNmNDcxNTIxOWNlN2E0NTJkNWY2NzM0MDUuLmM0MDk3MmNl
NDQyODhkZjVjODIxNjkzYmI0ZWZmNTkwMTQwODkwYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAt
NS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5m
aWxsU3R5bGUucGFyc2UucmdiLWNsYW1wLTU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1j
bGFtcC01PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAg
Y2xhc3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiKC0xMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIC0xMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS53
b3JrZXIuanMKaW5kZXggMjFlYmVmZjI0ZTg1MzIzMDA1MzBmODMyOGVmYTk1ZWI4MjhmZmU4NS4u
ZjI1YTJjYWRhNmUyZGZkNjIxMDg5NzMxMDE0N2FmYzk1MzQyMzFlNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2UucmdiLWNsYW1wLTUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6PHAgY2xh
c3M9Im5vdGVzIj5Bc3N1bWVzIGNvbG91cnMgYXJlIGNsYW1wZWQgdG8gWzAsMjU1XS4KIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiKC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAsIC0xMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCknOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1l
b2YuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2ItZW9mLmh0bWwKaW5kZXggMzE1ODZjNjVhNTcyMjJkYWRjYzljNzVhN2M0YjI1NGU5ZDdiY2Q0
ZS4uNTJhNzg4MzMyM2VmMDg4OTU4M2M3MjMxM2VhMTg3MmMwMjhhZDM1ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2YuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LWVvZi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiLWVv
ZjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYigw
LCAyNTUsIDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1lb2Yud29ya2VyLmpzCmluZGV4
IGVhZDRkZGQ1ZjlmNmI4OTljOTFiNjA0M2RkYzYzOTMzNjNmOTE0ODEuLmQ5NzllZWMzZGEyOWIx
ZmJiNWUwYjMyNDNkZmI5NTRhY2IwOGQwOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItZW9mLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLWVvZi53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdy
Z2IoMCwgMjU1LCAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS5odG1sCmluZGV4IDI4MjFm
ZjJjMzFjY2ZiODViY2FmODFlMjYxNTU5Y2NiNjE3NTJjMTIuLmYwNGFlN2MxZmExYTMzMzJmMzAw
MGExOTFiMGExNWE2NDQ3Y2Q1ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItbnVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW0uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1u
dW08L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1udW08L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwyNTUsMCknOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnJnYi1udW0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYi1udW0ud29ya2VyLmpzCmluZGV4IDMzM2ZlMGZkMzA0NGRjYmQ2NjdmNjg0
MWM3NmRmODNmNDRlMTVkNjguLjU5MTNhN2M4M2Q3YmM1MWQ3NzQwMzQ0MDhmMWM2YjQ1NjM2ZGU5
YWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5yZ2ItbnVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiLW51bS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2IoMCwyNTUsMCknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYi1wZXJjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiLXBlcmNlbnQuaHRtbAppbmRleCAwZmQ5MjdiZmU4ZDIxNjNiZTcyZDky
NWM0YjMzODc5MDU4NTI5OTcxLi5kMjFiOTA2NTA5NThjODkwNTJjMGUyMmFkY2UzOWYxYjM0ZDYx
MzVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiLXBlcmNlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1wZXJjZW50PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+Q1NTMyBDb2xvciBzYXlz
ICJUaGUgaW50ZWdlciB2YWx1ZSAyNTUgY29ycmVzcG9uZHMgdG8gMTAwJSIuIChJbiBwYXJ0aWN1
bGFyLCBpdCBpcyBub3QgMjU0Li4uKQogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxT
dHlsZSA9ICdyZ2IoMCUgLDEwMCUgLDAlKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiLXBlcmNlbnQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
Yi1wZXJjZW50Lndvcmtlci5qcwppbmRleCA2NzUxM2ZiNTI0YzcxMWJhMjE4MTJkMDBiMzUzMmJk
YmZiZDI4YTI2Li5jMWQxNGI1YTI3ZmJhZTk4NTRkZGZmNjMzMmJhMTVlYjEwNzk3YmE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
LXBlcmNlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItcGVyY2VudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZTo8cCBjbGFzcz0ibm90ZXMiPkNTUzMgQ29sb3Igc2F5cyAiVGhlIGludGVnZXIgdmFsdWUg
MjU1IGNvcnJlc3BvbmRzIHRvIDEwMCUiLiAoSW4gcGFydGljdWxhciwgaXQgaXMgbm90IDI1NC4u
LikKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAncmdiKDAlICwxMDAlICwwJSknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAt
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtY2xhbXAtMS5odG1sCmluZGV4IDZlNDAzMjQ5ZTY5YTMxZTlkY2RlMTRmM2JlMDFiNmYwNjU5
YjQ0MzguLjE1YjJlNDlkMzAyNDM4ZTFmZTQ1MDMxMTNkZWEzZTdmZGNhYzcxM2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNs
YW1wLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2UucmdiYS1jbGFtcC0xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmls
bFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAtMiknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCww
LDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1w
LTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtY2xhbXAtMS53b3JrZXIuanMKaW5kZXggNTYxZjIzMjI4ZDQ5NmUwNGZlMjdiZGVj
ZDdlNjIwYTA4NWRhNmVmYi4uYWMxMTUwYzgwOTkwMjJlZGM3ZWZiMGY0Zjc5Y2M1ODlhOGE5YTIy
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtY2xhbXAtMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwg
LTIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yLmh0bWwKaW5kZXggYzY1YjQ0MDU2MDIz
MjI5MDc5MzU3ODkyYjgwOTVlYTA0NDczYWU2ZC4uZGFmNmFhM2E4MzIxMzExYmRhNDFlNTFjNGQ3
YTFjMjY4Zjk2ZDRiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtY2xhbXAtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1jbGFtcC0yPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4K
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAs
IDIpJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWNsYW1wLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi53b3JrZXIuanMK
aW5kZXggN2Q3YjI3YzZiNWY1OTQ5ODQxYzQ4ZDMxMmMwMWEzNDMwMjI1MTFhMi4uMjM5OGYwYWVi
ZTBlYmFmNjJhMjVhZGVhOTFmNTkxYTJhOTdlYzNiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtY2xhbXAtMi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
Y2xhbXAtMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90
ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMiknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9m
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1lb2YuaHRtbAppbmRleCA1ZjA1Zjc4OGZmMjNmNWQ3YTRjM2FlYmVhNWZjODc1ZTQwNTI0ZTM4
Li5iYzQwNjBhYWZjNjQ5NmJmNWUwZTdhZmZjMWE0NTkzN2Q2MGI0NTJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2YuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1lb2YuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtZW9mPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LWVvZjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNs
YXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
MSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCwgMjU1LCAwLCAxJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1lb2Yud29ya2Vy
LmpzCmluZGV4IDhmYThiNTFlOTdhMmU2MGYxMTMzNjg2MTk1ZjE2MDkwYmExNDlhYmEuLjQxNWEw
NmQ0NDQ1MTZhYTc0ZWNjM2NkMzNlYjdjNmNkYTA0OGE5MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLWVvZi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEt
ZW9mLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAxJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1u
dW0tMS5odG1sCmluZGV4IDhiNzVhM2ZhNGVlNjI1NTI5YWFlYWQ4ZTNiMTQ3MmIwOGE2NDRjNjUu
LmNlOTNjZGQ2YWRlNTA5ODQ3ZGY4YWQzNzZkYjVhZWI0MGM4OGI1ZjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtbnVtLTEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtbnVtLTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiA8cCBjbGFzcz0ibm90ZXMiPgogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHls
ZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAwICAsICAuNDk5ICApJzsKIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDEyNywgIjUwLDI1IiwgIjAsMjU1LDAsMTI3Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLW51bS0xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxT
dHlsZS5wYXJzZS5yZ2JhLW51bS0xLndvcmtlci5qcwppbmRleCAyZGJiOTI4NTlhZWEzNTRiZjNh
YzA2Y2JjMDY0NTNlZmU1OWI1NzNhLi43ODMzNWI2MjVhOGZjMTA0YjZiNGEzMmVhY2FiNTZkYjgz
MGFjYWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5
bGUucGFyc2UucmdiYS1udW0tMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1
NSAgLCAgMCAgLCAgLjQ5OSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwyNSIsICIw
LDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVtLTIuaHRt
bAppbmRleCBjODQzYjlhYjFjOGViNWI2OTRlOTE5OTJiYzA4ODQ4NDhlZGEyYzI0Li4yNWNjMmJh
NTYwZWEwYWRmZmYyNWY2MGEwNWU1NGU0NzZkYzkwOWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLW51bS0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLW51
bS0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSggIDAgICwgIDI1NSAgLCAgMCAgLCAgMC40OTkgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMTI3
LCAiNTAsMjUiLCAiMCwyNTUsMCwxMjciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtbnVt
LTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtbnVtLTIud29ya2VyLmpzCmluZGV4IDNkOGEyNmEwM2EzOTljNzE4ZGI5NmM1ZTg2
ODM3MTIzMmVlMGMxZmMuLjRjYWViMDI3YzBhZjBiYWQ1OTFlOTA0YWE3MjA0ZWUwNDE4ZDU4ZDcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5yZ2JhLW51bS0yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1udW0tMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1ICAsICAw
ICAsICAwLjQ5OSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSww
LDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lmh0bWwK
aW5kZXggY2NkMDJhZWNiMWY4Y2MxODZmMmIwMGFmYzM3OGQwNzVmMjQxZWJkMC4uOGVmZmUxZTAw
MGM5MzBjZWIyZjI0MDc5M2U3Mjk0ZTVlYzA0NzYwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNl
bnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLnJnYmEtcGVyY2VudDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2Uucmdi
YS1wZXJjZW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
PHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUg
PSAncmdiYSgwJSwxMDAlLDAlLDAuNDk5KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwy
NSIsICIwLDI1NSwwLDEyNyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1wZXJjZW50Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLXBlcmNlbnQud29ya2VyLmpzCmluZGV4IDA5NTIxNjYxZmQ5ODNjODM0YzdiOTQzNGY0MzM1
ZDhkY2M3NDgzNmEuLmQ1MDQ3ZTkzNGI0MDFkYTk5N2EyMGVlYmExYWVjZmVkMTIyZTg2MzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5y
Z2JhLXBlcmNlbnQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXBlcmNlbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwJSwxMDAlLDAlLDAuNDk5
KSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwxMjcsICI1MCwyNSIsICIwLDI1NSwwLDEyNyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLmh0bWwKaW5kZXggYmE1Nzdm
ZDlhOTUyOTFmY2QwZDEzMTFlZTgzY2FjNzcyNDg1YjYyMi4uZDhjYWFmOTczZmJhYWYxZTNhMmQz
OWZjOGU2ODEwOWJiMGU4Y2Q4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5v
dGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAg
ICwgIDI1NSAgLCAgMCAgLCAgMSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0xLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LXNvbGlkLTEud29ya2VyLmpzCmluZGV4IDU4NWU4NTFiMDMzYTk0YWMyMWIzYTZkY2VhOTQ5NjQ4
MjA3N2IwMGUuLjBiNDVlZTdmNTFkYmNjN2M1ZDQyYzYzOGZiZGExYmMyYmNlNmZkNWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2Jh
LXNvbGlkLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdiYSggIDAgICwgIDI1NSAgLCAgMCAg
LCAgMSAgKSc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0yLmh0bWwKaW5kZXgg
NmZiODg0YzE0ZWZhZTgzMGRmZjUyM2VmOGJjYjMyZTdhMGIzMThhNi4uMTIxMTZjZDMwYzY3ODZl
Y2Y0MjAxYjBkMmUwNzFkZWMxNWI1Njc4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0
eWxlLnBhcnNlLnJnYmEtc29saWQtMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xp
ZC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xh
c3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAncmdi
YSggIDAgICwgIDI1NSAgLCAgMCAgLCAgMS4wICApJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlk
LTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtMi53b3JrZXIuanMKaW5kZXggNjEyNjU0MDJhMmE2MDUzYjRlNzEzOTg4
OWYxMTgxZTY4ZmYyMjRjNS4uOGJkYmZjN2VkNzFmMDRjOTJmNjZhMzdjZDUyNGY1YzZjNGM5MTUw
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKCAgMCAgLCAgMjU1
ICAsICAwICAsICAxLjAgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtMy5o
dG1sCmluZGV4IGU0OGE1ODZmMjEzYmY4MmFkYjA3NDhlMDRhNWVmMWI0NzQwM2ZjYzYuLjA5NjVm
ZWNiMjgwNjAyMjgxZjU2MTI1ZGVkNGQ0ZjhjMjVhZGU5MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1z
b2xpZC0zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxlLnBhcnNl
LnJnYmEtc29saWQtMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0
eWxlID0gJ3JnYmEoICAwICAsICAyNTUgICwgIDAgICwgKzEgICknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJn
YmEtc29saWQtMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLndvcmtlci5qcwppbmRleCBkYjQ1MTZhZGM2NTU1NTg0
YjcwOWRiMGVhMzM2NDg5MGEyMWZkMTJkLi44NjJiNzY0MjFmMjljNjA0YjMyYjkzMjczNjM0Y2Y5
NmU0ZWI4MjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC0zLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsy
MSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3JnYmEoICAw
ICAsICAyNTUgICwgIDAgICwgKzEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29saWQtNC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYmEtc29s
aWQtNC5odG1sCmluZGV4IDVhNDhiOGQxYWQzZjJkMjI2YmI0NWRkYzU5N2UyZmRiZDQ4NGYyY2Mu
LmQxMjAzOThjYzIyYzM2ZTQ0MWNiMjA1YmQzNzliOTM3NjBjMjU3MmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
cmdiYS1zb2xpZC00Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5yZ2JhLXNvbGlkLTQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnJnYmEtc29saWQtNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ3JnYmEoIC0wICAsICAyNTUgICwgKzAgICwgIDEgICknOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBh
cnNlLnJnYmEtc29saWQtNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lndvcmtlci5qcwppbmRleCAxODFjYzQ1YmRl
ZTI3NjUxYjcyMGJjMTc0NTBmY2YwNDEzMzM0NjNhLi44OGMxMTc1MzYwNjRiZWUyY2U5MzIzNmRi
OWY5NDg1MjZhOGQ0MDVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UucmdiYS1zb2xpZC00Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3RlcyI+CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoIC0wICAsICAyNTUgICwgKzAgICwgIDEgICknOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0xLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEuaHRt
bAppbmRleCBlOWM5NzI2Yjc2OTkyNWQxZDBmN2M2YmFlYjc2YWQwYThkZWUyNjZhLi40YjM0YTk4
MmNjNTBjMzZhZTc4ZWVkNzUzMmRlYzczZTljM2VhZTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZmlsbFN0eWxlLnBh
cnNlLnN2Zy0xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+CiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2dyYXknOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyOCwx
MjgsMTI4LDI1NSwgIjUwLDI1IiwgIjEyOCwxMjgsMTI4LDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3ZnLTEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnN2Zy0xLndvcmtlci5qcwppbmRleCA3MWJjYjYwNWY2ZWE4MjVkYzlmODM2
ODNkMmVmOGI2ZTAwMDE4MmJiLi5jYWE1Mjc0Y2E4YTdkOWVjYTI2ZjUyM2E0MTVmNmYyOTNiMzMz
NGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3ZnLTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmZpbGxTdHlsZS5wYXJzZS5zdmctMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmF5JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjgsMTI4LDEy
OCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNl
LnN2Zy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFy
c2Uuc3ZnLTIuaHRtbAppbmRleCBkY2ZlYzMxZDU0ZDQwODQ0Mzk1YmM0OTkyMzg1N2RlOTAwZThi
NGJiLi44OTNkZGY4NWM3M2UxMmIwNDhkM2E0YzNmMjRkN2JhMTg4OTYwZDYxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uuc3Zn
LTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
ZmlsbFN0eWxlLnBhcnNlLnN2Zy0yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMjwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3Rl
cyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ2dyZXknOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDEyOCwxMjgsMTI4LDI1NSwgIjUwLDI1IiwgIjEyOCwxMjgsMTI4LDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN2Zy0yLndvcmtlci5qcwppbmRleCAwYWM4MDU0NDBl
OTQwNjlmODI0MjFjOWMyODhiZjgwNWI1YzFhZTdkLi40NTc2YzkwMjNlYzhmZTE4NjE3NmNhM2Vi
NDc0OTY5ZGM3N2NhZTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5maWxsU3R5bGUucGFyc2Uuc3ZnLTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS5zdmctMi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZTo8cCBjbGFzcz0ibm90ZXMiPgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdncmV5JzsKIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjgsMTI4LDEyOCwyNTUsICI1MCwyNSIsICIxMjgsMTI4LDEyOCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmls
bFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCmluZGV4IGNlMzVhNzQyNDk5ZDFkZGNhMzVhM2E3
MzBiNGIwMTU2M2YzNGIzZWEuLjJlYzNlMjNkZjBiZjM1Mzg5ZTZkMjljODM0NTkwYjRkN2I2Yjkx
ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5w
YXJzZS5zeXN0ZW0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW08L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZmlsbFN0eWxl
LnBhcnNlLnN5c3RlbTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdUaHJlZUREYXJrU2hhZG93JzsKIGFz
c2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL14jKD8hKEZGMDAwMHxmZjAwMDB8ZjAw
KSQpLyk7IC8vIHRlc3QgdGhhdCBpdCdzIG5vdCByZWQKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5
c3RlbS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3lzdGVtLndvcmtlci5qcwppbmRleCBhYjU5MDdkZWFmNzBjNjE0Y2RjOTVlMjk0ODVi
YWIyY2Q4ZWUyY2Y4Li5hOWZhODExYzdkMjUzNGMyYTQzMDY2YjM4NDJmZmM3YWM2YjM4MmQ0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2Uu
c3lzdGVtLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxs
U3R5bGUucGFyc2Uuc3lzdGVtLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxTdHlsZSA9ICdUaHJl
ZUREYXJrU2hhZG93JzsKIGFzc2VydF9yZWdleHBfbWF0Y2goY3R4LmZpbGxTdHlsZSwgL14jKD8h
KEZGMDAwMHxmZjAwMDB8ZjAwKSQpLyk7IC8vIHRlc3QgdGhhdCBpdCdzIG5vdCByZWQKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
ZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0xLmh0bWwKaW5kZXggM2U3ZGE4
OWRiOTQyMTgxMWIwNmIyYTMyMTUxNTlmMjNjNDYwNjAyNi4uM2RiODE4OWI4YTc5ZWVmOTYyNjA4
ZWM2NzBhMjI1YTkyNDE1OTE2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5maWxsU3R5bGUu
cGFyc2UudHJhbnNwYXJlbnQtMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQt
MTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNz
PSJub3RlcyI+CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3
ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJ3RyYW5z
cGFyZW50JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAiMCwwLDAsMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5m
aWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMS53b3JrZXIuanMKaW5k
ZXggMTBiYjUzYjVlNGRhMzRlMjVmYmIyMDEwYTc2NzNmZjBhMGE4NWQ2MS4uYjQxY2YwZGY2Yzcy
YTJhMDdhNTE5MDlmOGFlODg2ZDQ0N2Y5N2NlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3Bh
cmVudC0xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOjxwIGNsYXNzPSJub3Rl
cyI+CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJ3RyYW5zcGFyZW50JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDAsMCwwLCAiNTAsMjUiLCAi
MCwwLDAsMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIu
aHRtbAppbmRleCA5ZGQ4NzYyNWY1YmNmNzgyMmIzNjY5M2ZiOTg5MmJlMzkzNWJjNTk1Li40NWVl
MmUxNTA1ZjI4OTljZmIwMzY2NjNjM2JiM2NkNmZjMDc5MTY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJlbnQtMi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFu
c3BhcmVudC0yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmZpbGxTdHlsZS5w
YXJzZS50cmFuc3BhcmVudC0yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj4KIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5m
aWxsU3R5bGUgPSAnVHJBblNwQXJFblQnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMCwwLDAsICI1MCwyNSIsICIw
LDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVudC0yLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmZpbGxTdHlsZS5wYXJzZS50cmFuc3BhcmVu
dC0yLndvcmtlci5qcwppbmRleCAwZGQwNzg0NjdmN2ZhZmExMzkzNDdkNTc4MjAyY2Y2YzlkY2Vm
ODcyLi5iOTZiZDBiMTg2OGQwMjc5YzEwZjlkZmM5OWJjOWU2OTVhOTAwZmJmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5maWxsU3R5bGUucGFyc2UudHJhbnNwYXJl
bnQtMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZmlsbFN0
eWxlLnBhcnNlLnRyYW5zcGFyZW50LTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6PHAgY2xhc3M9Im5vdGVzIj4KIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnVHJBblNwQXJFblQnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MCwwLDAsICI1MCwyNSIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS5odG1sCmluZGV4IDM3
MjA1NTgwN2MxMmUxN2I1ZjRhNDRjYmZmNWVjMDJmYjRmMmYzYmEuLjZkNzA0OWFjODQyMjE3Mzhk
ZWMyNjA2ZWU3YWYwMWUyMzZmNzUzY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuZW1wdHk8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuZW1w
dHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgdmFyIGcg
PSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9
IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5lbXB0eS53b3JrZXIuanMKaW5kZXggMTQ2NTIwZTlkNzBmNjM0
M2U4ZTZmYTc1MDdhZjJhYzMzZjAyOWM1Yi4uODVlYjMxMTA1YTI2YzY0NDIxYzg5Y2IxOTI0OGZk
MTYzODhhNmQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgZyA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAw
LCAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LmFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5hbHBoYS5odG1sCmluZGV4IDY5NmM2ZTZhZmI0MjAxZTI5OGExYWYzMmVjZDFhYmRj
OTNiNGE3ZGQuLjM0Yjc0ZjVlMjdmYTQ1ZmU5YjdkN2ZjYjM4ZjFlZWU1YjJkODFiOTAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
aW50ZXJwb2xhdGUuYWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuYWxwaGE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuYWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkx
LDE5MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAi
NzUsMjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5h
bHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5hbHBoYS53b3JrZXIuanMKaW5kZXggZmU1M2RiMjIwMjkzNTA4ZThhMzUyMTdk
NDI0Y2VhMzNjMjI0MzBkMy4uNmQ3MDM5MjA4Y2VjNWNlYTYzNDc4NGNlNGM2OTdhODQ3YTRkMWFm
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMTkxLDE5
MSw2MywyNTUsICIyNSwyNSIsICIxOTEsMTkxLDYzLDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEy
NywxMjcsMTI3LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDYzLDYzLDE5MSwyNTUsICI3NSwyNSIsICI2Myw2MywxOTEsMjU1IiwgMyk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLmh0bWwKaW5kZXggYTkyNDY3Nzg1
NWNlYjQzYjI1ZmY5NTM3M2MxYzFlNzZhYWI1YjVkYi4uNzQyNzE4ZjAyNDI0MDNkNWExNzQwZWVk
MTdiNDk2MzU4MTAwZWVmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9s
YXRlLmNvbG91cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXI8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5
MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkxLDE5MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIs
ICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAiNzUsMjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuY29sb3VyLndvcmtlci5qcwpp
bmRleCA4N2NlYTUzZDUyM2E4NDhkNGVmYzMyMDEzNjdjNzg4OTI3ZGQxY2IyLi40ZGMwYjExYTRl
N2YwMmZhMjg1NDlkN2Y5M2UzY2M1MDE0MzBjZGM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXIud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNv
bG91ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDE5MSwxOTEsNjMsMjU1LCAiMjUsMjUiLCAiMTkxLDE5
MSw2MywyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMTI3LDEyNywyNTUsICI1MCwyNSIsICIxMjcsMTI3LDEyNywyNTUiLCAzKTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCA2Myw2MywxOTEsMjU1LCAiNzUs
MjUiLCAiNjMsNjMsMTkxLDI1NSIsIDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xv
dXJhbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuY29sb3VyYWxwaGEuaHRtbAppbmRleCAxOWM0ZTQ3ZGY1NDI2MjUwMzVlM2JlODBk
ZDdiZmY4MTMzNmI4NWI5Li4zZmJkM2FkYWRiM2Y4MzU4NDljMjdlYThjZGU3MjIzY2Q3ZjI2N2M4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLmNv
bG91cmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAxOTAsMTkwLDY1LDY1LCAiMjUsMjUiLCAiMTkwLDE5MCw2NSw2NSIsIDMpOwogX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNiwxMjYsMTI4LDEyOCwgIjUwLDI1
IiwgIjEyNiwxMjYsMTI4LDEyOCIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDYyLDYyLDE5MiwxOTIsICI3NSwyNSIsICI2Miw2MiwxOTIsMTkyIiwgMyk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhh
Lndvcmtlci5qcwppbmRleCAzNGMyZDAzNzc1N2Q0M2ZjMTQwNGJlZTY2ZDViOTc4YTQyODg2MGZh
Li40NDljZmRmZDVkYjY2MTU3MDczNDE1NTA5NDYzZGM1OTQ4ZGJiYWVjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJh
bHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuY29sb3VyYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAxOTAsMTkwLDY1
LDY1LCAiMjUsMjUiLCAiMTkwLDE5MCw2NSw2NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNiwxMjYsMTI4LDEyOCwgIjUwLDI1IiwgIjEyNiwxMjYs
MTI4LDEyOCIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDYyLDYyLDE5MiwxOTIsICI3NSwyNSIsICI2Miw2MiwxOTIsMTkyIiwgMyk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS5odG1sCmluZGV4IDdmNWNkN2JjMmI1
MzhmZTViMTQwMGRiNDE5Yzk0NjBlMDFlMDAxZTMuLjg2Y2I5OGEwZjc0NjkxMzAzODQ4NDZhNDI4
NDdlMWJmYWVhNjE0ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLm11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGUuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUubXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVsdGlwbGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0
KDAsIDAsIDIwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDEyNywyNTUsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywyNTUsMTI3LDI1NSIsIDMpOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTAwLDI1LCAwLDI1NSwyNTUsMjU1LCAi
MTAwLDI1IiwgIjAsMjU1LDI1NSwyNTUiLCAzKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDE1MCwyNSwgMTI3LDEyNywyNTUsMjU1LCAiMTUwLDI1IiwgIjEyNywxMjcsMjU1
LDI1NSIsIDMpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0
aXBsZS53b3JrZXIuanMKaW5kZXggMzNiZGY4OGIwNGZjYzQ0ZGNlNDIwYzNiOGM1MWU5N2M3NGQx
MTZiNC4uOThlZTQ2NzM0ZmNjOTlhZGY0NjI3NDRiYmU0Zjc2ZmEwYzUyYTUyZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUubXVs
dGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLm11bHRpcGxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMjAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDI1NSwxMjcs
MjU1LCAiNTAsMjUiLCAiMTI3LDI1NSwxMjcsMjU1IiwgMyk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCAxMDAsMjUsIDAsMjU1LDI1NSwyNTUsICIxMDAsMjUiLCAiMCwyNTUs
MjU1LDI1NSIsIDMpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMTUwLDI1
LCAxMjcsMTI3LDI1NSwyNTUsICIxNTAsMjUiLCAiMTI3LDEyNywyNTUsMjU1IiwgMyk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUuaHRtbAppbmRleCBmMGZkOWFm
YWI2NmJmMTRjYjA3YjY4Y2M0NThmYjI1N2EzNWNlZTkyLi42MzI3ZDQwMzAzN2NkNGQ2ODQxN2Vj
OTg2YzczZjU2NzdjNGU2YWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdXRzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3V0c2lkZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjAs
MjUsIDAsMjU1LDAsMjU1LCAiMjAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA4MCwy
NSwgMCwyNTUsMCwyNTUsICI4MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29ya2VyLmpzCmluZGV4IDkyMTZk
MGZjNTExZDdkYWI2ZDUxY2FlZDVjNDcyMmJkODU1NzU4OTguLmQ1NjE5MTczZGNhZjg5ZDc3NmFl
M2Q0YTc3YjUyMzA4NmFlYWQ5OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDIwLDI1LCAwLDI1NSwwLDI1NSwgIjIwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgODAsMjUsIDAsMjU1LDAsMjU1LCAiODAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC5odG1sCmluZGV4IDk0
NTg3M2VlYTY5ODY2YzIzOTBhNTc2ODkyNjY0M2Y2NWIxMTQwYWQuLmNiNjhhNmNlMTliMWQxMTkz
NzE3YWFlOTBiYmUwY2ZiZWJhODJjMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LmludGVycG9sYXRlLm92ZXJsYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zlcmxh
cDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYsNiBAQCBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwwLDI1NSwyNTUsICI5OSwyNSIs
ICIwLDAsMjU1LDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxMDEs
MjUsIDI1NSwyNTUsMCwyNTUsICIxMDEsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDE2KTsKIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE0OSwyNSwgMCwwLDI1NSwyNTUsICIxNDks
MjUiLCAiMCwwLDI1NSwyNTUiLCAxNik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAxNTEsMjUsIDI1NSwyNTUsMCwyNTUsICIxNTEsMjUiLCAiMjU1LDI1NSwwLDI1NSIsIDE2
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLndvcmtl
ci5qcwppbmRleCBiZjVhNWE1NTljMzI4ZmIyYzJmYTE3NjU2NWYyOTdkYTQ5MDBkMDk4Li4wYzFi
ZjJjMDhhZjU4ODc4MTRmYjg4OTQ5YzY0ODBhYjc3YWU0ODc4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBv
bGF0ZS5vdmVybGFwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzgsNyArNDIsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5OSwy
NSwgMCwwLDI1NSwyNTUsICI5OSwyNSIsICIwLDAsMjU1LDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAxMDEsMjUsIDI1NSwyNTUsMCwyNTUsICIxMDEsMjUiLCAiMjU1
LDI1NSwwLDI1NSIsIDE2KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDE0
OSwyNSwgMCwwLDI1NSwyNTUsICIxNDksMjUiLCAiMCwwLDI1NSwyNTUiLCAxNik7CiBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxNTEsMjUsIDI1NSwyNTUsMCwyNTUsICIxNTEs
MjUiLCAiMjU1LDI1NSwwLDI1NSIsIDE2KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3Zl
cmxhcDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLm92ZXJsYXAyLmh0bWwKaW5kZXggZjIwOTA0ZTI0OGQzYjA1YmFjMGY2NDNmYWM4YWVh
NDkyYzhiM2YyNy4uYThhYjczOGI0MTlkMzZlMGFmNzgyZTAzNmQ4Y2RhMDA0NWI1ODU3ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xh
dGUub3ZlcmxhcDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAz
MCwyNSwgMCwyNTUsMCwyNTUsICIzMCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNDAsMjUsIDAsMjU1LDAsMjU1LCAiNDAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYwLDI1LCAwLDI1NSwwLDI1NSwg
IjYwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4
MCwyNSwgMCwyNTUsMCwyNTUsICI4MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5vdmVybGFwMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFwMi53b3JrZXIuanMKaW5kZXggNDJi
ODQ3MzFiMjczNjRjYzc5NzBjYTg1MzZmZjNiNDVlZDQxOGNjMS4uYzBjMzY0MzVlMjgxYzg3MjAx
NjVkNzE0YWFlZjVjNzdkM2Q2ZjRjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUub3ZlcmxhcDIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLm92ZXJsYXAy
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzMCwyNSwgMCwyNTUsMCwyNTUsICIz
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDAs
MjUsIDAsMjU1LDAsMjU1LCAiNDAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDYwLDI1LCAwLDI1NSwwLDI1NSwgIjYwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCwyNSwgMCwyNTUsMCwyNTUsICI4
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUu
c29saWQuaHRtbAppbmRleCBjNTg1YmIwODU3YjBiZjRiNTNiZTlkZTZjMDA3MjZhZjgyMjg3MDMy
Li5iMWZiYTQwOTJhNWI5ZTEwMDA1M2E4YjU4YmVkYWQ0MWU1ZDEzNjRjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnNvbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LmludGVy
cG9sYXRlLnNvbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2
IEBAIGcuYWRkQ29sb3JTdG9wKDEsICcjMGYwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmludGVycG9sYXRlLnNvbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkLndvcmtlci5qcwppbmRleCA0YjUwMDA4MGE3
M2VhZmVlY2RhNWY5NjJmN2RlZWRkOTE1ODEzYmY2Li40YTEyMjg5ZjJjNzIzZDQ5MDQ5MWNkMTk0
NWIzM2YyMzdiYTYyMjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5zb2xpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuc29saWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGcuYWRkQ29s
b3JTdG9wKDEsICcjMGYwJyk7CiBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRl
LnZlcnRpY2FsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS52ZXJ0aWNhbC5odG1sCmluZGV4IGZmZGIzMmRlODdjMDUwMjljZTZjMDM5ZGM2
OGZkZjFjZGE2NzJkN2IuLmEzZWVhNDc3NWU2MzIxMDIwYTNiZTFkM2M1OTI0YTBlMTJmMzE0ZGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLnZlcnRpY2FsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWw8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWw8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDE5MSwxOTEsNjMs
MjU1LCAiNTAsMTIiLCAiMTkxLDE5MSw2MywyNTUiLCAxMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDEyNywxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDEy
NywxMjcsMjU1IiwgNSk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwz
NywgNjMsNjMsMTkxLDI1NSwgIjUwLDM3IiwgIjYzLDYzLDE5MSwyNTUiLCAxMCk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnZlcnRpY2FsLndvcmtlci5qcwppbmRl
eCA4MjEyYWQ4MjYwOGVkNTRmZTJjMWMwZTk5NjZmMDM2MDIwMzBkYzIyLi4xYzE2MjRkNmMyNDQw
ODA0MDlkYWIzYzE1Yjg1YWU5ZGY0YzQ1N2U2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS52ZXJ0aWNhbC53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUudmVy
dGljYWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3
ICsyNCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAxOTEsMTkxLDYzLDI1NSwgIjUwLDEyIiwgIjE5MSwx
OTEsNjMsMjU1IiwgMTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDEyNywxMjcsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywxMjcsMTI3LDI1NSIsIDUpOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMzcsIDYzLDYzLDE5MSwyNTUsICI1
MCwzNyIsICI2Myw2MywxOTEsMjU1IiwgMTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56
ZXJvc2l6ZS5maWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLmh0bWwKaW5kZXggN2M4ZWVhODA4ZTFlMTZhN2Iw
ODBmMWEwZjRkN2I1ODUxMGQ2MThhNi4uY2M2MWI1MGU0OGIyNTJhMDMxYjhlNTVkYTY0YTliOWU4
MjEyMDMwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGwuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuemVyb3NpemUuZmlsbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJv
c2l6ZS5maWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDAsMjAsIDAsMjU1LDAsMjU1LCAiNDAs
MjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUu
ZmlsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLndvcmtlci5qcwppbmRleCA0ZGJlMTQ2MjM4MjU0Yjk0
N2QyZmRmOWI5NTZmMzcwODYzZWNjZGVlLi5mMzI0MmMyMTMxNGU2ZDllMmE2OGFiYTIzMGVmZDFi
NzE4OWRmNzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguZmlsbFN0eWxlID0gZzsKIGN0eC5yZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQwLDIwLCAwLDI1NSwwLDI1NSwgIjQw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LmZpbGxSZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC5odG1sCmluZGV4IDVlYjM3Yzg2OTk3MzBkMDIw
OGViMTI4MDc3NGNlMzU2YjVhM2E3YzcuLjMwMzNjOTRlMjVjOGY2ZDc3N2FlMjg2NTkzODhhNTg2
NGQ5NDE4ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Qu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3Jh
ZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Q8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50
ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Q8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI0LDcgKzI4LDYgQEAgZy5hZGRDb2xvclN0b3AoMSwgJyNmMDAnKTsKIGN0eC5maWxsU3R5
bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNDAsMjAsIDAsMjU1LDAsMjU1LCAiNDAsMjAiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbFJlY3Qud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3Np
emUuZmlsbFJlY3Qud29ya2VyLmpzCmluZGV4IDkzNWUxNmE3ZGI5YjlmZDkzYTMxNWQ5NzNjMmU5
YWM3OTcxMzdlYTcuLjUwZTg2MDA1NzE0NGUxMGMyOTZmOWI0MmY1NjA2NTQ0MTAyMzNiYjYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9s
YXRlLnplcm9zaXplLmZpbGxSZWN0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5maWxsUmVjdC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgZy5h
ZGRDb2xvclN0b3AoMSwgJyNmMDAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDAsMjAsIDAs
MjU1LDAsMjU1LCAiNDAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJw
b2xhdGUuemVyb3NpemUuc3Ryb2tlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2UuaHRtbAppbmRleCA3MjE1YTk1
NTQ4MzZmZmI3N2E1Mzg2ODdkMmY3MjJiMDcxMjEzMWM0Li5lY2M2MTBkZDRiNDFhOTMzYzg5Yjdi
MDM4NDEzNWYwNmI3MmE2NTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5z
dHJva2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50
LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMCwg
MCwyNTUsMCwyNTUsICIyMSwyMCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMTksMjEsIDAsMjU1LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIwLDIx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMSwg
MCwyNTUsMCwyNTUsICIyMSwyMSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRl
cnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlLndvcmtlci5qcwpp
bmRleCBjZGE0ZGM0NmMxNjVjODUxNjRkZmU2YjBiM2ZmZDQyOGU1YjFmMGE4Li40NjI0MDUyMDIw
ZGRlZjdkY2FhZGM1ZTU0YTI5YmQwNjhmZTcwZjJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2Uud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVy
cG9sYXRlLnplcm9zaXplLnN0cm9rZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjEsMjAsIDAsMjU1LDAsMjU1LCAiMjEsMjAiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDE5LDIxLCAwLDI1NSwwLDI1NSwgIjE5LDIxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMSwgMCwyNTUsMCwyNTUs
ICIyMCwyMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjEsMjEsIDAsMjU1LDAsMjU1LCAiMjEsMjEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tlUmVjdC5o
dG1sCmluZGV4IDIxYzk0ZWVhN2ZmZjI4MmRkYjc1MWRiOWY2OWRlYjk1OTY1NTdmYjAuLmM2YTQy
MWFkZDNhOWNkODg3MDU2NDM3ZTRjOWNlZDNmNDk3NWZjMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9r
ZVJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXpl
LnN0cm9rZVJlY3Q8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tl
UmVjdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMCwgMCwyNTUsMCwyNTUsICIyMSwyMCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMTksMjEsIDAsMjU1
LDAsMjU1LCAiMTksMjEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDIwLDIxLCAwLDI1NSwwLDI1NSwgIjIwLDIxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMSwyMSwgMCwyNTUsMCwyNTUsICIyMSwyMSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VS
ZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lmlu
dGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Qud29ya2VyLmpzCmluZGV4IDc4YjhlOGYxMjQ2
NTIzZjNlMjFmODk4YjQwZGU5ZWYxOThhNGQ1YjYuLmRjYTIzOWM5YmJkNDI5NjJiNGQwMDYxNDNk
MWJlYzZkNmE0NjE2NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLnN0cm9rZVJlY3Qud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9z
aXplLnN0cm9rZVJlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIwLCAw
LDI1NSwwLDI1NSwgIjIxLDIwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxOSwyMSwgMCwyNTUsMCwyNTUsICIxOSwyMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjEsIDAsMjU1LDAsMjU1LCAiMjAsMjEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIxLDIxLCAw
LDI1NSwwLDI1NSwgIjIxLDIxIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LmxpbmVhci5ub25maW5pdGUuaHRtbAppbmRleCA0N2IxZWU1YjJmYjFkZTEzYTM0OTY3ZWIxMDg1
NGRmMjViZTRjNjMzLi41MWQ0OGFjMGZlMTNiZGIwNDc4ZmIyZDNiMDRhOGZiZGQwMjg1MDI2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIu
bm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQubGluZWFyLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5saW5lYXIubm9uZmluaXRlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRp
ZW50LmxpbmVhci5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUxpbmVhckdy
YWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVh
dGVMaW5lYXJHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3Qg
ZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzksNyArNDMsNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCBJbmZpbml0eQog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGlu
ZWFyR3JhZGllbnQoMCwgSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3Jh
ZGllbnQoMCwgSW5maW5pdHksIDEsIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCBJ
bmZpbml0eSwgSW5maW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLm5vbmZpbml0ZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIu
bm9uZmluaXRlLndvcmtlci5qcwppbmRleCA1MDI5MjFmNjFmMGE5NTQ1YzVjZWI5NDMzMTMzNDgy
NjMyODAxMzg0Li5jODI2OGIwMDk5MzdiMDY1YmE5ZGY5MzUwMmQ4ZDg1MjZhOTA5ZWY2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIubm9u
ZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5saW5lYXIubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Y3JlYXRlTGluZWFyR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUg
bm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDcgKzM5LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgSW5maW5p
dHkKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZUxpbmVhckdyYWRpZW50KDAsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUxpbmVh
ckdyYWRpZW50KDAsIEluZmluaXR5LCAxLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zv
cm0uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFy
LnRyYW5zZm9ybS4xLmh0bWwKaW5kZXggNDNiMTdkNjEwNmNjYTNjM2FiMzAyMDI5Yzk5NzEzODFl
MWRhNTlhNS4uNzk3ODAyY2U4OWQwYjI2ODE4MDhlODE2Y2QyMjkwZWVlMTE4YjUzYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5z
Zm9ybS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
bGluZWFyLnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFk
aWVudC5saW5lYXIudHJhbnNmb3JtLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmVhciBncmFk
aWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQg
dGhlIHRpbWUgb2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRp
dmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgY3R4LmZpbGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMS53b3JrZXIuanMKaW5kZXggZjc3
NWQ4NTA5NWY4MTgzODE2NmZkZGNkNDI2YWZmZGIwOTc4YThkMy4uYWRhMGI5Njg5NzY3ZTk0Y2Q3
ZDViYmNlMzY1NTk0ZGIwNjcyOTY5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4xLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0
ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZp
bGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwKaW5kZXgg
NDRjOTVlN2MwNTJlMjVjYTIyYjEwMzliOWFmZGEwN2Y1ODAzM2E5MS4uODBiODc5MTllZmRiYzE2
ZmMzYjkwZmUyYTk5MzMwZTlhYmY4NDRiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50
LmxpbmVhci50cmFuc2Zvcm0uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmVhciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVs
YXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZzwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmVh
ciBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3Bh
Y2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZp
bGxSZWN0KDUwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4y
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci50cmFuc2Zvcm0uMi53b3JrZXIuanMKaW5kZXggYmNhOGRmMGFmNGJiNzQyNWU3NDYyYTU4ODBk
NTk5OWZkMDJkNjFiMi4uMzMwNTgyNDk1MjA1ZjdiZDNjNGY0NmViZmVjNWRlYzkwNTJhZTBjZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFy
LnRyYW5zZm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJMaW5lYXIgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBj
b29yZGluYXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LmxpbmVh
ci50cmFuc2Zvcm0uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQubGluZWFyLnRyYW5zZm9ybS4zLmh0bWwKaW5kZXggOTYzYjdlYWRiMTFjMmFhOTVjMjEyNWQw
NmYxNTZjODk5NDk4OTBiZS4uYzczMGJkNWE4OTc0MmFiMzk1ZmU4MDRkZWE0ZTQ0ZWI5Zjc0Nzky
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGlu
ZWFyLnRyYW5zZm9ybS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQubGluZWFyLnRyYW5zZm9ybS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxp
bmVhciBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNoaW5n
IGVmZmVjdHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJMaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9r
ZW4gY2FjaGluZyBlZmZlY3RzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBjdHguZmlsbFJlY3Qo
NTAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjMud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQubGluZWFyLnRyYW5z
Zm9ybS4zLndvcmtlci5qcwppbmRleCA2YWNmZDAwZWY5MmExOTJjM2JlNTJkZmE0OTc1MGE1YmZk
OGI3ZDczLi41NDU1ZjI0Yjc3YmNlMTkzZjllOTc3NjY5OWJlOTJkYjlmOTlhZWZiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5saW5lYXIudHJhbnNm
b3JtLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LmxpbmVhci50cmFuc2Zvcm0uMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IkxpbmVhciBncmFkaWVudCB0cmFuc2Zvcm1zIGRvIG5vdCBleHBlcmllbmNlIGJyb2tlbiBjYWNo
aW5nIGVmZmVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5maWxsUmVjdCg1MCwgMCwg
MTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY29tcGFyZS5odG1sCmluZGV4IDFh
ZWMyNGM2NWRiZGVmNGZlOTk5NDdiNGFiNGYyM2YxNjgxMGZiYzIuLjMwMjBjNjBhNjgzNWMwYmU2
MjI3MTE4Njc5YmViYzJmNGQ4NzIyMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQub2JqZWN0LmNv
bXBhcmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmU8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgdmFyIGcyID0gY3R4LmNyZWF0ZUxpbmVhckdy
YWRpZW50KDAsIDAsIDEwMCwgMCk7CiBfYXNzZXJ0RGlmZmVyZW50KGcxLCBnMiwgImcxIiwgImcy
Iik7CiBjdHguZmlsbFN0eWxlID0gZzE7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCBnMSwg
ImN0eC5maWxsU3R5bGUiLCAiZzEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNvbXBhcmUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNv
bXBhcmUud29ya2VyLmpzCmluZGV4IGFmZmQ2NDM4OGI4MGQ4N2U1YmVkOWNmM2I1YzUwNzMxMzli
ZmY5NDAuLmY5MDhjYzY4MDhlYmY2ZjJmZDczNDQ3MmUzODhiOWRjMWM0YTZkM2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJl
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5v
YmplY3QuY29tcGFyZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTE3LDcgKzIxLDYgQEAgdmFyIGcyID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAs
IDEwMCwgMCk7CiBfYXNzZXJ0RGlmZmVyZW50KGcxLCBnMiwgImcxIiwgImcyIik7CiBjdHguZmls
bFN0eWxlID0gZzE7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCBnMSwgImN0eC5maWxsU3R5
bGUiLCAiZzEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMuaHRt
bAppbmRleCBlZWI2MjQyNmQwNDg4NTk3ZDRmNDhjZTdmNTRlMjZiY2I1YTBkNWYzLi5lN2MyMmUz
NjI5Mzk4ZDFkMjQzZmY2NjUzNjJjZjBmNzIyODg5MDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52
YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Z3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50Lm9iamVjdC5jcm9z
c2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBn
LmFkZENvbG9yU3RvcCgxLCAnIzBmMCcpOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5vYmplY3QuY3Jvc3NjYW52YXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmNyb3NzY2FudmFzLndvcmtlci5qcwppbmRleCA5Njk5
OTc3YTZmZTRiYTliMTFjOGE0N2JiOTQ3ZjA3NzA2ZjI0NTllLi5iNGYyODRmN2M3MGRhMWFjYTUz
MjRkOWQ1MjY2N2NjYTIwNjhhODA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuY3Jvc3NjYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcy53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Zy5hZGRDb2xvclN0b3AoMSwgJyMwZjAnKTsKIGN0eC5maWxsU3R5bGUgPSBnOwogY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyLmh0bWwKaW5kZXggNzk1NjczYmFk
N2Q2MjkxNzAwY2JkZWQ1NjY1YmE0ODdhODllYzZlMy4uMGI3MmE4MzUyN2ZjZWE2Zjg3Y2MyYzAz
ZjY3ODJhMTgxNmJiMGYzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5vYmpl
Y3QuaW52YWxpZGNvbG91cjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91cjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBhc3NlcnRfdGhy
b3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDAsICdudWxsJyk7
IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9y
U3RvcCgwLCAndW5kZWZpbmVkJyk7IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1
bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCBudWxsKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJT
WU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDAsIHVuZGVmaW5lZCk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZGNvbG91ci53b3Jr
ZXIuanMKaW5kZXggMWZhNjJmM2IxN2VkYzQ0OTYxYjQ4MzU3NTcyMzdlNmVkNzg4MWY2OC4uNTI2
ZWRiZmZiNjA2MTgxOWI3MGI4M2Q1Nzk0MmIwNjVhMmY4NzY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LmludmFsaWRjb2xvdXIud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVj
dC5pbnZhbGlkY29sb3VyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24o
KSB7IGcuYWRkQ29sb3JTdG9wKDAsICdudWxsJyk7IH0pOwogYXNzZXJ0X3Rocm93cygiU1lOVEFY
X0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgwLCAndW5kZWZpbmVkJyk7IH0pOwog
YXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcCgw
LCBudWxsKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGcu
YWRkQ29sb3JTdG9wKDAsIHVuZGVmaW5lZCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52
YWxpZG9mZnNldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
b2JqZWN0LmludmFsaWRvZmZzZXQuaHRtbAppbmRleCAyZGQ4N2ZiNDdjZjdjMGFhNzFmYmFjZjk3
YTFiMGY5NjJmNTRhNTU5Li5kODQxODk1Yzk3ZThjMzZiYmY1NmUxZjI5OThkNWMxY2ViMDIxNDdi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmpl
Y3QuaW52YWxpZG9mZnNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVf
RVJSIiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDIsICcjMDAwJyk7IH0pOwogYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChJbmZp
bml0eSwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7IGcuYWRkQ29sb3JTdG9wKC1JbmZpbml0eSwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKE5hTiwgJyMw
MDAnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zmc2V0Lndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkb2Zm
c2V0Lndvcmtlci5qcwppbmRleCAyOGY3MTExNTc5ZjlmN2Y2ZWJhODAwZjhjYzQzZTAwMmI2Mzdm
NzA0Li4yM2I1ZDdhM2Q4NTZjZDA2N2UyMWE1OTMzY2Y1YjNkY2Y1YWVlMjEzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9m
ZnNldC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQub2JqZWN0LmludmFsaWRvZmZzZXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJS
IiwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKDIsICcjMDAwJyk7IH0pOwogYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBnLmFkZENvbG9yU3RvcChJbmZpbml0
eSwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGcuYWRkQ29sb3JTdG9wKC1JbmZpbml0eSwgJyMwMDAnKTsgfSk7CiBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGcuYWRkQ29sb3JTdG9wKE5hTiwgJyMwMDAn
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGUuaHRtbAppbmRleCBjN2YzNmEz
MTk5M2E3Nzc1YzdlNDQwNTMyOWQ5YzE0NTJjNTllN2NhLi42NmZhNjEyMmFmMzhiMjRiNmE5OTk2
YmFiODAyY2FhNjI3ZTRiNTJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5vYmplY3QudXBkYXRlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmdyYWRpZW50Lm9iamVjdC51cGRhdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgZy5hZGRDb2xvclN0b3AoMC4xLCAnIzBmMCcpOwogZy5hZGRD
b2xvclN0b3AoMC45LCAnIzBmMCcpOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQub2JqZWN0LnVwZGF0ZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBk
YXRlLndvcmtlci5qcwppbmRleCAwMjhkOTM0MjQxNjgxNGQ2YzM4OWRiNjEzMzc4ODMxZDMzYzRm
YmE0Li5mNmMxNTMxZDIxMjdiZmI2NGExOTBjODhiMGM1ZjA0NDI3ZWM1NGI1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmplY3QudXBkYXRlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5vYmpl
Y3QudXBkYXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBnLmFkZENvbG9yU3RvcCgwLjEsICcjMGYwJyk7CiBnLmFkZENvbG9yU3Rv
cCgwLjksICcjMGYwJyk7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGlu
ZC5odG1sCmluZGV4IDY4MTllMTYwMWVmOTI4ODhjOThmY2MyN2JmMDUzNDcwN2IzYTZlNDYuLjQ1
MjkyZGQ2ZmUxYzE4NWRhMWY0NmQ0NjZiMDEwZGFhYmYzZDY0ODQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlaGluZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuYmVoaW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYmVoaW5kLndvcmtlci5qcwppbmRleCAzOTdmZjRlYWQxNDIzNmY4YTNlMDMyMWIzYTJjMDJj
MDU3OWQzMDdkLi45ZTIwYzNiNDJlN2VlMDA1N2ViMjBjYWJhYTU1MDg3ZWUwYTlhMTI1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5iZWhpbmQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1
LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0bWwKaW5kZXggMGM4MWI4MWU4NDIyNjU5
ZjA2MzdiMzBmYWRlNGVmMGY4OThmZWQxNS4uZTE5OTZhZDhmN2I2OGY2M2E1N2ZkZGQ5M2I1Y2Yw
ODkxZTdhZTFhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJl
c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAs
MjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUud29ya2VyLmpzCmluZGV4IDE0
NWU1MTE5ZTJlOTVjNjhhN2EzZmU5NTEzZWQxZGYwMTZkZmM3MWMuLjJiYjg3OTIxOTkyZTlhMDg1
NzllZDNhMGIyNGIxOTBjODk1OThhY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0
b20uaHRtbAppbmRleCA1MTQ1Nzc1MGI2MTljYmY0ODdhNGU0YjgwNzEwZjgxN2FkNjVlZTIyLi5h
NGNhYzA5NTIxMTU5NDRiZTBjOGZmNzhiODBjZDllNDEwMjc5YjBjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5ib3R0b20uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmJvdHRvbTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5
OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYm90dG9tLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLmJvdHRvbS53b3JrZXIuanMKaW5kZXggZGFhMjRiMDZjZDhmYWU4M2M5ZjFlNzVmOGIyYTRh
MTI1MDQ0ZGFjZS4uOTEzNWYyODY5ZDQ3YTM5Nzg2MWQ5MzA3MjU2NmQzZmVkYTRhMDU2YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuYm90dG9tLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1
NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIuaHRtbAppbmRleCA4ZjZjMzAyNWQ5
Zjc0N2ZjNjg5ZmFjN2E2YTFiNmQ5N2I0YTk3ZmY4Li4yMzRjOGYyNDgyZDVmYzU5Mjc0OThkYzZk
NmRjNmUxYWNkOTkzMGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlh
bC5jb25lLmN5bGluZGVyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5jeWxpbmRlci53
b3JrZXIuanMKaW5kZXggODVmMjQ5NTcxYmU3MjAzMzViYjM2OGUxZDcxNTgyNTYxODMxODQyYi4u
MDc4NjZmZTQ4ZGI2ZWJjM2M4NGY1MmZkZTA2NDVjM2RhN2ZlMjMyZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuY3lsaW5kZXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmN5bGluZGVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwy
NSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuZnJvbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKaW5kZXggYzViNDZiZWY5MDZjNzNlZWQ3NzA5MmY0
NDBjZGY5OWFhZTBkYmU0Ni4uNWFjMWRlODZhNjRhYzdiZWQyYzAzMTI5ODI2YjA2NTMxYWM3MDUw
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUuZnJvbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwg
MCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuZnJvbnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmNvbmUuZnJvbnQud29ya2VyLmpzCmluZGV4IGE3NzU4ZTllNmI2NGQwYzYz
ZTQ3OGU3NTQ3OTViYjVkZDMxNGJmZDAuLjRlYWVlNDdmNzBkMTkzNWEwOGQzNzhjMWQ3NmZmYjE5
ZjllNjg1NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLmZyb250Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgs
IDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwKaW5kZXggYTcw
MjU1Nzc3ODFhODUwZWY2ODczNWE3NTlmN2QyNjNhNmUyODAzYy4uODE2MTU2NjI4YjJlOWQzYjZk
ZmI3NzEyYzM2YWE5YTA3ZGFkMWVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUxLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLnNoYXBlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTE8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM5LDcgKzQzLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
NDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTEud29ya2Vy
LmpzCmluZGV4IDQxMzIzZjYzMmE5YmJhOGZiNTMzNzg5NTQzMTlmNDUzODg4MWIwODUuLjE2MTY4
MzNlYmI5NDczNWIwMzUyMTgyOTg3NzJlNmZmNGM4OGNjYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuc2hhcGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzUsNyArMzksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUs
MCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAs
MjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUu
c2hhcGUyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRp
YWwuY29uZS5zaGFwZTIuaHRtbAppbmRleCBmNGY4YmI1NTFkZGIyNDY0YzkzMGE4ZmU2ZDRiNGNj
MTczMDhhOWU1Li4wN2FjYWE4NmViMjdmY2ZlMDJmODJjMDAxY2Y4NGIyMGM5MGQ1ZjUwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29u
ZS5zaGFwZTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5zaGFwZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLnNoYXBlMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzksNyArNDMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwy
NTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmNv
bmUuc2hhcGUyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC5jb25lLnNoYXBlMi53b3JrZXIuanMKaW5kZXggNGEwYjlhZGY0NjA1ZGI4MTNm
MjhmNmZmYzU0NjRlMzIyZjM0ZDI1NS4uYzZmOTIxNzM3ZmY3ODVhOGEyZmIzOWM2ZGM2Y2RkZjhj
ODk4M2I0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmNvbmUuc2hhcGUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5zaGFwZTIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICszOSw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4
LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCmluZGV4IDM2ZjQzOWVh
NzAwOTFmOTVhNTYzYThhMWI2NGRlOTgyNzAwN2JlNmMuLjNmODBjYTk5ZDk4MTVlNzY5YTY4OWFi
MTZhNjZkY2Q2NTdlODU3Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS50
b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwg
IjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLndvcmtlci5qcwppbmRleCA0Mjc1ZTU2Zjc4MjBk
NGJmODE5ZGNkZjNjOGI4NmEyODFlMzdiZWFmLi41MTQ2NDQxOTY4ZWUwMmY2NjI1Y2ZkZjRhNGMz
ZDBmOTkxYWZkZjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuY29uZS50b3Aud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgs
IDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsLmh0bWwKaW5kZXggOWJiZjQ4OWI4MGQ1MDU2
NWUzNWI0MzI5NTgzYTlmMGM0M2RjMmNjMy4uNGE4M2IyNmMzNGJhOTJkODgyMjYyNDFkZmQ0MWEz
OGYxOGJmMDBhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLmVxdWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLmVxdWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFk
aWVudC5yYWRpYWwuZXF1YWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcg
KzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1
LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuZXF1
YWwud29ya2VyLmpzCmluZGV4IGY1MjI0YTMyYWYwOTQ4ZWU2ZTdkN2QxMjEyMmE1MzA1YmE4ZTg4
NjcuLjM4NTM3NGMwOTNjZDY1MjFmYTI4ODZiNTdkYjY2MWFiNjczY2UzY2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5lcXVhbC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LmVxdWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNp
ZGUxLmh0bWwKaW5kZXggMmNkY2Q4ODQzZWI5NWI4N2U0NDM0ZDE2NzhmMDlmY2JhYTAyNmViNi4u
MzY4MmJiYTBmMDllMGM5YTYwZDIxNDBhODljMGRlOGQ5YmRmZGIwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRl
MS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5n
cmFkaWVudC5yYWRpYWwuaW5zaWRlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTEud29ya2VyLmpzCmlu
ZGV4IDlhM2Y5NWExZjJkMzlkNzZjOGQxMDNlZDg4NWIwZmIxNDQzODY0NWEuLjJmZTE2NTZjY2Q0
MGQ0ZGZkNjBlMmFmZjYzNzlkMDhlZjUyMTYwMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUxLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCmlu
ZGV4IDBhNzlkYmVmMmRiZDc5NjE5YjM0OTg1ZmE4NzkxZjA1YjQ0MTEzMzEuLjAyZDNhYjFhZjYx
NWVlZjU1MDU1ZmEzZDExMmNjYjNkMWJhMmUwYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFk
aWFsLmluc2lkZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1
LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLndvcmtlci5qcwppbmRleCA0NzE1ZDRl
MmJiNDVkOGM2MzYzNGZkYmNmYWI1ZTczN2I0Yzk4YzI1Li41ZjZlMTg1YTI0OTgyYzRjMDllOGRh
NDdmMzRlOWIxNmRmMjA2MDkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMuaHRtbAppbmRleCAyNWQyNzZl
ZGY0Mzg5MjBiNzk2Y2YyMDRjMDM5OGIzZWY5YzE4ZDYwLi41YWJhZGRmMTY4YzIzNWI1NGI5ZWY0
OGNkMTg0MmExNTQzMDg1NWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUz
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUw
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5y
YWRpYWwuaW5zaWRlMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5n
cmFkaWVudC5yYWRpYWwuaW5zaWRlMy53b3JrZXIuanMKaW5kZXggYjFmNTUzMGMxNDY0ZjNmNzMy
MTZhNTNhY2M3MmQxZThlOTdmMGE0Ni4uOTYzMTNjZmVhMGM5NDhkOWNiMTU2YTA4Y2I4ZGQwODNh
ZTY3NmYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGll
bnQucmFkaWFsLmluc2lkZTMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUs
MCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
Z3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUuaHRtbAppbmRleCA3ZGUzMTE0ODM4YzMxYWRj
MTNkOWVjYzI5YWY3OTg0YWVjOGVkODJiLi4zOWNhY2I5MDFlNmI5ZGQ1N2M1ODNhODk4YTZmZDZl
NGNiNjkxYmU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRl
UmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgZWl0aGVyIHJhZGl1cyBp
cyBuZWdhdGl2ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlm
IGVpdGhlciByYWRpdXMgaXMgbmVnYXRpdmUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGFzc2VydF90aHJvd3MoIklO
REVYX1NJWkVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAw
LCAtMC4xLCAwLCAwLCAxKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgMCwgMCwgLTAuMSk7
IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNy
ZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIC0wLjEsIDAsIDAsIC0wLjEpOyB9KTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggYzZhOThjYWNk
ZmU0ZWQ1OWI4YzhjYWI1YTExNWY1MjZhYWNjY2VlNC4uOTc5ZTAyMDc5NmIyNDhiODZjNTk2MzJh
ZWZjMTM0ZTZmNzJjMWRlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubmVnYXRpdmUud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9T
SVpFX0VSUiBpZiBlaXRoZXIgcmFkaXVzIGlzIG5lZ2F0aXZlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTks
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRf
dGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3Jh
ZGllbnQoMCwgMCwgLTAuMSwgMCwgMCwgMSk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0la
RV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIDEsIDAs
IDAsIC0wLjEpOyB9KTsKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAtMC4xKTsgfSk7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGUuaHRtbAppbmRleCAyMmRiZTI3
N2FhM2NiNGE5ODlhMWFmZDFkYTI4OTgyNTQxOTFlMWU5Li5jZTY1N2RlYzRjMjU3M2NiYTUyZjFh
YjJlZjVjODg2ZmY2MjVjNjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwubm9u
ZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmNyZWF0ZVJhZGlhbEdyYWRpZW50KCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVu
dHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJjcmVhdGVSYWRpYWxHcmFkaWVudCgpIHRocm93cyBUeXBlRXJyb3Ig
aWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTEsNyArOTUsNiBAQCBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVSYWRpYWxH
cmFkaWVudCgwLCAwLCAxLCBJbgogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgSW5maW5pdHksIEluZmlu
aXR5LCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgSW5maW5pdHksIDAsIElu
ZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAxLCAwLCBJbmZpbml0eSwgSW5maW5pdHkp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLndvcmtlci5q
cwppbmRleCBiYmQyZTk1YTJlZWZjNzgzZDk0MGUwMGEzN2I2YWQzM2EyOTY3NTYyLi42YTJkNmUw
ZWIwNDk3M2NkNGU4MGMyODhiNWNlMzkyMjhiZDMyNjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwubm9uZmlu
aXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlUmFkaWFsR3JhZGll
bnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTg3LDcgKzkxLDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwgSW4KIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAs
IDAsIDEsIEluZmluaXR5LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAs
IDAsIDEsIEluZmluaXR5LCAwLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMSwg
MCwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRl
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxLmh0bWwKaW5kZXggYmEwNjc2YmI3YTk3NWQ1ZjhmNGYxYzA0NzIzOWE3OGFjOGQwMTQz
NC4uMjk1Yjk4NWE3MjBiNjFmNDU0OTkxMTY3ZjFmZDE0OTNhOTlhNjBlNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUxLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEud29y
a2VyLmpzCmluZGV4IDU4MjgwYTZlNDVkM2EyNDVkYTE0MTIzNWQxOGM0NjUxN2NmYjJiYjAuLjQ1
ODliMGM1MmU2NDlhM2ZlOWFjYzJiMzI0MzM0NmFjNGZjMDU1M2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91
dHNpZGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTIuaHRtbAppbmRleCAyNGMzYTczOWUyNDQ1YTAxZTgzNTI3MzFkNmY3NmE3YjdkNTY3NGIx
Li4zNjM2MTgzNjFiMzkxOGE2OGI4MGE2NTY4MTg5YmQ3NzA0MzIxMGIxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMi53b3Jr
ZXIuanMKaW5kZXggN2YxYjEwMWJkZGE1ZTczNjNlOWI2MDA2NWVlODRkN2Y3NDkxOGRlYy4uOTBm
OWU2NjU1M2ZiZGZhZTMyMjU5OGEwNTI5NjcwMjcxOTVmYjc4NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUyLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0
c2lkZTIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3
ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1
NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMy5odG1sCmluZGV4IDQyNTg5ZGQxZGZjZjNiZjcyMzA3MmU4MmExODk1NjhmMjdjNGVjZGMu
LjBiMjUxNDU1MThkNzQyYmI2OTVmOGY4ODUwYmQxYjhiYjY3YThhZDkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRzaWRlMy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ3JhZGllbnQucmFkaWFsLm91dHNp
ZGUzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLm91dHNpZGUzLndvcmtl
ci5qcwppbmRleCAzYzQxMzkyMTI2Y2RlZDZlMzgxNDE0YThmOGQ5ZTIwOTk5YWYwOTgyLi40MDFk
NDZmN2ExNTYzMmQ2YmM2MTk2YzI0ODcxN2RmODlkMDgyOWFiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC5vdXRz
aWRlMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcg
KzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1
LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEu
aHRtbAppbmRleCA3ZmMzNDMwMjhmZDU1NWMwOGRlM2VlZTQ4MjQ3NTMyMDRhM2ZiOGY1Li5lMDkx
OTk3NWRhOTRiNTNiM2NiYTVjMWU4MTc2NDJjZWZlMmU0YTZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVu
dC5yYWRpYWwudG91Y2gxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDE8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAs
MjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS53b3JrZXIuanMKaW5kZXggZDE3NmMw
MTM5M2JkM2Y3NjYwN2Q0NmNhMWRjN2MxZDcyOTcwMDZmYi4uYzU1ZjYxYTVhZWUxM2Q2MTVhMjU4
OTI1NDkzMjk2MWRmMzFhZTkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAi
MSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
NDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDIuaHRtbAppbmRleCAxYzg1OTdkMGM2
MTA0ZTdkNGU2Yzc5ZjAwZjE1ZTc4NGJhODMxM2UzLi41NDZmMzU0MzNhMGU5ZDUwNTk0ZGRjNTk3
ZGFmYzVmNjQ0Zjc2MWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudG91Y2gyPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAs
MjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
b3VjaDIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLnRvdWNoMi53b3JrZXIuanMKaW5kZXggMmZmYmM3NTdiZWU4YTNlZmViZGU0MWRkMjZh
MjRhNTViMzcyN2NlMS4uODcwZjhjNGNjYzMyNDQ0MWJhYTU4NDg4MGNkYTI1MjJmYzhhMTlmZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFs
LnRvdWNoMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3Jh
ZGllbnQucmFkaWFsLnRvdWNoMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgs
MjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC50b3VjaDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50
LnJhZGlhbC50b3VjaDMuaHRtbAppbmRleCAxYThhODFlMDc4OTExOGZkMGFhZTZmYjI5ZDUwNGYx
NTNjYzUyMjg2Li45NDNiNDQ0MTZmMDAyYTc3ZDYzZjAwMGM0ZGU0MWRkNWM2OTM4OGZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudG91
Y2gzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFk
aWFsLnRvdWNoMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudG91Y2gzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC50
b3VjaDM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50b3VjaDMud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMy53b3JrZXIu
anMKaW5kZXggNGVhOWI4NjUwZWYzNWZhYjQ2OGU0MzU0ZGVmOTRhNmNjMWUxNTg0Ni4uMGM0ZWU4
M2UyOGFhZjdlMmVhNWI2YTllZjEzZjgwZTUxNTY0Y2M1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9y
bS4xLmh0bWwKaW5kZXggYTNiNDY2ZjlhZWM4M2U0NTJjNmU0NjBmMDVlMDM0MmI5ZmUzNDg3Zi4u
ZTk0NmI4OWQ5MTdkNmRiMWRjMWEwOWRmNDM0ZjJlMDc3NDJjOTAzNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRy
YW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5ncmFkaWVudC5yYWRp
YWwudHJhbnNmb3JtLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlJhZGlhbCBncmFkaWVudCBjb29y
ZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUg
b2YgZmlsbGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhl
IGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcg
KzMyLDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjEud29ya2VyLmpzCmluZGV4IDM2ODM0OTE4N2Rk
ODQ1MmVlOTZiOGM2Njk0Y2M1Yzg0ZDJiMmMyOTUuLjFjNjMyMGE1ZTAwNzVmOWQ4YmI4ZDRkZGFi
ZmQ0MjBkYjQxZTUyNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSBy
ZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoLTUsIC0yLjUsIDEwLCA1KTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIuaHRtbAppbmRleCAyZWEzZDJh
MGJlZjE1YTdkZWE3YjcwM2MwOTgyN2YzNTM5M2IyZTA5Li5jMWNkM2UwMDkwMGE2MjRjMzcyNjJj
ZTgyMTU2NTg5NTg1ZmI1NjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ3JhZGllbnQucmFkaWFs
LnRyYW5zZm9ybS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+UmFkaWFsIGdyYWRpZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0
byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0aGUgdGltZSBvZiBmaWxsaW5nPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmFkaWFsIGdyYWRp
ZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0
aGUgdGltZSBvZiBmaWxsaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBjdHguZmlsbFJlY3Qo
LTUsIC0yLjUsIDEwLCA1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAw
LDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFu
c2Zvcm0uMi53b3JrZXIuanMKaW5kZXggMTUxOWMzMzczNDY2MmI2N2FjYzcwMjNhYzUxMGNjMjcw
OTJiOTJiMS4uOTlkYTg3NDUyMjdmNDNhMGMwNjU1ZWVmZjMyMDcyYWMyNzEyNzIyNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5z
Zm9ybS4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFk
aWVudC5yYWRpYWwudHJhbnNmb3JtLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGlu
YXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBA
IGN0eC5maWxsUmVjdCgtNSwgLTIuNSwgMTAsIDUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJh
bnNmb3JtLjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJh
ZGlhbC50cmFuc2Zvcm0uMy5odG1sCmluZGV4IGViM2Y3YmEwMjgwMzY2NmQ0OWE3ODZmMGM4ZmE3
NmVlYWQ5ZGJlNjQuLjM0OGI4YjYwNjc0YjRhM2E3MjRkN2E3ZDBjYjQ1MzZiNTMzMTQ0Y2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50
cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRp
ZW50LnJhZGlhbC50cmFuc2Zvcm0uMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3JtLjM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
Z3JhZGllbnQucmFkaWFsLnRyYW5zZm9ybS4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SYWRpYWwg
Z3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2FjaGluZyBlZmZl
Y3RzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiUmFkaWFsIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNh
Y2hpbmcgZWZmZWN0cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGxSZWN0KC01LCAt
Mi41LCAxMCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMy53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5ncmFkaWVudC5yYWRpYWwudHJhbnNmb3Jt
LjMud29ya2VyLmpzCmluZGV4IDUyMzkzNzZkYjQ4MjJkOTYzY2JhZGExYzA0MDgzOTM5YzQ4ZWZj
NGQuLjRhOGZiMGUwMWM2ZjdjZTEyN2VmMWRkOTExMTZjYjI2YTAxN2ZlYTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0u
My53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQuZ3JhZGllbnQu
cmFkaWFsLnRyYW5zZm9ybS4zLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmFk
aWFsIGdyYWRpZW50IHRyYW5zZm9ybXMgZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcg
ZWZmZWN0cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmZpbGxSZWN0KC01LCAtMi41LCAx
MCwgNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUs
ICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy5odG1sCmluZGV4IGIzYmU0ZTk4MTZk
MDk0OTQ3NWQ5NmM0ZTMyMTRhNmYyMDFjY2FlNmUuLjkxZWUyNjQ0MmY5OWY4NjBkNWUwNGIyMGEy
ZDM0YThiOTJjZmE5NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uYmFzaWMuY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5iYXNpYy5jYW52YXMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5iYXNpYy5jYW52YXM8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
dGVybi5iYXNpYy5jYW52YXM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcg
KzM4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMjUsIDAsMjU1LDAsMjU1
LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFzLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuY2FudmFz
Lndvcmtlci5qcwppbmRleCBhOTk2OWY2NTIyMjYwYzJkOTVlYmQzYjA4N2M5Y2EwYzJhM2IzN2Rh
Li5iODM2NjUzNmFlNWNiOGRlNWMyMGU3MGUxMzc3NTg5ZDEwZTdkNTBmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmNhbnZhcy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5jYW52
YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICsz
NCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwg
Ijk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLmltYWdlLmh0bWwKaW5k
ZXggNzMwZmIwMjM4M2M1OTZiZmVlYzY1MmY0ODBlODk2N2JhNTcyODE4Yy4uYzFlMzU2NTE5YjM2
MzA4MTkxOTU0YmIzYWNmYTQ5NDUwMDYzMWE2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5iYXNpYy5pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuaW1hZ2UuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5iYXNpYy5pbWFnZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXR0ZXJuLmJhc2ljLmltYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yOCwxNiArMzIsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAn
bm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVw
ZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMuaW1hZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5iYXNpYy5pbWFnZS53b3JrZXIuanMKaW5kZXggMmQ0ZGZkOGVlNmZiNjYwNjg3
ZTY4MDJlNmM5YmFkNjFkNDgyMTY3NC4uNTQzYWFlZjIwZjIwMTQzM2NiZmU5NTc0NGIwNjM0MDgw
NjUxOTQ1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5iYXNpYy5pbWFnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5iYXNpYy5pbWFnZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI0LDE2ICsyOCwxNiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVz
cG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1
LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19
KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0
bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAs
ICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29udGV4dC5odG1sCmluZGV4IGZjYWVjYmNlNzYwN2Zi
NWQyODdiZjAzMDNkMzI4ZjA3OTdmMGUyZDUuLjA3NTQ3MGYwYTAxYmQzMjc2YTVhZmUzNDRmMjVi
NTZmZGIwOWZiZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4uYmFzaWMubm9jb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMubm9jb250ZXh0
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMu
bm9jb250ZXh0Lndvcmtlci5qcwppbmRleCBhNWRhY2VmODg1ZWZiMzg3OWRkMzBlYjM0ODQwMWI4
ODA4N2Y1YzIzLi4zMWFkZDA2NWFjMjY3MTQ1NTg3NzQ2M2Q1NzIxOTJiZmJjNjM4NmRkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLm5vY29u
dGV4dC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5iYXNpYy5ub2NvbnRleHQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9j
YW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMu
emVyb2NhbnZhcy5odG1sCmluZGV4IDQ2NTJjNDA3Y2NmZDgzYjU0NmI0NGY4MGEwZTZmYmEwZGVk
ODYxYTkuLjIyOTNkMjFiZjdiNzAwY2E5NWFlYmUxYjE1OGZhNjc2Yzg2YTZjMTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZh
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uYmFzaWMu
emVyb2NhbnZhcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5iYXNpYy56
ZXJvY2FudmFzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBA
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsK
IGFzc2VydF90aHJvd3MoIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5i
YXNpYy56ZXJvY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uYmFzaWMuemVyb2NhbnZhcy53b3JrZXIuanMKaW5kZXggMzI2Y2U1MzVkNDUyNDBm
YmFiM2FkM2FkOWE0ZjUwMzUyMzZkZDViNi4uYzAxNTAwMmM2YWRhMTQyZWZkNjZlNmMwZDlmNzU4
NzZjYjQ2YjEzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5iYXNpYy56ZXJvY2FudmFzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLmJhc2ljLnplcm9jYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKIGFzc2VydF90aHJvd3MoIklO
VkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVl
bkNhbnZhcywgJ3JlcGVhdCcpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5jcm9zc2NhbnZhcy5odG1sCmlu
ZGV4IGY3ZDBjNWZkZjYxZGYzYzdiY2ZmNjk3ZDUxYjhkZWNjY2EyZDllZGYuLmRhZjJmZDI2OGQ5
MDAzYjZiMTRlZTljMDI3MmY1MDZmNWU3ZWExOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4uY3Jvc3NjYW52YXM8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0dGVybi5jcm9zc2NhbnZhczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjYsMTYgKzMwLDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7Ci0gICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwotICAgIHZhciBwYXR0ZXJuID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0
KCcyZCcpLmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgb2Zmc2NyZWVu
Q2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CisgICAgICAgIHZhciBwYXR0
ZXJuID0gb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLmNyZWF0ZVBhdHRlcm4oYml0
bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLmNyb3NzY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMud29ya2VyLmpzCmluZGV4IDZkM2JhMzFi
YWNlNTNlZGJlNzE5NGQ5ZGI4M2U5YzYwOGQ0Mjc2YmQuLmVhNzE5ZDQyMzU5N2IxYTI3OTRlNWZm
NTFmOWMyNWU5OWRkOGUxOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uY3Jvc3NjYW52YXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNl
LnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Ci0gICAgdmFyIHBhdHRlcm4gPSBvZmZzY3JlZW5D
YW52YXMyLmdldENvbnRleHQoJzJkJykuY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVh
dCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
KyAgICAgICAgdmFyIHBhdHRlcm4gPSBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyku
Y3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC5odG1sCmluZGV4IDMwZmQ2
NWEyNmI2ZmQ2MzY4OWZmM2QzNWI3MmU5NTY3ZDJmNTE2OWEuLjE5M2JiOWRkNGMwMWIzYzNkZTcx
YTAyMzQzNTU5MTIzN2Y2YmNmNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLmltYWdlLm51bGw8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
dGVybi5pbWFnZS5udWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEs
MTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG51bGwsICdyZXBlYXQn
KTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLm51bGwud29ya2VyLmpzCmluZGV4IDQ1NGU2
MTlhOGIwNjFlZjY3ZTVhNzA5YWVkMmQ5NDkxYzEzOTAyYmQuLjZiNWFkNjRjN2M0NjUyZjBkMzli
NjU0MzI0MGMwNWY5ODA2YTE3NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4uaW1hZ2UubnVsbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5udWxsLndvcmtlci5qcwpAQCAtNCwxNiArNCwx
OSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguY3JlYXRlUGF0dGVybihudWxsLCAncmVwZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdl
LnN0cmluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFn
ZS5zdHJpbmcuaHRtbAppbmRleCBiY2M0YWQwMGNiOGM5YTIxYWRlZjVkZDExODNmMWM0NGRiMDJl
MmNiLi4wNzIyZjhmMjgxNzNmNWU5NTNjNjg0YTE0ZmNiMTY0NGU1ZjYzMjQ4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnN0cmluZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5n
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dHRlcm4uaW1hZ2Uuc3RyaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5jcmVhdGVQYXR0ZXJuKCcuLi9pbWFnZXMvcmVkLnBuZycsICdyZXBlYXQnKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uuc3RyaW5nLndvcmtlci5qcwppbmRleCA2ZDczMmU3YjIw
MDdiZDU2NWRhM2Q1NGQ0ZThkODk5OGM1MjY2MTAwLi5jNjRmOTc4YzNmYTlkNzZmN2IyYTliOWZl
OGIxN2QxNzc4ZGE2OTExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLmltYWdlLnN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS5zdHJpbmcud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0
eC5jcmVhdGVQYXR0ZXJuKCcuLi9pbWFnZXMvcmVkLnBuZycsICdyZXBlYXQnKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5lZC5odG1sCmluZGV4IGYwMzQ3ZWE5NzMyZjljZWY0
MjM3NTNlNWY0MzdiOTRhOTVhOTY0ZmIuLjhkZmY5NDgyODEzOTAwODJmMmY3MThiOTJlYzcxNWJl
OTA2MTM0NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4uaW1hZ2UudW5kZWZpbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0dGVybi5pbWFnZS51bmRlZmluZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4odW5kZWZp
bmVkLCAncmVwZWF0Jyk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5lZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLmltYWdlLnVuZGVmaW5l
ZC53b3JrZXIuanMKaW5kZXggOGVkNTFiNmMxYmI1Zjc5MjViY2E0N2Q4YTM5MWFhZDVkZDEwOTIy
Ni4uNTIxNjNjMDkxYzUwYzUwODcwOGM4OTRjYjljZDQ3YTQ4MWY5ODBlNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5pbWFnZS51bmRlZmluZWQud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4uaW1hZ2Uu
dW5kZWZpbmVkLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybih1bmRlZmlu
ZWQsICdyZXBlYXQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczEuaHRtbApp
bmRleCAyM2M3ZTc4YWQ5ZjM3MGZhY2M0ODQxMWZlMTY5ZjMwMjc1MjhlNDAyLi42MzJjNWFlZmM4
Yjk5NmYzZmY0ZWJhMWU0Y2M3ZTE2NjZiNGMwYjg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMxLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLm1vZGlm
eS5jYW52YXMxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczE8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
bW9kaWZ5LmNhbnZhczEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5tb2RpZnkuY2FudmFzMS53b3JrZXIuanMKaW5kZXggNmNhNGQ2ZGEzNWEwYTg3OGU4
NjRkOTc1OTc4NzEzMjg0YjA3OGFhOC4uODQxYTk4MDJjMWI2MzMyZDVmMmQ0YjM2MTgxNGMxY2M0
MzVmY2VkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5tb2RpZnkuY2FudmFzMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
bW9kaWZ5LmNhbnZhczIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ubW9kaWZ5LmNhbnZhczIuaHRtbAppbmRleCBmNzQ4OGZjY2E3ZWM1ODZmNzE1MGU3M2E5OTM5
YzBkNDMwN2ZmZjk4Li5mMWYyNjg1NTFiZTFlMzhmOTI0NThhN2Q1NWMzNzE0MTEwYzc5YjU3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLm1vZGlmeS5j
YW52YXMyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5t
b2RpZnkuY2FudmFzMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ubW9kaWZ5
LmNhbnZhczI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ubW9kaWZ5LmNhbnZhczIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi53b3JrZXIuanMK
aW5kZXggYTg3MmJiOGVhMmJmN2FiNjQxNTM1ZjFjYjMwMDNiMGU1YmRhNzY4Mi4uMzFkNzQ2MmFh
YTQ1Y2ZhOTZkZmYxNTg3ZTM4MzZhOWExMDQ1NTZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5tb2RpZnkuY2FudmFzMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuYmFzaWMuaHRt
bAppbmRleCA5MjVlNWNiNWVhODNlNTVkNjk5NTQyZmFmOGI0ODJmNTFjN2EyNjkzLi5hZTNiZGIy
ZGJhNTUzYTI3N2Q1MmUzMTllNzBmOGNkYTFlNTQyMzYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5i
YXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQubm9y
ZXBlYXQuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE2ICszMiwx
NiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBh
dHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3Jl
cGVhdC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcwppbmRleCA5MzE2MzE3ZDYwYWMxYTRj
MjJlZjExZTNjMjQ0MjAwMjMzNGEwMTBmLi45MDNjYWI3MTc0YTI2OTQ4NmE5Y2MxYzVjYzY2ZWIw
OWNiMTBmMmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmJhc2ljLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTYgKzI4LDE2IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1h
cChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
Y29vcmQxLmh0bWwKaW5kZXggMmI4MWRhMTQ0YjNlMGIyOTc0N2MwODY2MjRlODZiOTU1ZDgzOTNl
MS4uOTUzODYxY2RlOGNiNGNlNGJhMTUwNGZlOTVmYzZkZTM0ZTRiNmNhMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29y
ZDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50
Lm5vcmVwZWF0LmNvb3JkMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0
ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzAsMTcgKzM0LDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xh
dGUoNTAsIDApOwotICAgIGN0eC5maWxsUmVjdCgtNTAsIDAsIDEwMCwgNTApOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSww
LDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFw
KHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNy
ZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
NDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAog
fSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQxLndvcmtlci5qcwpp
bmRleCA0MjEwZWFhNGY5ZjFjMDQ5YTY0YWQ3MGE2MWE0YTI2NTJhNDAyZDk3Li5mODQzMjE0NGNk
YjRkMjEzNTVhYzhkZjc4NTYzNmVjMTU4YTMxNjRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVh
dC5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NiwxNyArMzAsMTcgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVw
ZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg1
MCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1
LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVz
cG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRl
UGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOworICAgICAgICBjdHguZmlsbFJl
Y3QoLTUwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMi5odG1sCmluZGV4IGJkYzNhYjk1NGY1
NGE2NTY5YzdiNDU4YjJkN2M3MjhmNTBlNWExNDAuLmY0NzVhYWU5OWEzNjkyMTdhNDBlMDY1ZjIz
YWNhZDUzNDMzYzQzYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5u
b3JlcGVhdC5jb29yZDI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDIxICszMCwyMSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxl
ID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKLSAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKLSAgICBj
dHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
LX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihi
aXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1h
cCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4
LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOworICAg
ICAgICBjdHguZmlsbFJlY3QoLTUwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIu
d29ya2VyLmpzCmluZGV4IDIyNmRiMDRlMWM2MmExZDI0NjliYTdlYWYyMzA2MjM5Y2ZkYjZiMzgu
LmFiZjYxOTVjNDhhNjk0ZDNhMzg3NDU5YTdlZGM1MDZkZTliYTgxYzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDIxICsyNiwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9u
c2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwotICAg
IGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAwKTsKLSAgICBjdHguZmlsbFJlY3QoLTUwLCAwLCAx
MDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CisgICAgICAgIGN0eC5m
aWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47
CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDApOworICAgICAgICBjdHguZmlsbFJlY3QoLTUw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFp
bnQubm9yZXBlYXQuY29vcmQzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy5odG1sCmluZGV4IDhjMDI3YWYyYTRjZmM1ZDM2
ZmExZDE3OGRhMTU1ZjhkMzM1MDg2NTMuLjJjNTRhZDQwYzU4ZWJmM2MzZmY2OWNhYWQzNjE5NWFl
N2Q0ODllNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5ub3JlcGVh
dC5jb29yZDM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE5ICszMiwxOSBAQCB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21p
c2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0
dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwg
LTI1LCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxs
UmVjdCgwLCAwLCA1MCwgMjUpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQu
ZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7
CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVw
ZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJh
bnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtNTAsIC0yNSwgMTAwLCA1MCk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCA1MCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0LmNvb3JkMy53b3JrZXIuanMKaW5kZXggZGE5M2M1
M2QyOTIzNjU0ODM1ZDY0OTZhODFlN2ZjNDNkZDg0MjM3Mi4uYTFhNDM4YWYxZWI2ZDg2MTg4NWRm
NjM0YWQ5YjBlMzllNDRkMjI5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQuY29vcmQzLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTkgKzI4LDE5
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAg
IGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKLSAg
ICBjdHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0
dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KC01MCwgLTI1LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS5odG1sCmlu
ZGV4IDkxNjI3MmZjYWRlNzg5MzM3NGQyNmUyZjA1YzQyZThiNjdhZmI3OGYuLjNhNzM3NGQ5ZDNj
NGM4NmI3ZDY3MzQ4YTQ3Y2NjMjRiNmNhODJmY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0
c2lkZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5u
b3JlcGVhdC5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwyMSAr
MzIsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWpl
Y3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAg
ICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDEwMCwgNTApOwotICAg
IGN0eC5maWxsUmVjdCgwLCA1MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEwMCwgMCwg
MTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgtMTAwLCAw
LCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lkZS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm5vcmVwZWF0Lm91dHNpZGUu
d29ya2VyLmpzCmluZGV4IGQ4YjU5MDA3MDc2NDAxZTg4NzAyYmVjOGQzMGI4NzI5MTlmMGMwYjYu
LjBiMmM1OGQ1MmU2NDdmMzU3ZGVmZjUwYWIyZmMyMDhhOGE2YmUwZDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQub3V0c2lk
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5ub3JlcGVhdC5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0
aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNw
b25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwotICAgIGN0eC5maWxsUmVjdCgtMTAw
LCAwLCAxMDAsIDUwKTsKLSAgICBjdHguZmlsbFJlY3QoMCwgNTAsIDEwMCwgNTApOwotICAgIGN0
eC5maWxsUmVjdCgxMDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
fSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJp
dG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFw
LCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAg
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAgICAgICBj
dHguZmlsbFJlY3QoLTEwMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCA1
MCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOwor
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52
YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3Jp
ZW50YXRpb24uY2FudmFzLmh0bWwKaW5kZXggNDI1NzZmYTVmOGM1ODdkNGQ5ZTk5NmNjODc5ZGNk
YmYxNTFlMDJlNy4uOGZmMDdhZDhlOTEzMTk4M2NlNjcxNDdhMDBjNWE5NmNiNDVlOWIzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmll
bnRhdGlvbi5jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNh
bnZhczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhczwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Q2FudmFzIHBhdHRlcm5zIGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50
ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJDYW52YXMgcGF0dGVybnMgZG8gbm90IGdldCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRp
b24uY2FudmFzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFzLndvcmtlci5qcwppbmRleCAzYTdiODUyMWMxZTJj
MTVmYmU2M2M0NTMyNDhiMTZiODc2ZTk0NzljLi5kMDE3ZjA4MzA2ZjJiZjMxMzIxZmJjYzQxYTUw
MTE0MmM5OTEwN2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmNhbnZhcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlvbi5jYW52YXMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJDYW52YXMgcGF0dGVybnMgZG8gbm90IGdl
dCBmbGlwcGVkIHdoZW4gcGFpbnRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2UuaHRtbApp
bmRleCAwYjliZGEzMWI4MGFjMWYwZTFjMGIzY2VkMDdhZThhN2E1MWY0MzcyLi5jYTBiYjMzNTE0
NDNjYTFlZjE1YTRiZjI4ZGMxMzczZDI3M2EwN2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5vcmllbnRhdGlv
bi5pbWFnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFp
bnQub3JpZW50YXRpb24uaW1hZ2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlIHBhdHRlcm5z
IGRvIG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJbWFnZSBwYXR0ZXJucyBkbyBub3QgZ2V0
IGZsaXBwZWQgd2hlbiBwYWludGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMyLDIxIEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5zYXZlKCk7Ci0gICAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAz
KTsKLSAgICBjdHguZmlsbFJlY3QoMCwgMTAzLCAxMDAsIDUwKTsKLSAgICBjdHgucmVzdG9yZSgp
OwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgMjUpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguc2F2ZSgpOworICAgICAg
ICBjdHgudHJhbnNsYXRlKDAsIC0xMDMpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMTAzLCAx
MDAsIDUwKTsKKyAgICAgICAgY3R4LnJlc3RvcmUoKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQub3Jp
ZW50YXRpb24uaW1hZ2Uud29ya2VyLmpzCmluZGV4IGExZmEwMjJjNmZkYTRlOWEwMDYwYTk5YTIx
YjQxMTU2OTMyN2RiMjcuLmY3NzFiMjI2Y2Q3YzYyMzg3MjJmMDkxNjc2MTE4ZjA3OGIyMzUwMjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
b3JpZW50YXRpb24uaW1hZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uaW1hZ2Uud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJJbWFnZSBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBw
YWludGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsMjEgKzI4LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC5zYXZlKCk7Ci0gICAgY3R4LnRyYW5zbGF0ZSgwLCAtMTAzKTsKLSAgICBjdHguZmls
bFJlY3QoMCwgMTAzLCAxMDAsIDUwKTsKLSAgICBjdHgucmVzdG9yZSgpOwotICAgIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0
bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5
bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguc2F2ZSgpOworICAgICAgICBjdHgudHJhbnNsYXRl
KDAsIC0xMDMpOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMTAzLCAxMDAsIDUwKTsKKyAgICAg
ICAgY3R4LnJlc3RvcmUoKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMjUpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmJhc2ljLmh0bWwKaW5kZXggZTJkZDA2
YTViNTQwNDQ3ZDQxMGUwNzdlNmM4MjFiZDU5NmZlOWJhNy4uOGZjZmI3MWQzNzZjOGRhNDNkYmU4
NTZlYWM2ZDljNjcyNmJkNDFlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTYgKzMyLDE2IEBAIHZhciBwcm9taXNlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlz
ZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRl
UGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0
ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1
LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1
LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYy53
b3JrZXIuanMKaW5kZXggMDYyYzU5NTZjNDY5ZWM5ZGJjMTMwOTUxNzdkOTEyMDJlM2RiOGQzZi4u
ZmEwOTRjMzViNDgzMDM4OWQ3MTdjNmM2YTI3OGZmMTBjMGMzMTNlZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuYmFzaWMud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQu
cmVwZWF0LmJhc2ljLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsMTYgKzI4LDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3Bv
bnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25v
LXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRv
bmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4gewor
ICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ25vLXJlcGVh
dCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXQuY29vcmQxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEuaHRtbAppbmRleCBiN2Q5YTU3YTZkNzY0MTU4
Nzg3ODI3MmRiZGEwN2FjMjdiZmQ2NjFkLi4xYTk3MzFhYTA4YjNjMjdlZjliMjk0NDM4NWY0YzI2
M2Y2YjZhZTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29v
cmQxPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsMTcgKzMyLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ25vLXJlcGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKLSAgICBjdHguZmlsbFJlY3QoMTI4LCA3OCwg
MTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7Cisg
ICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEy
OCwgLTc4KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQxLndvcmtlci5qcwppbmRleCA5ZjQ0MmE4ZDUxZTRiYzhkZDViNjQ1N2Y2NzYyZmRh
NTg4NWMzMGQwLi44Y2E1OTYxMGZlYzA2MzM5N2ZlYzBiYTdjZWE2YzhjMzg0NjY1YjI5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5jb29yZDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI0LDE3ICsyOCwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4o
cmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAg
ICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEw
MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAg
IGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKC0xMjgs
IC03OCk7CisgICAgICAgIGN0eC5maWxsUmVjdCgxMjgsIDc4LCAxMDAsIDUwKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQy
Lmh0bWwKaW5kZXggZmY1YjY3ZGU3N2ZmNTVmZWQ5MzExM2YwZjc4NmZiMGIyYWIwNjlhZi4uNjNi
MWNhYzEzYjYzNDk5YjQ1M2E3NjM1MzAyZmVjODExNmM1NmE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQuY29vcmQyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQu
Y29vcmQyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJl
cGVhdC5jb29yZDI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2ICszMCwx
NiBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZh
ciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwg
IjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSww
LDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBh
dHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAg
ICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIx
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwg
dF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucGFpbnQucmVwZWF0LmNvb3JkMi53b3JrZXIuanMKaW5kZXggNWUyZjEyMTZjNDgwMGNkY2Vk
OWFmMTg4OTk3ZjQzMjMwZWVhNDRmNS4uNWFjMjNmZWNkOTFlOWRmNGMzNWZiYmFmY2Q0ZTExZThk
NDZlZjQzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXQuY29vcmQyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9
IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1
NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy5o
dG1sCmluZGV4IDAyYzQ1ZmQ1MjgxNDcyODJjYzU3MDYxMTU2ZDJmN2JmZGRkZWU1MTkuLjdlMTRl
MDBkNmYzYTllYTEyNDA0YTFlNGUzNWVjMzJiZTJjMDdhZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNv
b3JkMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxOCArMzAsMTgg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIg
cGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAnbm8tcmVwZWF0Jyk7Ci0gICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwotICAgIGN0eC50cmFuc2xhdGUoLTEyOCwgLTc4KTsKLSAgICBjdHguZmlsbFJlY3QoMTI4LCA3
OCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICduby1yZXBlYXQnKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgtMTI4LCAtNzgpOworICAgICAg
ICBjdHguZmlsbFJlY3QoMTI4LCA3OCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDMud29ya2Vy
LmpzCmluZGV4IDYyMmJjZWNmYmE1Y2EwNzBjNjdlNGQ5MTUwNGQ0ZTk3YTA3NThhZGUuLjJiODk0
MWEwZWIxNjJiODdhMmExMDRkN2IzZDAyMmMxYzE3MWUwNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsMTggKzI2LDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJl
cGVhdCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKLSAgICBjdHgudHJhbnNsYXRlKC0xMjgsIC03OCk7Ci0gICAgY3R4LmZp
bGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7
Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1h
cCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAn
bm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC50cmFuc2xhdGUoLTEyOCwg
LTc4KTsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDEyOCwgNzgsIDEwMCwgNTApOworICAgICAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEs
IDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lkZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lk
ZS5odG1sCmluZGV4IDY0ODllMjM1ZGNlZTNiMjU2MjAwMGQyZmZhZjUzY2EwYTg2YjhjM2UuLjg2
MmE4MGU3ZGMxNmZlOWRkM2RmMThlNGI1NjA1Yjc0ZWVkNGEwY2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dC5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWlu
dC5yZXBlYXQub3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTcg
KzMyLDE3IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ25vLXJlcGVhdCcp
OwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50cmFuc2xhdGUoNTAsIDI1
KTsKLSAgICBjdHguZmlsbFJlY3QoLTUwLCAtMjUsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4oYml0bWFwLCAnbm8tcmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7CisgICAgICAgIGN0eC5maWxsUmVj
dCgtNTAsIC0yNSwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgs
IDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0Lm91dHNpZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKaW5kZXgg
MjQ2YmNjZWNkODc0MDMwMzA5MmVlMDVhNzA1ZGUyYjFmOGU1YzRiYS4uMWQ2ZmI0YjlmN2Q1ZTll
MTJkNTdkYWJlNmU5ODU0Y2I5YjZjYjVjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lkZS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lk
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDE3ICsy
OCwxNyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVj
dCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAg
IHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICduby1yZXBlYXQnKTsK
LSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHgudHJhbnNsYXRlKDUwLCAyNSk7
Ci0gICAgY3R4LmZpbGxSZWN0KC01MCwgLTI1LCAxMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0
ZXJuKGJpdG1hcCwgJ25vLXJlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg1MCwgMjUpOworICAgICAgICBjdHguZmlsbFJlY3Qo
LTUwLCAtMjUsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5wYWludC5yZXBlYXR4LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8y
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMuaHRtbAppbmRleCAxM2U3YjhkMzBiZmYzMGYw
NjUyYjQ4ZTU4NTY3OTUyZDNmYjlhNTY5Li5jY2Q2Y2E1ODQxYTAxMmJjOTFjMGFmZmM4ODJhMTY2
ZjA0YTBkYzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJh
c2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzAsMTYgKzM0LDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ3JlcGVhdC14Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAi
MCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIp
OwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVu
KGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0
bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAg
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4
IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxs
LWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5iYXNpYy53b3JrZXIu
anMKaW5kZXggYWJhMDExODJkOWQwYjBkNjgxYjg2NTRiYWY5YWI0ZGI3YjljYjRiOC4uMWRmYTEx
YTlhODRhZDlmZjRhZDMzYmEwNjNmMzJiYWNiMjgwNWJhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmJhc2ljLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVh
dHguYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
NiwxNiArMzAsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
IHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0
LXgnKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1
NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIs
ICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4
LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7
CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAg
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOwor
ICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSww
LDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
KyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWlu
dC5yZXBlYXR4LmNvb3JkMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMS5odG1sCmluZGV4IDFmYzJlNTIxODRkY2I3ZDczNzFj
MWFlM2UxMTAyZTJhYzJkYWI5NDEuLmI1ZmJlZWMzYjczOTljN2UzMzBlOGIxZTYwMzA5NGJiNWRi
ZTA2YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eC5jb29yZDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHguY29vcmQxLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29y
ZDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMyLDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVy
bihyZXNwb25zZSwgJ3JlcGVhdC14Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0g
ICAgY3R4LnRyYW5zbGF0ZSgwLCAxNik7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC0xNiwgMTAwLCA1
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCAxNik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIw
LDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAw
LDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAi
OTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFn
ZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9
IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC14Jyk7CisgICAgICAgIGN0eC5maWxs
U3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgudHJhbnNsYXRlKDAsIDE2KTsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIC0xNiwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDE2KTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSww
LDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5jb29yZDEud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3Jk
MS53b3JrZXIuanMKaW5kZXggZTQ3NzdlMDVkMjkyNjNjZDQxYzNlMGViMmY4YzYyZGY0OGZlNGI3
OS4uM2UwN2M5Zjk3MTdhZjkyMzczNmJkMDViMDA1MjE2Nzc0MGRjYTlmZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3Jk
MS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5w
YWludC5yZXBlYXR4LmNvb3JkMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDIxICsyOCwyMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlv
bihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9u
c2UsICdyZXBlYXQteCcpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC50
cmFuc2xhdGUoMCwgMTYpOwotICAgIGN0eC5maWxsUmVjdCgwLCAtMTYsIDEwMCwgNTApOwotICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYp
OwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIx
LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwy
NTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAo
cmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0g
cGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSgwLCAxNik7CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAtMTYsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwor
ICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAxNik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwy
NTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5
OCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRzaWRlLmh0bWwKaW5kZXgg
YzZlYzEyMjNjZGJlZmU5YzQ0ZjRmNjUwMGM2OWZiMTM0ZGU0MzgyYi4uMTgwNTYwOGQxZWMyNDJl
NWVmYjliODIxY2E4MmRiNWQ0MmNlOTcyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgu
b3V0c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTggKzMyLDE4IEBA
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAg
ICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBh
dHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC14Jyk7Ci0gICAgY3R4
LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwot
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
MTYpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUs
ICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgnKTsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZS53b3JrZXIuanMKaW5kZXgg
ZmM4YTRhMDEzYzFmZjA1NDVmZWZhOGU3YWJjMmE1MDQzMmU2MTc5ZC4uZTJjYjA0NmQyODgzYzMx
ZTljMTFlMTBlMTU4ZTRmNzc1MDY5OWI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR4Lm91dHNpZGUud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eC5vdXRz
aWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTgg
KzI4LDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0g
ICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC14Jyk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgMTYpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0
OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgp
OworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAg
ICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXgnKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTYpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgs
MSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMv
MmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMuaHRtbAppbmRleCBmNjc4ZjFj
MjhmZmRjY2UxNGIzN2FmNDIwMGQzMTc5YTkyZjQ3MWQ2Li4yNTljNWE1ZDE3ODA4ODRlMWY3MmQy
ODZiMTAzZGM1ODMyOWMyYjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuYmFzaWMuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVybi5wYWludC5y
ZXBlYXR5LmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNpYzwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsMTYgKzM0LDE2IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwg
Ijk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1
NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJlc3Bv
bnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4oYml0bWFwLCAncmVwZWF0LXknKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRl
cm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1
NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5k
LXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2ljLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5iYXNp
Yy53b3JrZXIuanMKaW5kZXggNDBkZmRhOTQ1YmVmOTQ4MmY4NDI3MWUxZjI2ZmQzOGUzYjRjOTll
NC4uYWE4ODZlZjk2MTBjZjE1MmZlYjI1MTUyYTBiM2ExM2IxMDhkYTQ1NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBh
aW50LnJlcGVhdHkuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNl
LCAncmVwZWF0LXknKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQot
dC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+
IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBl
YXQteScpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0
dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMS5odG1sCmluZGV4IDZkM2UzNDM0ZDU1
MjgxMTAyNTI1OTM0YTI4ZGY3MTg0YjE0M2Y2YjEuLjM3M2ZhZmVhOGE2NmFkNmE0Y2ZkNjgzN2M5
NWNiNTcyYzM0OGVjZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eS5jb29yZDE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5wYWludC5yZXBlYXR5LmNvb3JkMTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMjEgKzMyLDIxIEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBh
dHRlcm47Ci0gICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7Ci0gICAgY3R4LmZpbGxSZWN0KC00OCwg
MCwgMTAwLCA1MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNy
ZWF0ZUltYWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBw
YXR0ZXJuID0gY3R4LmNyZWF0ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0LXknKTsKKyAgICAgICAg
Y3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC50cmFuc2xhdGUoNDgsIDApOwor
ICAgICAgICBjdHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDE2LCA1MCk7CisgICAg
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMSwgMCwyNTUsMCwyNTUsICI1MCwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAw
LDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsNDgsIDAsMjU1LDAsMjU1LCAiNTAsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1
LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkuY29vcmQxLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eS5jb29yZDEud29ya2VyLmpzCmluZGV4IDEwOGM0NjJmNmVjYjkwOGZhZjBmN2M0ZjliODViN2Ex
YzI3ODczZDIuLjRmYmVkY2E5ZTczNDQxYzcwZTY3ZTMyNzNmMzAzNTE4MTAzMDY2YzQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0
eS5jb29yZDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBh
dHRlcm4ucGFpbnQucmVwZWF0eS5jb29yZDEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNCwyMSArMjgsMjEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJu
KHJlc3BvbnNlLCAncmVwZWF0LXknKTsKLSAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAg
ICBjdHgudHJhbnNsYXRlKDQ4LCAwKTsKLSAgICBjdHguZmlsbFJlY3QoLTQ4LCAwLCAxMDAsIDUw
KTsKLSAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
NiwgNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwy
NTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwxLCAwLDI1NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1
NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VC
aXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteScpOworICAgICAgICBjdHguZmlsbFN0
eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LnRyYW5zbGF0ZSg0OCwgMCk7CisgICAgICAgIGN0
eC5maWxsUmVjdCgtNDgsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwxLCAwLDI1
NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1
LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5
OCw0OCIsICIwLDI1NSwwLDI1NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUuaHRtbApp
bmRleCA1NzkwYmRhZjc0ODllMmU4MTVjZmQ5OTNmYjNkNWFkMTQ2ZjIyYTdjLi4xZWY1MmRkOGQx
MDg0NjZmNzliYmE1Mjc4ODcwNmRhYzBiM2YwNjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRz
aWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdHRlcm4ucGFpbnQucmVwZWF0eS5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucGFpbnQucmVw
ZWF0eS5vdXRzaWRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCwxOCArMzIs
MTggQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0LXknKTsKLSAg
ICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTYsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAs
MjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAg
ICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2
YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwgJ3JlcGVhdC15Jyk7CisgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxNiwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4
LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0p
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHkub3V0c2lkZS53b3JrZXIuanMKaW5k
ZXggNDk1ODY3NDM0MDhjZmE3MGJmNzJiN2NhMTY4M2M5MTZhMjZiM2M3MC4uNTBhMTUxNzk4OTdl
YzBmZWExZmYwMDI4M2NiYTgxOTcyZDFmZWI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5v
dXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
MTggKzI4LDE4IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdC15
Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwotICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDE2LCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwot
ICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4
LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQteScp
OworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTYsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOworICAg
ICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4
LDEiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0LmNhc2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0LmNhc2UuaHRtbAppbmRleCAwYjA4MmRmYTk3NDVkYTAxOTIzMjFi
NTcwNGFjODJmNDAwMjhhMjFhLi4zOTJkZmI2NmU5MWZjMjk3ODQ0NzJhNzBkNjljZWQxOTAyMjM2
YmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJl
cGVhdC5jYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5yZXBlYXQuY2FzZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXR0ZXJuLnJlcGVhdC5jYXNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LmNh
c2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5j
dGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAiUmVwZWF0Iik7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5jYXNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uud29ya2VyLmpzCmluZGV4IDAxMzBmZTM5
YmU2MDg1M2E3MGVlODJiOTA4ZjIyNTgzODJjYjIyNWYuLjFmNzU1N2U0ODNmMDE2OGEyNzJlMzYw
NzNkMTYwYTU4YjIxZjQwYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJv
a2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmNhc2Uud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5j
cmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywgIlJlcGVhdCIpOyB9KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVy
bi5yZXBlYXQuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRl
cm4ucmVwZWF0LmVtcHR5Lmh0bWwKaW5kZXggMDA5NzM2Y2MxZWYyMzdlYWVkYTlhYzI4NmRiNzQ1
YmZhMmU4N2M1YS4uOWY0MGZlNjk1Nzc3ZDczZjI3YmI4NGU3ZGU5ZmU0MDZiZWNkMzFkMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQuZW1w
dHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVh
dC5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsMTYgKzMyLDE2IEBAIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0p
OwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBj
dHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgIiIpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0
ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7
Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5
OCwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25z
ZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0
ZXJuKGJpdG1hcCwgIiIpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDIwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAi
OTgsMSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5lbXB0eS53b3JrZXIuanMKaW5kZXggODA0MmEz
Yzc5ZTBiYzQ0YzZhNzA0OTAxYWFiNDdiNzJmNjFjNzY3Yy4uYTMxYWZhNzEzOWI3Zjk2MWVhMDdm
MTY1NzZiZWUwYzMzNGMzODM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHls
ZXMvMmQucGF0dGVybi5yZXBlYXQuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1z
dHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LmVtcHR5Lndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsMTYgKzI4LDE2IEBAIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJv
bWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFyIHBhdHRlcm4gPSBjdHguY3Jl
YXRlUGF0dGVybihyZXNwb25zZSwgIiIpOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwot
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAyMDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwg
IjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwg
MCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUi
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgIiIpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDIwMCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIs
ICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5yZXBlYXQubnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQu
cGF0dGVybi5yZXBlYXQubnVsbC5odG1sCmluZGV4IDdlNzhhZTAxNWFlYjU4N2YwYjNiNWY5MDE0
MGNlYzQwNTdhYzk5ZWIuLjI0NmRjMGE0ZWFiNWRlYjU1ODAyMmQ4OTUzMzg5MjNjNTQzZTBiYjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0
Lm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJl
cGVhdC5udWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdHRlcm4ucmVwZWF0Lm51bGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5yZXBlYXQubnVsbDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydChjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5D
YW52YXMsIG51bGwpICE9IG51bGwsICJjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMs
IG51bGwpICE9IG51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2Zp
bGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5q
cwppbmRleCBlZTYyM2RmMWYxNWIwZGQ0MzIxYmUwNjZkY2EwMTZlNTcxYzRiY2JkLi41YzY1YmZi
MzlmMThkMWU3YmY5NzhiNzg0NjM4Y2VhNGQ4N2Q1NmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsLndvcmtlci5q
cwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydChjdHguY3JlYXRlUGF0dGVybihvZmZz
Y3JlZW5DYW52YXMsIG51bGwpICE9IG51bGwsICJjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5D
YW52YXMsIG51bGwpICE9IG51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1
ZmZpeC5odG1sCmluZGV4IDdmODVmM2U0NzljZGM0MGI5NGU0MjllMzJmM2IwOGM3Njc1MjZkMWIu
LjRiMGYyNWFmYmY5MzY5ZWZhNTU2MGU0OGMwMGU3MDZmZmQ2NzllMDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxs
c3VmZml4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdHRlcm4ucmVwZWF0Lm51bGxzdWZmaXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0dGVybi5yZXBlYXQubnVs
bHN1ZmZpeDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3Jl
ZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIs
IGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJyZXBlYXRc
MCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQubnVsbHN1ZmZpeC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lndvcmtl
ci5qcwppbmRleCBjNmVkMTQxN2QxNmE3OWM4MDI0ZDRiNzM1YTllMmIyODNiYjllNGI3Li4zMjg4
ZTEyODI1N2I5ZDNlOTYzYTBhNDE2ODc2MzQwNjFjNTQ1NDhhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxsc3VmZml4Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC5udWxs
c3VmZml4Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygi
U1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52
YXMsICJyZXBlYXRcMCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQu
aHRtbAppbmRleCAyOThiYTk5NzZkYzE4ZDJkNmU1ZjY2OTVjZTQzZDE3NzBlZmU2Y2Y0Li4wNzIy
YWU1ZGRjOTQ5ZmE3NDg0ZDE4ZmY0NzUyYTQxZjk1OWRjMTk3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmls
bC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
dGVybi5yZXBlYXQudW5kZWZpbmVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9u
KCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsIHVuZGVmaW5lZCk7IH0pOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0
cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5kZWZpbmVkLndvcmtlci5qcwppbmRleCAz
YTI3NWI4MjYzM2JlOTdmNTk4YjMxZWE2ODJkOWRjYjUyMWY3YjI4Li4wMjBhZGY3YzAwMjZlM2Zm
OGZiMDUxODYzYThhNzE2YTk1NTdjMGNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tl
LXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bmRlZmluZWQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9m
aWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVuZGVmaW5lZC53b3JrZXIu
anMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCB1bmRlZmluZWQp
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQuaHRtbAppbmRl
eCA3OWUzNzllYzQ3NTY4MzIyYWE2MDUzMjI2ODdjZGMwM2FmZjI3ZDRjLi4wM2Y0NjU5ZmQ3NzY4
ZmZjN2UxY2MyZjBiMGQzMWJjYjZlNWUxN2RiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ry
b2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
ZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0dGVy
bi5yZXBlYXQudW5yZWNvZ25pc2VkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNl
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0
aW9uKCkgeyBjdHguY3JlYXRlUGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJpbnZhbGlkIik7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0
eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwt
YW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkLndvcmtlci5q
cwppbmRleCAwOGMwNzZiNmNmZmZjYTk5MzE0MjM3MmUyZGQwYmU5ZTgxYzM0MzY1Li4yZDc3OTZk
MGFlMzhlYzZhMGU3N2NjYzhiOGQwMjY5NmQ4N2E2NTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1h
bmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVhdC51bnJlY29nbmlzZWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVj
b2duaXNlZC53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3Mo
IlNZTlRBWF9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2Fu
dmFzLCAiaW52YWxpZCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVs
bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1zdHlsZXMvMmQucGF0dGVybi5yZXBlYXQudW5y
ZWNvZ25pc2VkbnVsbC5odG1sCmluZGV4IGM4ZjRjY2Y1ZjcwNzA2NTEzMjk0ZjMzMGZmYmIyYzBj
MzU4ZWJhYzAuLjVkNWI3MDUzNmM0ZGI1NjBlODMyZWRmNjQ2OWYzOGNlM2IzZDUzMDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVj
b2duaXNlZG51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0
ZXJuLnJlcGVhdC51bnJlY29nbmlzZWRudWxsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGw8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0dGVybi5yZXBlYXQudW5yZWNvZ25pc2VkbnVsbDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRl
UGF0dGVybihvZmZzY3JlZW5DYW52YXMsICJudWxsIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxlcy8yZC5wYXR0ZXJuLnJlcGVh
dC51bnJlY29nbmlzZWRudWxsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVz
LzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwud29ya2VyLmpzCmluZGV4IGZjNGE0
NTUxMGM3ZDAzZTkxMzIwZDhlZGVjNGE5ZGNhNmI2MjhmOGMuLmQxNjk3OWI2ZTk4ZWFkMTUxMTll
NTU0Yzc5NjU1N2NhZDZmZDJhODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5
bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51
bGwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJTWU5U
QVhfRVJSIiwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywg
Im51bGwiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFu
ZC1zdHJva2Utc3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQuaHRtbAppbmRleCAwNjk3Njg1
ODI4ZTlkYTZkMmRjOWE3YmM3MWY3ODE4MzA2NDA3M2I1Li5hMDUwMDhlZDg1MTEyODY5NWU5ZDA1
NDMyOWMxZmJlZmU2MWExNzU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2ZpbGwtYW5kLXN0cm9rZS1z
dHlsZXMvMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdHJva2VTdHlsZS5kZWZhdWx0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0
cm9rZVN0eWxlLmRlZmF1bHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsx
MSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5z
dHJva2VTdHlsZSwgJyMwMDAwMDAnLCAiY3R4LnN0cm9rZVN0eWxlIiwgIicjMDAwMDAwJyIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZmlsbC1hbmQtc3Ryb2tlLXN0eWxl
cy8yZC5zdHJva2VTdHlsZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzCmluZGV4IDQ5OGYyZjk5YWQ5
MTRjMmFmYzFiMzNkOGM0MTNkZjg0ZGY3ZjQ3ZTQuLjM5OWU5ZGRhNzBhOTBkMzlkMGQwNDVkZjUz
ZGE2NDgzOGY4Zjg1ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Utc3R5bGVzLzJk
LnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9maWxsLWFuZC1zdHJva2Ut
c3R5bGVzLzJkLnN0cm9rZVN0eWxlLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc3Ryb2tlU3R5bGUsICcjMDAwMDAwJywgImN0eC5zdHJv
a2VTdHlsZSIsICInIzAwMDAwMCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5idXR0Lmh0bWwKaW5kZXggMjFjYTg2YjI5YjUyNzc4NzQwMmYyZjI1ZmNjZDcz
ZWVkZmQyMGU2OC4uZmMxMDhjMGRlNDkxZmE3ZTA1ZjY1ZjcyYTZiYWE5Yzc3MTA4NGJiNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmNhcC5idXR0PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuY2Fw
LmJ1dHQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVDYXAgJ2J1dHQnIGlzIHJlbmRlcmVkIGNv
cnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImxpbmVDYXAgJ2J1dHQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ2
LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMTYsIDAsMjU1LDAs
MjU1LCAiNzUsMTYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDM0LCAwLDI1NSwwLDI1NSwgIjc1LDM0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNSwgMCwyNTUsMCwyNTUsICI3NSwzNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMzYsIDAsMjU1LDAs
MjU1LCAiNzUsMzYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLmJ1dHQud29ya2VyLmpzCmluZGV4IGI5ZDUwM2M4MDUxNWEy
NzliNThlZDVhNzRmOTZmODgyMzRmZGI3MGIuLjEzMDIwYWRiMDg3NTZmZjA2OTRiYmQ4YmFhNGMz
MDNjZGE5NWEyY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5idXR0
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuYnV0dC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVDYXAgJ2J1dHQnIGlzIHJlbmRlcmVkIGNv
cnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTQyLDcgKzQ2LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMTYsIDAsMjU1LDAsMjU1LCAiNzUsMTYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM0LCAwLDI1NSwwLDI1NSwgIjc1LDM0IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwzNSwgMCwyNTUs
MCwyNTUsICI3NSwzNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMzYsIDAsMjU1LDAsMjU1LCAiNzUsMzYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNs
b3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC5odG1sCmluZGV4
IDY2YjA4NTMwZjU0ZWYzYTA2OTcxMWNhNjI0ZWFjNDdjMjZiYjI4ZTkuLjY3ZmMzNThiMDQzNmJj
ZmZkMjczMjBhMzM3MjUxM2EzN2EyYjc1NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAu
Y2xvc2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLmxpbmUuY2FwLmNsb3NlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5jbG9zZWQ8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPkxpbmUgY2FwcyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVu
Y2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkxpbmUgY2FwcyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXJzIG9m
IGFuIHVuY2xvc2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0
OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0
OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmNhcC5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3Nl
ZC53b3JrZXIuanMKaW5kZXggZjUyMzdkNmMyYjA3ODYzMWU2YzNlZDE2OWM1YTcwNmI3OGE0NTM0
MS4uYjRjZmU1MDE4MDhhY2U5NjYzZTJkYzI0ZTVmMGJhMjgzMzdjYzljMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY2FwLmNsb3NlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIkxpbmUgY2FwcyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVuY2xv
c2VkIHJlY3RhbmdsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5pbnZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC5odG1sCmluZGV4
IGNiZjdjZWJjOGJmYTcwNjg5NjBjOGE0MTBjNTdmM2E5YjIxMmQ3MDcuLmI4NDk5ZmNhMDU2YmNi
MTcyZGE1YWU2M2Q1N2MyNjg5Y2ViODcwZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmNhcC5pbnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2Fw
LmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQubGluZS5jYXAuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5pbnZhbGlkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3Jl
ZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNldHRpbmcgbGluZUNhcCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzYsNyArNDAsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ2J1dHQnLCAiY3R4LmxpbmVD
YXAiLCAiJ2J1dHQnIik7CiBjdHgubGluZUNhcCA9ICdidXR0JzsKIGN0eC5saW5lQ2FwID0gJ2Jl
dmVsJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgubGluZUNhcCIsICIn
YnV0dCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
Y2FwLmludmFsaWQud29ya2VyLmpzCmluZGV4IDRjMzQ5NWYyNzdhYWJlMTY0Mzg3ZDM5MDg3MDYz
ZDA0M2IyYmU1ODQuLjQ2MDQ2ZDQxNjExMmNhY2VkMzU3NDljM2MzMmU5YjllZDQyNDc4YTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5pbnZhbGlkLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuaW52YWxpZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUNhcCB0byBpbnZhbGlkIHZhbHVlcyBpcyBp
Z25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwg
J2J1dHQnLCAiY3R4LmxpbmVDYXAiLCAiJ2J1dHQnIik7CiBjdHgubGluZUNhcCA9ICdidXR0JzsK
IGN0eC5saW5lQ2FwID0gJ2JldmVsJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcs
ICJjdHgubGluZUNhcCIsICInYnV0dCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmNhcC5vcGVuLmh0bWwKaW5kZXggOGI3YTU5OWMzMmIxNjI0NTJkNjVjM2M3ZjVk
NjA2OTdmMGJjYjlhYy4uMTU0YWFmNzUyMDcxYjgzYmZmNjNiODZlYjRhYTViNjg3NzkwOTE2NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAub3Blbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmNhcC5vcGVuPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUu
Y2FwLm9wZW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgY2FwcyBhcmUgZHJhd24gYXQgdGhl
IGNvcm5lcnMgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBjYXBzIGFyZSBkcmF3biBhdCB0
aGUgY29ybmVycyBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAs
MjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAub3Blbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS5jYXAub3Blbi53b3JrZXIuanMKaW5kZXggYjY3ZGM1Nzk4YmQyZDVmNzdiNjMzZDFjZDhhYzhj
NDM5NGM0MzMzZi4uZTY3MWI1NWQwNmQzZDJhOTI5ZDE5ZmU1MGE3NzZlZTBiYjJhMzg3MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLm9wZW4ud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5vcGVuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiTGluZSBjYXBzIGFyZSBkcmF3biBhdCB0aGUgY29ybmVycyBvZiBhbiB1bmNs
b3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1
LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91
bmQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5yb3VuZC5odG1sCmluZGV4IGZi
MzgzY2JhOWJkZWJjMDNlNTlmYWY5ZjhhNzhlYmMwNTVkNDc1N2IuLjVmYzkwMTk4ZTg4YzBjMWUx
YTk2MzllMGE2MzEwZmU2NGE4MDA5OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmNhcC5yb3VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5yb3Vu
ZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5s
aW5lLmNhcC5yb3VuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNhcC5yb3VuZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+bGluZUNhcCAncm91bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVDYXAgJ3JvdW5kJyBp
cyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01NSw3ICs1OSw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDgyLDYsIDAsMjU1LDAsMjU1LCAiODIsNiIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjcsNDMsIDAsMjU1LDAsMjU1LCAi
NjcsNDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDQzLCAwLDI1NSwwLDI1NSwgIjc1LDQzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA4Miw0MywgMCwyNTUsMCwyNTUsICI4Miw0MyIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAucm91bmQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnJv
dW5kLndvcmtlci5qcwppbmRleCA3NTkyMzkzYjNjYjc1NDI4ZDMzMTk1NDM3MzgwM2U3ZTYzZGRk
ZGJmLi4zOGZhYWU2MjNmYTY4NWE0ODY0MTYxYTA3ZmU4YzhhMzIxNzRhYjhmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAucm91bmQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLmNhcC5yb3VuZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoImxpbmVDYXAgJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01
MSw3ICs1NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgyLDYsIDAsMjU1LDAs
MjU1LCAiODIsNiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNjcsNDMsIDAsMjU1LDAsMjU1LCAiNjcsNDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQzLCAwLDI1NSwwLDI1NSwgIjc1LDQzIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4Miw0MywgMCwyNTUsMCwy
NTUsICI4Miw0MyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5jYXAuc3F1YXJlLmh0bWwKaW5kZXggZWY5NjQ2ZTYzMjgwNGVmMDcwMGVi
NGVmNzRkMTQ1MGEyMTdmNTEwMy4uOGNkMDljNjgzZmFkMzQxNWM4NmRjYWYwOGZlZDAzODVhOGNl
MWY2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVhcmUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAuc3F1YXJlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmxpbmUuY2FwLnNxdWFyZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUNhcCAnc3F1
YXJlJyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lQ2FwICdzcXVhcmUnIGlzIHJlbmRlcmVkIGNv
cnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTQ2LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsNiwgMCwyNTUsMCwyNTUsICI3NSw2IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw0NCwgMCwyNTUsMCwyNTUsICI3NSw0NCIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDUsIDAsMjU1LDAs
MjU1LCAiNzUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDc1LDQ2LCAwLDI1NSwwLDI1NSwgIjc1LDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC5zcXVh
cmUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS53b3JrZXIu
anMKaW5kZXggNmUwN2E4MDFlMTJlNzU5NDgzOWRjYWI2YTY4YzFjNjA5NzlkYTg4Yy4uYWVhYzFl
M2MwNGYyZTc3ZjYxZjg2N2VkNTM3MzVmNjdmODg3YWUyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuY2FwLnNxdWFyZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnNxdWFyZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxp
bmVDYXAgJ3NxdWFyZScgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDIsNyArNDYs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSw2LCAwLDI1NSwwLDI1NSwgIjc1
LDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDQ0
LCAwLDI1NSwwLDI1NSwgIjc1LDQ0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA3NSw0NSwgMCwyNTUsMCwyNTUsICI3NSw0NSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsNDYsIDAsMjU1LDAsMjU1LCAiNzUs
NDYiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuY2FwLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5jYXAudmFsaWQuaHRtbAppbmRleCAxNmE0ZjQ4ZDIxMDcwZmQxYmY1MTIxMDg0MmIzZDc1
MjdlMDUzOTAwLi45ZDQ1NDg3NjdhZTU4ZWI4Yzk0ZjVmOTIwMDY3NzgxMGYxODA5YWIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jYXAudmFsaWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS5j
YXAudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUNhcCB0byB2YWxpZCB2
YWx1ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJTZXR0aW5nIGxpbmVDYXAgdG8gdmFsaWQgdmFsdWVzIHdvcmtzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsNyArMjYsNiBAQCBjdHgubGluZUNhcCA9ICdyb3VuZCc7CiBfYXNzZXJ0U2FtZShjdHgu
bGluZUNhcCwgJ3JvdW5kJywgImN0eC5saW5lQ2FwIiwgIidyb3VuZCciKTsKIGN0eC5saW5lQ2Fw
ID0gJ3NxdWFyZSc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUNhcCwgJ3NxdWFyZScsICJjdHgubGlu
ZUNhcCIsICInc3F1YXJlJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY2FwLnZhbGlkLndvcmtlci5qcwppbmRleCBiMzY0ZjNkMWM2OGU4MGJhZjk4NmFh
ODNjYTc4ZTNkMjIwMTQzOGZiLi5kYTg0ZWI5MWRmZWQyY2I4ZGJiOWY1ODc5NDM4ODU1Nzg3ODk5
OWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jYXAudmFsaWQud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNhcC52YWxpZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUNhcCB0byB2YWxpZCB2YWx1ZXMgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5saW5lQ2FwID0gJ3JvdW5kJzsKIF9hc3Nl
cnRTYW1lKGN0eC5saW5lQ2FwLCAncm91bmQnLCAiY3R4LmxpbmVDYXAiLCAiJ3JvdW5kJyIpOwog
Y3R4LmxpbmVDYXAgPSAnc3F1YXJlJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnc3F1YXJl
JywgImN0eC5saW5lQ2FwIiwgIidzcXVhcmUnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5jcm9zcy5odG1sCmluZGV4IDMxZmMzZjM1MDA5OTcxODU0YjI2NjI5ODJiMThj
NTgxNTQ4N2RjNjIuLjc0Nzc4N2M3YmEzNzVlOWE4Mjk3YTg2Mjc1YTUxYzgxMWRhNTM4ZGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNyb3NzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuY3Jvc3MuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5jcm9zczwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmNyb3NzPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAs
MjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9z
cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5jcm9zcy53b3JrZXIuanMKaW5k
ZXggYjg1MjMxZTg3ZGFlODk0YjE0OTMyMmRkODUyMDkyZmViMWE4ZGE3MC4uMmM4ZTY4YmZiZDFh
NGZlNGM2YTM4MTgxOTQzNGJhYjc2MGRiMzk3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuY3Jvc3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmNy
b3NzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyAr
MzAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwx
LCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmRlZmF1bHRzLmh0bWwKaW5kZXggZTlmYzUwOWI1ZDhjMDExMDEzMTYzOWMyMWRhY2MyNjI2YmJm
Y2Y0Yy4uMTA1MWQ5OTYwOWQ2OTU3ZWNiMjhiOTQ2ZTNiYTE2YWFiMjUzZjAyZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuZGVmYXVsdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5kZWZhdWx0cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLmRlZmF1bHRzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuZGVmYXVsdHM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgX2Fzc2VydFNh
bWUoY3R4LmxpbmVXaWR0aCwgMSwgImN0eC5saW5lV2lkdGgiLCAiMSIpOwogX2Fzc2VydFNhbWUo
Y3R4LmxpbmVDYXAsICdidXR0JywgImN0eC5saW5lQ2FwIiwgIididXR0JyIpOwogX2Fzc2VydFNh
bWUoY3R4LmxpbmVKb2luLCAnbWl0ZXInLCAiY3R4LmxpbmVKb2luIiwgIidtaXRlciciKTsKIF9h
c3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxMCwgImN0eC5taXRlckxpbWl0IiwgIjEwIik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRl
ZmF1bHRzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmRlZmF1bHRzLndvcmtl
ci5qcwppbmRleCA2NzJiZWU1NGVmZjc2ZTg0MTM5ZDNkYWMzNjYzMDg5MmFjZGNhODZlLi5lOTA0
ZDM5MTEyZGQ2NzU0OWUxZjY1MjA5NjgzODE0YWY4YWI4ZTFhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5kZWZhdWx0cy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUuZGVmYXVsdHMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0xNiw3ICsyMCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEsICJjdHgu
bGluZVdpZHRoIiwgIjEiKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lQ2FwLCAnYnV0dCcsICJjdHgu
bGluZUNhcCIsICInYnV0dCciKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgJ21pdGVyJywg
ImN0eC5saW5lSm9pbiIsICInbWl0ZXInIik7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwg
MTAsICJjdHgubWl0ZXJMaW1pdCIsICIxMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS5qb2luLmJldmVsLmh0bWwKaW5kZXggYzcyMWQyOWI5MDA2YWJjY2VkOTdi
ZDAxNmVjZmM3NWE3MDY5NjgzMi4uMGU0ZGQxM2JmNGQ0NDViZWNiYzFjMjgyYzI3MGU4NTFjY2Jh
NzY5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5iZXZlbC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uYmV2ZWwuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLmJldmVsPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmxpbmUuam9pbi5iZXZlbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUpvaW4gJ2Jl
dmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAnYmV2ZWwnIGlzIHJlbmRlcmVkIGNv
cnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTU5LDcgKzYzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODQsMTUsIDAsMjU1LDAsMjU1LCAiODQsMTUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg1LDE1LCAwLDI1NSwwLDI1NSwgIjg1LDE1IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxNSwgMCwyNTUs
MCwyNTUsICI4NiwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgODYsMTQsIDAsMjU1LDAsMjU1LCAiODYsMTQiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5i
ZXZlbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLndvcmtl
ci5qcwppbmRleCA5NGQ5ZWZiNzJlZmFkNjNkNjQwYWJhMTJhMDJlMDgxMTcyZWUxNmY3Li5kNjhi
NDkxMWFjNTMxOWE5MTkwZDg1ZDViN2VkMWU3MjI3ZmYzZTk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLmJldmVsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLmJldmVsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
bGluZUpvaW4gJ2JldmVsJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01NSw3ICs1
OSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg0LDE1LCAwLDI1NSwwLDI1NSwg
Ijg0LDE1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4
NSwxNSwgMCwyNTUsMCwyNTUsICI4NSwxNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgODYsMTUsIDAsMjU1LDAsMjU1LCAiODYsMTUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDE0LCAwLDI1NSwwLDI1NSwg
Ijg2LDE0IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLmNsb3NlZC5odG1sCmluZGV4IDg3NGVmODMzZGVkMTA3YzQ3ODAxNzg0
ZmJmMzdiMjU5Zjg5MjBmNjQuLmJhOTJiNGM1M2ZlNmZlYjVjZTM5ZDRmOWEyMTIwYTk1ZmFkMDMz
MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xvc2VkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLmNsb3NlZDwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5saW5lLmpvaW4uY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5MaW5lIGpvaW5z
IGFyZSBkcmF3biBhdCB0aGUgY29ybmVyIG9mIGEgY2xvc2VkIHJlY3RhbmdsZTwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMg
YXJlIGRyYXduIGF0IHRoZSBjb3JuZXIgb2YgYSBjbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAs
MjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwg
IjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5jbG9zZWQud29ya2VyLmpzCmluZGV4IDE5NWY1MDAwMjY4OTg2
ZjNmNzBjZTgzZGQxZWFlZWI4ZTY0Y2U5MDMuLmZhYjFjNjNlY2U1MzdlYTlhNTllYzA2NjJkMDI4
MDlmNzY0ZWY2NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4uY2xv
c2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmNsb3NlZC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIGRyYXduIGF0
IHRoZSBjb3JuZXIgb2YgYSBjbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1
NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLmludmFsaWQuaHRtbAppbmRleCBlMTUzMzY4OTUxOWM0MGRhMmJkZmY1OTBlMmRhMmM3MGMx
MjgwODBhLi4wZDA3YmZhNjhjYTFjMDM4MzYwYjkyOThlM2U3MTNhMWQ0NWIyMjEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLmludmFsaWQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
bGluZS5qb2luLmludmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZUpvaW4g
dG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZUpvaW4gdG8gaW52YWxpZCB2
YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM2LDcgKzQwLDYgQEAgX2Fzc2VydFNhbWUoY3R4
LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4LmxpbmVKb2luIiwgIidiZXZlbCciKTsKIGN0eC5saW5l
Sm9pbiA9ICdiZXZlbCc7CiBjdHgubGluZUpvaW4gPSAnYnV0dCc7CiBfYXNzZXJ0U2FtZShjdHgu
bGluZUpvaW4sICdiZXZlbCcsICJjdHgubGluZUpvaW4iLCAiJ2JldmVsJyIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFs
aWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5pbnZhbGlkLndvcmtl
ci5qcwppbmRleCAxZjNmYjRhZTljY2E3MmVkNGQ2Y2YzNGUxN2YzOWQ0ZWIyNTI5NGY5Li4wNDg2
M2U1ZjBkY2FmZTVmNTJiNjZiZTBhZTBjMGNkNzhlMTM1MjYxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLmludmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4uaW52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNldHRpbmcgbGluZUpvaW4gdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTMyLDcgKzM2LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnYmV2ZWwnLCAiY3R4
LmxpbmVKb2luIiwgIidiZXZlbCciKTsKIGN0eC5saW5lSm9pbiA9ICdiZXZlbCc7CiBjdHgubGlu
ZUpvaW4gPSAnYnV0dCc7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdiZXZlbCcsICJjdHgu
bGluZUpvaW4iLCAiJ2JldmVsJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS5qb2luLm1pdGVyLmh0bWwKaW5kZXggOWE0NjNlZDdjNDdkMzJkYzhkMTYwMTA3OGZk
YjgyNThhMzRiMTMxYy4uNDVlYjQ3Y2YzMTFlYzJlNTdkMmVlZjA3ZGUyMTllMzllYjQ4NzVhYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5taXRlci5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLm1pdGVyPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmxpbmUuam9pbi5taXRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZUpvaW4gJ21pdGVyJyBp
cyByZW5kZXJlZCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAnbWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3Rs
eSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTUwLDcgKzU0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
ODksMTEsIDAsMjU1LDAsMjU1LCAiODksMTEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDkwLDEwLCAwLDI1NSwwLDI1NSwgIjkwLDEwIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MSw5LCAwLDI1NSwwLDI1NSwg
IjkxLDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDky
LDgsIDAsMjU1LDAsMjU1LCAiOTIsOCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm1pdGVyLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ubWl0ZXIud29ya2VyLmpzCmluZGV4
IDJkNDMyZmNhOTlhYWMzZTdhZjk0MzVlMDNiYWY2M2FlNTViZTg5ZWMuLjE3MDczMDFkMTM2OTYy
MTA0M2Y3MmUwNTA1YjA4MWY2NGIxYWQxYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4ubWl0ZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4ubWl0ZXIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5lSm9pbiAn
bWl0ZXInIGlzIHJlbmRlcmVkIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ2LDcgKzUwLDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODksMTEsIDAsMjU1LDAsMjU1LCAiODksMTEiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDEwLCAwLDI1
NSwwLDI1NSwgIjkwLDEwIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA5MSw5LCAwLDI1NSwwLDI1NSwgIjkxLDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkyLDgsIDAsMjU1LDAsMjU1LCAiOTIsOCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLm9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4u
b3Blbi5odG1sCmluZGV4IDgzYjU1YjUxMTZjM2ZlNzQ3NDA3NWM0NzdkZjBlN2UwOGNiMzQyZGIu
LjE5NDFiMWFiZjU4NDM0NDUzNjNhMjkxZTdmYTkwNTBkMzBkZTYyYjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ub3Blbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmpvaW4ub3Blbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5saW5lLmpvaW4ub3BlbjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpvaW4ub3Blbjwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRoZSBjb3Ju
ZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBqb2lucyBhcmUgbm90IGRyYXduIGF0IHRo
ZSBjb3JuZXIgb2YgYW4gdW5jbG9zZWQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1
NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LmpvaW4ub3Blbi53b3JrZXIuanMKaW5kZXggZjg0NjYzMTFlMmFhZjc0YWExMmVmZWZhNzI2YWQz
YTViNjQ2MWY4Zi4uM2NhZDc0ZTllYTNjNTBjMDZiNTQ3ZjMyNTlmYWJmYzNkZTAzMTEwZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5vcGVuLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLm9wZW4ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJMaW5lIGpvaW5zIGFyZSBub3QgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBh
biB1bmNsb3NlZCByZWN0YW5nbGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgs
IDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5q
b2luLnBhcmFsbGVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVs
Lmh0bWwKaW5kZXggNTJmYTM5ODExNDlkYmM3OWVhOTcxNjk1NTE1YzVhNWZlMzgwMjFkZi4uZGM3
YzhjMmJkNjQ1Yjc0Y2I1OTQ4ZGY2ODVkMzFlNTcwZjMxMDYzMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xp
bmUtc3R5bGVzLzJkLmxpbmUuam9pbi5wYXJhbGxlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxl
cy8yZC5saW5lLmpvaW4ucGFyYWxsZWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLnBhcmFsbGVsPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuam9p
bi5wYXJhbGxlbDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+TGluZSBqb2lucyBhcmUgZHJhd24gYXQg
MTgwLWRlZ3JlZSBqb2luczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkxpbmUgam9pbnMgYXJlIGRyYXduIGF0IDE4MC1kZWdyZWUgam9pbnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAs
MjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnBhcmFsbGVsLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucGFyYWxsZWwud29ya2VyLmpzCmluZGV4
IGUxM2IzMmQ3NTYxYWExYjA0ZDBkNWMzMDk2NDc5Y2ZkMDdlNWVjYjAuLjQ5Y2RhNzYxM2UxYTZm
ZjY3NjNmNmQ0YmI5ZWJlMjhjOGE2MWEwYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLmpvaW4ucGFyYWxsZWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLmpvaW4ucGFyYWxsZWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJMaW5l
IGpvaW5zIGFyZSBkcmF3biBhdCAxODAtZGVncmVlIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAs
NiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAw
LDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUt
c3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
am9pbi5yb3VuZC5odG1sCmluZGV4IDI2Y2UyZDkzODAyOTFiOWY0OGVjZjhkYWE2ZTc5MmRhMTk0
Y2FhOWMuLjU0YTllZjI4MGY3NjFjNGQyN2U1MGYyYzRlNjk3NzNjNTA3OGZkNmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5qb2luLnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUuam9pbi5yb3VuZDwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLmpv
aW4ucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmxpbmVKb2luICdyb3VuZCcgaXMgcmVuZGVy
ZWQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgibGluZUpvaW4gJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC01Nyw3ICs2MSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDEzLCAw
LDI1NSwwLDI1NSwgIjg2LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA4NywxMywgMCwyNTUsMCwyNTUsICI4NywxMyIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODgsMTMsIDAsMjU1LDAsMjU1LCAiODgsMTMi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg4LDEyLCAw
LDI1NSwwLDI1NSwgIjg4LDEyIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLmpvaW4ucm91bmQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi5yb3VuZC53b3JrZXIuanMKaW5kZXggMGM1
MTY2MzE4ZWYwMmFlZGU4MDkxZjAzMmU4MGIzOWRkMjMyNDM4Yi4uY2NlODg4Y2U5NDY4NzgxODk1
M2Q4YjQ3ZmYyYjI3MzE2MDljNTU5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUuam9pbi5yb3VuZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9p
bi5yb3VuZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVKb2luICdyb3Vu
ZCcgaXMgcmVuZGVyZWQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNTMsNyArNTcsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NiwxMywgMCwyNTUsMCwyNTUsICI4NiwxMyIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODcsMTMsIDAsMjU1LDAs
MjU1LCAiODcsMTMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDg4LDEzLCAwLDI1NSwwLDI1NSwgIjg4LDEzIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4OCwxMiwgMCwyNTUsMCwyNTUsICI4OCwxMiIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2lu
LnZhbGlkLmh0bWwKaW5kZXggMTZjZTAzNTE3OGVhOWMzNDUzMTZlODYyMjAwM2YyYTEzNTZmZWNi
Yi4uNzM3ZWI0ODY0MTQ5ZDY5ZDQ3MTQzOGI4MGRkMTczNjliMDgwN2I2MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLmpvaW4udmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5qb2luLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUuam9pbi52
YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1
ZXMgd29ya3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTZXR0aW5nIGxpbmVKb2luIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVKb2luID0gJ3JvdW5kJzsKIF9hc3NlcnRTYW1lKGN0eC5s
aW5lSm9pbiwgJ3JvdW5kJywgImN0eC5saW5lSm9pbiIsICIncm91bmQnIik7CiBjdHgubGluZUpv
aW4gPSAnbWl0ZXInOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVKb2luLCAnbWl0ZXInLCAiY3R4Lmxp
bmVKb2luIiwgIidtaXRlciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUuam9pbi52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5qb2luLnZhbGlkLndvcmtlci5qcwppbmRleCAxNjE4MDNiODAzNDQ4YjY5NGY3
M2M4OGU0M2VkZTJlZTQzZDNiY2MyLi43OGYwYTQ1NTlhNDk2NjU3N2UyM2RlZTgxODQ5MzNiMjk0
M2IwMGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5qb2luLnZhbGlkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lSm9pbiB0byB2YWxpZCB2YWx1
ZXMgd29ya3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5saW5lSm9pbiA9ICdyb3VuZCc7
CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sICdyb3VuZCcsICJjdHgubGluZUpvaW4iLCAiJ3Jv
dW5kJyIpOwogY3R4LmxpbmVKb2luID0gJ21pdGVyJzsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9p
biwgJ21pdGVyJywgImN0eC5saW5lSm9pbiIsICInbWl0ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5hY3V0ZS5odG1sCmluZGV4IDYyZGU1MzIy
N2YwMGMxOWE0YmI3NGNkNGJjNDhjNTg4YTAyN2NmNWYuLjE0YTY1ZWE0NmUzYWY1MjUzYmE1N2Zj
MDAyODg5ODBiY2NiMDFhNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLmFjdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGlu
ZS5taXRlci5hY3V0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmFjdXRlPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5NaXRlciBqb2lucyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggYWN1dGUgYW5nbGVzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0
ZXIgam9pbnMgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGFjdXRlIGFuZ2xlcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTM4LDcgKzQyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLm1pdGVyLmFjdXRlLndvcmtlci5qcwppbmRleCA2M2Y5MDllNTY1MjU5
MTk4YmEyZWY1ODcwN2VmMmY5YzFkZTQ2ZDU0Li4wODVhNGYwN2M0NGU2ZWIzZDAzZmJmMzAxNmI2
NGIxNmJmMzkzZmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5h
Y3V0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuYWN1dGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lucyBhcmUgZHJhd24g
Y29ycmVjdGx5IHdpdGggYWN1dGUgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1
NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVy
LmV4Y2VlZGVkLmh0bWwKaW5kZXggZjE1MzA5YjJkMGRiNzUxN2U0NzUwZGJmZTYyNTQ2MWQyOWVl
NDUzNC4uODllYjUwOTE4Y2JmYjE5MjIxZWM3ZmVjYjhhNGZkMzRkZDE2NDM2OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5leGNlZWRlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLm1pdGVyLmV4Y2VlZGVkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmxpbmUubWl0ZXIuZXhjZWVkZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5z
IGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQ8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMzEsNyArMzUsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1
LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuZXhjZWVkZWQud29ya2VyLmpzCmluZGV4IDAyYjE2
NTNmZGVjYjk3YThjMmY1ZjhiNzYyNjM0NjNkZTRlMTE4NmYuLjNmY2U3Yjg1M2RkY2NkYWU0ZWM2
NWVkNjIwN2MwMDcwZmE5ZWQ1YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
Lm1pdGVyLmV4Y2VlZGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5leGNlZWRlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpv
aW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwy
NTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAs
MjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLmh0bWwKaW5kZXggZThkODg2M2E5ZTdhOTk4
ZTJkMDRkZWE4ZDNmMmQzNzA2MTNiMmVhNS4uYzdjYmQ4MjM0NDhkZDgzODg1YjI2NzVhZjFkYjBk
M2MwMzRhZDNkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIuaW52
YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmludmFsaWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5t
aXRlci5pbnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUubWl0ZXIuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2V0dGluZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0
aW5nIG1pdGVyTGltaXQgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMz
LDcgKzM3LDYgQEAgX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEuNSwgImN0eC5taXRlckxp
bWl0IiwgIjEuNSIpOwogY3R4Lm1pdGVyTGltaXQgPSAxLjU7CiBjdHgubWl0ZXJMaW1pdCA9IE5h
TjsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCAxLjUsICJjdHgubWl0ZXJMaW1pdCIsICIx
LjUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUubWl0ZXIuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5pbnZhbGlkLndvcmtlci5qcwppbmRleCAxNjI4Zjc4NmQzNDQ0ZWNjODY2ZDNhMTExNDM4
ZDA4Yjg0ZjljMDE5Li5iZDA1ZTU3NzVjMGY0NzIyZWFkNWYzNjQ2ZTliZGQ0MDEwMTQzOTFhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5pbnZhbGlkLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBtaXRlckxpbWl0IHRvIGludmFsaWQgdmFs
dWVzIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRTYW1lKGN0eC5t
aXRlckxpbWl0LCAxLjUsICJjdHgubWl0ZXJMaW1pdCIsICIxLjUiKTsKIGN0eC5taXRlckxpbWl0
ID0gMS41OwogY3R4Lm1pdGVyTGltaXQgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1p
dCwgMS41LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5saW5lZWRnZS5odG1sCmluZGV4IGQ2ZjhhNjA3
NzIwNjlhMDUzN2FlOWQyZGMxYTlhNDAwMzQ4MzU1ZGYuLmY1MDljNWJhZTY2YzNhODUzNzViNjUy
MmQwNjM1NGU1YzAxN2RhZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLmxpbmVlZGdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIubGlu
ZWVkZ2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQubGluZS5taXRlci5saW5lZWRnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLmxpbmVlZGdlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5NaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVy
IGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBjb3JuZXJzIG9mIGEgemVyby1oZWlnaHQgcmVjdGFu
Z2xlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiTWl0ZXIgam9pbnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNl
ZWRlZCBhdCB0aGUgY29ybmVycyBvZiBhIHplcm8taGVpZ2h0IHJlY3RhbmdsZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSww
LDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLmxpbmVlZGdlLndvcmtlci5qcwppbmRleCBhMGQxYWFh
Yzc2ZjUzN2QzNDI4YWQ2MjM4MDA5OWE1OWQxY2RiMGRlLi5kMDRmYTM5ZTQxNmVmM2Y2MmZmNGNh
ZDNlNGY2MDM1MGM4YmY2YTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5saW5lZWRnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0
ZXIubGluZWVkZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJNaXRlciBqb2lu
cyBhcmUgbm90IGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkIGF0IHRoZSBj
b3JuZXJzIG9mIGEgemVyby1oZWlnaHQgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1
NSwwLDI1NSwgIjQ4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUubWl0ZXIub2J0dXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5t
aXRlci5vYnR1c2UuaHRtbAppbmRleCAyZTg3YTg3MzA3MjBiNmQzYjA0NmIyMzQ3MmY1MDMwMzZl
MmQ3NGU0Li42ZTQ0MGE5Y2RlMWQzMTZmZGUwYmM4Y2RkZDg5NWUxZmI5ZWRkYjEyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
bGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS5taXRlci5vYnR1c2U8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
bGluZS5taXRlci5vYnR1c2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5zIGFyZSBk
cmF3biBjb3JyZWN0bHkgd2l0aCBvYnR1c2UgYW5nbGVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIGNv
cnJlY3RseSB3aXRoIG9idHVzZSBhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOCw3ICs0Miw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1
LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NDgsNDgsIDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQu
bGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0
ZXIub2J0dXNlLndvcmtlci5qcwppbmRleCA1Nzk2MzUyYzliNGU1ZTllOGVlNDAwNmE1MmU1ZGMy
ZTYyN2ViYzJjLi41MGMyMmFmNGRjN2E0ZjA4OWRkZGVkYzVmZTUxMzg2YTE2NDBlMTVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci5vYnR1c2Uud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLm9idHVzZS53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBv
YnR1c2UgYW5nbGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCwxLCAwLDI1NSwwLDI1NSwgIjQ4LDEiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSww
LDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmln
aHRhbmdsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS5o
dG1sCmluZGV4IGE3MTIxZjU1MGRkNzNlNDFmMWQzZmJlMzQxNjMyYTVmNmYzNjRhMzAuLjZlMmE5
NmJiZTU0MjFlYWU1NDYwODJkNjU0M2Q3NWVhYzc1ZWQ1NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5l
LXN0eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS5taXRlci5yaWdodGFuZ2xlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5s
aW5lLm1pdGVyLnJpZ2h0YW5nbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk1pdGVyIGpvaW5zIGFy
ZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQsIG9uIGV4YWN0IHJp
Z2h0IGFuZ2xlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQg
aXMgZXhjZWVkZWQsIG9uIGV4YWN0IHJpZ2h0IGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwy
NTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUubWl0ZXIucmlnaHRhbmdsZS53b3JrZXIuanMKaW5kZXggNzE3ZDdmMjMwN2RiNzZh
ZmQzNzU1MzIzNTVhNzYzYjJhYzk0YjVkZi4uMzZlMjVmYjIyYjhhY2U2ZjBjN2JlZjc3YjIwYjAz
M2U3ZGIzM2Q0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmln
aHRhbmdsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIucmln
aHRhbmdsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk1pdGVyIGpvaW5zIGFy
ZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQsIG9uIGV4YWN0IHJp
Z2h0IGFuZ2xlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwy
NTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnZhbGlk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC5odG1sCmluZGV4IDhj
ZDg2Yjg0N2FhYjA0ODIyMjg5ZjIwN2ZkZjM5MWU2OThkNGFiZDAuLmMwZTZlZTJiZWI5NDY5Yzg4
N2I4YzA4MDE4NmZkYjJiYTdjMjA0ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLm1pdGVyLnZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
dmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQubGluZS5taXRlci52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLm1pdGVyLnZhbGlkPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5TZXR0aW5nIG1pdGVyTGltaXQgdG8gdmFsaWQgdmFsdWVzIHdvcmtzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGlu
ZyBtaXRlckxpbWl0IHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4Lm1pdGVyTGltaXQgPSAxLzEwMjQ7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwg
MS8xMDI0LCAiY3R4Lm1pdGVyTGltaXQiLCAiMS8xMDI0Iik7CiBjdHgubWl0ZXJMaW1pdCA9IDEw
MDA7CiBfYXNzZXJ0U2FtZShjdHgubWl0ZXJMaW1pdCwgMTAwMCwgImN0eC5taXRlckxpbWl0Iiwg
IjEwMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUubWl0ZXIudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUu
bWl0ZXIudmFsaWQud29ya2VyLmpzCmluZGV4IDYwYWYxOTUzYmU3YTc0NTFmMGZmOTBjODRhN2Rh
Y2I5ODA2NzVmNTEuLjk5MmQzN2QyMWFlMDk2ODYyNDRmZWE4YzM1MjNkYmVjODIxZTVjY2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLnZhbGlkLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci52YWxpZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgbWl0ZXJMaW1pdCB0byB2YWxpZCB2YWx1ZXMgd29y
a3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5taXRlckxpbWl0ID0gMS8xMDI0OwogX2Fz
c2VydFNhbWUoY3R4Lm1pdGVyTGltaXQsIDEvMTAyNCwgImN0eC5taXRlckxpbWl0IiwgIjEvMTAy
NCIpOwogY3R4Lm1pdGVyTGltaXQgPSAxMDAwOwogX2Fzc2VydFNhbWUoY3R4Lm1pdGVyTGltaXQs
IDEwMDAsICJjdHgubWl0ZXJMaW1pdCIsICIxMDAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLmh0bWwKaW5kZXggMTJmMTBiMjY4Y2Jk
MjhkZjlhMDE1ODVlZWFmMzVmNTFlYmUxM2M2ZC4uYjhlMGFlMjFmZmJkY2Q3NjZjZDAyNTU0MDEw
ZTg3ZDEyMzk3NmNjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIu
d2l0aGluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmxpbmUu
bWl0ZXIud2l0aGluPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUubWl0ZXIud2l0aGluPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5NaXRlciBqb2lucyBhcmUgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgbm90IHF1
aXRlIGV4Y2VlZGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlz
IG5vdCBxdWl0ZSBleGNlZWRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwg
MCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1p
dGVyLndpdGhpbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS5taXRlci53aXRo
aW4ud29ya2VyLmpzCmluZGV4IGMyZTk0NjM1YjZlN2ZmZGFhODAyMDBkYTY3MjJkMDIzZjIzNTQ3
NmUuLjIwMmM0ZWY1NzMxMDZiMGVjM2E2Mjc1Njk0ZjZiMjg3NmI5NmJhODMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLm1pdGVyLndpdGhpbi53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2xpbmUtc3R5bGVzLzJkLmxpbmUubWl0ZXIud2l0aGluLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiTWl0ZXIgam9pbnMgYXJlIGRyYXduIHdoZW4gdGhlIG1pdGVyIGxpbWl0IGlz
IG5vdCBxdWl0ZSBleGNlZWRlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsMSwgMCwyNTUsMCwyNTUsICI0OCwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwg
MCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLnVu
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi5odG1sCmluZGV4IDYyNmEx
YTU4NTJlNjkxZjQwNDQyOTA3N2Y2OWMxYTNiNGU5ZjNmNmMuLjE3ODUyN2M1MmI4Nzk5ZTg0Mzkx
MjNlYTBlZGE0MWJiOGFkMThmYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LnVuaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS51bmlvbjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5saW5lLnVuaW9uPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3
ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1
LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAyNSwxLCAwLDI1NSwwLDI1NSwgIjI1LDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4
LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9saW5lLXN0eWxlcy8yZC5saW5lLnVuaW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLnVuaW9uLndvcmtlci5qcwppbmRleCBlMmM2NjY4OWI4NGFjNGMxMmE0NjIzMTNmMjNj
NDBiMjU2ZjgzNTI0Li40M2NlNmI3ZDA2OGI1Yzg1NTJmN2YzMjljZDYxMzhmODRkOTUzMWY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS51bmlvbi53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUudW5pb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDQ4LDEsIDAsMjU1LDAsMjU1LCAiNDgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwxLCAwLDI1NSwwLDI1
NSwgIjI1LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDQ4LDQ4LCAwLDI1NSwwLDI1NSwgIjQ4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmJhc2lj
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5iYXNpYy5odG1sCmluZGV4IDFk
ZDFiYmY3YmRkZDM3ZDE3MTFiMjhjNDg2ZGYzYjJjMDE4MGUyYzMuLmI2YjkwYTEyMDBiMzE3YmNk
YzljZWQ4NjZiY2EyMWMxOTQyNzZlNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5s
aW5lLndpZHRoLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgu
YmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQubGluZS53aWR0aC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5saW5lLndpZHRoLmJhc2ljPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5saW5lV2lkdGggZGV0ZXJtaW5lcyB0aGUgd2lkdGggb2YgbGluZSBzdHJva2Vz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
bGluZVdpZHRoIGRldGVybWluZXMgdGhlIHdpZHRoIG9mIGxpbmUgc3Ryb2tlcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTQ5LDcgKzUzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDg0LDI1LCAwLDI1NSwwLDI1NSwgIjg0LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwyNSwgMCwyNTUsMCwyNTUsICI4NSwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODYsMjUsIDAsMjU1
LDAsMjU1LCAiODYsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguYmFzaWMud29ya2VyLmpzCmluZGV4IGUxZThh
MDVkNDBlZDExZWFlZTI4ZmFlYWE0MTg4Njc2ODAwYzMxYTkuLmYzMTIwYjZiNTg2NjhlZDQ1MmFl
MmQ0Y2VlNWIxZTQ2OGJiNzEyZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5l
LndpZHRoLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0
aC5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImxpbmVXaWR0aCBkZXRl
cm1pbmVzIHRoZSB3aWR0aCBvZiBsaW5lIHN0cm9rZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00NSw3ICs0OSw2IEBA
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NCwyNSwg
MCwyNTUsMCwyNTUsICI4NCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgODUsMjUsIDAsMjU1LDAsMjU1LCAiODUsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDI1LCAwLDI1NSwwLDI1NSwgIjg2LDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9s
aW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLmludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8y
ZC5saW5lLndpZHRoLmludmFsaWQuaHRtbAppbmRleCAyZjcyYzhkMDdhZTkyNDVmN2RlNmZkODQ3
YjM5ZDdkM2QzZDY1YWI4Li42YzYwOTE0MmYwODg1ZjhlZTBjOWE4OTQxZThlNmQzYTkwMzhiZDQy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxpZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLndpZHRoLmludmFs
aWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQubGluZS53aWR0aC5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0
aW5nIGxpbmVXaWR0aCB0byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyBsaW5lV2lk
dGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3LDYgQEAg
X2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0aCIsICIxLjUiKTsK
IGN0eC5saW5lV2lkdGggPSAxLjU7CiBjdHgubGluZVdpZHRoID0gTmFOOwogX2Fzc2VydFNhbWUo
Y3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0aCIsICIxLjUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGguaW52YWxp
ZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLndvcmtl
ci5qcwppbmRleCAyYzNiZTgyYThlMjg4NzQ2MTQ4MzAwNjI4MTViODE4NTZjYzlhYzZmLi4zN2Uy
NzA3MzRhNmYxNWQ4ZmM0Yjc4ZGJmMGYzNDYyNjIyN2Q2YWI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGlu
ZS1zdHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1z
dHlsZXMvMmQubGluZS53aWR0aC5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2V0dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4
LmxpbmVXaWR0aCIsICIxLjUiKTsKIGN0eC5saW5lV2lkdGggPSAxLjU7CiBjdHgubGluZVdpZHRo
ID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMS41LCAiY3R4LmxpbmVXaWR0aCIs
ICIxLjUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGlu
ZS53aWR0aC5zY2FsZWRlZmF1bHQuaHRtbAppbmRleCBiYjQ2MDdmZmMxOGY4N2U2ZThkMGY1ZGFm
YzViOTk0NjNjZGI1Y2I2Li5lMmUzNmM4YzZkNDEyNDY4ZDFjNTU5ZGM5MzBhZjE3NjU1Y2U4ODI0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQubGluZS53
aWR0aC5zY2FsZWRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPkRlZmF1bHQgbGluZVdpZHRoIHN0cm9rZXMgYXJlIGFmZmVjdGVkIGJ5
IHNjYWxlIHRyYW5zZm9ybWF0aW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlZmF1bHQgbGluZVdpZHRoIHN0cm9rZXMgYXJlIGFmZmVj
dGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw1LCAwLDI1NSwwLDI1NSwgIjUwLDUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0
eWxlcy8yZC5saW5lLndpZHRoLnNjYWxlZGVmYXVsdC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHls
ZXMvMmQubGluZS53aWR0aC5zY2FsZWRlZmF1bHQud29ya2VyLmpzCmluZGV4IDdmZWRhZWRhZTRj
N2IzZmMyZDI0MGIzMGI3YmI4MmY0N2U0NjM4OTEuLmNmZjY5MzAyYWI4NjI0YmMyZDY1NzM5MmZj
ZWE0MTZmNTIyNjQ4NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRo
LnNjYWxlZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lk
dGguc2NhbGVkZWZhdWx0Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiRGVmYXVs
dCBsaW5lV2lkdGggc3Ryb2tlcyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25z
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDUsIDAsMjU1LDAsMjU1LCAi
NTAsNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
NDUsIDAsMjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3Jt
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwK
aW5kZXggNzIzNzBmNTkyNjZjMzg2OWQwYWVmMjg2N2Y0M2JhNGY3ZDQ3ZTNjMy4uZTk5NzcwZDE3
OTBiNzdmN2ZiMjAwYTFiNmY2NzEwNTk5MDNjM2VkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5
bGVzLzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxp
bmUud2lkdGgudHJhbnNmb3JtZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkxpbmUgc3Ryb2tlIHdp
ZHRocyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25zPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTGluZSBzdHJva2Ugd2lk
dGhzIGFyZSBhZmZlY3RlZCBieSBzY2FsZSB0cmFuc2Zvcm1hdGlvbnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC01NSw3
ICs1OSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA4NCwyNSwgMCwyNTUsMCwyNTUsICI4NCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgODUsMjUsIDAsMjU1LDAsMjU1LCAiODUsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDg2LDI1LCAwLDI1NSwwLDI1
NSwgIjg2LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLndvcmtlci5qcwppbmRl
eCA3YmQ0ZWZiYWRmZjliNDNjMjA2ZTAxYmM2YjY1MGM2NzU3N2QyNjZlLi5jYmRjYTM3YWQzMTA5
YWZmNzQwMjk1Zjg2NzZkNTc5NzBlOGFiN2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMv
MmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVz
LzJkLmxpbmUud2lkdGgudHJhbnNmb3JtZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJMaW5lIHN0cm9rZSB3aWR0aHMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0
aW9ucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTUxLDcgKzU1LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDg0LDI1LCAwLDI1NSwwLDI1NSwgIjg0LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NSwyNSwgMCwyNTUsMCwy
NTUsICI4NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgODYsMjUsIDAsMjU1LDAsMjU1LCAiODYsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgudmFs
aWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLmh0bWwKaW5kZXgg
NmNmYjE5OWJjNWZjZTBlYzE1Y2ZhMTA2MmUyN2RmZmU3ZDI0ZmI4Yi4uODlhOTZhYjI3ODFjMjAz
YmVjZTFlNThlYzk4MGMyYzJkODg5Y2JhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJk
LmxpbmUud2lkdGgudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0
aC52YWxpZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5saW5lLndpZHRoLnZhbGlkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmxpbmUud2lkdGgudmFsaWQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPlNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRp
bmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LmxpbmVXaWR0aCA9IDEvMTAyNDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEv
MTAyNCwgImN0eC5saW5lV2lkdGgiLCAiMS8xMDI0Iik7CiBjdHgubGluZVdpZHRoID0gMTAwMDsK
IF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEwMDAsICJjdHgubGluZVdpZHRoIiwgIjEwMDAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxp
bmUud2lkdGgudmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL2xpbmUtc3R5bGVzLzJkLmxpbmUud2lkdGgu
dmFsaWQud29ya2VyLmpzCmluZGV4IDhlNzQ5OGZmMjVmZTI3ZTY1MGE3ZjkwNjg2M2NlNDZlYjZh
MDVlMTAuLjdmYTdmZTUwNzVhYjUwZTc1ZWJlNTVjZWQ0ZGRkOWRjN2FhYjJhYTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnZhbGlkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvbGluZS1zdHlsZXMvMmQubGluZS53aWR0aC52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNldHRpbmcgbGluZVdpZHRoIHRvIHZhbGlkIHZhbHVlcyB3b3JrcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmxpbmVXaWR0aCA9IDEvMTAyNDsKIF9hc3NlcnRTYW1l
KGN0eC5saW5lV2lkdGgsIDEvMTAyNCwgImN0eC5saW5lV2lkdGgiLCAiMS8xMDI0Iik7CiBjdHgu
bGluZVdpZHRoID0gMTAwMDsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDEwMDAsICJjdHgu
bGluZVdpZHRoIiwgIjEwMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLmFuZ2xlLjEuaHRtbAppbmRleCAxYTRjZmU5Y2M2Njg0NTA2ZGJlNTI2ZWI0
ZGY5MDRjY2U5YjFjMWRkLi4wMDBmYjU1MzVkYzIyODQyOWMyNDZjMmNkZmU2ODY0NWUwNGM5ZWVi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuMTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLmFyYy5hbmdsZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3
cyBwaS8yIC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIHBpLzIgLi4g
LXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgu
bW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCBNYXRoLlBJLzIsIC1NYXRoLlBJ
LCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4xLndvcmtlci5qcwpp
bmRleCAxODUzNmM5ODhlYjllMTRhODcyMDVjYTU1MDUyZTY3MDkyZmNmYWE0Li5kYTA1N2VkMzc4
MjlhYTk5NTdmNTEyYzI4M2FlM2I3MzVkZTY0MGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmFuZ2xlLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuYW5nbGUuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFy
YygpIGRyYXdzIHBpLzIgLi4gLXBpIGFudGljbG9ja3dpc2UgY29ycmVjdGx5Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwgMTUwLCBN
YXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmFuZ2xlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUu
Mi5odG1sCmluZGV4IGFjMWE1YTY2Mjk2MWIwNDdiZWJiZmU3ODlhYjcyY2UzMGY0MTEzYmMuLjlh
OWM2Y2QyMGQ4ZGU1Njg4ODZhMzY1MTNiNDlhMDc4ZTg3NzUxNGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuYW5nbGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS4yPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLmFu
Z2xlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIC0zcGkvMiAuLiAtcGkgYW50
aWNsb2Nrd2lzZSBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyAtM3BpLzIgLi4gLXBpIGFudGljbG9ja3dp
c2UgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7
CiBjdHguYXJjKDEwMCwgMCwgMTUwLCAtMypNYXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKIGN0
eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4yLndvcmtlci5qcwppbmRleCA3YTdkZWY5
NzhhNmE0M2QzMTE4NzliNmZjZDBkYzhmYzM1ZjZjZWRlLi5mMWIwN2VhZDVkYTJkMGZjYjQ3Mzll
ZWRlOTk0N2ZmODViNDZjODY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLmFuZ2xlLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
YW5nbGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIC0z
cGkvMiAuLiAtcGkgYW50aWNsb2Nrd2lzZSBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsIC0zKk1hdGguUEkv
MiwgLU1hdGguUEksIHRydWUpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
YW5nbGUuMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLmh0bWwK
aW5kZXggMDY4NDAyNDA3ODBkZjM1OGIyZjZkNmFlYzk5NGU5NWQ3NDVjZTQzNS4uZjA2ZDcwMGE2
ZmRkODExNzA5NWI1MGEyMzA5MjU2N2QxZGUzNzZkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5hbmdsZS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguYXJjLmFuZ2xlLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuYW5nbGUuMzwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBhbnRp
Y2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3
aGVuIGFudGljbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwgKDUxMisxLzIp
Kk1hdGguUEksICgxMDI0LTEpKk1hdGguUEksIHRydWUpOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmFuZ2xlLjMud29ya2VyLmpzCmluZGV4IDRjNGJmYTg5OTJjZTBlZjkwNTRlN2M5NTA1
ZWUzYzg3NmMzNzBmZjQuLjBlYTY3YzU4ZTQwZGE5OWI3OTYyMWJhYzhhYjFhNTZiNWUxNGNhZDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS4zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5nbGVzIG1vZCAycGkgd2hlbiBh
bnRpY2xvY2t3aXNlIGFuZCBlbmQgPiBzdGFydCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsICg1MTIrMS8yKSpNYXRo
LlBJLCAoMTAyNC0xKSpNYXRoLlBJLCB0cnVlKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmFuZ2xlLjQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5n
bGUuNC5odG1sCmluZGV4IGY0NzY2OWNjZjlmYWIyMTZhNTJjNGIwNTg1ZDEzMjA4MDA5MmU0NWYu
LmIwNzZjNTljNTRkZWFjNjdkNzlmMGNkY2Y5OTc0YzQ4NzM3NGI4MGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5hbmdsZS40PC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LmFuZ2xlLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUg
d2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVsbCBjaXJj
bGUgd2hlbiBjbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0KzJwaSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMx
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwg
MCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLmFuZ2xlLjQud29ya2VyLmpzCmluZGV4IDY3NTgwOGM5NzM1Y2FiNjAyZWNi
YzE2YjUwM2M0MzA5MWUyYThkZmQuLmM2ZDE5YzYwYzAyZTZlNDAyZDJjY2Q2ZjI2MDFmNjYxYThj
NzIwODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS40Lndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3
aGVuIGNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLmFuZ2xlLjUuaHRtbAppbmRleCA5MDIwZmYxOWU4YzcxOGIyOWI1Yjk1MmMxN2ZiZGJkYzE3
NzNlNDkyLi40ODY5MzFmMDNlM2NiZDQ1Mzg1ZjUzZjFkNzllZTg4NmM5ZjMzMzllIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5hbmdsZS41PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3cmFwcyBhbmdsZXMg
bW9kIDJwaSB3aGVuIGNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd3JhcHMgYW5n
bGVzIG1vZCAycGkgd2hlbiBjbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDApOwogY3R4LmFyYygxMDAsIDAsIDE1MCwg
KDEwMjQtMSkqTWF0aC5QSSwgKDUxMisxLzIpKk1hdGguUEksIGZhbHNlKTsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS41Lndvcmtlci5qcwppbmRleCBiYTVjNTIxOThjOWFlOWJm
OWY0ODY2M2E4ZjFiZjI0YWQ5YjRmYTc2Li5kYzMyMDBkMjNhYTZiZjBlYzI5MTE4ZTA2MjU5MDRm
ODdmZTEwNjg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xl
LjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNS53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdyYXBzIGFuZ2xlcyBtb2Qg
MnBpIHdoZW4gY2xvY2t3aXNlIGFuZCBzdGFydCA+IGVuZCsycGkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsy
NCw2IEBAIGN0eC5tb3ZlVG8oMTAwLCAwKTsKIGN0eC5hcmMoMTAwLCAwLCAxNTAsICgxMDI0LTEp
Kk1hdGguUEksICg1MTIrMS8yKSpNYXRoLlBJLCBmYWxzZSk7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5hbmdsZS42Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLmFuZ2xlLjYuaHRtbAppbmRleCA5YTlkOWRkNWNiYzlkNjc0ODU1MGU1Njc0MmEyOTBhNzgw
MGQ4MzVmLi43ZWI0NjZhZjRiZTBiY2FkNTNiMGYyMjViYTM2OTY1YTM4MDUyMWY2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuYW5nbGUuNjwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5hbmdsZS42PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBkcmF3cyBhIGZ1bGwg
Y2lyY2xlIHdoZW4gYW50aWNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQrMnBpPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mg
YSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI3LDcgKzMxLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuYW5nbGUuNi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmFuZ2xlLjYud29ya2VyLmpzCmluZGV4IDcyMDFi
NjlkYmExY2QyNTBmYjQxMzk0MTI2NjI3ZTBmZTNjZjE2NzIuLjQ4NjAyN2UyZTQxNjRkMzc0Zjc3
OGExYTVlNTBjOGUwMTA0ZDYyZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuYW5nbGUuNi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Yy5hbmdsZS42Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mg
YSBmdWxsIGNpcmNsZSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIHN0YXJ0ID4gZW5kKzJwaSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAw
LDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSww
LDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZhdWx0Lmh0bWwKaW5kZXggMDc3ZmU4ODgzNzM1MzFj
YmJjZTg3ODY3NmVhOWNkMmI3ZjcwZWIyMS4uZWQyNzA0MDg5NmUwNGZiYTIzMmVkNjk4NTAyMmZh
NzA0NjUxOWUxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZh
dWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5kZWZhdWx0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
LmRlZmF1bHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
YXJjKCkgd2l0aCBtaXNzaW5nIGxhc3QgYXJndW1lbnQgZGVmYXVsdHMgdG8gY2xvY2t3aXNlPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJj
KCkgd2l0aCBtaXNzaW5nIGxhc3QgYXJndW1lbnQgZGVmYXVsdHMgdG8gY2xvY2t3aXNlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjQsNyArMjgsNiBAQCBjdHgubW92ZVRvKDEwMCwgMCk7CiBjdHguYXJjKDEwMCwgMCwg
MTUwLCAtTWF0aC5QSSwgTWF0aC5QSS8yKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLmRlZmF1bHQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5k
ZWZhdWx0Lndvcmtlci5qcwppbmRleCBmNmRiNDlmMGQyZDhiYTk3YmIyYTkyMzYwNGM1ODIwZWY1
ZjJiNGFmLi4wZWFmOGJhYzZkYmRkYjMwYjI2N2VjNWNjM2Y0ZTk0OWU4YWQ0Njk0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmRlZmF1bHQud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZGVmYXVsdC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbWlzc2luZyBsYXN0IGFyZ3VtZW50IGRlZmF1bHRz
IHRvIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4Lm1vdmVUbygxMDAsIDAp
OwogY3R4LmFyYygxMDAsIDAsIDE1MCwgLU1hdGguUEksIE1hdGguUEkvMik7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyYy5lbXB0eS5odG1sCmluZGV4IGVjNjY5YjA0OWU1YjUyNjQ2NTg2N2Q1NjU1ZDE2
Y2M3MTcxMjdjMDUuLjk5YjQzZTA3YzQ1OWU1OGU1NGQ3ZjI1ZTFhYzhmYTI3NDYzYTI5MzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW1wdHkuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLmVtcHR5PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjLmVtcHR5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIGFuIGVtcHR5IHBh
dGggZG9lcyBub3QgZHJhdyBhIHN0cmFpZ2h0IGxpbmUgdG8gdGhlIHN0YXJ0IHBvaW50PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkg
d2l0aCBhbiBlbXB0eSBwYXRoIGRvZXMgbm90IGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBz
dGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4
LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLmVtcHR5Lndvcmtlci5qcwppbmRleCBmNzhlNGE5MmEzYWM4NTk3YjVhMDg4Mjc5
ZDRlZWVkZjljMTdkZTI3Li5iZGFkNzc3OTgwNzk5YWU0ZDM4ZTI4ZGE4YjE3YTFiOWRiMzk4Yjg4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVtcHR5Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBhbiBlbXB0eSBwYXRoIGRvZXMgbm90IGRy
YXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEks
IHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5lbmQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLmh0bWwKaW5kZXggNjQ5YzMwNDM2OTY5
ZWYwN2U2NTAyNzEyZTRmNmMwMWYyZTlhM2ZiYy4uMmE5MDhhZjA3N2U4ZmJkMjVlMjM1MjFmMTVi
YmI4NTQzMDBiZGJlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5l
bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLmVuZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5lbmQ8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQucGF0aC5hcmMuZW5kPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBhZGRzIHRo
ZSBlbmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGFkZHMgdGhlIGVuZCBw
b2ludCBvZiB0aGUgYXJjIHRvIHRoZSBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBj
dHguYXJjKC0xMDAsIDAsIDI1LCAtTWF0aC5QSS8yLCBNYXRoLlBJLzIsIHRydWUpOwogY3R4Lmxp
bmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5k
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuZW5kLndvcmtlci5qcwpp
bmRleCAzNzgyYTZkODJjZmIxMTI1MDNhNzUwMGQ3YTFlYmJjMTdlNDBkYzI4Li5lZGJiNzMyNDk5
N2UwYmY2NTA3ZDgzOWE4MTk3NjgxZDY4YWYxMTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLmVuZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5lbmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBhZGRz
IHRoZSBlbmQgcG9pbnQgb2YgdGhlIGFyYyB0byB0aGUgc3VicGF0aCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcg
KzI2LDYgQEAgY3R4LmFyYygtMTAwLCAwLCAyNSwgLU1hdGguUEkvMiwgTWF0aC5QSS8yLCB0cnVl
KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0
aXZlLmh0bWwKaW5kZXggYzQ2ZDU2Y2U4MTk5ODIwNTZlZDI5OTNkOTcwMDE2ZWFiNDUzZWZmNS4u
MzhiN2I4Njc5ZWFlODRlN2I0NDcyODE3ZDFhNTcwYjZmNTE1NmVhMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMubmVnYXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5h
cmMubmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdpdGggbmVnYXRpdmUgcmFk
aXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJv
d3MgSU5ERVhfU0laRV9FUlIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENv
bnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MoIklOREVYX1NJWkVfRVJSIiwgZnVuY3Rpb24o
KSB7IGN0eC5hcmMoMCwgMCwgLTEsIDAsIDAsIHRydWUpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5uZWdhdGl2ZS53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLndvcmtlci5qcwpp
bmRleCBlMzg5YWFmYmY4NmFlOTljMTY4M2E0N2Q0NTY0YjY1N2RjNDA2ODMyLi5lODQ4OGEwYWJi
YTIzZTE4MWJmMmJhNmExMDRmOTgxODg0MzYzZDA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyYygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBJTkRFWF9TSVpFX0VSUiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Ro
cm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmFyYygwLCAwLCAtMSwgMCwg
MCwgdHJ1ZSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLm5vbmVtcHR5Lmh0bWwKaW5kZXggNzVjNzBkYTQyNjUwNDUwMDY1NWExMzY3ZGJmMmNk
NTY4NzYwYmNhNS4uMGY4OTJkODY5MmZlMWI0ZWFlNmU1NmJmNTU3ODE0ZTk0MzFjOTJkMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25lbXB0eS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1wdHkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMubm9uZW1wdHk8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5hcmMubm9uZW1wdHk8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIHdpdGgg
YSBub24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdodCBsaW5lIHRvIHRoZSBzdGFydCBw
b2ludDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImFyYygpIHdpdGggYSBub24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdodCBsaW5l
IHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4Lm1vdmVUbygw
LCAyNSk7CiBjdHguYXJjKDIwMCwgMjUsIDUsIDAsIDIqTWF0aC5QSSwgdHJ1ZSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmVtcHR5Lndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZW1wdHkud29ya2VyLmpzCmluZGV4IDQ0NDY2NTRk
YWNjNTk4YTdjZDdiYzJkOTg0NTE3YjE2ZDVkMWVhMjIuLjAyZGNkN2I4YmQ2ZWE4ZGNkNjU1OTU1
NzIwNGU2Y2M5ZDMzYjM4NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMubm9uZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
bm9uZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSB3aXRoIGEg
bm9uLWVtcHR5IHBhdGggZG9lcyBkcmF3IGEgc3RyYWlnaHQgbGluZSB0byB0aGUgc3RhcnQgcG9p
bnQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyYygy
MDAsIDI1LCA1LCAwLCAyKk1hdGguUEksIHRydWUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMubm9uZmluaXRlLmh0bWwKaW5kZXggZTY3NDNlNDFmYzZjZjdmNGE1Mzg5NzU0MTg2ZjkyOGI4
MTMzZDY1NS4uMjhlNGE4ZDM3NjViZmQ2YjZjODQ1MjBkNmJkOWY3Y2I1NGNlMTU5NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5ub25maW5pdGU8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5hcmMubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3Jl
ZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTY3LDcgKzcxLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5p
dGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5ub25maW5pdGUud29y
a2VyLmpzCmluZGV4IDZhODFjZmVjNTAzYzMwZDdlODNmZGQ5NzI4NTA0OGNlNTFlNjBkZGQuLmNl
M2Y4MmEwMjI4MmY4ODQ3MzBmMjI1MzY3NDBmNzZhODg5MDAwOTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02
Myw3ICs2Nyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSww
LDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLmh0bWwKaW5kZXggZDZkZDc5MzA5ZGQyMTFk
NmNlMTFkMTA0OGJjOWMxN2M2OTkxOWUxZC4uNmU5NzNjMzQ4ZWZhOWI4ZDFmODQzOGEwMGQ4NDBi
NjM2MGM2MWEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2Fs
ZS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
LnNjYWxlLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2NhbGUuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
Tm9uLXVuaWZvcm1seSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiTm9uLXVuaWZvcm1s
eSBzY2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyArNDcsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwyNTUsICI5OSwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMCw0OSwg
MCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1LCAiOTksNDki
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2NhbGUuMS53b3JrZXIuanMKaW5kZXggZjM1YmE0NTlhZmRmMzU4OTM3
NTIwZjI1ODVmMzQ0NWFjNzRlY2JlNy4uMjdlZDg0NGE5ZWYyOTNjY2I0YTEzOWQzNzE3ZDZmZTUz
OGMzMjQ5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJOb24tdW5pZm9ybWx5IHNjYWxlZCBhcmNz
IGFyZSB0aGUgcmlnaHQgc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zOSw3ICs0Myw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwg
IjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNjYWxlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2Nh
bGUuMi5odG1sCmluZGV4IGMzZGZkZGVmMTJjNDRjM2Y1ZmY0OTM5ZGU2MWE3Mjc5NDQyYWViMzUu
LjhlNTdiMGM2YjBjOWZkYTRiZjFhNmMwYTdmN2Y5YzFkZTFkMmI5NjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2NhbGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zY2FsZS4yPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJj
LnNjYWxlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkhpZ2hseSBzY2FsZWQgYXJjcyBhcmUgdGhl
IHJpZ2h0IHNoYXBlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiSGlnaGx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQgc2hhcGUiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMyw3ICszNyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAw
LDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4Iiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwy
NTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zY2FsZS4yLndvcmtlci5qcwppbmRleCA0
YWNlMDIxOGFmNzNlZWM4ZGJjYTM2ZTM2NjA2MjQ5MWQ2OTliYzliLi44Y2IxNGViOTRjMTJlODQ5
YWFhM2MyZDFlMGQwZjllNTllODU5ODVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNjYWxlLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuc2NhbGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkhpZ2hseSBz
Y2FsZWQgYXJjcyBhcmUgdGhlIHJpZ2h0IHNoYXBlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwy
NTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1MCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLmh0bWwKaW5kZXggZmJhYjVkMTFmMjBjZGZl
MzBkMmJkOTYxM2FkODE5YjU4MDQ0OWE2ZC4uOTViZDg3YTIyMDI4YTBiNWRhNWFjNmFhMDAxMDY1
NmFhOTIyNGM1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxm
aW50ZXJzZWN0LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZp
bnRlcnNlY3QuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuc2VsZmlu
dGVyc2VjdC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIq
cmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBp
cyBkcmF3biBzZW5zaWJseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmFyYygwLCAwLCAy
NSwgMCwgLU1hdGguUEkvMiwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMS53b3JrZXIuanMKaW5kZXggMzE0
ODM1NDIzNTYyYzcwYWZiYzkwMzM2YmM4MmQ4YTkzMzIwZWVkYi4uMmIyYjQ3NmI1OTcwYTc1ZThj
OWFiYWIwZmUzNTYyMDgwMTU2MDViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy5zZWxmaW50ZXJzZWN0LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBpcyBkcmF3biBzZW5zaWJseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmFyYygwLCAwLCAyNSwgMCwgLU1hdGguUEkvMiwg
dHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNlbGZpbnRlcnNlY3QuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5z
ZWxmaW50ZXJzZWN0LjIuaHRtbAppbmRleCBlOTZiOGYyYmM4YmJjMThlYTk4MmQ2MDc3MGYyZDc4
NWJhZWVhNTI2Li44NTdiN2MxMDVkNDM3YTk0NzQwMjE1OWUyNzY0NDgxMjFhNzg0MzlhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
LnNlbGZpbnRlcnNlY3QuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjI8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMgaXMgZHJhd24g
c2Vuc2libHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJhcmMoKSB3aXRoIGxpbmVXaWR0aCA+IDIqcmFkaXVzIGlzIGRyYXduIHNlbnNpYmx5
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
NywxLCAwLDI1NSwwLDI1NSwgIjk3LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk3LDIsIDAsMjU1LDAsMjU1LCAiOTcsMiIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcsMywgMCwyNTUsMCwyNTUsICI5Nywz
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyLDQ4LCAw
LDI1NSwwLDI1NSwgIjIsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zZWxmaW50ZXJzZWN0LjIu
d29ya2VyLmpzCmluZGV4IGJmMjljZDEyZGRjNTMyZWY0ZmI1MmE5MWFiZjM2NDI0NmViZWZlZWQu
LmIyZWIzZTMwNzAxMGY3OWQ0NGE2M2YyMzk2MmQ4ZTY4NTYxYmVlNzkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNlbGZpbnRlcnNlY3QuMi53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggbGluZVdpZHRoID4gMipyYWRpdXMg
aXMgZHJhd24gc2Vuc2libHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk3LDEsIDAsMjU1LDAsMjU1LCAiOTcsMSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTcsMiwgMCwyNTUsMCwyNTUsICI5Nywy
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NywzLCAw
LDI1NSwwLDI1NSwgIjk3LDMiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDIsNDgsIDAsMjU1LDAsMjU1LCAiMiw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnNoYXBlLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5odG1s
CmluZGV4IDhiZTYyYTFkYmEwOWIzMDAzZDdiOGVmNjA2NGY3NTA0Y2ZjYWNjYjUuLjRhNTA0MWE5
MDQ2YjNmNjZmNDE2ZDZkYjc0NDMzYjIxYzc2OWNiMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2hhcGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNoYXBlLjE8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byBwaSBkb2VzIG5vdCBkcmF3IGFu
eXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIHBpIGRvZXMgbm90IGRyYXcg
YW55dGhpbmcgaW4gdGhlIHdyb25nIGhhbGYiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwy
NTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAyMCw0OCwgMCwyNTUsMCwyNTUsICIyMCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMuc2hhcGUuMS53b3JrZXIuanMKaW5kZXggM2JlNmJjNmZkNDVlYTQ5ZWI5MDlmNmFkYmQ5
NTI4M2M3Y2VmZjhmOS4uNDViZjNiMWRlZjM3OTgzY2E0ZDkyMTFjM2ZkMzQ2ZjhkNjIxNzExOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4xLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjEud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBmcm9tIDAgdG8gcGkgZG9lcyBub3QgZHJhdyBh
bnl0aGluZyBpbiB0aGUgd3JvbmcgaGFsZiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDIwLDQ4LCAwLDI1NSwwLDI1NSwgIjIwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnNoYXBlLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuMi5odG1sCmluZGV4IGQ5YjUzZDlkYjc3ZDQ1ZGQ0ZGVmNmMxZTg4MmIwMzdkOWJlZTE4
MGIuLjQyZmE0MDhiNDE0MmJmMjhmZWUzMWFhYTBlYzFmYWY4ZTM2YWU4ZjEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy5zaGFwZS4yPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
YXJjLnNoYXBlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byBwaSBkcmF3
cyBzdHVmZiBpbiB0aGUgcmlnaHQgaGFsZjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkcmF3cyBzdHVmZiBp
biB0aGUgcmlnaHQgaGFsZiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDQ4LCAw
LDI1NSwwLDI1NSwgIjIwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNoYXBlLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFw
ZS4yLndvcmtlci5qcwppbmRleCA5OGU3YjFkZGM1ZmQ3MDhlNzdkZGE1ODE1Zjk5ZmMzNjQ0MTI0
NTNkLi41ZTg5NTMyMGViNThkZDFkMDQ0ZDM3YWQ1MmM4NzQ5ZjY1N2ZiZjU3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byBwaSBkcmF3cyBzdHVmZiBpbiB0aGUgcmlnaHQg
aGFsZiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDQ4LCAwLDI1NSwwLDI1NSwg
IjIwLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy5odG1sCmluZGV4IDAz
YjQ0ZDc3MmFjNWYyZDhmNTY5ZDA2NjA2OTMyNWZmYzE5YmJiNWQuLmRkNTFkYTEwMjM5YWQ0NDgz
ZmJhMDY1NjE1ZDc1NjY3YjMyYzI1MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2hhcGUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
c2hhcGUuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmFyYy5zaGFwZS4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjLnNoYXBlLjM8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPmFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5vdCBkcmF3IGFueXRoaW5n
IGluIHRoZSB3cm9uZyBxdWFkcmFudDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byAtcGkvMiBkb2VzIG5vdCBkcmF3
IGFueXRoaW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUs
MCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnNoYXBlLjMud29ya2VyLmpzCmluZGV4IDFmMDlmNTg2YWVlZmNmNDIwOTZmZWI3MTVi
NWU0ZmNlYjdjZDYwYzIuLjU4M2NmNmRhZDg3Y2RiNjM5YzNhZjQ4OTNjNGViYzM1YzcwYmIxMGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuMy53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS4zLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIC1waS8yIGRvZXMgbm90IGRy
YXcgYW55dGhpbmcgaW4gdGhlIHdyb25nIHF1YWRyYW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnNoYXBlLjQuaHRtbAppbmRleCA2ODc2N2RlNTI1ZjhhZTk5MDRjM2ZmZDE0NDNjNDMzNmQ4
YTQ5NTkxLi5hNjZhZDExYmI4MDA0MDg2MDBlN2EyOTY1NzcwNzE0OGIxNzBkNzFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMuc2hhcGUuNDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLmFyYy5zaGFwZS40PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmMoKSBmcm9tIDAgdG8gLXBp
LzIgZHJhd3Mgc3R1ZmYgaW4gdGhlIHJpZ2h0IHF1YWRyYW50PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIC1waS8y
IGRyYXdzIHN0dWZmIGluIHRoZSByaWdodCBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYg
QEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwy
NTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjLnNoYXBlLjQud29ya2VyLmpzCmluZGV4IGQyOTljNWI2NzVjZTMwMGMyYjY3ZjRi
ODAxMzUzODg5MDhlMDFjYmYuLjVmODZmMmMwMjNjZDgxN2E2MTVlZjk2NDVmYWE2NjVkMjFlYWY1
OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuc2hhcGUuNC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS40Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZnJvbSAwIHRvIC1waS8yIGRyYXdzIHN0
dWZmIGluIHRoZSByaWdodCBxdWFkcmFudCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUs
ICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAx
LDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuc2hhcGUuNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFw
ZS41Lmh0bWwKaW5kZXggZTZhMmFhZGJjODJkNmNkY2NiNGIyOGY1Zjk2YzAxNTIwZjZmNjJiZC4u
YTRhOWRjZmQyMTFjYmNmZDU2NDA0MTM2MmYxYjliYzYyOGQxMzlkNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJjLnNoYXBlLjU8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMu
c2hhcGUuNTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZnJvbSAwIHRvIDVwaSBkb2VzIG5v
dCBkcmF3IGNyYXp5IHRoaW5nczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGZyb20gMCB0byA1cGkgZG9lcyBub3QgZHJhdyBjcmF6
eSB0aGluZ3MiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUs
ICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy5zaGFwZS41Lndvcmtlci5q
cwppbmRleCAyMWEwY2EzYzc3ZDliMTljZjA1N2RjOTVhOGVmNGE2ZTljZmZkZThiLi4yYzc3YmU2
NDQ5ZWU4ZDAyZmM3N2U4MjE4ZjAyOWRjNGNlM2UwYTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnNoYXBlLjUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmMuc2hhcGUuNS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyYygpIGZyb20gMCB0byA1cGkgZG9lcyBub3QgZHJhdyBjcmF6eSB0aGluZ3MiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUs
MCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUs
ICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLmh0bWwKaW5kZXggNTU5NWUzMjg0YTZlOTMwMDY3
ODFkMjUzZDRiODE0ZjZiNWNkN2FhZC4uNDBiYjU3NjRhYzQ2NzI5OWQyODZiZjU0ZmFhMGI0NTJj
Nzk5M2I3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjEuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmMu
dHdvcGllLjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMudHdvcGllLjE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBhbnRpY2xv
Y2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFu
dGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0
eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJIC0gMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1
MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjEud29ya2VyLmpzCmluZGV4IDU1MjU1NzE1NGEy
MTBmNGE1ZTYwNTI1YjVjMDY2MGQ5MjRiZDA3ZWUuLmMyODUyZjM4N2FkMTVhMGEyNjg1YWQ0MDFj
NjY0MGVkMWNlZGJiYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
dHdvcGllLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdv
cGllLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3Ro
aW5nIHdoZW4gZW5kID0gc3RhcnQgKyAycGktZSBhbmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAy
Kk1hdGguUEkgLSAxZS00LCB0cnVlKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmMudHdvcGllLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGll
LjIuaHRtbAppbmRleCA0ZWE0MmIyZDNlY2YwYWYzODUwMmUzODExNzc5ZTQxZjhiM2I4NTdiLi4w
OTAxNGU3YzdjMDJlOWUzOGYzZTk1ODgyMDI5OGZjNTM5N2JkMjNlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy50d29waWUuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyYy50d29waWUuMjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFy
Yy50d29waWUuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNs
ZSB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIGEgZnVs
bCBjaXJjbGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaS1lIGFuZCBjbG9ja3dpc2UiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwg
MipNYXRoLlBJIC0gMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy50d29waWUuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS4yLndvcmtlci5qcwppbmRleCBkOWY0MWQ4NWRhOGNiYTcwYzY1NzQzMGU2NDc1MzBh
NzMyMWQxZTI5Li5jMDdmZDFjZWIxMjBhMjRjMTFlMmUwYjJkMjkyZjMxZDUyNzU4ZGQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVuIGVuZCA9
IHN0YXJ0ICsgMnBpLWUgYW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4
LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgLSAxZS00LCBm
YWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
MCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS4zLmh0bWwKaW5kZXggMDFi
YWUwNzRkYjgwNjI2MTAwNjA4Nzg3Nzg3ZGI3NjllY2IwMWRhZC4uMmJjMDAwODc3ZjQwODk4ZmVk
MTZkZjhmNzY4MGZiMzdiY2RkMTk4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy50d29waWUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMu
dHdvcGllLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5hcmMudHdvcGllLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMudHdvcGllLjM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBlbmQgPSBzdGFy
dCArIDJwaStlIGFuZCBhbnRpY2xvY2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3MgYSBmdWxsIGNpcmNsZSB3aGVu
IGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJ
ICsgMWUtNCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMu
d29ya2VyLmpzCmluZGV4IDQxYzQwMGU3ZjEzMTIxNzVlYWYxYmY5ZThmOGM2Nzk2ZmYzOTRlZGUu
LmVlY2NlMDViOGM0NDNkMTc2YjgzZTBlNWM2NTc4NmMyNjJiMGQ1MWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0gc3RhcnQgKyAy
cGkrZSBhbmQgYW50aWNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2lu
UGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGguUEkgKyAxZS00LCB0cnVlKTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1
NSwwLDI1NSwgIjUwLDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMudHdvcGllLjQuaHRtbAppbmRleCA5OTA2Mzc3MDQ1
YTkxZjZkZGU3ZWRhNjgxMDJmNzVkZjYyZjhkMTJkLi5mNWYwNWZjOGEzZDc5ZjVmNTdlNTcwYTJl
YjBkMTY0Yjg1YmQzYjIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS40Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUu
NC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmFyYy50d29waWUuNDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy50d29waWUuNDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+YXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5k
IGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFu
ZCBjbG9ja3dpc2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0
eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJICsgMWUtNCwgZmFsc2UpOwogY3R4LnN0cm9r
ZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAsMjU1LCAi
NTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy50d29waWUuNC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3b3BpZS40Lndvcmtlci5qcwppbmRleCAyNDEwNzFmZDgz
NTA2MDQ1ZjZlMDA1MzkzODY0NGQwZGE5M2VmN2FjLi42MThmZDQyNjVkYWNlOGM4YjFiMGJiODVl
NTExNzFkNDhhMmQyM2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
LnR3b3BpZS40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnR3
b3BpZS40Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90
aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpK2UgYW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1h
dGguUEkgKyAxZS00LCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjLnplcm8uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEuaHRt
bAppbmRleCA2MGI3M2UwNDFmZDAyZDMyMmNmOTAzYTg2ZWYyOGZmYTNkY2M4OGM2Li5iZjc3NDg2
ZWZhZTRlYjE3MWU5NzBjYjliZDZlOWY3M2E1MjU2ZjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjLnplcm8uMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmMuemVyby4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnBhdGguYXJjLnplcm8uMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy56ZXJvLjE8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0g
ZW5kQW5nbGUgYW5kIGFudGljbG9ja3dpc2U8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmMoKSBkcmF3cyBub3RoaW5nIHdoZW4gc3RhcnRB
bmdsZSA9IGVuZEFuZ2xlIGFuZCBhbnRpY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHguYmVnaW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDAsIHRydWUpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjAsIDAsMjU1LDAs
MjU1LCAiNTAsMjAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjEud29ya2VyLmpzCmluZGV4IDkxZjE1ZDRl
OTU2Nzk0ZWNmNTUxY2UzN2E2OTlhOTQ1ODI5ODE2YzAuLjQ4OWMxZTk1MDZlMjQwMmFmZWIwYjk0
MWZiNThkNmYyY2NjMzJmYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmMuemVyby4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnpl
cm8uMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhp
bmcgd2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUgYW5kIGFudGljbG9ja3dpc2UiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwg
MCwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm8uMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIuaHRtbAppbmRleCAzMDZl
NTMxMjgwN2I4ZTY4ZGI3M2FhYWE0OGE2MDQ0YmNjMTBmZjRlLi43MzBlMmY2NWMwOTA5MTFlZWNk
MjQ3YjlhNGUxNzhhYTFjMjQ3YWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnplcm8uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVy
by4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGguYXJjLnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyYy56ZXJvLjI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUgYW5k
IGNsb2Nrd2lzZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyYygpIGRyYXdzIG5vdGhpbmcgd2hlbiBzdGFydEFuZ2xlID0gZW5kQW5nbGUg
YW5kIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwog
Y3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyMCwgMCwyNTUsMCwyNTUsICI1MCwyMCIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjLnplcm8uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjLnplcm8uMi53b3JrZXIuanMKaW5kZXggNDIzOGI3ZGFjODY5MzZiNzI3ZGM5Y2JjMWI0
MjRhODAzMTVlYjYyNy4uZGFkMjVmYmZlZTViNGExMDhiOGIxODY4NjljYjI2MmI4ZGRmOWI0MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvLjIud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyby4yLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0YXJ0QW5nbGUg
PSBlbmRBbmdsZSBhbmQgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguYmVn
aW5QYXRoKCk7CiBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDAsIGZhbHNlKTsKIGN0eC5zdHJva2Uo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDIwLCAwLDI1NSwwLDI1NSwgIjUw
LDIwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLmh0bWwKaW5kZXggZWQ3N2MzYjdhODZmMmM3YzA1
Y2VlZmFmNGNkY2ZmMmU3ZDMzZWM1OS4uYzQ5NTNkZmVlZjE3Yzk3NTQ5YTI4NmI0ZTNmNGJkMGE0
YTkwOWZiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFk
aXVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyYy56ZXJvcmFkaXVzLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
YXJjLnplcm9yYWRpdXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmMuemVyb3JhZGl1czwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+YXJjKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIGxpbmUgdG8gdGhlIHN0YXJ0
IHBvaW50PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiYXJjKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIGxpbmUgdG8gdGhlIHN0YXJ0IHBv
aW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5hcmMo
MjAwLCAyNSwgMCwgMCwgTWF0aC5QSSwgdHJ1ZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjLnplcm9yYWRpdXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyYy56ZXJvcmFkaXVzLndvcmtlci5qcwppbmRleCBmYjEyYThmNDM4YzRkNmE2NzRjMzIw
YTU5NTU5ZjMxMDI2MzM2NmI3Li41ODk4ODA3MTNhYjM5NmNmNjQxMmQ4MDBlNGJlNjJhYjNhNGRl
NzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjLnplcm9yYWRpdXMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmMuemVyb3JhZGl1cy53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyYygpIHdpdGggemVybyByYWRpdXMg
ZHJhd3MgYSBsaW5lIHRvIHRoZSBzdGFydCBwb2ludCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAg
Y3R4Lm1vdmVUbygwLCAyNSk7CiBjdHguYXJjKDIwMCwgMjUsIDAsIDAsIE1hdGguUEksIHRydWUp
OwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4xLmh0bWwKaW5kZXgg
MWY3MzAyNTY4M2IzOWEwZTE4OGJjZmI4ZTAzOTJiZjQ1NzE2NmQxOC4uMjA4MmRlZWVjZmVjNWI1
YWM4NzQxMmNiNmE3YzM1MTg0OTExNzgzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uY29pbmNpZGUuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjE8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNU
by5jb2luY2lkZS4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIGhhcyBubyBlZmZlY3Qg
aWYgUDAgPSBQMTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyY1RvKCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzMs
NyArMzcsNiBAQCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwxLCAwLDI1NSwwLDI1NSwgIjUwLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OCwgMCwyNTUsMCwyNTUsICI1
MCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMS53b3JrZXIuanMKaW5kZXggYTY0
NmMzNjQwMTllNjhmMjJlNDdhYTU5NGUzZjE2ZWI3MDNmODcxZi4uMjQwOGUxNGRhYTcwMDdjMDdh
MDI0MDU2NTM1YmNiOTBlN2NjMmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmNvaW5jaWRlLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5hcmNUby5jb2luY2lkZS4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
YXJjVG8oKSBoYXMgbm8gZWZmZWN0IGlmIFAwID0gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBA
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEsIDAsMjU1
LDAsMjU1LCAiNTAsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ4LCAwLDI1NSwwLDI1NSwgIjUwLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uY29pbmNpZGUuMi5odG1sCmluZGV4IGQ3N2Q1ZGU2MmJhMmJmYmZkMmZjYTM3
NWFmOTdkNjFhNWVkZGU3NjUuLmNmNjRhZTcyYWUzOGY4YzU3OGQ1NjMyMzdmY2E0ZjhjMWZlNzNk
MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRlLjIuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5h
cmNUby5jb2luY2lkZS4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uY29pbmNpZGUuMjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+YXJjVG8oKSBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEgaWYgUDEgPSBQ
MjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNSw3ICsyOSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmFyY1RvKDEwMCwgMjUsIDEw
MCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5j
aWRlLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvaW5jaWRl
LjIud29ya2VyLmpzCmluZGV4IDU0NTk2MTlmMzQyNDAxMjE3ZTY4NDMyZDI5YzNhODczODQwMTBh
MjcuLjMzYzY0NjI0YjI5OWJlYzhiYmU1NTk3M2UxZDRiMDhlMzA5NDY5YmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2luY2lkZS4yLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29pbmNpZGUuMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAx
IGlmIFAxID0gUDIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5tb3ZlVG8oMCwgMjUpOwog
Y3R4LmFyY1RvKDEwMCwgMjUsIDEwMCwgMjUsIDEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uY29sbGluZWFyLjEuaHRtbAppbmRleCBlMWNkMTQ5NWVjYTE1YmJkN2MyNTZkZTcz
ZjcwMDQ4YTI2NWM2YjkwLi4xZjgxNTY1ZTU0MWNiNDIzZjI0MWJlMTg4Y2EzODc2MTRjMmUxODFk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5h
cmNUby5jb2xsaW5lYXIuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4xPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMSBi
ZXR3ZWVuIFAwL1AyLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDE8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggYWxs
IHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMSBiZXR3ZWVuIFAwL1AyLCBkcmF3cyBhIHN0cmFpZ2h0
IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5tb3ZlVG8oLTEwMCwgMjUp
OwogY3R4LmFyY1RvKDAsIDI1LCAxMDAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEud29ya2VyLmpzCmluZGV4IDU4MGNhYzhkYmYxMTAx
ODA0NzA3ZDNjYjRjYjQ2NmNkZDI2MjI4NDQuLjcxMjY0YWFjMTU5YWZiYWUyZTI1YTQwZDM0NmQ5
YjAzOGM4ZjllZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5j
b2xsaW5lYXIuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
LmNvbGxpbmVhci4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3
aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2VlbiBQMC9QMiwgZHJhd3MgYSBz
dHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubW92ZVRvKC0x
MDAsIDI1KTsKIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi5odG1sCmluZGV4IDEyODdiNTdmZjg5NTVmMWUw
ZjIzZTY0MWE4MmU0YjI0ODJjMzExZTAuLjQ3NDc5NWMyNzE3ZTkxMzg3Njg1MTZjNmY2OWRlM2M0
NWI2OWMyOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xs
aW5lYXIuMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5l
YXIuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uY29sbGluZWFyLjI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwg
YW5kIFAyIGJldHdlZW4gUDAvUDEsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvKCkg
d2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAyIGJldHdlZW4gUDAvUDEsIGRyYXdzIGEg
c3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4Lm1vdmVUbygx
MDAsIDI1KTsKIGN0eC5hcmNUbygyMDAsIDI1LCAxMTAsIDI1LCAxKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjIud29ya2VyLmpzCmluZGV4IGNlZWFl
NDkyZTBhYTQxNmE1ZWQxNThmMWIzMGMwYjUxNGQzYTRkMDAuLjgxMGQyN2NjNWRhZGU1NmRhMGRj
MmM0MGNjZjZlMTI5NjE5Y2Y5MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5jb2xsaW5lYXIuMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmFyY1RvLmNvbGxpbmVhci4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
YXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDIgYmV0d2VlbiBQMC9QMSwg
ZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgu
bW92ZVRvKDEwMCwgMjUpOwogY3R4LmFyY1RvKDIwMCwgMjUsIDExMCwgMjUsIDEpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMuaHRtbAppbmRleCAwYzU2ZTRk
YmFkZTdmNWJlOTFjZDU3MjUwZGIyOTljZDI1MWQ5NTk4Li5iOWEwM2FkZDI2ZGM1MTk5NDVhOWNj
NWE2ZGJlZWQ2ODgyMDAzYzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uY29sbGluZWFyLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uY29sbGluZWFyLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmNv
bGxpbmVhci4zPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggYWxsIHBvaW50cyBv
biBhIGxpbmUsIGFuZCBQMCBiZXR3ZWVuIFAxL1AyLCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8g
UDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJhcmNUbygpIHdpdGggYWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMCBiZXR3ZWVuIFAxL1Ay
LCBkcmF3cyBhIHN0cmFpZ2h0IGxpbmUgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0
eC5tb3ZlVG8oLTEwMCwgMjUpOwogY3R4LmFyY1RvKDAsIDI1LCAtMjAwLCAyNSwgMSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmNvbGxpbmVhci4zLndvcmtlci5qcwpp
bmRleCA1MzZiZDBkODM2MzdlMDg2Mjk3OGZmZmU2ODhlZTFmNmE1MDMyN2Y0Li5kZjg5OWU4MDQ2
MzQ3MDM1NmZjZmJiMmQ2MjdmNDc3NTE3YjdlOWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uY29sbGluZWFyLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImFyY1RvKCkgd2l0aCBhbGwgcG9pbnRzIG9uIGEgbGluZSwgYW5kIFAwIGJldHdl
ZW4gUDEvUDIsIGRyYXdzIGEgc3RyYWlnaHQgbGluZSB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0
LDYgQEAgY3R4Lm1vdmVUbygtMTAwLCAyNSk7CiBjdHguYXJjVG8oMCwgMjUsIC0yMDAsIDI1LCAx
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRo
LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjEu
aHRtbAppbmRleCA4YjU0OTA2Mzc3YzQwMzQ4NGIxODgyOTg1ZmE2ODM3Yjk5N2ZmMWI4Li5iNDM4
MzE4ODYyMGY0OTNmOGU0NGMyNTVhOGM4ZTQ1MjZmYzhjODZmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1
YnBhdGguMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMTwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQg
aXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KTwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1
YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBk
cmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5hcmNUbygxMDAsIDUwLCAyMDAsIDUwLCAwLjEpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwppbmRleCBjZWZj
ZjExZThkMWUxM2RlODE4NDMwMzZmOTQxMDk0NWYyODFkZjg2Li45YThhZTA1N2U2YTNlYmYzMTM3
NTg4NzhhOWUzZDUxMmE5ZjkwNDlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQg
aXMgYWRkZWQgKGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LmFyY1RvKDEwMCwgNTAsIDIwMCwgNTAsIDAu
MSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0
aC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4y
Lmh0bWwKaW5kZXggODA1NjM4OWEzMTEwMDg1N2Y2NzNkYTJiMWQxZmY1N2M5NTY5MjVhOC4uNWI1
NGJkMjliNmVjYzdkMzk2MTlmZWE5YWI2NjQ5ZTM4NDJmOGZkZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBhdGguMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5lbnN1cmVz
dWJwYXRoLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5hcmNUby5lbnN1cmVzdWJwYXRoLjI8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50
IGlzIGFkZGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQg
aXMgYWRkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5hcmNUbygwLCAyNSwgNTAsIDI1
MCwgMC4xKTsgLy8gYWRkcyAoeDEseTEpLCBkcmF3cyBub3RoaW5nCiBjdHgubGluZVRvKDEwMCwg
MjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3Vi
cGF0aC4yLndvcmtlci5qcwppbmRleCBkNmFiMDRlMWQzOWFkMzJhYWExZTdhZjBkY2I5ODRlODdh
ZTk0YmJhLi5jN2Y3NDQwODE3NTI2NjFkNzgyZmQ1MTAyY2NkNzk1ZGNmMzZmZWFjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4y
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3VicGF0
aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGN0eC5hcmNUbygwLCAyNSwgNTAsIDI1MCwgMC4xKTsgLy8gYWRkcyAoeDEseTEpLCBkcmF3
cyBub3RoaW5nCiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8ubmVnYXRpdmUuaHRtbAppbmRleCBkMjU4ZDBiZDY1OTRhYzdmNzNhZmI3ZWJiYmFlZGY0
N2E4ODdjMmYyLi4wYmQ2ZWIyZGJiNTdhNDM4ZmVkZjc5ODQ5ODA4MDBhNWU2M2U2YTBkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5uZWdhdGl2
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNU
bygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRocm93cyBhbiBleGNlcHRpb248L3A+CkBAIC0xMSwx
MyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRo
IG5lZ2F0aXZlIHJhZGl1cyB0aHJvd3MgYW4gZXhjZXB0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9T
SVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguYXJjVG8oMCwgMCwgMCwgMCwgLTEpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFy
Y1RvLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5u
ZWdhdGl2ZS53b3JrZXIuanMKaW5kZXggYjk1ZjRjNTE2NWFmZWNlMGFiOTNkNWE0OGNhYzA0ZDM5
NTdjZTYxNC4uNTVlY2Y1NGMzODFiZjU2NjU0ZjEwYThhY2NjMDI5MWI2NDdmNDFkYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5lZ2F0aXZlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8ubmVnYXRpdmUud29ya2VyLmpzCkBA
IC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIG5lZ2F0aXZlIHJhZGl1cyB0aHJv
d3MgYW4gZXhjZXB0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguYXJjVG8oMCwgMCwgMCwgMCwgLTEpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS5odG1sCmluZGV4IDIyMjZm
NTcxMzliYTAyNThkZmI4MGNkYTBlNDUwOThjMDA4YTg2ZDguLjQzN2U4MDViMGE5YTZiM2NhYjRl
ZGVkMjA5Mjc5YzkzMzZmZGM3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYXJjVG8ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8ubm9uZmlu
aXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGln
bm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmNUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC02NSw3
ICs2OSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1
NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5ub25maW5pdGUud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXgg
YzhiMDA3NTkxY2U3NDNhNjg1NzNmY2RmYjEwZTllODQ5ZjZiNmZlYi4uYzlhYTY4MjRjMTA2OGZh
OWVlYmE2MzE3ZWEzOTk4YWQwOGZjZjYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImFyY1RvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTYxLDcgKzY1
LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAi
OTAsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYXJjVG8uc2NhbGUuaHRtbAppbmRleCA2OTQ5MGVhNTgxN2UyZGJhOWQyNjc2
NWYyNTVlMDQzZDE2YzMyZTAyLi4wYzE1M2JkMDJlZTAzODRlNDUyMDZhY2Q5NzE0MjdiYTY3OTEy
ZmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2NhbGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2NhbGUuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5hcmNUby5zY2Fs
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNjYWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5hcmNUbyBz
Y2FsZXMgdGhlIGN1cnZlLCBub3QganVzdCB0aGUgY29udHJvbCBwb2ludHM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbyBzY2FsZXMg
dGhlIGN1cnZlLCBub3QganVzdCB0aGUgY29udHJvbCBwb2ludHMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNSw3ICsz
OSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwg
Ijk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAw
LDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1
Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5
OSw0OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2NhbGUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNjYWxlLndvcmtlci5qcwppbmRleCA4MGIzNDE5ZjIwZGQx
ZWQ4YjlhMmExNzZlMDY1YjQ4MWZkZTJjYWU5Li5kZWIyZTc1YWE5NWNjNTFlMjAyMjY4NzQ0NTg4
NjlkYjM5OTZmOWU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8u
c2NhbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zY2Fs
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIHNjYWxlcyB0aGUgY3Vy
dmUsIG5vdCBqdXN0IHRoZSBjb250cm9sIHBvaW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAs
MjU1LDAsMjU1LCAiMCw0OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsNDksIDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zaGFwZS5jdXJ2ZTEuaHRtbAppbmRleCBmZTk0NDEzN2NiMjg2MTBk
MmUyNjUxMmM1MmUxNGM1MzNiYmU3NWZiLi5jMTE5MWIxMmY2MDQwYWRjNzQ0NTAwMjMwZjZmYWZh
OTFhODliOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hh
cGUuY3VydmUxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBl
LmN1cnZlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNoYXBlLmN1
cnZlMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtp
bmQgb2Ygc2hhcGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbygpIGN1cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQ2LDcgKzUwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDQs
IDAsMjU1LDAsMjU1LCAiODAsNDQiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDgwLDQ1LCAwLDI1NSwwLDI1NSwgIjgwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NiwgMCwyNTUsMCwyNTUsICI4MCw0
NiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjUsNDUs
IDAsMjU1LDAsMjU1LCAiNjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZl
MS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUx
Lndvcmtlci5qcwppbmRleCAyZTdlM2Q5YzExOGZhN2Y2MWMwNjBmM2RiMGE3NmNiODU5OGNkOGFl
Li4wOGMyOTExMmE1NjY0NmE4Zjk4YWIyYzUwMTZiZWQzYzM1YjI3YTI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQg
b2Ygc2hhcGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC00Miw3ICs0Niw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDgwLDQ0LCAwLDI1NSwwLDI1NSwgIjgwLDQ0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4MCw0NSwgMCwyNTUsMCwyNTUsICI4MCw0NSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDYsIDAsMjU1
LDAsMjU1LCAiODAsNDYiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDY1LDQ1LCAwLDI1NSwwLDI1NSwgIjY1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNU
by5zaGFwZS5jdXJ2ZTIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFw
ZS5jdXJ2ZTIuaHRtbAppbmRleCA5MjZiMDQzZjY1MTkzY2U0ODg0MTI3MmEzMTUzNDE4MTVmNzI3
YmZjLi5mMDUyYTc4OTg1ZmVmOTA0YzA0ZDAwYzZlZjAzMzczNTZkNDM5ZjMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLnNoYXBl
LmN1cnZlMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+YXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGU8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGN1
cnZlcyBpbiB0aGUgcmlnaHQga2luZCBvZiBzaGFwZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ1LDcgKzQ5LDYgQEAg
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzksMzUsIDAsMjU1LDAsMjU1LCAiNzksMzUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ0LCAw
LDI1NSwwLDI1NSwgIjgwLDQ0IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA4MCw0NSwgMCwyNTUsMCwyNTUsICI4MCw0NSIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDYsIDAsMjU1LDAsMjU1LCAiODAsNDYi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLmN1cnZlMi53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUyLndvcmtlci5qcwppbmRleCBmMmZh
ZmIwNjQ3NDRhYWQ3OTUyNmUyMGQ3Yzk2NWNiZTgzNTg2MWE1Li40YWNiOTRhNjBiODdhMDllNWU1
YjVhNzNkMDY0YWI0OTYwNWIyYmRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYXJjVG8uc2hhcGUuY3VydmUyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8uc2hhcGUuY3VydmUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiYXJjVG8oKSBjdXJ2ZXMgaW4gdGhlIHJpZ2h0IGtpbmQgb2Ygc2hhcGUiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00
MSw3ICs0NSw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc5LDM1LCAwLDI1NSww
LDI1NSwgIjc5LDM1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA4MCw0NCwgMCwyNTUsMCwyNTUsICI4MCw0NCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgODAsNDUsIDAsMjU1LDAsMjU1LCAiODAsNDUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDgwLDQ2LCAwLDI1NSww
LDI1NSwgIjgwLDQ2IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQuaHRtbAppbmRleCBhMzM0MWMw
NGYxYzRjNDhiMTVkYzhhY2E1NmJmZDlmNjIwNzA1OGU0Li41MDI5NjIzN2VkYmU1Y2YwYjA3N2Jm
YTUzNzA0M2Q1ODI0NWNjZjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uc2hhcGUuZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1Rv
LnNoYXBlLmVuZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLmFyY1RvLnNoYXBlLmVuZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnNoYXBlLmVu
ZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+YXJjVG8oKSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGZy
b20gUDEgdG8gUDI8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgZnJvbSBQMSB0byBQMiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuZW5kLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQud29ya2Vy
LmpzCmluZGV4IDUyNzE2NzUzMTk0MzM2NzI1MjVhZTllNDNkYjFiNmRlZDk4OWRiYjEuLjU4YzQw
NzA0ZWMyNmY1MDY1Y2JmNWExN2MwMzVhODBmODYyMDRkZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5lbmQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJhcmNUbygpIGRvZXMgbm90IGRyYXcgYW55dGhpbmcgZnJvbSBQMSB0byBQMiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0
OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwx
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwg
MCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC5odG1sCmlu
ZGV4IDUwNzE1MjZlNDljMmQ1MmEzZWMzNDRmOTQwZjEwMjYyNzNiNjkwY2EuLjc1YTFlOGNiZmNh
YWI3MmQxZTZlNTBkNTM5NzdjMDEyNmIyYzM3MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBh
dGguYXJjVG8uc2hhcGUuc3RhcnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvKCkgZHJhd3Mg
YSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIGRyYXdzIGEgc3RyYWlnaHQgbGlu
ZSBmcm9tIFAwIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAw
LDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5h
cmNUby5zaGFwZS5zdGFydC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJj
VG8uc2hhcGUuc3RhcnQud29ya2VyLmpzCmluZGV4IDg0ODM1Njg2ZDE2NDBjMDQxNzcxZmUxNjA2
ZmNhYWUyMzExOTU1MTcuLjg4ZDc3NGI3NWYwY2Y0ZjI4OTRhODdhYTdhYjgyOTNjYTAxZjliMTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby5zaGFwZS5zdGFydC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnNoYXBlLnN0YXJ0
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSBkcmF3cyBhIHN0cmFp
Z2h0IGxpbmUgZnJvbSBQMCB0byBQMSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguYXJjVG8udHJhbnNmb3JtYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5hcmNUby50cmFuc2Zvcm1hdGlvbi5odG1sCmluZGV4IGE2OTg5ZDBkZmVjMThiYWJkNzRmMTBl
ZWQyYTA3NDk1NDg2NmUxM2YuLmQ1MzM1ZThmMjc5MWMzZDcwNzJhZWU0MzVmMmRkY2ZkZTYxNTgy
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1h
dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50cmFuc2Zvcm1h
dGlvbi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmFyY1RvLnRyYW5zZm9ybWF0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8udHJhbnNmb3Jt
YXRpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPmFyY1RvIGpvaW5zIHVwIHRvIHRoZSBsYXN0IHN1
YnBhdGggcG9pbnQgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8gam9pbnMgdXAgdG8gdGhlIGxhc3Qgc3VicGF0aCBw
b2ludCBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5LCAwLDI1NSwwLDI1NSwgIjAsNDki
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDQ5LCAw
LDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0OSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8udHJhbnNmb3JtYXRpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmFyY1RvLnRyYW5zZm9ybWF0aW9uLndvcmtlci5qcwppbmRleCBhNTQ1YmQzZDUxZjQzY2MwM2U5
Y2E5YjY4OTA0NzE1NGIzZWI1MTAwLi40ODllMDZmNmEzYzM0ZGM2MDJiMGRhNjg5ZTBjODdkNDI5
MzJhYmU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8udHJhbnNm
b3JtYXRpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby50
cmFuc2Zvcm1hdGlvbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImFyY1RvIGpv
aW5zIHVwIHRvIHRoZSBsYXN0IHN1YnBhdGggcG9pbnQgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAs
NyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwgMCwyNTUsMCwy
NTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAsMjU1LDAsMjU1
LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMS5odG1sCmluZGV4IDc3ZjY5ZjU5MzU4NTc3NDdk
MDU3OTFhZDRlYzllMmQwNjIwNmYyMzAuLjllNjhlNWNkNDcwY2NjMDJiNzE0OWYzNzQzYmJiMDE4
ZTRjNzNjYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJv
LjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYXJj
VG8uemVyby4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguYXJjVG8uemVyby4xPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5hcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAg
dG8gUDE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJhcmNUbygpIHdpdGggemVybyByYWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20g
UDAgdG8gUDEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5tb3ZlVG8oMCwgLTI1KTsKIGN0
eC5hcmNUbyg1MCwgLTI1LCA1MCwgNTAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmFyY1RvLnplcm8uMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
YXJjVG8uemVyby4xLndvcmtlci5qcwppbmRleCBkMWQyZTg3YjRjYTBlMWJkMjZkODJiMDNmMDQx
ZTE0ZGFlMWQ0Zjc2Li5kMmI2MjM4OGVjOGE2MGM1YzhmNWI3ODU3NWYzOGFiMmU4MDcyNjA5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4xLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4xLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEg
c3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgu
bW92ZVRvKDAsIC0yNSk7CiBjdHguYXJjVG8oNTAsIC0yNSwgNTAsIDUwLCAwKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIuaHRtbAppbmRleCBkZWJlM2QzMTQ4MmM0MTAwYTU1
NDNmZDliZjEyYjc5OTYwYmYzY2RjLi42MDQxOGU3N2ZhZDcwNmI3NGYwM2U2MWUyNjljZjJmNzgy
NjhkMmU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmFyY1RvLnplcm8uMi5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmFyY1Rv
Lnplcm8uMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmFyY1RvLnplcm8uMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
YXJjVG8oKSB3aXRoIHplcm8gcmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRv
IFAxLCBldmVuIHdoZW4gYWxsIHBvaW50cyBhcmUgY29sbGluZWFyPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiYXJjVG8oKSB3aXRoIHplcm8g
cmFkaXVzIGRyYXdzIGEgc3RyYWlnaHQgbGluZSBmcm9tIFAwIHRvIFAxLCBldmVuIHdoZW4gYWxs
IHBvaW50cyBhcmUgY29sbGluZWFyIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubW92ZVRv
KDEwMCwgMjUpOwogY3R4LmFyY1RvKDIwMCwgMjUsIDUwLCAyNSwgMCk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYXJjVG8uemVyby4yLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5hcmNUby56ZXJvLjIud29ya2VyLmpzCmluZGV4IDNmZjU1Y2U1MGM5N2Vi
MzM0ZDg1YjJjOTc1MzA3N2UwMmJjZjNlNTUuLjQxNzRlMzA4NTI0ZmQ2NWI2OGNlMGY3NGY2MGVm
MjQwYzJlODIwNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56
ZXJvLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5hcmNUby56ZXJv
LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJhcmNUbygpIHdpdGggemVybyBy
YWRpdXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEsIGV2ZW4gd2hlbiBhbGwg
cG9pbnRzIGFyZSBjb2xsaW5lYXIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5tb3ZlVG8o
MTAwLCAyNSk7CiBjdHguYXJjVG8oMjAwLCAyNSwgNTAsIDI1LCAwKTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5iZWdpblBhdGguaHRtbAppbmRleCA0NmM0N2Q3NGJkY2Q1OGQ1OWE2NDhkZWI4NWMyNjRj
ZjdjYmEzOWQ4Li5iZTFhZGMzMGQxZDE3ODFjNjgyNTU1YzZlYzQ2N2QxMWFiZmQwMzcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmVnaW5QYXRoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlZ2luUGF0aDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmJlZ2luUGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBjdHguYmVnaW5QYXRoKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5iZWdpblBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlZ2luUGF0aC53b3JrZXIuanMKaW5kZXggMzAwNjllMzY5OTJkZDI3M2U1OWNj
NWQwZWViZDk0OTViZWM4NzRkOC4uMjcxYjY4OWJjZTU1NjQzMjhiYzkxZGM4YWM1NDQ1OTA3ZDQ3
NzUxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlZ2luUGF0aC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmJl
Z2luUGF0aCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMuaHRtbAppbmRleCA0MmYyZjA0NmIwZTA4Y2M4MTA3
N2MxM2E4N2YzZWZjMGQxNWM0ZGY0Li41NmYwOTgzODRjNWI1NWY0OTdmY2IwMTFkYmI3NjgwMjJl
N2FkODZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmJlemllckN1cnZlVG8u
YmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4
Lm1vdmVUbygwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1LCAxMDAs
IDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJh
c2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmJh
c2ljLndvcmtlci5qcwppbmRleCA1N2UxMDg0NGZlYTQ1MTQzOTk2YzliYjI4YWE5YTVhMjU5ZTIw
MDNkLi41NmIwZDc3MTkxNTk2ODBlYTliMzg2NWM0MzI1ZDM2MzMxNDU1M2FiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5iYXNpYy53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uYmFzaWMud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0
eC5tb3ZlVG8oMCwgMjUpOwogY3R4LmJlemllckN1cnZlVG8oMTAwLCAyNSwgMTAwLCAyNSwgMTAw
LCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCmluZGV4IDI5Y2ViMGQ1MTg5MWQ5ZWMwYzc3MjkyYjI5
Nzg2ZTJkNzliNzY0NjAuLjA0NjRiYmQ0OWYxMWE3MGE3YWQyODBkNDQ0M2I3NzI2YjE2ZTliOGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3Vy
ZXN1YnBhdGguMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4xPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFk
ZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCk8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBubyBzdWJwYXRo
LCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24g
dXAgdG8gaXQpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguYmV6aWVyQ3VydmVUbygxMDAs
IDUwLCAyMDAsIDUwLCAyMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0
aC4xLndvcmtlci5qcwppbmRleCA1Yzk0MjI2NzA0Njg3OTJlNTAzNDdhODdjNDliZGE4YmE1Mjli
ZGViLi5lMWJjZjgxY2U0ZGZhZmZmY2YxN2VlNjljYTQ1ODk0MzViNThlZjY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVu
c3VyZXN1YnBhdGguMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJl
IGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90
aGluZyBpcyBkcmF3biB1cCB0byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5iZXpp
ZXJDdXJ2ZVRvKDEwMCwgNTAsIDIwMCwgNTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1
NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1
YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5z
dXJlc3VicGF0aC4yLmh0bWwKaW5kZXggOTM3NzczYjE3NjMzNGI4ZGQ5YWFlNGMzMjYwODgxYWMw
NDZmMjNlYi4uZGJlOGNkMmFjNjE1MGRjZDM2Nzc0YmViYWRjYmM2NzI1YmNjMGVjNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0
aC4yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5z
dXJlc3VicGF0aC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjI8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SWYg
dGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0
aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmJlemllckN1cnZlVG8oMCwgMjUsIDEwMCwgMjUsIDEw
MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcwppbmRl
eCBkNDQxMTQ1MDY3MDY1NTkyMzYzZGEyNWQ3NjdlNzEyZDk2ZTdiYzcwLi4yNjg4ZDZiNTJlZDYx
M2RiYjI2MTg2MWY3MzM5NGM3YWEyNjNkOTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguYmV6aWVyQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRo
ZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBj
dHguYmV6aWVyQ3VydmVUbygwLCAyNSwgMTAwLCAyNSwgMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNSw0NSwg
MCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZp
bml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmlu
aXRlLmh0bWwKaW5kZXggNThkZTcwMDcyNmU5N2E1MTA1NWQ3ZGViOTYxOWEzMWEzYjliYmJhMy4u
MzExMzkwZWQ1YjM4MDUzOTE3MjhlZjYwZTE5OWZiYzVjZjkwY2RhOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8ubm9uZmluaXRlLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYmV6aWVy
Q3VydmVUby5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+YmV6aWVyQ3VydmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlz
IGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJiZXppZXJDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTk5LDcgKzEwMyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1
LCAwLDI1NSwwLDI1NSwgIjkwLDQ1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5v
bmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVU
by5ub25maW5pdGUud29ya2VyLmpzCmluZGV4IDZiMTk5ZGRlMTgwYzBjOGEwYjAzNTYwM2E4Y2Mw
ZTExZmY1N2IzM2EuLmM2MzZmNjg0Y2RmYjIwZTUzZjk5ZjlmODY3Y2VhMDM1Yzc5OWU5YWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0
ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8u
bm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiYmV6aWVyQ3VydmVU
bygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05NSw3ICs5OSw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQ1LCAwLDI1NSwwLDI1NSwgIjkwLDQ1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLmh0bWwKaW5kZXggMmU5NjIzNTg0
YTc0MDRiYWJkOWE3ZWY3NDljNjZlODA1MWRkMGUwZS4uOTc2MTRiMmQ0MzI5MjkzMTIyNDE1ZGVm
NDhkNjJjNmFkOWYzM2I3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJl
emllckN1cnZlVG8uc2NhbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJl
emllckN1cnZlVG8uc2NhbGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5i
ZXppZXJDdXJ2ZVRvLnNjYWxlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAs
NyArMzQsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5
OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgs
NDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNjYWxlZC53b3JrZXIuanMKaW5k
ZXggN2MwNWRlMTJlNmUxYjhmMTlmOTU2MDRmZGQ1NjE1NmVjMjk5OWYxOC4uYTE4ZGE4NDE5ZDE5
OGRmMzBkYmNlNmMwOGZjMjFmNDk0NjQyNTZmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2NhbGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zY2FsZWQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVy
Q3VydmVUby5zaGFwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZl
VG8uc2hhcGUuaHRtbAppbmRleCBjNjAxYjZiYTU2N2ZiYmU3MTlhNTQxZWY3ZDRjZWQ3MTcyYmYw
OGEwLi4xZjkzNjc4OTExNzM3ZjU3N2NjZTZlY2QzODcxYzg2MzA5YWQ4YjViIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2ZVRvLnNoYXBlLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguYmV6aWVyQ3Vy
dmVUby5zaGFwZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGU8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1
NSwgIjEsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLnNoYXBlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5iZXppZXJDdXJ2
ZVRvLnNoYXBlLndvcmtlci5qcwppbmRleCBlYmRlZGExNGEyNzlkNjgyN2FmNzAzNTM4MGVhZGQx
ODkzOTE0ZDUxLi4zYWMyMzI3MzE4NWI0ZjFhNDI1ZTQxMGYwMDFhNzJhYzM2N2E2OTlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmJlemllckN1cnZlVG8uc2hhcGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAs
MjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xpcC5iYXNpYy4xLmh0bWwKaW5kZXggNGQ2MWUzZDhlODQ4OGU0M2YzMTljYjRjOWZlNTNk
NTU2ZDhjZmNmMi4uN2NlNDUyMDJmODVjMWYzYzM3ZjA2YjY1ZjY5YmY3NGVmMjNkMTU5NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLmJhc2ljLjE8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQucGF0aC5jbGlwLmJhc2ljLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgY3R4LmNsaXAoKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEud29ya2Vy
LmpzCmluZGV4IDM5MWQ3NDVmNjVlN2U0YzVlNmQ1ZDk4MTNkNDY3NDhlNTMyMjU0ZmUuLjU1N2Rl
MWFhNmU2NTNkMmI1MmZkY2E3N2JjYzdhZWIwYzI0ZTBkNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAuYmFzaWMuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFz
aWMuMi5odG1sCmluZGV4IDQ1OTFmNzc0NTdlNmMzNTE1NmE5MzU2Yjk2N2ZmM2QxZDlkYWNlN2Yu
LjM5MDNhMzA4Y2U3MTg3YWQ2NmM2ZDFmOWJmOGFlYjgyOTY0YjY3YWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmJhc2ljLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xpcC5iYXNpYy4yPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
Y2xpcC5iYXNpYy4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuYmFzaWMuMi53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5iYXNpYy4yLndvcmtlci5qcwppbmRleCA5
NjVhMzI4NDUwZmUwOWY5ZGNiYjcyNmJjMTM5OGQ1ZDIwYmMwOWRiLi42MDAzZmM0YTk5NGM0MzNk
ZmM4OTM3ZjI5YTYwNmE5MWRkN2MwNDE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguY2xpcC5iYXNpYy4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xpcC5iYXNpYy4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLmVt
cHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1sCmluZGV4
IDM5NTU1YTk3YTc3NzllZjNhZTkwZjIxNjg3Mzc0NTg3OTcxNWU3MmMuLjc4ZWU1MjI5ZGIwMzgy
ODgwZjY1NWY2YTExYTVhMDFlMGRhOGIwMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5jbGlwLmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
aXAuZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5jbGlwLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xpcC5lbXB0eTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguY2xpcCgpOwogY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5jbGlwLmVtcHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbGlwLmVtcHR5Lndvcmtlci5qcwppbmRleCBkMjJiMjdlYzIyY2MwNTc3ZjhmNzgzNTE3Mzcw
NzliMzc0NTMwMzFhLi4zMTQ4Yzc1YjVkYWQ4ZTgxMzBkYmEwYmFhY2YyYWQ3NGI3ZWZmYjIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5lbXB0eS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuZW1wdHkud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5jbGlwKCk7
CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguY2xpcC5pbnRlcnNlY3QuaHRtbAppbmRleCBkN2JjM2JkMjQ1OWRiMjZjZGE2NDhk
ZTIzYzAxODI1OTFmODEzNWExLi42NmU3NDA0MzliNmRlYWRmMjMxNGUzNWJkOTExOTNiYzg1ZGFk
MDUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3Qu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3QuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlw
LmludGVyc2VjdDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmNsaXAuaW50ZXJzZWN0PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsaXAuaW50ZXJzZWN0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5j
bGlwLmludGVyc2VjdC53b3JrZXIuanMKaW5kZXggNmRkMDIxY2RmYTcxOGZiYWY4ZDFkNjkxNGJj
OTFmMmFjZTY3NTg1Ni4uZDhjYjA1NWM4OWU1MDNhMjM2YzBmZWM0NmZmNjE0OTI5YTViYjMwNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAuaW50ZXJzZWN0Lndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC5pbnRlcnNlY3Qud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0
eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC5odG1sCmluZGV4IGJmNWQ1NDE4MzVi
NTUzN2EwNzRiOWJiMmQyMDIwMDhjYjA5NGY3NjIuLjRkMTBjMmMwMDJmYTJiMWI2MzhhOWRjODll
NzBlZTQyNTI4ZmRhMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC51bmFm
ZmVjdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnBhdGguY2xpcC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xpcC51bmFmZmVjdGVkPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5jbGlwKCk7
CiBjdHgubGluZVRvKDAsIDApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlw
LnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5h
ZmZlY3RlZC53b3JrZXIuanMKaW5kZXggY2U2YmJkMDBlMDc2ZDNjYWM5YTA0NzAxNjFhZWQ4Mjdk
ZjZlYjhjNy4uMzczNzViY2FmMzQ2YzViZTE1YTFjMDg0NTcxNWE1Yjk3MWM0ZmQ4ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAudW5hZmZlY3RlZC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmNs
aXAoKTsKIGN0eC5saW5lVG8oMCwgMCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmNsaXAud2luZGluZy4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5k
aW5nLjEuaHRtbAppbmRleCBiYWU4ZTk0Y2QzN2M3MzAwOWQxNWExOTU1M2IyMWQyODNmZjYzNjQw
Li40NTE0ZGFlNzFlMmZiMWI3ODUxMTBhMDQwY2YyMzY2NDNkMDNkMzhjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLndpbmRpbmcuMTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmNsaXAud2luZGluZy4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0z
Miw3ICszNiw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4x
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRpbmcuMS53b3Jr
ZXIuanMKaW5kZXggNTg2NTE0N2MwOWRkYTI2OGFmY2JlYzI4N2I0ZGFhNWNhZWNiNjE4Mi4uMTg1
MTJlMGRjYWQ4MDY3MjVhZjBhZDg1MTNmOGVjYTQ3NGQwODlhMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmls
bFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
Y2xpcC53aW5kaW5nLjIuaHRtbAppbmRleCBlYzI1Njg5NzBjZmY3NTU1Y2MyMTVlMGM2MTlmY2Ni
ZmFlMWFmZjNiLi4yMWNkNjNjOTRhOWE1ZDc4YjI4ZWQ0OTA0MmUzZDBjNjUxZTNiNmM3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5jbGlwLndpbmRpbmcu
MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5wYXRoLmNsaXAud2luZGluZy4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0zNSw3ICszOSw2IEBAIGN0eC5jbGlwKCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAu
d2luZGluZy4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbGlwLndpbmRp
bmcuMi53b3JrZXIuanMKaW5kZXggNjQ5YzQzNDZhZDA3ZmRmYTQxY2Q2MTk2MzE1ZWViMmE4NTk5
ODRmZC4uOTQ3ZDhmZjQ0NjYwZDg5MDdkMTU4MjA1N2VhMjdlYjcxMTY2ODk3OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsaXAud2luZGluZy4yLndvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xpcC53aW5kaW5nLjIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5jbGlwKCk7
CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmNsb3NlUGF0aC5lbXB0eS5odG1sCmluZGV4IDhjYzUxNjhkMzU4MjVhMjUxM2Nh
M2MxZjc4YmJlNDBhMDRlMTQ0YTQuLjJhYTBmZjNhMDQ0ZThlMjgxMGM2ZjZhMjEwNWRkNzA0YTJl
MmUzNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGguZW1w
dHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
Y2xvc2VQYXRoLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguY2xvc2VQYXRoLmVtcHR5PC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNs
b3NlUGF0aC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQ
YXRoLmVtcHR5Lndvcmtlci5qcwppbmRleCBiZTA5ZmZmNWViZGQxZTI1OGE4ODc2NWRlODI0Nzkw
ZTZkZTNmYTYyLi4xZDAyNmY5YmI2M2M2NDMwYThmY2E2MWYwYjliMjk5ZmI0ODhkNzY2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLmVtcHR5Lndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgu
Y2xvc2VQYXRoKCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV3bGluZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5lLmh0bWwKaW5kZXggM2Y0ZjE4MzlmN2UzZDQxYTc5OTM0
YTRlMmQ4YzczNzIwOWVkZDNmZi4uNTYxYTgzYmI2ZDEyMjBmZDFmNDU0M2RiY2JmYTcwZmJiYTQz
YjU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXds
aW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXdsaW5l
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGguY2xvc2VQYXRoLm5ld2xpbmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5jbG9zZVBhdGgubmV3bGluZTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBjdHgubGluZVRvKDIw
MCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLmNsb3NlUGF0aC5uZXdsaW5lLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbG9zZVBhdGgubmV3bGluZS53b3JrZXIuanMKaW5kZXggMDRmMzM5MmU2ODg5ZjM0OWZhMWQ4
YjFhYWMzNzAyNGZiODliZGU5OC4uYjY1YWM4ZDNmZGJkYzA0ZTMyZjJiNDk1N2NmZmExNDhkMGQx
YTVlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXds
aW5lLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5l
d2xpbmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3
ICsyNyw2IEBAIGN0eC5saW5lVG8oMjAwLCAyNSk7CiBjdHguY2xvc2VQYXRoKCk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQuaHRtbAppbmRleCBiMzBm
YmQ2OTg2MjYwNTQwYzRkZGE3MmRmYTg0M2ExMTAxZWE0MmRlLi41NzYzMmYxZWUwM2NhNmE0ODA4
OGJmMjE5ODhiYjdkZjJkY2Y1NmFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguY2xvc2VQYXRoLm5leHRwb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5jbG9zZVBhdGgubmV4dHBvaW50Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRo
LmNsb3NlUGF0aC5uZXh0cG9pbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LmxpbmVUbygxMDAwLCAyNSk7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludC53b3JrZXIu
anMKaW5kZXggZjU5MGU3NmZmZDViZWQ5Yzc2MGU5OTEzNzY0OWEyY2JmM2Y0YmYwMC4uYTJkYTQ5
YmQ4MDViMDkyMzg0YzI5ODgwMzkwODhiYzNiODlhZTY4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmNsb3NlUGF0aC5uZXh0cG9pbnQud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5jbG9zZVBhdGgubmV4dHBvaW50Lndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguY2xvc2VQYXRo
KCk7CiBjdHgubGluZVRvKDEwMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5maWxsLmNsb3NlZC5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZp
bGwuY2xvc2VkLmJhc2ljLmh0bWwKaW5kZXggZTEzZWE2Zjc2MGUxMjJhNzA3MTgwZjk0OWMyZWJk
ZDRjMDg5ODYwZS4uMTU4ZDUyODgwZTczZDUwY2IxMTE2NjQ0ODE2NTIyZjQ4YzYzNzg1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC5j
bG9zZWQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5maWxsLmNsb3NlZC5iYXNpYzwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubGluZVRvKDEwMCwgNTApOwog
Y3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwu
Y2xvc2VkLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNs
b3NlZC5iYXNpYy53b3JrZXIuanMKaW5kZXggM2QzYzNjNzIzMjZhODQ0MGZiZWNkNDdjMWQ1ODhi
NDNmY2FiYjY2ZC4uN2ExY2MzN2RmZGU1MjE5YjJmYmVjYjk2MGUwMTAyZGJkN2M2MThkZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLmJhc2ljLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQuYmFzaWMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBA
IGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQuaHRtbAppbmRleCA3ZmRiZTQ3
YTk0NjJkMWM1ODExYzU0MGI4M2Y4NDE3YTIzNTg0ZDNlLi4zMjJjOTE3Mzc4NGRhYzA0NWQ4OTA2
ZjMzY2ZkNzU2YWNhOGFlNDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC5jbG9zZWQudW5hZmZlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZlY3RlZDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZmZWN0ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwyNTUsICI5MCwx
MCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMTAsNDAs
IDAsMjU1LDAsMjU1LCAiMTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVuYWZm
ZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwuY2xvc2VkLnVu
YWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDQ3M2RhZDY0YWYzYTM1MzNiNmU5NjAzMjg0YzZhNTM0
MTQxZTI5NzQuLjc1Y2E4N2U2Y2M2MWY3NzE0ZDMwYWI5NDY2OWM2MmJkNTJjYTEzMTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLmNsb3NlZC51bmFmZmVjdGVkLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5jbG9zZWQudW5hZmZl
Y3RlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcg
KzI4LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCwxMCwgMCwyNTUsMCwyNTUsICI5MCwxMCIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMTAsNDAsIDAsMjU1LDAsMjU1
LCAiMTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmZpbGwub3ZlcmxhcC5odG1sCmluZGV4IGI4YzZmMmFkNGE2NzMzMGRk
ODViMzZmMTEzMTE3N2ZiYTMzM2FlNTUuLjY2MmJiYmYxM2Y1OGFiNDFjMzA2MTIxYzI5Y2U0Njky
MDVhNTA1MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJs
YXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC5vdmVybGFwLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguZmls
bC5vdmVybGFwPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC5vdmVybGFwPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5jbG9zZVBhdGgoKTsKIGN0eC5yZWN0KDEw
LCAxMCwgODAsIDMwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwxMjcsMCwyNTUsICI1MCwyNSIsICIwLDEyNywwLDI1NSIsIDEpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC5vdmVybGFwLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92
ZXJsYXAud29ya2VyLmpzCmluZGV4IDVlNTMwMWI4MjAzZWYzYzlmMjA1MDNlYzUyMWExYmI0MjFh
M2M3NWEuLmZjMTY2ODdiOWQ3ZmNlMzAzZjVkYTU0MTViMzlhNjZlNmEzMjYwNDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLm92ZXJsYXAud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5jbG9zZVBhdGgo
KTsKIGN0eC5yZWN0KDEwLCAxMCwgODAsIDMwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjcsMCwyNTUsICI1MCwyNSIsICIwLDEy
NywwLDI1NSIsIDEpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmZpbGwud2luZGluZy5hZGQuaHRtbAppbmRleCBkMDFjNWRmOGY0ODhjNTQyMTFmMTFj
N2VjZjRlZTZkMTUzMGJjOTk1Li5lMjcyNGExZmRhNDY0MTMyYjIyODdlNzYxM2UxMDQ1NGM2MzIz
MGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFk
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuYWRkLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgu
ZmlsbC53aW5kaW5nLmFkZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmZpbGwud2luZGluZy5hZGQ8L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUw
KTsKIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5m
aWxsLndpbmRpbmcuYWRkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxs
LndpbmRpbmcuYWRkLndvcmtlci5qcwppbmRleCAzN2RmM2Q1YTlhODJmYmVlN2ZmNmNmZWUxNTA2
YWM2MGY5OGI2OTQ4Li5lZTk3MTU3ZWEyNjY3Yjk4N2E0MmYwNTMxYTRjYWM2ZjYxM2QyZmQ0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLmFkZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5hZGQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHgubGluZVRvKDAsIDUwKTsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjEuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS5odG1sCmluZGV4IDMyYWZi
ZjYwMzI3Zjg3Yjc1YjM4NDAwMzJiZWQ4N2VjODUyY2ZhMTMuLjRkYzQ0MjIyYmQzMDEwZjJhYzE0
Y2I0ODNiMGYzYmVjMjE4OGYyNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4xPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjE8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5l
VG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5n
LnN1YnRyYWN0LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2lu
ZGluZy5zdWJ0cmFjdC4xLndvcmtlci5qcwppbmRleCAzN2Y2YzcxMTcxYjI1ZDY3MDFjMzEwMjI1
YTBlZGUzYTZkNDZlZmYzLi41NThhMzU4MjFkYWRiNTU3NTJjYzIyYWNlNjk2YmYwMzgxODYyNGQ2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRy
YWN0LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRp
bmcuc3VidHJhY3QuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDcgKzMwLDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAw
KTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0
LjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3Qu
Mi5odG1sCmluZGV4IDM3NDI2MzJmMjFhNjk2ODU0OGNlNGRkNzhiN2EyYmYyODAyNTY4MDIuLmY0
YzM3NWFiZjEwMjU5YzllYTRmOWRmMjE4N2UwY2JiYjQxMTU2YWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmZpbGwud2lu
ZGluZy5zdWJ0cmFjdC4yPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjI8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmxpbmVUbygx
MDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4yLndvcmtlci5qcwppbmRleCA4NjRjZmQ1
ZjNlODdiNmNhMGI2NmRhM2NjMzJiMDdmM2NmNzRiMGRkLi45NGIwYTM4ZDJiMGFjMmRlZmUwZDU5
MDZjNWJkZTg3N2MxYzVjMGVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
ZmlsbC53aW5kaW5nLnN1YnRyYWN0LjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsK
IGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmls
bC53aW5kaW5nLnN1YnRyYWN0LjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxs
LndpbmRpbmcuc3VidHJhY3QuMy5odG1sCmluZGV4IDY5MzgwNmEwNGQ3ZmQ4N2ExNzkyMGY4ZmNl
M2JmZjdlMTQ1ZjE4M2QuLmM2YmRmOTliZDQ2ZTI4YzJmZTE3MTIxZjZjMDlhMjFlMzc5ZWFhNmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJh
Y3QuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3Vi
dHJhY3QuMy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguZmlsbC53aW5k
aW5nLnN1YnRyYWN0LjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM1LDcgKzM5
LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxs
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmZpbGwud2luZGluZy5zdWJ0cmFjdC4zLndvcmtl
ci5qcwppbmRleCAyNzZiMGNiYzdjMzkzZDE2MDA4MTcyOGRjNTM1OWMxMGIzYzYwZWQ0Li45MTI3
NDQ2ZDViM2U2YjAwODMwY2I0YWMwZTAxMzBlN2QxMzY1MDQ5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguZmlsbC53aW5kaW5nLnN1YnRyYWN0LjMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5maWxsLndpbmRpbmcuc3VidHJhY3QuMy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgY3R4
LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5saW5lVG8oMTAwLCAwKTsKIGN0eC5maWxsKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlu
aXRpYWwuaHRtbAppbmRleCBkNDY3NDRkMDBlYzhlMDc0NTk1N2U3YThiOGQ5ZDI3NTE0ZWVlYTM5
Li5iOTcxNmNlNTZmZjFlYzExMjA4M2Q3OGMzMjA3ZGRiYmNhNGU4M2YwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnBhdGguaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmluaXRpYWw8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmNsb3NlUGF0aCgp
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaW5pdGlhbC53
b3JrZXIuanMKaW5kZXggNTg1NjcxNDg3NmVhMDhhN2I0OWY0NWRiZDk3MjZhZGEyOTI4MTE0Yi4u
NDM4Yjc3MWRlNDg2Y2QyZDM1YzIzNjAwOTNmZGIwNDAyMzBlOTg5OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pbml0aWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmFyYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0
bWwKaW5kZXggNDU1OGFmMTY4YjBhZDA3MjMyM2I3Y2JkNzQzZWM1MTZiOTY2NTMyMi4uNzFhZjM2
OWVlZDc2ZjdmYzFiZGQ2MGVjNmFjNjUyYTA2MzY0YWQwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5hcmM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludElu
UGF0aCgpIHdvcmtzIG9uIGFyY3M8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gYXJjcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIw
KSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMzApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCg3MCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAz
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmFyYy53b3JrZXIuanMKaW5kZXggOWE2ZTc2ZTA1
YmI0YzYyNDIzYjUxYjQ5NzkwZDY0MGYyMmQ1N2ZjYS4uMzFlYjU0NTVlMTM3MGRkYjZkOWUwNDky
OGE0YjBlOWIwNzk4ODQ4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguYXJjLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5hcmMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1Bv
aW50SW5QYXRoKCkgd29ya3Mgb24gYXJjcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0
aCgzMCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCks
IGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgz
MCwgMzApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMzAp
LCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGguYmFzaWMuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGguYmFzaWMuMS5odG1sCmluZGV4IDc3NGVmNzY2NGY3NjhhNTRlMDU1MmE1ZjAwOGYwOGMzZWZk
ZmE4NmMuLjI3NThjYWRmZDAwMjUwZGU1YmJlZjk1MTY2OWUyNmVhODE2NmJjNTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQ
b2ludEluUGF0aC5iYXNpYy4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBw
b2ludCBpcyBpbnNpZGUgdGhlIHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRo
ZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5yZWN0KDAsIDAsIDIw
LCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCB0cnVlLCAiY3R4
LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCgzMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAiZmFs
c2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4xLndvcmtlci5qcwppbmRleCA4ZTJmYmVlNDk2
MGU2ZjZjYTQzODY4MmUyNzZkZWU2OGM0NzljNjg0Li5mM2JmOGRhYWQyZGRjYjU2NGE4OGU1NGZl
YzhkYTA2MWNmZTY2MzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5iYXNpYy4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQgaXMgaW5zaWRlIHRo
ZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAx
MCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSwgZmFs
c2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LmJhc2ljLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJh
c2ljLjIuaHRtbAppbmRleCA5MjE2YzczZmQ0ZDY2MTYyOWIyNDI2MTkyNmViMmIxNjlmOWQ3ZTJh
Li4zM2QyMzFjYjNlNjZhMDFjZmIyYjU0ZWQ4Nzc2ZTgyMWJlZjQ3MjAyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMi5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJ
blBhdGguYmFzaWMuMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGguYmFzaWMuMjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9pbnQg
aXMgaW5zaWRlIHRoZSBwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGRldGVjdHMgd2hldGhlciB0aGUgcG9p
bnQgaXMgaW5zaWRlIHRoZSBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiBjdHgucmVjdCgyMCwgMCwgMjAsIDIw
KTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCksIGZhbHNlLCAiY3R4Lmlz
UG9pbnRJblBhdGgoMTAsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoMzAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAidHJ1ZSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC5iYXNpYy4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLmJhc2ljLjIud29ya2VyLmpzCmluZGV4IGIyYmY5NDEwYmE3MGFk
OTA2MjM5MjExZjViMmUzZGFlNjY4NTgyOGIuLmJjMWFjMDFkMmU3YTQyNTczMGIxM2Q5YTI2NDM4
MTFiN2VjYzU1MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50
SW5QYXRoLmJhc2ljLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLmJhc2ljLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJp
c1BvaW50SW5QYXRoKCkgZGV0ZWN0cyB3aGV0aGVyIHRoZSBwb2ludCBpcyBpbnNpZGUgdGhlIHBh
dGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xNSw3ICsxOSw2IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIGN0eC5yZWN0KDIwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwgMTAp
IiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTApLCB0cnVl
LCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJl
emllci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVy
Lmh0bWwKaW5kZXggNTE5MDE4NDY2MjJjOThiMTRhZTFlYzA0NzIyMjZlYTk5OWJkOTNlOS4uZWUz
YTIxZGZiMTRjNzdlOGJkNGFiZWQ4ZDY4MDYyOGRhM2E2MTBhMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6aWVyLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5i
ZXppZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllcjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2ZXM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRo
KCkgd29ya3Mgb24gQmV6aWVyIGN1cnZlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM4LDcgKzQyLDYgQEAgX2Fzc2Vy
dFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0
aCg3MCwgMjApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCks
IHRydWUsICJjdHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDc1LCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzUs
IDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSwg
ZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3NSwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLmJlemllci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIud29ya2VyLmpzCmluZGV4IDVkMmY5ZTAwODlmMmQ1MDA5YjBjMGM0Y2ViODYw
YWFkMzU5OTg3NDcuLjIwM2IxYzg0MDYyOGRlODQyMzk3YjZiNDBmZWI0OTk2YjVlYzU4NDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJlemllci53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmV6
aWVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIHdv
cmtzIG9uIEJlemllciBjdXJ2ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzAs
IDIwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMzApLCB0cnVl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg3NSwgMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDc1LCAyMCki
LCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDc1LCAzMCksIGZhbHNl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNzUsIDMwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5i
aWdhcmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2Fy
Yy5odG1sCmluZGV4IDg3MDNlZWZmZTUwMzA4MDA5NmFiMDQ0Y2ZjYzUzMTZhYWRmMjIyNTkuLjJk
NGEyZDRjMDk4Nzk0OTA1YjE2NTYwNGQ2MGJlODI5NDUyYTBiMGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
YmlnYXJjPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmM8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFu
IDJwaTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBhcmNzIGxhcmdlciB0aGFuIDJw
aSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
MzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHMKIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBh
dGgoNzAsIDIwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAs
IDMwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMzApIiwgImZhbHNlIik7CiBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMzApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5Q
YXRoKDcwLCAzMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmJpZ2FyYy53b3JrZXIuanMK
aW5kZXggOTc0ZmY3NTkyMzQ2Yjk1YTczOGI0NGZhZDk2NDNmMjUxNTQyNjRlMy4uNjMyYjdlYTI1
MTFmMzc0MTU5M2U2YzU5YjBiYWNkMmEyMDFhMWI5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguYmlnYXJjLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5iaWdhcmMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gdW5jbG9zZWQgYXJjcyBs
YXJnZXIgdGhhbiAycGkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDMwLCAyMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSIs
ICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MCwgMjApLCBmYWxzZSwgImN0
eC5pc1BvaW50SW5QYXRoKDcwLCAyMCkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDMwLCAzMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDMwKSIsICJm
YWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzAsIDMwKSwgZmFsc2UsICJj
dHguaXNQb2ludEluUGF0aCg3MCwgMzApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2UuaHRtbApp
bmRleCA2ZDZkODdkMDAxZjE0NmM2ZmM0ZWFlNmVjN2ZiOTExYzE2N2Y5YzBhLi42NjYwMDMwN2E0
NDExN2Y5NDU0ODM5ODQ3MjI5ZDI5MTVlODllZjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludElu
UGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBhdGggYXMgYmVpbmcgaW5zaWRlPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludElu
UGF0aCgpIGNvdW50cyBwb2ludHMgb24gdGhlIHBhdGggYXMgYmVpbmcgaW5zaWRlIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjksNyArMzMsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgLTAuMDEp
LCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAtMC4wMSkiLAogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoMTAsIDIwLjAxKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMCwg
MjAuMDEpIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgtMC4wMSwg
MTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKC0wLjAxLCAxMCkiLCAiZmFsc2UiKTsKIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDIwLjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9p
bnRJblBhdGgoMjAuMDEsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lZGdlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uud29ya2Vy
LmpzCmluZGV4IDhiZjliMTliMmExN2IyNzM0MGMyMDI4Mjc2ZmRhNjIwNzVmODY5ZjcuLmQ3ZDFl
M2Y5MDk5ZjU2ZTIxYzk3NzkzODExM2NlYzczNmE3MzUxNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVkZ2Uud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgY291bnRzIHBvaW50cyBvbiB0aGUgcGF0
aCBhcyBiZWluZyBpbnNpZGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9hc3NlcnRTYW1lKGN0
eC5pc1BvaW50SW5QYXRoKDEwLCAtMC4wMSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAs
IC0wLjAxKSIsCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEpLCBmYWxz
ZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAyMC4wMSkiLCAiZmFsc2UiKTsKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKC0wLjAxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgo
LTAuMDEsIDEwKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMjAu
MDEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgyMC4wMSwgMTApIiwgImZhbHNlIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQ
b2ludEluUGF0aC5lbXB0eS5odG1sCmluZGV4IDkyMTlkNTBkZDBkOGI5ZjAxZDlmOGRlNzk2NmVl
Y2Y1ZjkzMmFiZjEuLjUwNjFmN2Y0NzExZGQ5NWJkNmEwMWFlODAxZjU2MDc3NjczNmFjMTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguZW1wdHkuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5p
c1BvaW50SW5QYXRoLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8g
cGF0aDwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mgd2hlbiB0aGVyZSBpcyBubyBwYXRoIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCgwLCAwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgwLCAw
KSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5lbXB0eS53b3JrZXIuanMKaW5kZXggODIyODM4
NDAwYjQ2MTFlYjk2ZGY0NzVlMjg0MGIwZjZlZTM2NjY4OS4uNzk1MjM4MzU3YzQ2MDRmY2YwYmY0
YTdlNDNjOGMzNGYzOWYzOWRkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGguZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyB3aGVuIHRoZXJlIGlzIG5vIHBhdGgiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDAsIDApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIDAp
IiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwKaW5kZXggNmU2YmQyZWYz
NmZiODA5ZWU1N2JmZjA2NzM4MWFiNjNmNjJmYTExNi4uZGVjNDdiMjA1YWEzODFkY2U3M2ZjMjVh
MzRjNTI2NmYyMzM3OTIzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGgubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQ
b2ludEluUGF0aCgpIHJldHVybnMgZmFsc2UgZm9yIG5vbi1maW5pdGUgYXJndW1lbnRzPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2lu
dEluUGF0aCgpIHJldHVybnMgZmFsc2UgZm9yIG5vbi1maW5pdGUgYXJndW1lbnRzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjQsNyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgwLCBJbmZpbml0
eSksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMCwgSW5maW5pdAogX2Fzc2VydFNhbWUoY3R4
LmlzUG9pbnRJblBhdGgoMCwgLUluZmluaXR5KSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgw
LCAtSW5maW5pdHkpIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgw
LCBOYU4pLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTikiLCAiZmFsc2UiKTsKIF9h
c3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKE5hTiwgTmFOKSwgZmFsc2UsICJjdHguaXNQb2lu
dEluUGF0aChOYU4sIE5hTikiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLm5vbmZpbml0
ZS53b3JrZXIuanMKaW5kZXggOTFjMmQzNmM1YTFjNzNiMzc2Y2I5ZjcxMzU0NmQ1MjE0YWE5Yzcw
My4uODZmMjkyYzQ2OTZhNzEwMTUyOWVmZTZkZmJhOTM2MGE3NjU5ZjQ0ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgubm9uZmluaXRlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5ub25maW5pdGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgcmV0dXJu
cyBmYWxzZSBmb3Igbm9uLWZpbml0ZSBhcmd1bWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDAsIEluZmluaXR5KSwgZmFsc2UsICJjdHgu
aXNQb2ludEluUGF0aCgwLCBJbmZpbml0CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgw
LCAtSW5maW5pdHkpLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSkiLCAi
ZmFsc2UiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDAsIE5hTiksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoMCwgTmFOKSIsICJmYWxzZSIpOwogX2Fzc2VydFNhbWUoY3R4Lmlz
UG9pbnRJblBhdGgoTmFOLCBOYU4pLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKE5hTiwgTmFO
KSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRzaWRlLmh0bWwKaW5kZXggYzMxNzU5ODliNmQ5
ZjAwOGI1MTJmMzgwOGQ5MDJiYjZhODg0ZmZjNC4uMmMzZTQwM2EyNDc3MGJmMGRlNTczZjVhMzA3
ZGY5MjQ5ZjhlZjIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9p
bnRJblBhdGgub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1Bv
aW50SW5QYXRoLm91dHNpZGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLm91dHNpZGU8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5p
c1BvaW50SW5QYXRoLm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgo
KSB3b3JrcyBvbiBwYXRocyBvdXRzaWRlIHRoZSBjYW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgd29ya3Mg
b24gcGF0aHMgb3V0c2lkZSB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBfYXNz
ZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgLTcwKSwgZmFsc2UsICJjdHguaXNQb2ludElu
UGF0aCgxMCwgLTcwKSIsICJmYQogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMzAsIC0y
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIC0yMCkiLCAiZmFsc2UiKTsKIF9hc3Nl
cnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRo
KDMwLCAwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMjAp
LCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAyMCkiLCAiZmFsc2UiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJ
blBhdGgub3V0c2lkZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5vdXRzaWRlLndvcmtlci5qcwppbmRleCAxMWI4MWQyMTVjYWViZjg1YjQwMWM4OGQw
N2EwMzVkZjk4Mzc1NzZlLi42ZmRkNzJmYzc4Zjc1MWU5ZmFkYjM0M2Q2ZTdkMGI5MTJiZjYyMDY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5vdXRz
aWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5vdXRzaWRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0
aCgpIHdvcmtzIG9uIHBhdGhzIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0
LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIC03MCksIGZhbHNlLCAiY3R4
LmlzUG9pbnRJblBhdGgoMTAsIC03MCkiLCAiZmEKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5Q
YXRoKDMwLCAtMjApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAtMjApIiwgImZhbHNl
Iik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMCksIHRydWUsICJjdHguaXNQ
b2ludEluUGF0aCgzMCwgMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoMzAsIDIwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgzMCwgMjApIiwgImZhbHNlIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5pc1BvaW50SW5QYXRoLnN1YnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLnN1YnBhdGguaHRtbAppbmRleCBkZGY3YjI3OTNmNDU2NzBmNGQwMGVkNGMy
MTY3NDFlNzYyMzhmN2RmLi4zMGIwNDU5MGY1NDU5MDBmOWJhMmNmMWM5NTMyNDYyODhhYjEwNGFj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJw
YXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGguc3Vi
cGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5wYXRoLmlzUG9pbnRJblBhdGguc3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJblBhdGgu
c3VicGF0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIHVzZXMgdGhlIGN1
cnJlbnQgcGF0aCwgbm90IGp1c3QgdGhlIHN1YnBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUg
Y3VycmVudCBwYXRoLCBub3QganVzdCB0aGUgc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgY3R4LnJlY3QoNDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCgxMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkiLCAiZmFsc2UiKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCksIHRydWUsICJjdHguaXNQb2lu
dEluUGF0aCgzMCwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDUwLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MCwgMTApIiwgInRydWUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlz
UG9pbnRJblBhdGguc3VicGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
aXNQb2ludEluUGF0aC5zdWJwYXRoLndvcmtlci5qcwppbmRleCBhNDUzYzgwNWRiODE5MjMzMzU0
MjZhYjY5Zjg1Mjg4ODRiOWZmNmYzLi5jZjM0MTY5ZDYwM2M5YmFkZTEzZGNhMDFlMTQ4Yjc4OTEx
MjkyMWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC5zdWJwYXRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC5zdWJwYXRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2lu
dEluUGF0aCgpIHVzZXMgdGhlIGN1cnJlbnQgcGF0aCwgbm90IGp1c3QgdGhlIHN1YnBhdGgiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5yZWN0KDQwLCAwLCAyMCwgMjApOwogX2Fzc2VydFNh
bWUoY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgx
MCwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgzMCwgMTAp
LCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg1MCwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTAs
IDEwKSIsICJ0cnVlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS5odG1sCmluZGV4IGEx
ZTg3NjYwZGI3MWVkZGFiYTVhZjAzMzE0YzE2MzQ1YmMxNjEwYjIuLmEyY2UwZmJmYzdhYmM5NzVl
OTE1ZWYyMzMwY2RkNGI1MmE3NmJiZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS4xPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJl
Y3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAx
MCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSIsICJmYWxzCiBfYXNzZXJ0U2Ft
ZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNTEs
IDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg2OSwgMTApLCB0
cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDcxLCAx
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjEud29ya2VyLmpz
CmluZGV4IGJlYmM2ZDYzOTU1M2Q1NGFiN2U2YTY1MDQyMjA3MGNhMzkxMzMxZTkuLmEwODZhOGUy
MjIzZWE4MDE4ZDlkYzU5NDJiNjdlMWNmYzYwZGEwZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4xLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5z
Zm9ybWF0aW9ucyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIF9hc3NlcnRTYW1l
KGN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNDks
IDEwKSIsICJmYWxzCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg1MSwgMTApLCB0cnVl
LCAiY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHgu
aXNQb2ludEluUGF0aCg2OSwgMTApLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSIs
ICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg3MSwgMTApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJh
bnNmb3JtLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRy
YW5zZm9ybS4yLmh0bWwKaW5kZXggMTk5NTI5NWZhYjJiMjkzYTlkMmEwYTMwZDVkMWMzYmQyMzQx
Y2RjMC4uMjBjZjI2ZTQ0ZGE1NGQ0ZDAyNWFhZDU3MjI2MTgxZjM1NmQ5OTI3NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
Mi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5w
YXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5pc1BvaW50SW5QYXRo
LnRyYW5zZm9ybS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgaGFuZGxl
cyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNm
b3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fzc2VydFNhbWUo
Y3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg0OSwg
MTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCksIHRydWUs
ICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5p
c1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg2OSwgMTApIiwg
InRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxzZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0
aC50cmFuc2Zvcm0uMi53b3JrZXIuanMKaW5kZXggYTA5MmNiOWE2NzNmYmEzODU3NTkyYjZlYzU1
YjYyZGVmMGNiMjkzYS4uNzU5NjE1OTYyYWFkZWM5NjQ4OTZiZjVmNDJlZjRhY2Y5YzgxMTNkZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNm
b3JtLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnRyYW5zZm9ybS4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2lu
dEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRpb25zIGNvcnJlY3RseSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNDksIDEwKSwgZmFsc2Us
ICJjdHguaXNQb2ludEluUGF0aCg0OSwgMTApIiwgImZhbHMKIF9hc3NlcnRTYW1lKGN0eC5pc1Bv
aW50SW5QYXRoKDUxLCAxMCksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1MSwgMTApIiwgInRy
dWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCksIHRydWUsICJjdHgu
aXNQb2ludEluUGF0aCg2OSwgMTApIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50
SW5QYXRoKDcxLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSIsICJmYWxz
ZSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMuaHRtbAppbmRleCBiNDNlMTA0MmRkOGNm
MmIxNThkYzRjMDE0OGQwNGFkNGZmZDRjODdiLi4yYzEwYTdiMjc3NWJmY2E5MmEwZDRmODE3NzJh
YjQyMWJkOGRkN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2lu
dEluUGF0aC50cmFuc2Zvcm0uMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5p
c1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjM8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PmlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBjb3JyZWN0bHk8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50
SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQs
NyArMjgsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0OSwgMTApLCBmYWxzZSwg
ImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFscwogX2Fzc2VydFNhbWUoY3R4LmlzUG9p
bnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1
ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5p
c1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJ
blBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCg3MSwgMTApIiwgImZhbHNl
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS4zLndvcmtlci5qcwppbmRleCBjZDI0
NGE2OGIyZDQyODk5ZjJlZTU2MDFmZTI5NTViYjBjZDMxOTEzLi42OTRiMDczODM0NzRkNDk0MDA3
YzhhMWU3YTNlZWYyMjk3YTE5ZWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uMy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjMud29ya2VyLmpzCkBAIC00LDkg
KzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBv
cnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFy
IHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMg
Y29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBfYXNzZXJ0U2FtZShjdHguaXNQb2lu
dEluUGF0aCg0OSwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ5LCAxMCkiLCAiZmFs
cwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNTEsIDEwKSwgdHJ1ZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDUxLCAxMCkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBh
dGgoNjksIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDY5LCAxMCkiLCAidHJ1ZSIpOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEwKSwgZmFsc2UsICJjdHguaXNQb2lu
dEluUGF0aCg3MSwgMTApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC5o
dG1sCmluZGV4IGU3OTU2MjQwMGI1MmMxZjA3NTdmMzMxYTgxMzcyYzk3MjcyMzdiMjIuLjYyZjhl
ZGY5NTcxMWY0MWRjNWQ5ZTFmMWU5YjIwMDg1NDBkOTQ1MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJhbnNmb3JtLjQuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5pc1BvaW50
SW5QYXRoLnRyYW5zZm9ybS40PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0u
NDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+aXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3Jt
YXRpb25zIGNvcnJlY3RseTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9ybWF0aW9ucyBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC50cmFuc2xhdGUoMCwgNTApOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNjAsIDEwKSwgZmFsc2UsICJjdHguaXNQb2lu
dEluUGF0aCg2MCwgMTApIiwgImZhbHNlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCgxMTAsIDEwKSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDExMCwgMTApIiwgInRydWUiKTsK
IF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDExMCwgNjApLCBmYWxzZSwgImN0eC5pc1Bv
aW50SW5QYXRoKDExMCwgNjApIiwgImZhbHNlIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5zZm9ybS40
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRoLnRyYW5z
Zm9ybS40Lndvcmtlci5qcwppbmRleCA2ZWMyMDEzNjE2MTFlMWY3YzNmODJhMjk2NjJmYTE2NDIy
OTU2YzNmLi5hNDFiNGFlZTViNDMwNzhmMWU2MGU5YTFmMTg2Mjg2ZTYxMmM3NzJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC50cmFuc2Zvcm0uNC53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudHJh
bnNmb3JtLjQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJpc1BvaW50SW5QYXRo
KCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCBjdHgudHJhbnNsYXRlKDAsIDUwKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRo
KDYwLCAxMCksIGZhbHNlLCAiY3R4LmlzUG9pbnRJblBhdGgoNjAsIDEwKSIsICJmYWxzZSIpOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMTEwLCAxMCksIHRydWUsICJjdHguaXNQb2lu
dEluUGF0aCgxMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0
aCgxMTAsIDYwKSwgZmFsc2UsICJjdHguaXNQb2ludEluUGF0aCgxMTAsIDYwKSIsICJmYWxzZSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguaXNQb2ludEluUGF0aC51bmNsb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmlzUG9pbnRJblBhdGgudW5jbG9zZWQuaHRtbAppbmRleCBmMDVhMzlkN2FkNjZhYzI3Y2EwMTUx
NmRkYmE5ZWIyYTg5MDVkMzEwLi4zMmU1NzQyODU1YTI3MTcwODIzNDI5YWViNTE5YzY1NzE1MTI0
MjI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC51
bmNsb3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5QYXRo
LnVuY2xvc2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmlzUG9pbnRJ
blBhdGgudW5jbG9zZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmlzUG9pbnRJblBhdGgoKSB3b3Jr
cyBvbiB1bmNsb3NlZCBzdWJwYXRoczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBz
dWJwYXRocyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVUbygyMCwgMjApOwogY3R4
LmxpbmVUbygwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCB0
cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShj
dHguaXNQb2ludEluUGF0aCgzMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAx
MCkiLCAiZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgudW5jbG9zZWQud29ya2VyLmpzCmluZGV4
IDMxNmU3OTFiMmY0NDRhYjFlMzk3YTZhMTliY2UzNjA0ZWI1OGIwZjIuLmI4Y2U4MzM0ZTQ4OTk0
MDZjMjhjZTg3NzFhMzkyMzY1ZWQxMTVkMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xvc2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC51bmNsb3NlZC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBzdWJwYXRo
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmxpbmVUbygyMCwgMjApOwogY3R4LmxpbmVU
bygwLCAyMCk7CiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCgxMCwgMTApLCB0cnVlLCAi
Y3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSIsICJ0cnVlIik7CiBfYXNzZXJ0U2FtZShjdHguaXNQ
b2ludEluUGF0aCgzMCwgMTApLCBmYWxzZSwgImN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkiLCAi
ZmFsc2UiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGluZy5odG1sCmluZGV4IDhiMGUwN2YxMDFlOGM2YmIw
ZTZkYThmZTdlZWUzN2RmZGIzNWEyYWYuLjE2YjE4ZDc3ZTYxNWU5ODM3M2IxYzg3ZjgzM2JlMmI0
ZjFkZGM4MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5pc1BvaW50SW5Q
YXRoLndpbmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC53aW5kaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5nPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguaXNQb2lu
dEluUGF0aC53aW5kaW5nPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5pc1BvaW50SW5QYXRoKCkgdXNl
cyB0aGUgbm9uLXplcm8gd2luZGluZyBudW1iZXIgcnVsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImlzUG9pbnRJblBhdGgoKSB1c2VzIHRo
ZSBub24temVybyB3aW5kaW5nIG51bWJlciBydWxlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzYsNyArNDAsNiBAQCBf
YXNzZXJ0U2FtZShjdHguaXNQb2ludEluUGF0aCg0NSwgMjUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJ
blBhdGgoNDUsIDI1KSIsICJ0cnVlIgogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoNSwg
NDUpLCB0cnVlLCAiY3R4LmlzUG9pbnRJblBhdGgoNSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRT
YW1lKGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCgy
NSwgNDUpIiwgInRydWUiKTsKIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ1LCA0NSks
IHRydWUsICJjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpIiwgInRydWUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmlzUG9pbnRJblBh
dGgud2luZGluZy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludElu
UGF0aC53aW5kaW5nLndvcmtlci5qcwppbmRleCBmZGUwYTE3ZWRkNmQ2OTcyMzJkNDAwNWIwZmNl
YTVmZjJlYjJlNWY2Li5iMWU4ZmRkNDllZGZiN2Q3ZmUzODAzZjlkMmM0MDUxNTBjZTY4YjA2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC53aW5kaW5n
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguaXNQb2ludEluUGF0aC53
aW5kaW5nLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiaXNQb2ludEluUGF0aCgp
IHVzZXMgdGhlIG5vbi16ZXJvIHdpbmRpbmcgbnVtYmVyIHJ1bGUiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICsz
Niw2IEBAIF9hc3NlcnRTYW1lKGN0eC5pc1BvaW50SW5QYXRoKDQ1LCAyNSksIHRydWUsICJjdHgu
aXNQb2ludEluUGF0aCg0NSwgMjUpIiwgInRydWUiCiBfYXNzZXJ0U2FtZShjdHguaXNQb2ludElu
UGF0aCg1LCA0NSksIHRydWUsICJjdHguaXNQb2ludEluUGF0aCg1LCA0NSkiLCAidHJ1ZSIpOwog
X2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgoMjUsIDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50
SW5QYXRoKDI1LCA0NSkiLCAidHJ1ZSIpOwogX2Fzc2VydFNhbWUoY3R4LmlzUG9pbnRJblBhdGgo
NDUsIDQ1KSwgdHJ1ZSwgImN0eC5pc1BvaW50SW5QYXRoKDQ1LCA0NSkiLCAidHJ1ZSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGlu
ZVRvLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLmh0
bWwKaW5kZXggZmU0ZmZlYzNmZTg0YTkxMzllYWYwNjE3OGI1OGJlZDA2MDQxNTljNS4uZmY4MjQx
YjE1NjExYWQ5MDBlMjIwY2E2ZWI4OWRjY2E0ZDNhZjNmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5saW5lVG8uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5saW5lVG8uYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5saW5lVG8u
YmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4
Lm1vdmVUbygwLCAyNSk7CiBjdHgubGluZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgubGluZVRvLmJhc2ljLndvcmtlci5qcwppbmRleCBjMDcwOTc1YjIxZDIwZmI4ZmIw
NWJjMmU1OTU2MzgwMDFiNTZiZGY1Li5lYTJmZjgzNzFmY2UyYmIzZTFmMTQxM2MwNjVhZmYxMzA2
OWEzYWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmJhc2ljLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5saW5lVG8oMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEuaHRtbAppbmRleCA5MjE2
ODE5YTU0YzNlZmU4NzAwZGY3ODAzNDA5Nzc3MzVmN2UzYmMxLi45YThmZWIxYWQ3MjhiMDE5ZTA3
OTAzZjVkMWI1MmI5NjNkNjU0YWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgubGluZVRvLmVuc3VyZXN1YnBhdGguMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPklm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgbm90aGluZyBpcyBk
cmF3bjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgbm90aGlu
ZyBpcyBkcmF3biIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4
LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5l
VG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8uZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwppbmRleCA3MDFmZmRkNDFkMjMwOWQ4YWM0
NjVlYTg1MDYwZDcwZjIzOTgxMDg4Li5kYzNkNTAwODA3MDY3ZjA5NDk2N2M2YmU3ODA1YTc4YTEy
MjU2NTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3Vy
ZXN1YnBhdGguMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVU
by5lbnN1cmVzdWJwYXRoLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0
aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIG5vdGhpbmcgaXMgZHJh
d24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5saW5lVG8o
MTAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3Vy
ZXN1YnBhdGguMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVz
dWJwYXRoLjIuaHRtbAppbmRleCBmYjliMDRkNWE1ZDMzOWJhOTJiMmQ5NmVhZGJkOGU5YmNkMjJh
ZGMxLi5kYmMyMWYzMDZiNGQ0NzE4ZTg5ZjAzNmRmZjFlYjVmMjZhNjEyZmNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGguMi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubGlu
ZVRvLmVuc3VyZXN1YnBhdGguMjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjI8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBp
cyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vic2VxdWVudCBkcmF3aW5nPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhlcmUgaXMgbm8gc3Vi
cGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCB1c2VkIGZvciBzdWJzZXF1ZW50IGRyYXdpbmci
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVUbygx
MDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5zdXJl
c3VicGF0aC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8uZW5z
dXJlc3VicGF0aC4yLndvcmtlci5qcwppbmRleCA2OTllNDQwNDhjYmEzOWYxNzI1YjNkNDdlYjVm
ZjEzOGI0ODg5YzZjLi5hMzQzNzY2Y2EyOTY1ODc0MWU4ODlmOGMzNWE4NDhiMzI5YjZiNmE5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLmVuc3VyZXN1YnBhdGgu
Mi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5lbnN1cmVz
dWJwYXRoLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJJZiB0aGVyZSBpcyBu
byBzdWJwYXRoLCB0aGUgcG9pbnQgaXMgYWRkZWQgYW5kIHVzZWQgZm9yIHN1YnNlcXVlbnQgZHJh
d2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmxpbmVUbygwLCAyNSk7CiBjdHgubGlu
ZVRvKDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5u
ZXh0cG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50
Lmh0bWwKaW5kZXggMDU3NjhjMGNkODU3ZmEzNGIwZmZkNGUwNzJmNGQ1ZTE0ZWNhNDZiMS4uOGYz
ZTc0YTg2NWM3NDgzZjY5YjFmYzVjNGZiNDZhNWU2ZTIzNWY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5saW5lVG8ubmV4dHBvaW50PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LmxpbmVUbygxMDAsIDI1KTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubmV4dHBvaW50Lndvcmtlci5q
cwppbmRleCAyMjYyYjhiYzEwMjU0MTVmMzNkM2ZhMTQyZDRjYzU0ODNhY2RhYzAzLi45NjhmZDQ3
YzkyYjMwZTRjMjBkZjQyNDMxNWExNWFmODIyYjBhY2U0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubGluZVRvLm5leHRwb2ludC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5saW5lVG8oMCwgMjUpOwog
Y3R4LmxpbmVUbygxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8ubm9uZmluaXRlLmRldGFpbHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5s
aW5lVG8ubm9uZmluaXRlLmRldGFpbHMuaHRtbAppbmRleCA0ZWEyMDkzNzk1NDE0MDAwYjllNGM5
NTQ5YjZhNWMyY2NkMDlmOGVmLi41MDQyN2I0MzBhMGUzMGQ0NDg3NmNiMGU1ODA0ZjVmYzZjMWJj
YzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0
ZS5kZXRhaWxzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25m
aW5pdGUuZGV0YWlscy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlsczwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmxp
bmVUby5ub25maW5pdGUuZGV0YWlsczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+bGluZVRvKCkgd2l0
aCBJbmZpbml0eS9OYU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFy
ZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
ImxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGZvciBmaXJzdCBhcmcgc3RpbGwgY29udmVydHMg
dGhlIHNlY29uZCBhcmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGZvciAodmFyIGFyZzEgb2Yg
W0luZmluaXR5LCAtSW5maW5pdHksIE5hTl0pIHsKICAgY3R4LmxpbmVUbyhhcmcxLCB7IHZhbHVl
T2Y6IGZ1bmN0aW9uKCkgeyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1cm4gMDsgfSB9KTsKICAgX2Fz
c2VydChjb252ZXJ0ZWQsICJjb252ZXJ0ZWQiKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWls
cy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5k
ZXRhaWxzLndvcmtlci5qcwppbmRleCAxM2Q2MTUzMDZjZWU5NDk5ODYyMGVkYmQxMmE4MTE5Mzg3
YWY5MmJhLi4zNzY1MWJjMmY4Njg3NWU5NGFkY2Y4YWIzM2FjZjVkYTNmMGIzYjVkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5kZXRhaWxzLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5k
ZXRhaWxzLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGluZVRvKCkgd2l0aCBJ
bmZpbml0eS9OYU4gZm9yIGZpcnN0IGFyZyBzdGlsbCBjb252ZXJ0cyB0aGUgc2Vjb25kIGFyZyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgZm9yICh2YXIgYXJnMSBvZiBbSW5maW5pdHksIC1JbmZp
bml0eSwgTmFOXSkgewogICBjdHgubGluZVRvKGFyZzEsIHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7
IGNvbnZlcnRlZCA9IHRydWU7IHJldHVybiAwOyB9IH0pOwogICBfYXNzZXJ0KGNvbnZlcnRlZCwg
ImNvbnZlcnRlZCIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLmxpbmVUby5ub25maW5pdGUuaHRtbAppbmRleCA4ZGQ3NzNlODIwNzI2OTMzNTNj
YTQ4M2U4N2RkM2EyNjU3MGE0MmRkLi43MjgyMzE2Nzc2ZGNjMmQ1ODdhNzI0YjUxZjJmNGI1ODYy
MWNmZTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZp
bml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5saW5lVG8ubm9uZmluaXRl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGgubGluZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLmxpbmVUby5ub25maW5pdGU8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPmxpbmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJsaW5l
VG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgubGluZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggNGY5N2I5
YjJkYTIzZGExN2Y0YmFlYTM5NzJlZjAxNTJlNjAyNWIyZC4uMDc4ZjFiM2U5MTcwYTI5ZDg1NDg4
OGRjZTg4YjkyMzkwNTM0NGM4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LmxpbmVUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5saW5lVG8ubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgibGlu
ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAs
NDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLm1vdmVUby5iYXNpYy5odG1sCmluZGV4IDM2ZTE0YWMxMTRiMjY1NGVkYmFiZWZj
YWZkODIyOTUwNjFjMDIxMGIuLmNjMzhlOTIyMjcxODZkNzZkZjg2Y2EzZjEzYTM4MzI0ZTQ0YTM0
NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLmJhc2ljLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92ZVRvLmJh
c2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgubW92ZVRvLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5saW5lVG8oMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkw
LDI1LCAwLDI1NSwwLDI1NSwgIjkwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8uYmFzaWMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53b3JrZXIu
anMKaW5kZXggZDRiOTI4YTY2YzkxZjdiZjg4ZTk5MTAzYzM0MTg4MWZhMDViY2Q2Zi4uZWZhN2Jl
NGI0M2ExMDkzNzYwMjBmZDFhOTE0ZDBiYmIxYTE0YzAxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLm1vdmVUby5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmxpbmVUbygxMDAsIDUwKTsKIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgOTAsMjUsIDAsMjU1LDAsMjU1LCAiOTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVU
by5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBs
ZS5odG1sCmluZGV4IDQxZjQ1MTQzODY5ZTFhZjE3YmQ2YmY5NDQ4NmZiY2Y2MzU3Njk0ZDQuLmY2
MjQ0MDk1ZGFkODA4YzYxMjQ5MzlhMTAwZDc2ODgyZjc0YTQ5MTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubW92ZVRvLm11bHRpcGxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgubW92ZVRvLm11bHRpcGxlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGgubW92ZVRvLm11bHRpcGxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0y
Niw3ICszMCw2IEBAIGN0eC5zdHJva2VTdHlsZSA9ICcjMGYwJzsKIGN0eC5saW5lV2lkdGggPSA1
MDsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIu
anMKaW5kZXggN2Q2NDg4NDk2MWFlNjQ4M2E0YTY5Y2NlNDUyNGZlOThlNDIxZjljMC4uODNkOGQ2
NzgzNzNmNTg3NDAyYmQ4ZDlkNzc2MDU2OThjN2I1MzY3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLm1vdmVUby5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnN0cm9rZVN0eWxlID0gJyMw
ZjAnOwogY3R4LmxpbmVXaWR0aCA9IDUwOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLm1vdmVUby5uZXdzdWJwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92
ZVRvLm5ld3N1YnBhdGguaHRtbAppbmRleCAzOTBhMjYxNTRhNTY3NThiMmIzMWQzNzk1MTgwMjI3
YmIyOWJjOGZhLi45NmQyN2I2NTA4M2I0YWVhM2IwOGU3ZWE3YWI1OWRmNzk4OGVkYmZmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGguaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5tb3ZlVG8u
bmV3c3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLm1vdmVUby5uZXdzdWJwYXRoPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5tb3ZlVG8oMCwgNTApOwogY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92
ZVRvLm5ld3N1YnBhdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVU
by5uZXdzdWJwYXRoLndvcmtlci5qcwppbmRleCAzZGFjNjA4MTEyMDU0ZGIwYjZjMWI5OGE4ZDQ2
NDQwMzM1YTVmOTM2Li45MTg4YzY2MDU3MTQ2YTdmOTM4Mjg3YTVkNmYzNTg0YjE4NGVhODdjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubmV3c3VicGF0aC53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYg
QEAgY3R4Lm1vdmVUbygwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS5odG1sCmluZGV4IDEwMDI1OWE0YTQwMGIz
YjdiNDRjYTA2MTM0YzY4ZWNiNWFjYzg4NDYuLmQ3NTVhNDY2YjY0NGJhNjI4MWQwY2YxZWJiNzc0
OGFmNjM3MDg0MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5tb3ZlVG8u
bm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLm1vdmVUby5ub25m
aW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+bW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3Jl
ZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
Im1vdmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICsz
NCw2IEBAIGN0eC5saW5lVG8oMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXgg
ODRkODk3MjA3NjdiNzc3NmFmZjM2YTM4OGY3ZDNjMWNiMDdmOGYzMi4uNjQ3NTI0ZjE0ZTUzNTM4
ZWJlZmJkNzU2YWIzYjYxNDA3YTk3ODViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLm1vdmVUby5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5tb3ZlVG8ubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgibW92ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcg
KzMwLDYgQEAgY3R4LmxpbmVUbygwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy5odG1sCmlu
ZGV4IDk1N2I4OTAxMzdlYTUwZmIxYjg3MjA1MjRiMDgyODY3ZjEzN2VhOTYuLmYwMDFmOWQxZTI1
ZTY5ZGJhMTFmMmI5NGQ3MWRmMzQ1YzBmNzNjMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJh
c2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgubW92ZVRvKDAsIDI1KTsKIGN0eC5x
dWFkcmF0aWNDdXJ2ZVRvKDEwMCwgMjUsIDEwMCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uYmFzaWMud29ya2VyLmpzCmluZGV4IGQw
NzRkZmE1N2M2ZTQ3ZTlmNzU3ZmFhMmFjNWE3YTBhMDIwYWRiNjYuLjQ3M2VhOWQwMGFmMjI1NTA2
MzYzOGMwZTE1M2NkMzVmZmRmMGRmZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4Lm1vdmVUbygwLCAyNSk7
CiBjdHgucXVhZHJhdGljQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1KTsKIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0
aC4xLmh0bWwKaW5kZXggOGYzYzEwZjkwYzI1YTgzNTNjNzg0NTAwNTk4MGVhNjgxMjRjZDM2YS4u
ZWQ5NDc4OWZlNmY0MmQzYmQ5MjU4YmQ1ZjQ0YzdkYjk3ZjRiNmNkYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJl
c3VicGF0aC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0
aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
SWYgdGhlcmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQg
KGFuZCBub3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRo
ZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0
byBpdCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKDEwMCwg
NTAsIDIwMCwgNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjEu
d29ya2VyLmpzCmluZGV4IDY3YjBiYjIyMjg5Mjc1ZTdjZTNiZDhhNmQ3NDFhNTMzNGE0OGNhZDEu
LjZmNjc1YTZlYTIyZjA0MDg3OGQ4N2ZmZTI5NjIxZTI1MjM0NDU4NjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhl
cmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQgKGFuZCBu
b3RoaW5nIGlzIGRyYXduIHVwIHRvIGl0KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LnF1
YWRyYXRpY0N1cnZlVG8oMTAwLCA1MCwgMjAwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAs
MjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3Vi
cGF0aC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5l
bnN1cmVzdWJwYXRoLjIuaHRtbAppbmRleCAwYTYxZWNkODNjMTU5NDg1YTNiMjBkMTZiNGRlNDlj
YjMzYzIxMTE2Li41NzljMzM1MDQ3YTJjMjY2NWIxMDc1ZmY3ZWVmZDViNzQ4MjQ4Njk4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVz
dWJwYXRoLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3Vy
dmVUby5lbnN1cmVzdWJwYXRoLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4yPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5JZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2lu
dCBpcyBhZGRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIklmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50
IGlzIGFkZGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgucXVhZHJhdGljQ3VydmVUbygw
LCAyNSwgMTAwLCAyNSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5lbnN1cmVzdWJwYXRoLjIu
d29ya2VyLmpzCmluZGV4IGE4Yjg3Y2NjYzg0YzE4YjY5MWNhN2MyY2RlNDFjZjFiNTg0YmNlY2Iu
LmJlZjA2M2MxZGUxMWQzMmVhZmJhMDE0ZmY0MGEzMWVkMzg5ZWVlNGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMi53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
ZW5zdXJlc3VicGF0aC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiSWYgdGhl
cmUgaXMgbm8gc3VicGF0aCwgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQgaXMgYWRkZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDI1LCAxMDAsIDI1KTsK
IGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1
NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRy
YXRpY0N1cnZlVG8ubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVh
ZHJhdGljQ3VydmVUby5ub25maW5pdGUuaHRtbAppbmRleCA5ODA2Y2EwOGM2ZGQ2MDI3M2E4MjVj
YjllNTVhODc5ZWYyODhmOTU1Li5jMGM2NmZmMjM2ZmFmMzgyN2JmMDI5OTY1NjRjYzE5OWFjZmFm
YTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVU
by5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGlj
Q3VydmVUby5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0ZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5w
YXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5xdWFk
cmF0aWNDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZDwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInF1YWRyYXRpY0N1cnZl
VG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDcsNyArNTEsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8ubm9uZmluaXRlLndv
cmtlci5qcwppbmRleCA0ODQxMDUzMjU1NTYwYTQ1YTA2NjNmMTgwYzNhODdjMDZmODY3Mjg0Li4y
NjNlODQyOGEzYWNmN2IzYjY0NGNmYmY4MDU1YzIyOTAwMWFiNTU5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLm5vbmZpbml0
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInF1YWRyYXRpY0N1cnZlVG8oKSB3
aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDMsNyArNDcsNiBAQCBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5MCw0NSwgMCwyNTUsMCwyNTUsICI5MCw0NSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC5odG1sCmluZGV4IDlkMWVjNGZk
NGJjYWQ3NTRmMTgxMTRjNTg5M2NkYTBmMTUxNmRjNGYuLjM0MTM5YTY4OTc1MDNjZmMxZjEyZGY2
OTI3MDA1NDY0M2UwZWMwMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5x
dWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2NhbGVkPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwx
LCAwLDI1NSwwLDI1NSwgIjEsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTgsMSwgMCwyNTUsMCwyNTUsICI5OCwxIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDQ4LCAwLDI1NSwwLDI1NSwgIjEsNDgiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1
NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxl
ZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5z
Y2FsZWQud29ya2VyLmpzCmluZGV4IDJlNDEwNmVkOWM3OWY3YmJmZmUxYmExYTRhNTBlNzg3ZTg0
NDdkNTAuLjc3MGFiOTM4ZjdhZWJhNTdkY2MzMTc4NDVkM2MyNjQwYTAwMDZhODAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNjYWxlZC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2Nh
bGVkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyAr
MzAsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAi
MSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwx
LCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLmh0bWwKaW5kZXggNDBlNDU0
YTdlNDE0MTg3YzI0MjM5ZWMwODM0MDM2YTQ3NzQ1YmYyNC4uZjVlNTVlM2YxZGYxMjdkMWIzZmJh
NWExMWE2YjRmNzQ5NzkxMGYwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGU8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMSwg
MCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUsMCwyNTUsICIxLDQ4IiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUs
MCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFwZS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zaGFw
ZS53b3JrZXIuanMKaW5kZXggZTg3MTBmOWFkYjBlMGU5ZTUyZmFlYzlmMThlMTBhYjBhMTQ1MmQ3
Yi4uOWZmODRlMjJmMWM3ZWU2MDc3ODM3ZjZhZjMxZDdjNTVhMzMxNTkzNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uc2hhcGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLnNoYXBlLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1
NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgsIDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LmJhc2ljLmh0bWwKaW5kZXggMDU5NjY4YWI5ZGI0Yzg1NjRhYzlkMDI4NmIxY2E3OTkxYjMz
NzAyZi4uMDFlZTAyNTVjMzFiNzc2MjZmOWZkNWQ2MzNjMjA4MjQ5NjVhZGVmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuYmFzaWM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5y
ZWN0LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5m
aWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5iYXNpYy53b3JrZXIuanMKaW5kZXggYWJjYWNhZDViZmI2
ZGE0ZWYzZDliYzlmNGRmMjIzZjFjMjBjNjljMi4uZDYzYjc1MjBjYzY2MzVmMDFkZThjMzZkYWJi
MmEyNjE3YmI5ZTg0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
YmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmJhc2lj
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LnJlY3QoMCwgMCwgMTAwLCA1MCk7CiBj
dHguZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xvc2VkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQuaHRtbAppbmRleCA5NDNkN2M5MTkzODBiNTNk
NmM4ZDYyOWUxNTdhZGMwZWRiYTExZWJkLi5kMmE4MzJhOTE0MjllOThkMGI3NzZmZGVkNTVkNWZh
NmYwZTM5ZmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9z
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0
LmNsb3NlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuY2xvc2VkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5saW5lSm9pbiA9ICdtaXRlcic7CiBjdHgucmVj
dCgxMDAsIDUwLCAxMDAsIDEwMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC5jbG9zZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuY2xv
c2VkLndvcmtlci5qcwppbmRleCA5YTJiN2U1NjIzY2JhMjdlMjUwMWVkYjYyYjM1ODkxYWYwNWJk
ZjEwLi5iNzcyZmIwZTk0ZDVlYTM2NzJmZDdlZWI0MTY3OTNjODNlYTQzOGZkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5jbG9zZWQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmNsb3NlZC53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmxpbmVKb2luID0gJ21p
dGVyJzsKIGN0eC5yZWN0KDEwMCwgNTAsIDEwMCwgMTAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC5lbmQuMS5odG1sCmluZGV4IGI0NGM2YTg0YTMxZTE4YzFhN2MxNWUyNTJmNDNkZWVjZjRi
MDZlNjEuLjU5MjM2MjBiNjg0YmQxZDkzZWI5YzUyMGI0MTExODJhY2YxNWMwZWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0LmVuZC4xPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgu
cmVjdC5lbmQuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHgucmVjdCgyMDAsIDEwMCwgNDAwLCAxMDAwKTsKIGN0eC5saW5lVG8oLTIwMDAsIC0xMDAw
KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4xLndvcmtlci5qcwppbmRleCA3
MmIyZDhhZmYxYzU1ZDBmODVlOGU2YzM3MzlmMjdlN2MyNzg5YjgyLi5kMjc1N2VlNDkxYWQ4NjJi
ZWE0NzIxYjUwMDQ0ZTRiYzgyNWMwYzFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC5lbmQuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnJlY3QuZW5kLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMCw3ICsyNCw2IEBAIGN0eC5yZWN0KDIwMCwgMTAwLCA0MDAsIDEwMDApOwogY3R4LmxpbmVU
bygtMjAwMCwgLTEwMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
ZW5kLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLmh0bWwKaW5k
ZXggYTQ4YjI3ZDYxYjk3MjViYTFkYTVkNGUzMzI3Nzg4YzRjNmQ4ZWMyMS4uMDY1YjBhMGViY2Yz
ODMzYWU3NGVmMjU0ODlhMzA2ODFmNjA1ODU3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuZW5kLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC5lbmQuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnJlY3QuZW5kLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0LmVuZC4yPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDEsMSwgMCwyNTUsMCwyNTUsICIxLDEiLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDEsIDAsMjU1LDAsMjU1LCAiOTgsMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSw0OCwgMCwyNTUs
MCwyNTUsICIxLDQ4IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5l
bmQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5lbmQuMi53b3Jr
ZXIuanMKaW5kZXggYTk3MTg3NDVhMzkwMDlmMmUzNjUyMjhiZGFjM2I1MjViN2FkYThhYS4uMDQw
MTZlMTlhYzU1MDdiMDUwZDQxNTBjZmQ3YmU4NmY5M2I0MWU3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuZW5kLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0LmVuZC4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5OCwxLCAwLDI1NSwwLDI1NSwgIjk4LDEiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsNDgsIDAsMjU1LDAsMjU1LCAiMSw0
OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsNDgs
IDAsMjU1LDAsMjU1LCAiOTgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5lZ2F0aXZlLmh0bWwKaW5kZXggNTVl
ZGJhYmQzMWViMjgzMjc1ZTAyY2EyY2FlNjc2MzQwZTJkZWNkNy4uZDllNjhkMTkxMzgwZmQ2MWY0
NzU3ZTM3NjY1ZDE3ZmI3NmQyMmU4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QubmVnYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC5wYXRoLnJlY3QubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5lZ2F0aXZlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUs
ICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5yZWN0Lm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA0ZWUwYjczMGZkMjcxNGRlMDg1ZjhhZDlk
ZDZkODExM2UwZGY4Y2M1Li40ZTI5MDBmMzZmODA0OTdmNmVlYjUxN2IxOGZjM2Y4ZGE0YmNiN2Zl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZWdhdGl2ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmVnYXRpdmUud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwg
IjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwy
NTUsMCwyNTUsICI3NSwxMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMzcsIDAsMjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3Iiwg
IjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5ld3N1YnBhdGguaHRtbAppbmRleCA5ODJlOGI5YzE4OTJhMmIyMDI1Y2Iz
ZWE3NGI1MzFhY2MyNTA4MGYyLi5iN2JiNzg0NWJhNzQ2NzE3ZWIxMTlhM2M4OWJjNmEzODA5ZmI4
ZDk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5uZXdzdWJwYXRo
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QubmV3c3VicGF0aC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJl
Y3QubmV3c3VicGF0aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QubmV3c3VicGF0aDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKC01MCwgMjUpOwog
Y3R4LnJlY3QoMjAwLCAyNSwgMSwgMSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC5uZXdzdWJwYXRoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0Lm5ld3N1YnBhdGgud29ya2VyLmpzCmluZGV4IDFiYWNkYWFkMGM2NWUwYTdiZDcwNTg1YzMw
ZjMwOWQ5ZjFiNjk2NjQuLjA3NDVlYmYyM2ZhZGQ5YjU5MmJmN2UwMTgzNzRiN2RiODk3ZTdmNDcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5ld3N1YnBhdGgud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBA
IGN0eC5saW5lVG8oLTUwLCAyNSk7CiBjdHgucmVjdCgyMDAsIDI1LCAxLCAxKTsKIGN0eC5zdHJv
a2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRlLmh0bWwKaW5kZXggZDNjNjJlNWU2OTIwM2E4
YTc1NGNhNGEyZGNkYzNhOWZlMDg2MDhhOC4uNDVmZDU1ZGRhYzZjZDNjMzNkZDE4YTM5NWRiN2Q0
YmYyNTExNjA5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9u
ZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRl
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBh
dGgucmVjdC5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lm5vbmZpbml0ZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJyZWN0KCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ3LDcgKzUxLDYgQEAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggMzU1ODJmZDY2NGIzZTA4Mzhi
MTYwYzdlOTBhMWY1NWFjZGU2MThkNy4uMTQ0MjMyZTY0NWYwZjdiNTJlYmVjMWQ1NzZhNWVkZDQ3
YzdmMThlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qubm9uZmlu
aXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5ub25maW5p
dGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJyZWN0KCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQzLDcgKzQ3LDYgQEAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTAsNDUsIDAsMjU1LDAsMjU1LCAiOTAsNDUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3Quc2VsZmludGVyc2VjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3Quc2VsZmludGVyc2VjdC5odG1sCmluZGV4IDdjYTFhZjU5ZDUwYjA2ZjZhMGE5MjdkYjllNzI2
N2ZkMjJjOGNiN2UuLmNmMzdmNzYyMTVmNDA2OTQyOTM3NzM3MThiZDVmNjViNDgzYTU4N2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0LnNlbGZpbnRlcnNlY3QuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0Lmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVj
dC5zZWxmaW50ZXJzZWN0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC5zZWxmaW50ZXJzZWN0PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5yZWN0KDQ1LCAyMCwgMTAsIDEwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0LnNlbGZpbnRlcnNlY3Qud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3Quc2VsZmludGVyc2VjdC53b3JrZXIuanMKaW5kZXggMGMyNjFiNjQzZDY0N2Q0NzVk
OTY3YzlmYTA4N2EyNjBlNTFkMjRmYy4uY2NjODA2ZTU5ZWViMDhjN2JhOTI1OGRkNDlkNDE4N2Yz
NmIyNmI2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2VsZmlu
dGVyc2VjdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Quc2Vs
ZmludGVyc2VjdC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgpOwogY3R4LnJlY3QoNDUsIDIwLCAxMCwgMTAp
OwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy5odG1sCmluZGV4IDQ1MzJkZGI5
ZWRmMTcyYWQ0N2JlZGFiMWIzZGIxNjY0MzFiYzBhZTUuLjVkZjM4YzEwNjVhOTczNGQ1MGUzZjJj
ZDgzOTA5MDE1MzMzOWU5MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LndpbmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC53aW5k
aW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnBhdGgucmVjdC53aW5kaW5nPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGgucmVjdC53aW5kaW5nPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDEyLCAwLDI1NSwwLDI1NSwgIjI1LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwxMiwgMCwyNTUsMCwyNTUsICI3NSwxMiIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMzcsIDAs
MjU1LDAsMjU1LCAiMjUsMzciLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDc1LDM3LCAwLDI1NSwwLDI1NSwgIjc1LDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5y
ZWN0LndpbmRpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2lu
ZGluZy53b3JrZXIuanMKaW5kZXggNzJmM2UzYTAxOWVmMjkzOTNlYWM3ZjM4MjBkMjg3ZDk0Y2Jj
ZTkwMC4uYmZmMDNhNDEwNGRmOTIzMTdhZjA3YWEzYjhiZGMzM2ViOThlMzU1NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qud2luZGluZy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMTIsIDAsMjU1LDAsMjU1LCAiMjUsMTIiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDEyLCAwLDI1NSwwLDI1NSwgIjc1
LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwz
NywgMCwyNTUsMCwyNTUsICIyNSwzNyIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMzcsIDAsMjU1LDAsMjU1LCAiNzUsMzciLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnJlY3QuemVyby4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJv
LjEuaHRtbAppbmRleCAyODczYTUyODk1OGY5NjA0YTNjMzNkNWNjZTdmZGMxZTNkZDhiMjU0Li5m
M2Y0MjIxYTM3MjM4ZTg1NjAyZWVkNGVjMDYyYTBjN2VlYWJkZDc4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgucmVjdC56ZXJvLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0Lnplcm8uMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3Qu
emVyby4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0
eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDAsIDUwLCAxMDAsIDApOwogY3R4LnN0cm9rZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5yZWN0Lnplcm8uMS53b3JrZXIuanMKaW5kZXggN2FkNjQwNGIxY2E5NTZhMzcz
NTVkNmMxNGJlOTU2ZTQ1M2RkN2E5OS4uMzk3Y2FlMTk3MDMyYzc3ZDhiNDlkNjMwYzMxNDU5MjY3
NGEyNTNmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4x
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjEud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDAsIDUwLCAxMDAsIDApOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbAppbmRleCAwYmRlYWQwNzBkMzE1NjhmZTFhYjUxZTkz
OTgyMzcxNWZjNWZlMDhhLi5lODZhYTUzMmFlZWVlNDdmYzlhOThjNzk2NDE4NDdkNjJmMzA1NDBl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5yZWN0Lnplcm8uMjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5wYXRoLnJlY3QuemVyby4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDUwLCAtMTAwLCAwLCAy
NTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMi53b3JrZXIuanMKaW5k
ZXggY2Q0MzcwMWFiNDk1YzBkMGE3OTE5NTBjZDBiOGM2ZjA3MTU5NWFhNS4uOGE4N2RlOGU0YzUw
NGM1YjRiNmIzNjJhMDZlOGUwNTYxODFkMDgxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnJlY3QuemVyby4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC56ZXJvLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5yZWN0KDUwLCAtMTAw
LCAwLCAyNTApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby4z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMuaHRtbAppbmRleCAw
MmE4NGUzZTg0MDBkNjYwNjljOWY1ZDUxNGI5M2YyM2JjMDlkMzk0Li41YzdlODFmNDNlNWIyZDZi
ZTAyNzM0ZDMxODhjYmM1MGRhM2JmNzU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGgucmVjdC56ZXJvLjMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVj
dC56ZXJvLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQucGF0aC5yZWN0Lnplcm8uMzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnJlY3QuemVyby4zPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIGN0eC5iZWdpblBhdGgoKTsK
IGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgucmVjdC56ZXJvLjMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3Qu
emVyby4zLndvcmtlci5qcwppbmRleCAxOTE3NjgzOGQ1MmM3YTJiYjUyZjg5ZjhkYzk5Njg0MmI0
ZDQyNGIxLi45Nzk5YWUyOTk5MDFiODc3NjVmM2NiNThkNmMxNWU3NGQyM2I3MGU1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uMy53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LmJlZ2luUGF0aCgp
OwogY3R4LnJlY3QoNTAsIDI1LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5yZWN0Lnplcm8uNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVy
by40Lmh0bWwKaW5kZXggN2M4MDc4MDU4OGY2ZjliMWY1ZDIwNDYyNzRmYTA5Njc0ZGMyZWZhNi4u
NDQ0NWE1MGMyMzdiNmY1OTQxZjBmYjUxY2I4ZGI2MDk1OTdhYmE4YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGgucmVjdC56ZXJvLjQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0
Lnplcm8uNDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHgucmVjdCgxMDAsIDI1LCAwLCAwKTsKIGN0eC5saW5lVG8oMCwgMjUpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby40Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNC53b3JrZXIuanMKaW5kZXggN2M5MTIzNmM3NDgwODQz
ZGNmZjA4YTMwZmFjZDViYmY1ZTY3ZTJkNS4uZjEzN2MwNzVmYWY0OWRjNDVhODIxNzg5ZWJkMGZi
NDhiNjRiNDU5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVy
by40Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5yZWN0KDEwMCwgMjUsIDAsIDApOwogY3R4LmxpbmVUbygwLCAyNSk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgucmVjdC56ZXJvLjUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sCmluZGV4IDNmYzYzNDU3N2E1YWYxMWJjN2Iy
ODQxOTM1NWZmNWJjOGJlYWM5NmIuLmFiNDZkNGQ4NGFlMWJiYmNkMTk1YWI4MWFlMTMwYzhjMTk1
ZWFkZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnJlY3QuemVy
by41PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGgucmVjdC56ZXJvLjU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4Lm1vdmVUbygwLCAwKTsKIGN0eC5yZWN0KDEwMCwgMjUs
IDAsIDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNS53b3JrZXIuanMK
aW5kZXggMWU4MzkwMTZmMjY1M2M0ZmRlYzI0ZWM5MzcyODk3NTJkMzM5NzMxMi4uYzNkYjBhZWE4
ODMyMmQ2MWUzYmJmNjYyM2E4OWE4ZGNhZGE4NTYwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnJlY3QuemVyby41Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgucmVjdC56ZXJvLjUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5tb3ZlVG8oMCwgMCk7CiBjdHgucmVjdCgxMDAs
IDI1LCAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8u
Ni5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby42Lmh0bWwKaW5kZXgg
NDUwZWYzYzM2Njg0ZWMwOTNjNWM2YzdjYTQ4Mzk5YTEzZWQzMjFjNS4uNzM2ZGFmOWY5NmNkYTNj
MTRmNmYxY2VhMTUwNDIxODJiNjM1Y2IzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnJlY3QuemVyby42Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJl
Y3QuemVyby42Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGgucmVjdC56ZXJvLjY8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5yZWN0Lnplcm8uNjwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguYmVnaW5QYXRoKCk7
CiBjdHgucmVjdCgxMDAsIDI1LCAxMDAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
cmVjdC56ZXJvLjYud29ya2VyLmpzCmluZGV4IDQ0YmRhN2VlNzFmMDQwOTZlODJmOGQ0Y2U4YzQy
Nzk0ZWUzOTQ2ZjcuLjNiMGNhNjRkMmFlMzJhYTUxZGU4MzUwYzg2MDllNDdjMGVjZjYzNDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5yZWN0Lnplcm8uNi53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnJlY3QuemVyby42Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguYmVnaW5Q
YXRoKCk7CiBjdHgucmVjdCgxMDAsIDI1LCAxMDAwLCAwKTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UuZW1wdHkuaHRtbAppbmRleCAxNGU0ODlhYmY1MzI3MjUzNmRlMDJlZTIxMmUzMzdi
OWZiOTVmZTVjLi5jMjk0NzdlMmRlZTQ0NDdlZjhiYzYzZGI4ZDIyZWJhNjBiMzc5ZjdmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5lbXB0eS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5lbXB0eTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5wYXRoLnN0cm9rZS5lbXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+RW1wdHkgc3VicGF0
aHMgYXJlIG5vdCBzdHJva2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiRW1wdHkgc3VicGF0aHMgYXJlIG5vdCBzdHJva2VkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjcsNyArMzEsNiBAQCBjdHgubW92ZVRvKDQwLCAyNSk7CiBjdHgubW92ZVRvKDYwLCAyNSk7
CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLmVtcHR5Lndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UuZW1wdHkud29ya2VyLmpzCmluZGV4
IGQ2ZGIyYTAxYjZkMjEyNmRhYmNlZDhkMThlZjJhZDlkNTUwZmVmZGEuLjIzNTAzODA0Nzg3MGY5
NjliMTE4NDlhZmViNmRlNGYyNzkxZTAyMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC5zdHJva2UuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJFbXB0
eSBzdWJwYXRocyBhcmUgbm90IHN0cm9rZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5t
b3ZlVG8oNDAsIDI1KTsKIGN0eC5tb3ZlVG8oNjAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5w
YXRoLnN0cm9rZS5vdmVybGFwLmh0bWwKaW5kZXggYzcyNzdiOTFjYWRkOTUwNzMzYjlhNjhiYjc5
ZjYyY2E4M2EwZTAyZi4uYWVhMjBiMmJiMzEyOWUwZTYwOWU5N2Y1ZWU1YWZiNmQ1Mjc4OTY4ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLm92
ZXJsYXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uub3ZlcmxhcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U3Ryb2tlZCBzdWJwYXRocyBhcmUgY29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXduPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlZCBz
dWJwYXRocyBhcmUgY29tYmluZWQgYmVmb3JlIGJlaW5nIGRyYXduIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyAr
MzAsNiBAQCBjdHgubW92ZVRvKDAsIDMwKTsKIGN0eC5saW5lVG8oMTAwLCAzMCk7CiBjdHguc3Ry
b2tlKCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwxMjcs
MCwyNTUsICI1MCwyNSIsICIwLDEyNywwLDI1NSIsIDEpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5vdmVybGFwLndvcmtlci5qcwpp
bmRleCA1MTYwODQ3OTFjODc2NWQ2YWNkMWM3YTlhZTgxOWE1ZWNiNzNjYWVmLi5kOTdjZmJjYTgw
ZmRkZDM5NDVlNWFkYTkxYjQ4ZGM4YTQzMjkxMTZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLm92ZXJsYXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC5zdHJva2Uub3ZlcmxhcC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlN0cm9rZWQgc3VicGF0aHMgYXJlIGNvbWJpbmVkIGJlZm9yZSBiZWluZyBkcmF3biIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4Lm1vdmVUbygwLCAzMCk7CiBjdHgubGluZVRvKDEwMCwg
MzApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMTI3LDAsMjU1LCAiNTAsMjUiLCAiMCwxMjcsMCwyNTUiLCAxKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5hcmMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuYXJj
Lmh0bWwKaW5kZXggMDY1MzE0ZTgyMDU2ZDljNTBhYzMwYzM1ZTQ3MjdkNmNkYWNmNDIwNy4uZTMy
M2NlMTc5NDhhNDY3MGJmYjQ5YmQ0MDdmMzE1MTUxMzJiMWU4MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQucGF0aC5zdHJva2UucHJ1bmUuYXJjPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ry
b2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVt
b3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5tb3ZlVG8o
NjAsIDI1KTsKIGN0eC5hcmMoNTAsIDI1LCAxMCwgMCwgMCwgZmFsc2UpOwogY3R4LnN0cm9rZSgp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bh
dGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5hcmMud29ya2VyLmpzCmluZGV4IGViYTUy
MzM1MjJmZGQ1OGY2MWRkZTgzOTkxMTUwNjA5M2E5NWE4ZjAuLjgxMmQ3MTBkYWU1ZmQ0Mjg3N2Ni
ZDBlYjU4ODQ0MTYxMWZjMjU4MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUuYXJjLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnBydW5lLmFyYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlpl
cm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgZnJvbSBhcmNUbyBhbmQgYXJjIGFyZSByZW1vdmVkIGJl
Zm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVUbyg2MCwgMjUp
OwogY3R4LmFyYyg1MCwgMjUsIDEwLCAwLCAwLCBmYWxzZSk7CiBjdHguc3Ryb2tlKCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQuaHRtbAppbmRleCA3YzhmZmUxMjdkMGEwMDVk
NWMyZGEyNGVlZDgzYThjNDNjZmJhZDA5Li5kYTcyYzY5MTc3YmNhMmUzOTg5NTM2ODcyYjNmMjUz
MTRkYjk3NWE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNsb3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1
bmUuY2xvc2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5wcnVu
ZS5jbG9zZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlplcm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMg
ZnJvbSBjbG9zZWQgcGF0aHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiWmVyby1sZW5ndGgg
bGluZSBzZWdtZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tp
bmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5saW5lVG8oNTAsIDI1KTsKIGN0eC5jbG9z
ZVBhdGgoKTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
Y2xvc2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
Y2xvc2VkLndvcmtlci5qcwppbmRleCA4YjJlOTIwZTdmNDMwYjNhM2Q1MDNmZWZhNGM3ZGRjZmU1
NjIyY2I5Li40MDc5ODRjYTJhNDYxOTc0ZmQ2NTFhNDdmZmQ3Mzk3NjRmOTY0MDUyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmNsb3NlZC53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRz
IGZyb20gY2xvc2VkIHBhdGhzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTI0LDcgKzI4LDYgQEAgY3R4LmxpbmVUbyg1MCwgMjUpOwogY3R4LmNsb3NlUGF0aCgpOwogY3R4
LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY29ybmVyLmh0bWwKaW5kZXgg
ZWYwOTE5NjM0YjcwNzRhOWQ2NWY5OTIxZTdhNWI5NzljNWU0Zjc4OC4uMjc5NjJjYjIzYTBhMjI4
NzI0ZTE2YTRjYzQwMjJkNGVhOTQ1ZjA3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8y
ZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJk
LnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jb3JuZXI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
cGF0aC5zdHJva2UucHJ1bmUuY29ybmVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRoIG1pdGVyczwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlpl
cm8tbGVuZ3RoIGxpbmUgc2VnbWVudHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIHdpdGgg
bWl0ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHgubGluZVRvKC0xMDAsIDIwMCk7CiBj
dHgubGluZVRvKC0xMDAsIDEwMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5wcnVuZS5jb3JuZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5wcnVuZS5jb3JuZXIud29ya2VyLmpzCmluZGV4IGUwYjBhZDU1NjdlOTIyZmFjNzRk
OTc2OWFmOWExYWM1NGQ4YmYzMzMuLjIwZTllNGIyMzVkNDJhYmU4NDY0OWM2MDQ3MWRlMTk5YmI3
OGUzYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUu
Y29ybmVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBy
dW5lLmNvcm5lci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlplcm8tbGVuZ3Ro
IGxpbmUgc2VnbWVudHMgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIHdpdGggbWl0ZXJzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgubGluZVRvKC0xMDAsIDIwMCk7CiBjdHgubGluZVRv
KC0xMDAsIDEwMDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5jdXJ2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5j
dXJ2ZS5odG1sCmluZGV4IDJmMGRkMWU2NThiYjg1MzUyY2ZkMDZiZjViNjczM2M3OTlkYTM3MzUu
LjYyYTM5YmY5OTM0YTIwYWU4OGVmMzEwMzY2MTAwZjdiNTc2OTkzNmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUuY3VydmUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmN1
cnZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5aZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6
aWVyQ3VydmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNl
Z21lbnRzIGZyb20gcXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6aWVyQ3VydmVUbyBhcmUgcmVtb3Zl
ZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIGN0eC5tb3ZlVG8oNTAs
IDI1KTsKIGN0eC5iZXppZXJDdXJ2ZVRvKDUwLCAyNSwgNTAsIDI1LCA1MCwgMjUpOwogY3R4LnN0
cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5jdXJ2ZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLndvcmtlci5qcwpp
bmRleCA1NGQ2OTU1YzM1M2NkNTMwZWIzMjc1MDk1N2ZlZjM5YTdkNzFiOTNjLi4xYWQ2ZDlhNjEw
OTA2MjE4NzA5M2UwZjgyYWJlZDZlYmYxMThkNmI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLmN1cnZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHF1YWRyYXRpY0N1cnZl
VG8gYW5kIGJlemllckN1cnZlVG8gYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjcsNyArMzEsNiBAQCBjdHgubW92ZVRvKDUwLCAyNSk7CiBjdHguYmV6aWVyQ3VydmVUbyg1
MCwgMjUsIDUwLCAyNSwgNTAsIDI1KTsKIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UucHJ1bmUubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5wcnVuZS5saW5lLmh0bWwKaW5kZXggMmE2NTllYWJlMGFhN2FmZDc4NWRiYzJkOWMwZjAwNmM3
MWM5MWVhZS4uMTgxOGM3MmE4MWFmN2RlN2VmYzhmMjI4NGU3MjY4MjdmZWY1MmY0ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnBy
dW5lLmxpbmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2UucHJ1bmUubGluZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+WmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVtb3ZlZCBi
ZWZvcmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gbGluZVRvIGFyZSBy
ZW1vdmVkIGJlZm9yZSBzdHJva2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4Lm1vdmVU
byg1MCwgMjUpOwogY3R4LmxpbmVUbyg1MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5saW5lLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UucHJ1bmUubGluZS53b3JrZXIuanMKaW5kZXggODIyOWYzNDE3YTJmNGIz
ZDVhOTE4MDdiZjljMjExZWU1YmIzZDhlOC4uYWQxY2E4MzA4MDY3MmY1MGMxMjdhMWMxOTkyMWI1
NmY4MzM2MGI1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5w
cnVuZS5saW5lLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnBydW5lLmxpbmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJaZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGZyb20gbGluZVRvIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4Lm1vdmVUbyg1MCwgMjUpOwogY3R4LmxpbmVUbyg1
MCwgMjUpOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5y
ZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRt
bAppbmRleCBiNGI0YWViMGI2NTNmMzA5ZTg5ZTZlYzAzYjRmNGRlMDI2MWI0ZDhjLi5kMjY1NmFi
Mzk1M2U3YzA3YWU4YzVmODZiNzUyNmU5OTRjNzI2OTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3QuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdDwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5aZXJvLWxlbmd0
aCBsaW5lIHNlZ21lbnRzIGZyb20gcmVjdCBhbmQgc3Ryb2tlUmVjdCBhcmUgcmVtb3ZlZCBiZWZv
cmUgc3Ryb2tpbmc8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcmVjdCBhbmQgc3Ryb2tl
UmVjdCBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBA
IGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBjdHguc3Ryb2tlUmVjdCg1
MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2UucHJ1bmUucmVjdC53b3JrZXIu
anMKaW5kZXggZTNiMmZmODM3MmYzZjNmZGFkZmUzMmI4MWQwMTQwNzQyMDZhMjg5Zi4uMTAyYjZj
MTQyOTIzMWI2ZmZkYjU3MmU0M2JkYzkzOWUyNWViOTVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5wcnVuZS5yZWN0Lndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnBydW5lLnJlY3Qud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20gcmVjdCBhbmQgc3Ry
b2tlUmVjdCBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2
IEBAIGN0eC5yZWN0KDUwLCAyNSwgMCwgMCk7CiBjdHguc3Ryb2tlKCk7CiBjdHguc3Ryb2tlUmVj
dCg1MCwgMjUsIDAsIDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTEuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUxLmh0bWwKaW5kZXggNjFlOWE3
ZWE4MjEyODAxZTI0NTkxNjQzZDAwZDdkZTJhNjEzMjBkOS4uNTliNGUwZTBhMjY2ZjBmNGI0M2Y5
YjkyZjFlZTY0OTEzOWMxMTNjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5zY2FsZTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnNjYWxlMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLnN0cm9rZS5zY2FsZTE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uuc2NhbGUxPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3Vy
cmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBi
eSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MSw3ICs0NSw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5
LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMS53b3JrZXIuanMKaW5kZXggZTVmYzhiY2M5MjM4
NWQ0MjM0YTJiNTg0Y2QxMzM0NjQ5YjM4MzJkZS4uMjQ1MzQyNmNmZWI2OWViYTc4MjQwYTdmY2I2
ODg3NGU0OWRhMzc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
c2NhbGUxLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lk
dGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzcsNyArNDEsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwg
MCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAs
MjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5zY2FsZTIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwKaW5kZXggMGJjNGMy
NmQwNDBhYjNhNjZiNjdiMjBiMTI0YjlmZDQ2YzVkNjBhZi4uOTA1YzA0YWI0MWNlZTlmZmNhN2Ri
ZTc5ZTI2MmM4M2FhMzUyNWUwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnN0cm9rZS5zY2FsZTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tl
LnNjYWxlMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC5wYXRoLnN0cm9rZS5zY2FsZTI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2Uuc2NhbGUyPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5TdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3Vy
cmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBi
eSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00Myw3ICs0Nyw2
IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk5LDI1LCAwLDI1NSwwLDI1NSwgIjk5
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAwLDQ5
LCAwLDI1NSwwLDI1NSwgIjAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDQ5LCAwLDI1NSwwLDI1NSwgIjUwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSw0OSwgMCwyNTUsMCwyNTUsICI5OSw0
OSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1v
YmplY3RzLzJkLnBhdGguc3Ryb2tlLnNjYWxlMi53b3JrZXIuanMKaW5kZXggYjUzMmZiN2EzZDhk
MGYzYWRjOTgxMDZmNGE4NzNmYmJmZTAwMWVmYS4uMzNlMWRjZGMxNTc3OGZmYjIxOTA3Y2Y1YjJl
ZjQyMTMzNDkxNDU2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS5zY2FsZTIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uu
c2NhbGUyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlIGxpbmUgd2lk
dGhzIGFyZSBzY2FsZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4Iik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMzksNyArNDMsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OSwyNSwg
MCwyNTUsMCwyNTUsICI5OSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgMCw0OSwgMCwyNTUsMCwyNTUsICIwLDQ5IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCw0OSwgMCwyNTUsMCwyNTUsICI1MCw0OSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTksNDksIDAs
MjU1LDAsMjU1LCAiOTksNDkiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcuaHRtbAppbmRleCA2MjIwZTdjNTRm
Y2M2NjA5MjU1Y2FhMzdhNDc4MjUwZWFjNTQ3NWQ0Li42ODk2OTY1NzIxMTVjZDZjNTFkZjVhN2U2
MDIwNDcwNGI5ODYxNWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ry
b2tlLnNrZXcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNrZXcu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQucGF0
aC5zdHJva2Uuc2tldzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnN0cm9rZS5za2V3PC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TdHJva2VzIGxpbmVzIGFyZSBza2V3ZWQgYnkgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRp
b24gbWF0cml4PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU3Ryb2tlcyBsaW5lcyBhcmUgc2tld2VkIGJ5IHRoZSBjdXJyZW50IHRyYW5zZm9y
bWF0aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTU2LDcgKzYwLDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUiKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0OSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDksIDAs
MjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5z
dHJva2Uuc2tldy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnNr
ZXcud29ya2VyLmpzCmluZGV4IDEyNWM3MGM4ZWRkNjBiN2ZmMTIyNDA3ZTU4YzZmNmJkMWNjYTM0
OGYuLmIyMDRiZWQxYzFkZjY0N2E2YzhhYzUwNDJmZDc3Yzk3YzdkNGU3ZDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC5zdHJva2Uuc2tldy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS5za2V3Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU3Ryb2tlcyBsaW5lcyBhcmUgc2tld2VkIGJ5IHRoZSBjdXJyZW50IHRyYW5z
Zm9ybWF0aW9uIG1hdHJpeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTUyLDcgKzU2LDYgQEAgX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgOTksMjUsIDAsMjU1LDAsMjU1LCAiOTksMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDAsNDksIDAsMjU1LDAsMjU1LCAiMCw0
OSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsNDks
IDAsMjU1LDAsMjU1LCAiNTAsNDkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk5LDQ5LCAwLDI1NSwwLDI1NSwgIjk5LDQ5IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC5zdHJva2UudW5hZmZlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9r
ZS51bmFmZmVjdGVkLmh0bWwKaW5kZXggZmMyZGZmOTQxYmFiMjBkODQ3MzlmNDM5MGRiNWI4YmZk
Y2U2ZmQ5NS4uMDJkOTdhNjU1NzliNGQ3ZTQ0NTg3YTAxZjNmZGI3OTlmYjk3MjlmZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnVu
YWZmZWN0ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQucGF0aC5zdHJva2UudW5hZmZlY3RlZDwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U3Ryb2tpbmcgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tp
bmcgZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyAr
MzMsNiBAQCBjdHguY2xvc2VQYXRoKCk7CiBjdHguc3Ryb2tlU3R5bGUgPSAnIzBmMCc7CiBjdHgu
c3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwy
NTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcwpp
bmRleCA2YzNjMTY1NTliODY2MjVjYjJlNWI4MjgxYjIwYzNlZjhjNDdiZDdlLi5kOTI5Njk3ZTU4
MzBmMzk4NDRlZmZlYWNlODUyYjQ2NDUyZTU3NTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGguc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9i
amVjdHMvMmQucGF0aC5zdHJva2UudW5hZmZlY3RlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LmNsb3NlUGF0aCgpOwogY3R4LnN0cm9rZVN0eWxl
ID0gJyMwZjAnOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnN0cm9rZS51bmlvbi5odG1sCmluZGV4
IDc2ODg0Y2E1NDY3ZDQ2N2U4NzYxOWFhOWM1ZjE5MTQ2NDVhM2E0MDIuLmRhNTIyNmJlY2YwOTcx
ODgzYzIzMWYwOWI3ODQyYjY1ZjkzMzY4MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMv
MmQucGF0aC5zdHJva2UudW5pb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgu
c3Ryb2tlLnVuaW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnBhdGguc3Ryb2tlLnVuaW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnBhdGguc3Ryb2tlLnVuaW9uPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TdHJva2VzIGluIG9wcG9zaXRlIGRpcmVjdGlvbnMgYXJlIHVu
aW9uZWQsIG5vdCBzdWJ0cmFjdGVkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25zIGFyZSB1
bmlvbmVkLCBub3Qgc3VidHJhY3RlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4Lm1vdmVU
bygxMDAsIDQwKTsKIGN0eC5saW5lVG8oMCwgNDApOwogY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUs
MCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0
cy8yZC5wYXRoLnN0cm9rZS51bmlvbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGguc3Ryb2tlLnVuaW9uLndvcmtlci5qcwppbmRleCAwNTk0YjI4Y2JmNjgyNjM3NTk2ZmU5OGM5
MjVlNWQxYTEyNDY0MmE4Li5lODRjZWUxNzNmOTNmMjM0MTY1MDU1OTE0YTIxNmE1YTFmY2ViZTFk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGguc3Ryb2tlLnVuaW9uLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJlY3Rpb25z
IGFyZSB1bmlvbmVkLCBub3Qgc3VidHJhY3RlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4
Lm1vdmVUbygxMDAsIDQwKTsKIGN0eC5saW5lVG8oMCwgNDApOwogY3R4LnN0cm9rZSgpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgt
b2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMuaHRtbAppbmRleCBlN2NiOGVjZTRmMTQy
NzhkOTQ0NWUyYTBjMzQzOTFlY2RlYTA5ZDhmLi5kOGRmMGU1MGMwOWQ5ZDkyYjZjYzY2YjY4OGQ0
ZmZiYzE2ZjE2MDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNm
b3JtYXRpb24uYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNm
b3JtYXRpb24uYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5wYXRoLnRyYW5z
Zm9ybWF0aW9uLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsy
OCw2IEBAIGN0eC50cmFuc2xhdGUoMCwgLTEwMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGwoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFzaWMud29y
a2VyLmpzCmluZGV4IGFjOWJjMWJiMTZhN2E4OWZlMzMyNmRhNzhiOGU3M2I4ZDFjYmZlZWIuLmE4
NDg5YjA0OTk0ZWZlZjUxMzdmNzkzOTUzOTA3YjU2NDU1MTU1YmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
YXRoLW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5iYXNpYy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmJhc2ljLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgudHJh
bnNsYXRlKDAsIC0xMDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0
aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRo
LW9iamVjdHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1sCmluZGV4IGFiYTU0
NmI4NjdlN2Y5NTM2MWFlOTlhMmNhZDliYjAzMDhjMWQ5MDcuLmJiZDFlNDExNGI4MDI1Yjk5M2Mx
NWE0ZTYwYmYzYmFiNTZkMjU2ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0
aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQu
cGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRocywgbm90IHdo
ZW4gZHJhd2luZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRo
cywgbm90IHdoZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgY3R4LnJvdGF0ZShN
YXRoLlBJLzIpOwogY3R4LnNjYWxlKDAuMSwgMC4xKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3Rz
LzJkLnBhdGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2Jq
ZWN0cy8yZC5wYXRoLnRyYW5zZm9ybWF0aW9uLmNoYW5naW5nLndvcmtlci5qcwppbmRleCAyZjg0
MThkYmVkZmVhODhlODdmMTc0ZGRlOTFhMzY5NWYxY2MzODY5Li5mZjcwY2M0ZDljMGU4YzkzMGQy
Mjc5MGI1NjgxYTM4ZmU0ZWYxNzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBh
dGgudHJhbnNmb3JtYXRpb24uY2hhbmdpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBw
YXRocywgbm90IHdoZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgY3R4LnJvdGF0
ZShNYXRoLlBJLzIpOwogY3R4LnNjYWxlKDAuMSwgMC4xKTsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmpl
Y3RzLzJkLnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVj
dHMvMmQucGF0aC50cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS5odG1sCmluZGV4IDdmMzhkYWVkOGE4
OTE1YWRhOWYyNjVmYTNjMDQ3ODBhODEyZDhjM2QuLjAwMTExZWM3NTNkYWVkZTk5Zjc3N2U0ZWQz
MDMzMWU4M2FiNWI4MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50cmFu
c2Zvcm1hdGlvbi5tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50
cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5wYXRoLnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnBhdGgudHJhbnNmb3JtYXRpb24ubXVsdGlwbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlRyYW5z
Zm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRocywgbm90IHdoZW4gZHJh
d2luZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRocywgbm90
IHdoZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgY3R4LnN0cm9rZSgpOwogY3R4
LnRyYW5zbGF0ZSgwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJh
bnNmb3JtYXRpb24ubXVsdGlwbGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BhdGgtb2JqZWN0cy8yZC5wYXRo
LnRyYW5zZm9ybWF0aW9uLm11bHRpcGxlLndvcmtlci5qcwppbmRleCA2MmJkZTYzZTkxNWU2Mzk3
MzlhYjJhMTAwNzUyYzdkNDRjMTE2ODcyLi5hOGYyMzc5ZDY1MWU0NzRiZTA4MmExODk0YTFmMzE3
NjA1YWFmZTlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGF0aC1vYmplY3RzLzJkLnBhdGgudHJhbnNmb3Jt
YXRpb24ubXVsdGlwbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9wYXRoLW9iamVjdHMvMmQucGF0aC50
cmFuc2Zvcm1hdGlvbi5tdWx0aXBsZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB3aGlsZSBidWlsZGluZyBwYXRocywgbm90IHdo
ZW4gZHJhd2luZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LnN0cm9rZSgpOwogY3R4LnRy
YW5zbGF0ZSgwLCA1MCk7CiBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUxLmJhc2ljLmh0bWwKaW5kZXggODE1MmNmYzk3MzJmN2M0ZGE1OWZkYWVhOTFk
M2Y3NDVmMTAxY2VhZS4uOGQ0ZmIyOWQwZjhjMDRjNTgxNzlmOTMxMDUxNjQyMTU1OTFhMmIyZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0
ZTEuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTEu
YmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSBleGlz
dHMgYW5kIHJldHVybnMgc29tZXRoaW5nPC9wPgpAQCAtMTEsMTMgKzExLDE2IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShpbWdkYXRhKSBleGlzdHMg
YW5kIHJldHVybnMgc29tZXRoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5jcmVhdGVJbWFnZURhdGEo
Y3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSksIG51bGwsICJjdHguY3JlYXRlSW1hZ2VEYXRhKGN0
eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS5i
YXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVh
dGUxLmJhc2ljLndvcmtlci5qcwppbmRleCAyNTBhMTYxZjMyMjU4ZGFkYzQ5OGE4MjQ5YzI1ZGU0
ZDM0NzA4ZGEyLi44ZDc5NWVjMWZmZTljMDRlNzI4OTJmNDVkOTIzNDlmYmUwZTA2MDNmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUxLmJhc2lj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVh
dGUxLmJhc2ljLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdl
RGF0YShpbWdkYXRhKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0RGlmZmVyZW50
KGN0eC5jcmVhdGVJbWFnZURhdGEoY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSksIG51bGwsICJj
dHguY3JlYXRlSW1hZ2VEYXRhKGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkpIiwgIm51bGwiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwuaHRtbAppbmRleCBhMzg1ZDcyZTM5NzBjMzBh
ZjkyNzJkYzdmYmZhMzRhMGFiYzg4MTU5Li5jYzg5NWI3MTQ0Yzc1YjJhMjM5MmY2NDZlMzBlNDli
ODQ5NTBlNjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5jcmVhdGUxLmluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUxLmluaXRpYWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuaW5pdGlhbDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5p
bWFnZURhdGEuY3JlYXRlMS5pbml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFn
ZURhdGEoaW1nZGF0YSkgcmV0dXJucyB0cmFuc3BhcmVudCBibGFjayBkYXRhIG9mIHRoZSByaWdo
dCBzaXplPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sg
ZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhMi5k
YXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3Nl
cnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUxLmluaXRpYWwud29ya2VyLmpzCmluZGV4IGRhMDU0M2M0NDk1MmYzMzNk
NDllMTVlNzdhZWRkZTY1MWZmNGYyMmEuLjI1N2JiZDhjNTc5ODMyNmIzMGZiZWNmYTE4NTBhYTQy
OTcxOWUzY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuaW5pdGlhbC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS5pbml0aWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiY3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sg
ZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhMi5k
YXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3Nl
cnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFuc3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmNyZWF0ZTEuemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMS56ZXJvLmh0bWwKaW5kZXggYmJjYWRhZDMxYzUyYjcyMWZmMGMyZWQxOTAxNGE4ZGQw
ZDEwMTcwOC4uMTAwMGU0NGM4NjMyMDQzMTkyYTM1MDMwZDI3ZDVlYmFiNDA5NTJkZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJv
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmlt
YWdlRGF0YS5jcmVhdGUxLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTEuemVybzwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKG51bGwpIHRocm93cyBUeXBlRXJyb3I8
L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Y3JlYXRlSW1hZ2VEYXRhKG51bGwpIHRocm93cyBUeXBlRXJyb3IiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YShudWxsKTsgfSk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUxLnplcm8ud29ya2VyLmpzCmluZGV4IGYzYmVkODQ4OGU2YzRj
ODRmNjU2Y2I5NzAyMTBkZDQwNWZlMzdjNWYuLjY5M2ZjNTkyN2JmZDU4NDQwZDcwMjdhZjNjNzcz
NTM0ODFiZjdlYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTEuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuY3JlYXRlMS56ZXJvLndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoImNyZWF0ZUltYWdlRGF0YShudWxsKSB0aHJvd3MgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEobnVsbCk7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLmJhc2ljLmh0bWwKaW5kZXggMTNjYjVkZTRjY2QyNGRiODhm
ODY2OTNjMWE5MzYwNDEyY2QwNDExYS4uMzM3MWI5ZGFjYjQ4NzBjOTkyNTk0MjJkNmU5ODMwNTlm
NjExNmUxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMi5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIuYmFzaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LmNyZWF0ZTIuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShzdywg
c2gpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmc8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkg
ZXhpc3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguY3JlYXRlSW1h
Z2VEYXRhKDEsIDEpLCBudWxsLCAiY3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAxKSIsICJudWxsIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy53b3JrZXIuanMKaW5kZXggODIxOTBkNmNi
MGIxNzIxYjVjZTQ3OWYzOWZmNmM4ZDc2YTMwM2ZjZi4uMzYxMjhkOThhNDAzMTk2YzU2ZmQxNWE1
ZTkxYTNkZWVmYzZjZGUwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuY3JlYXRlMi5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYy53b3JrZXIuanMKQEAgLTQsMTYgKzQsMTkg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSBleGlzdHMgYW5kIHJldHVybnMgc29t
ZXRoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSksIG51bGwsICJj
dHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5p
bml0aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
LmluaXRpYWwuaHRtbAppbmRleCBlN2NlZDlkMjE2NjdmYzg1ZTM2M2ZkZDZiYWNiZjBmNDJmNTRj
ZmI2Li5jN2MwODA4MjM2ZWE0N2Y3MTYzOTUzNTA4NTQ1NmQwYTE4YThkYzBjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRpYWwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRp
YWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0
aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3csIHNoKSByZXR1cm5z
IHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemU8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEo
c3csIHNoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRh
Lmxlbmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgIGlz
VHJhbnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50QmxhY2ssICJp
c1RyYW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIuaW5pdGlhbC53
b3JrZXIuanMKaW5kZXggZDNmZWEyNGQ1ODZlOGNhNjY5OWRkZDQzZDBmMzA3YjM1Njk5NzhjMy4u
MTUxMjIxMDY1OGU4Y2JkMWYzZTEzYjEwMjQ1ODhiMzFlM2IxMDA5NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5pbml0aWFsLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmluaXRp
YWwud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3cs
IHNoKSByZXR1cm5zIHRyYW5zcGFyZW50IGJsYWNrIGRhdGEgb2YgdGhlIHJpZ2h0IHNpemUiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMSw3ICsyNSw2IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxl
bmd0aDsgKytpKQogICAgIGlmIChpbWdkYXRhLmRhdGFbaV0gIT09IDApCiAgICAgICAgIGlzVHJh
bnNwYXJlbnRCbGFjayA9IGZhbHNlOwogX2Fzc2VydChpc1RyYW5zcGFyZW50QmxhY2ssICJpc1Ry
YW5zcGFyZW50QmxhY2siKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS5odG1sCmluZGV4IDI1
ZDQ5MDUyYmI0Y2FkYzZiYWM0NjFhNGMwNjNlMWYxZTJmNjJiMjguLjVkNGIxZDBmMzM5YjE2ODA1
MjUwYjc1NGE0MTMwYzEyZTYzMmFlYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLmltYWdlRGF0YS5jcmVhdGUyLmxhcmdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVh
dGVJbWFnZURhdGEoc3csIHNoKSB3b3JrcyBmb3Igc2l6ZXMgbXVjaCBsYXJnZXIgdGhhbiB0aGUg
Y2FudmFzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgd29ya3MgZm9yIHNpemVzIG11Y2ggbGFyZ2Vy
IHRoYW4gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgZm9yICh2YXIgaSA9IDA7
IGkgPCBpbWdkYXRhLmRhdGEubGVuZ3RoOyBpICs9IDc4MTMpIC8vIGNoZWNrIH4xMDI0IHBvaW50
cyAoYXNzdW0KICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAgICAgICBpc1RyYW5z
cGFyZW50QmxhY2sgPSBmYWxzZTsKIF9hc3NlcnQoaXNUcmFuc3BhcmVudEJsYWNrLCAiaXNUcmFu
c3BhcmVudEJsYWNrIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubGFyZ2Uud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS53b3JrZXIuanMK
aW5kZXggZDhhZTE0Y2Y0YjJmMzI3YzQ1OWYwNzNlZjA2NGQwYzA1YTJmODY1Ni4uYWQzNGU2ZDAy
YzBmM2JiNWFiODVjYmM0ZDg1MzgzYTMzZTcxODYzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHdvcmtzIGZv
ciBzaXplcyBtdWNoIGxhcmdlciB0aGFuIHRoZSBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMSw3ICsyNSw2
IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgaW1nZGF0YS5kYXRhLmxlbmd0aDsgaSArPSA3ODEzKSAv
LyBjaGVjayB+MTAyNCBwb2ludHMgKGFzc3VtCiAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0g
MCkKICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiBfYXNzZXJ0KGlzVHJhbnNw
YXJlbnRCbGFjaywgImlzVHJhbnNwYXJlbnRCbGFjayIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5l
Z2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lm5lZ2F0aXZlLmh0bWwKaW5kZXggZDVjNDJlZmVhN2JiNTdmMTljZjcyYzA2MGYxMzVkYTEzNmZl
N2VhYS4uNGM0MmM2YjhkZDc4NmVjNjAxYjZmZTQwOGIzMzhlNmE2OWZmNjI4ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5uZWdhdGl2ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVn
YXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmNyZWF0ZTIu
bmVnYXRpdmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHRh
a2VzIHRoZSBhYnNvbHV0ZSBtYWduaXR1ZGUgb2YgdGhlIHNpemUgYXJndW1lbnRzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1h
Z2VEYXRhKHN3LCBzaCkgdGFrZXMgdGhlIGFic29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBh
cmd1bWVudHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIHZhciBpbWdkYXRhNCA9IGN0eC5jcmVh
dGVJbWFnZURhdGEoLTEwLCAtMjApOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuZGF0YS5sZW5ndGgs
IGltZ2RhdGEyLmRhdGEubGVuZ3RoLCAiaW1nZGF0YTEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YTIu
ZGF0YS5sZW5ndGgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGEubGVuZ3RoLCBpbWdkYXRh
My5kYXRhLmxlbmd0aCwgImltZ2RhdGEyLmRhdGEubGVuZ3RoIiwgImltZ2RhdGEzLmRhdGEubGVu
Z3RoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMy5kYXRhLmxlbmd0aCwgaW1nZGF0YTQuZGF0YS5s
ZW5ndGgsICJpbWdkYXRhMy5kYXRhLmxlbmd0aCIsICJpbWdkYXRhNC5kYXRhLmxlbmd0aCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5jcmVhdGUyLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUud29ya2VyLmpzCmluZGV4IDExZjE2
NDFhYjU5ZDJjNzU4ZjZiODI1NDJjY2M2NzlmMDU1ZTZlZGIuLjViMmY4ZWI1NDhjM2JjMGEzNzZk
MWExNTkxMDFiZjRmNDgyODgyOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubmVnYXRpdmUud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0YWtlcyB0aGUgYWJz
b2x1dGUgbWFnbml0dWRlIG9mIHRoZSBzaXplIGFyZ3VtZW50cyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIz
LDYgQEAgdmFyIGltZ2RhdGE0ID0gY3R4LmNyZWF0ZUltYWdlRGF0YSgtMTAsIC0yMCk7CiBfYXNz
ZXJ0U2FtZShpbWdkYXRhMS5kYXRhLmxlbmd0aCwgaW1nZGF0YTIuZGF0YS5sZW5ndGgsICJpbWdk
YXRhMS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhMi5kYXRhLmxlbmd0aCIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YTIuZGF0YS5sZW5ndGgsIGltZ2RhdGEzLmRhdGEubGVuZ3RoLCAiaW1nZGF0YTIuZGF0
YS5sZW5ndGgiLCAiaW1nZGF0YTMuZGF0YS5sZW5ndGgiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEz
LmRhdGEubGVuZ3RoLCBpbWdkYXRhNC5kYXRhLmxlbmd0aCwgImltZ2RhdGEzLmRhdGEubGVuZ3Ro
IiwgImltZ2RhdGE0LmRhdGEubGVuZ3RoIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZp
bml0ZS5odG1sCmluZGV4IGFlMzZmYzcyYWE0ODhkOGMwMDI1MDBkYTlkYTEyOWI0YmVhNzBmZjMu
LjZmOGFmYzAzMDNmYTFkMzM2MmZkMGRhYjdmZTBiMzY2ODMxOWM2YjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5p
dGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
aW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5jcmVhdGUyLm5v
bmZpbml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y3JlYXRlSW1hZ2VEYXRhKCkgdGhyb3dzIFR5
cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEoKSB0aHJv
d3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcg
KzM3LDYgQEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgu
Y3JlYXRlSW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmopOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1hZ2VEYXRhKDEwLCBuZWdpbmZvYmopOyB9
KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0
ZUltYWdlRGF0YSgxMCwgbmFub2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEocG9zaW5mb2JqLCBwb3NpbmZvYmop
OyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuY3JlYXRlMi5ub25maW5pdGUud29ya2VyLmpzCmlu
ZGV4IDA2MDlkMDU5NTFkNGM0ZGIwN2VlYmIzNzI4Y2EyZTc0YjRjZmI2MDQuLjNmNTg4YjBhZDZi
ZGVlMWQ3ODBhZDNhY2EwYWE2N2Y5MWJiYjMzYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmluaXRlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLm5vbmZpbml0ZS53b3Jr
ZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUltYWdlRGF0YSgpIHRocm93cyBU
eXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVh
dGVJbWFnZURhdGEoMTAsIHBvc2luZm9iaik7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIG5lZ2luZm9iaik7IH0pOwog
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguY3JlYXRlSW1h
Z2VEYXRhKDEwLCBuYW5vYmopOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YShwb3NpbmZvYmosIHBvc2luZm9iaik7IH0p
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLmh0bWwKaW5kZXggMmQ1OWVmZjM4YjEwYWVlZmJk
N2FhYTJjOTE5ZTYyMThlMGE3YjQ5OS4uYjFhMTIzYWY1ZTY5NzBiOWJjYzJhNTZhYjNmMzQ2MTY1
MmM3NTUyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Y3JlYXRlMi5yb3VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIucm91bmQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQ8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LmNyZWF0ZTIucm91bmQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmNyZWF0ZUltYWdlRGF0YSh3LCBo
KSBpcyByb3VuZGVkIHRoZSBzYW1lIGFzIGdldEltYWdlRGF0YSgwLCAwLCB3LCBoKTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImNyZWF0ZUlt
YWdlRGF0YSh3LCBoKSBpcyByb3VuZGVkIHRoZSBzYW1lIGFzIGdldEltYWdlRGF0YSgwLCAwLCB3
LCBoKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGExID0gY3R4LmNyZWF0ZUlt
YWdlRGF0YSgxMC4wMSwgMTAuOTkpOwogdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgw
LCAwLCAxMC4wMSwgMTAuOTkpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEud2lkdGgsIGltZ2RhdGEy
LndpZHRoLCAiaW1nZGF0YTEud2lkdGgiLCAiaW1nZGF0YTIud2lkdGgiKTsKIF9hc3NlcnRTYW1l
KGltZ2RhdGExLmhlaWdodCwgaW1nZGF0YTIuaGVpZ2h0LCAiaW1nZGF0YTEuaGVpZ2h0IiwgImlt
Z2RhdGEyLmhlaWdodCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnJvdW5kLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpz
CmluZGV4IGIwYzRhMDNjY2I2ZjcxMGJjNWQ3N2Y3YzU1NmZjNmU1MjJiYjA4NTcuLjdhNGQ3ZDA4
NTNmMzFmYjU0NDM5NzJlMmZiNWExNWRjMDY3OWVjNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNyZWF0ZTIucm91bmQud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjcmVhdGVJbWFnZURhdGEodywgaCkgaXMgcm91bmRl
ZCB0aGUgc2FtZSBhcyBnZXRJbWFnZURhdGEoMCwgMCwgdywgaCkiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsy
MCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5jcmVhdGVJbWFnZURhdGEoMTAuMDEsIDEwLjk5KTsK
IHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAuMDEsIDEwLjk5KTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGExLndpZHRoLCBpbWdkYXRhMi53aWR0aCwgImltZ2RhdGExLndpZHRo
IiwgImltZ2RhdGEyLndpZHRoIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS5oZWlnaHQsIGltZ2Rh
dGEyLmhlaWdodCwgImltZ2RhdGExLmhlaWdodCIsICJpbWdkYXRhMi5oZWlnaHQiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMi56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5jcmVhdGUyLnplcm8uaHRtbAppbmRleCA4Yzg4Y2M5YjZmYjdhYzczNWFmOWFkM2Y5YTQ0
ZTFhNDI3M2NiODk1Li40M2EyMTZjZGM2MGMyZmY5NjBiYWRmNjM4YWYwMWIyNGEyZjFmMjM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUyLnpl
cm8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5jcmVhdGUy
Lnplcm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLmNyZWF0ZTIuemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuY3JlYXRlMi56ZXJv
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5jcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0aHJvd3MgSU5E
RVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6ZXJvPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dz
IElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93
cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwg
MCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4
LmNyZWF0ZUltYWdlRGF0YSgwLCAxMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9F
UlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgwLCAwKTsgfSk7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmNyZWF0ZTIuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5jcmVhdGUyLnplcm8ud29ya2VyLmpzCmluZGV4IGNmNTRiM2M2ZWZiMzdiY2E2MGU0
NWZmYzUwZDc0YWE1MjUwMTEwMWIuLmU2NDk3N2NhMTYxNzc4ZWRkNGY1NWMzNzViN2YwYWQ0Y2Q4
MTczZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmNy
ZWF0ZTIuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuY3JlYXRlMi56ZXJvLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiY3Jl
YXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVy
byIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTE1LDcgKzE5LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigp
IHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgxMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhf
U0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUltYWdlRGF0YSgwLCAxMCk7IH0pOwog
YXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmNyZWF0ZUlt
YWdlRGF0YSgwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5iYXNpYy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwKaW5kZXggY2ZiNWUzYzJi
YTU3YzgyNDIwY2ZjMGNiNjlhYTUyZjVmY2NiYTNmNi4uZjllNzMwYTliYTNiYTY4ZjE1M2FjMDQ3
YzQ0Yzk3NzJmYTczMTg5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdl
dC5iYXNpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgZXhpc3RzIGFuZCBy
ZXR1cm5zIHNvbWV0aGluZzwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRo
aW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCA1MCksIG51bGws
ICJjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgNTApIiwgIm51bGwiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5iYXNpYy53b3JrZXIuanMKaW5kZXggNjgyNDk0NWQ5ZjgzMzgxZmQyZTI3ZmNkNWNmOWYz
ZTRiYjViYWViMC4uZDRmNGU1MWZkYzM0ZWJjNjI4YWJlMDg3MDI2MTNlMzE4MDIyNWYyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmJhc2ljLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuYmFz
aWMud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgZXhp
c3RzIGFuZCByZXR1cm5zIHNvbWV0aGluZyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydERpZmZlcmVudChjdHguZ2V0SW1hZ2VEYXRh
KDAsIDAsIDEwMCwgNTApLCBudWxsLCAiY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDUwKSIs
ICJudWxsIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLmh0bWwKaW5kZXggYzVlMTg5YjdiZjU4Zjc0NTdj
OWI5NTc0ZjBjNzI5YTA1MmI0NWIyOS4uYWI1NDRhOTdlNTcyMTA0ZTRlNDk0YzhiMTY0YTExMzgz
NzM0M2M3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LmNsYW1wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LmNsYW1wLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmltYWdlRGF0YS5nZXQuY2xhbXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5jbGFtcDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgY2xhbXBzIGNvbG91cnMgdG8gdGhl
IHJhbmdlIFswLCAyNTVdPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgY2xhbXBzIGNvbG91cnMgdG8gdGhlIHJhbmdl
IFswLCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0
SW1hZ2VEYXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAy
NTUsICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEyLmRhdGFbMV0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjI1NSIp
OwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIr
KDIpKyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuY2xhbXAud29ya2VyLmpzCmluZGV4
IDk3YTJhMTQ3Nzc2MGYzYWQ4ZGY5ZTY4ZGVhZGU0YjJjOTc3OTQwYzUuLjE0ODI5NmVhOWJmMWMz
NDFjMjRmNWJmM2JiMTg4MTI1MjgxMzQzMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLmdldC5jbGFtcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LmNsYW1wLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgY2xhbXBzIGNvbG91cnMgdG8gdGhlIHJhbmdlIFsw
LCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1h
Z2VEYXRhKDMwLCAxNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzBdLCAyNTUs
ICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGltZ2Rh
dGEyLmRhdGFbMV0sIDI1NSwgImltZ2RhdGEyLmRhdGFbXCIiKygxKSsiXCJdIiwgIjI1NSIpOwog
X2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDIp
KyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5sZW5ndGguaHRtbAppbmRleCBjOTUxNmQ3YTcz
NWU5ZjgzZTAzYjc4NDM4ZjI2YWFjZDJkZDlmOGY4Li42ZGJkOTUzMmFhNjdiZTRlNWJiNDUzYmIy
OTAyYjFkNzU1NjQ5OTZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubGVuZ3RoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lmxlbmd0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aDwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEu
Z2V0Lmxlbmd0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBh
IGNvcnJlY3RseS1zaXplZCBVaW50OENsYW1wZWRBcnJheTwvcD4KQEAgLTExLDYgKzExLDEwIEBA
CiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMg
YSBjb3JyZWN0bHktc2l6ZWQgVWludDhDbGFtcGVkQXJyYXkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2
IEBAIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIGlt
Z2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGEubGVuZ3RoLCBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQsICJpbWdkYXRh
LmRhdGEubGVuZ3RoIiwgImltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQubGVuZ3RoLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5sZW5ndGgud29ya2VyLmpzCmluZGV4IGY4YTA4ZTI4NjQyZGQ2ZjA1ZjMwOWEy
OTlkMmIxZmU4NTgyMDIzNzEuLmViYjgyNzlmNzNiMmM5MGUwZDkxZGQwZmZhNmQ2N2MxMjllMGNj
MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5s
ZW5ndGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
LmdldC5sZW5ndGgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURh
dGEoKSByZXR1cm5zIGEgY29ycmVjdGx5LXNpemVkIFVpbnQ4Q2xhbXBlZEFycmF5Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fz
c2VydFNhbWUoaW1nZGF0YS5kYXRhLmxlbmd0aCwgaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdo
dCo0LCAiaW1nZGF0YS5kYXRhLmxlbmd0aCIsICJpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0
KjQiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbmZpbml0ZS5odG1sCmluZGV4IGFiOTBhODMxZjljNTM0
Y2U1MGY0NDhiZDFlOTI1NzhlNmQ3MDg4ZTMuLjhkMzBiNTUyYTRhMTBhZjNjYjk4YTFkYmVmYmEw
ZGNlMDIwNGVmMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQubm9uZmluaXRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQubm9uZmluaXRlPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdl
RGF0YS5nZXQubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSB0
aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZTwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
NjUsNyArNjksNiBAQCBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgcG9zaQogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEwLCBwb3NpbmZvYmos
IHBvc2luZm9iaiwgcG9zaW5mb2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIHBvc2luZm9iaiwgMTAsIHBvc2lu
Zm9iaik7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBj
dHguZ2V0SW1hZ2VEYXRhKDEwLCAxMCwgcG9zaW5mb2JqLCBwb3NpbmZvYmopOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0Lm5vbmZpbml0ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQubm9uZmluaXRlLndvcmtlci5qcwppbmRleCBiZmQ1ZmIwMzhhZmRjMzRl
MmFmZGY2MzI0YjM0MWI5OWM5NjgwZTI0Li5iNzA5Y2E2ZTk5ZmNlNzI1MDkyZTEwZDVhMjgyOWIy
MmQxNTliYWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQubm9uZmluaXRlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBO
b3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBv
cnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJvciBpZiBhcmd1bWVudHMgYXJlIG5vdCBm
aW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC02MSw3ICs2NSw2IEBAIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9zaW5mb2JqLCBwb3NpCiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURh
dGEoMTAsIHBvc2luZm9iaiwgcG9zaW5mb2JqLCBwb3NpbmZvYmopOyB9KTsKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxMCwgcG9z
aW5mb2JqLCAxMCwgcG9zaW5mb2JqKTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGN0eC5nZXRJbWFnZURhdGEoMTAsIDEwLCBwb3NpbmZvYmosIHBvc2lu
Zm9iaik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQubm9ucHJlbXVsLmh0bWwKaW5kZXggNDczZDZmNmVm
YWFmYmZkNjA2ODhmODQ1OTFhZmYxZjI1MzI3MzMzOC4uMzJmOGQ1MmYzNTg3Mzk0ZTk0YWVjZTU4
NzdiOGJhNTRhMWFjZWUyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm5vbnByZW11bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5ub25wcmVtdWw8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
aW1hZ2VEYXRhLmdldC5ub25wcmVtdWw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0
YSgpIHJldHVybnMgbm9uLXByZW11bHRpcGxpZWQgY29sb3VyczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVy
bnMgbm9uLXByZW11bHRpcGxpZWQgY29sb3VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgX2Fz
c2VydChpbWdkYXRhLmRhdGFbMV0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygxKSsiXCJdID4g
MjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsyXSA+IDIwMCwgImltZ2RhdGEuZGF0YVtcIiIr
KDIpKyJcIl0gPiAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdID4gMTAwLCAiaW1nZGF0
YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbM10gPCAy
MDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdIDwgMjAwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5u
b25wcmVtdWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm5vbnByZW11bC53b3JrZXIuanMKaW5kZXggNmQ4NWE1YzEyOGViNzg3ZmNmYzNjMjM0MDcw
OTM1NGRhNDMwZDNiYy4uMjY5Njg1ZWNiNzZkZDhmMDA2YmY5ZjViMmQ2ZDZhZmY1ZDZhMWUwNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm5vbnBy
ZW11bC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm5vbnByZW11bC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdl
RGF0YSgpIHJldHVybnMgbm9uLXByZW11bHRpcGxpZWQgY29sb3VycyIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgX2Fzc2VydChpbWdkYXRhLmRhdGFbMV0gPiAyMDAsICJpbWdkYXRhLmRhdGFbXCIi
KygxKSsiXCJdID4gMjAwIik7CiBfYXNzZXJ0KGltZ2RhdGEuZGF0YVsyXSA+IDIwMCwgImltZ2Rh
dGEuZGF0YVtcIiIrKDIpKyJcIl0gPiAyMDAiKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdID4g
MTAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA+IDEwMCIpOwogX2Fzc2VydChpbWdkYXRh
LmRhdGFbM10gPCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdIDwgMjAwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5vcmRlci5hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLmFscGhhLmh0bWwKaW5kZXggNGJmMzBjMDhkZjRkM2EzOWRlNzg0
Mjk5ZjkzN2FlYTBiNGZkY2NlZi4uOTZlNzhiY2FiOGYyMTc2NDFlNTA0Zjk5YzE2ZGMzNmFlMTky
ODU1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0
Lm9yZGVyLmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEuZ2V0Lm9yZGVyLmFscGhhLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQub3JkZXIuYWxwaGE8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkg
cmV0dXJucyBBIGluIHRoZSBmb3VydGggY29tcG9uZW50PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBB
IGluIHRoZSBmb3VydGggY29tcG9uZW50Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwg
MCwgMTAsIDEwKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdIDwgMjAwLCAiaW1nZGF0YS5kYXRh
W1wiIisoMykrIlwiXSA8IDIwMCIpOwogX2Fzc2VydChpbWdkYXRhLmRhdGFbM10gPiAxMDAsICJp
bWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdID4gMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5h
bHBoYS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
b3JkZXIuYWxwaGEud29ya2VyLmpzCmluZGV4IDYxMWE5Yzc3ODFmYmVhMjc5NTUwNmYyNDhlMGEz
NGI5NDBjYTY0OTIuLmE5NzI1MWY2NTc4YThjZTQ2NGI4ZGVlMzNjYmU0N2Q0NjExNmVhYjUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5h
bHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmFscGhhLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1h
Z2VEYXRhKCkgcmV0dXJucyBBIGluIHRoZSBmb3VydGggY29tcG9uZW50Iik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcs
NyArMjEsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiB2YXIgaW1nZGF0YSA9IGN0
eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnQoaW1nZGF0YS5kYXRhWzNdIDwg
MjAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMykrIlwiXSA8IDIwMCIpOwogX2Fzc2VydChpbWdkYXRh
LmRhdGFbM10gPiAxMDAsICJpbWdkYXRhLmRhdGFbXCIiKygzKSsiXCJdID4gMTAwIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLmdldC5vcmRlci5jb2xzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQub3JkZXIuY29scy5odG1sCmluZGV4IGQzYWJlYzM4YTI0ZmFkZjRmNGZmNzlh
M2Q2YWQ1Njc1ZGY1Y2QzOTUuLjg5MjJjMzI0OWIzNWExMmU0Mzg4ZGQ4ODM5MjQ4ZTQ5ZjZiNWE0
NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5v
cmRlci5jb2xzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmNvbHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5n
ZXQub3JkZXIuY29sczwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJu
cyBsZWZ0bW9zdCBjb2x1bW5zIGZpcnN0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBsZWZ0bW9zdCBj
b2x1bW5zIGZpcnN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5n
ZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwg
MCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhW01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSwgMjU1LCAiaW1nZGF0YS5kYXRh
W01hdGgucm91bmQoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIyNTUiKTsKIF9hc3NlcnRTYW1lKGlt
Z2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjQp
XSwgMCwgImltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRh
LndpZHRoKjQpXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5jb2xzLndvcmtl
ci5qcwppbmRleCBjM2E3ZDI1MDQ2NDRjN2M0ZGJhMGVlMTBmMmQzYjgxNWFjMmY3NmRiLi43MWFl
ZGI1OTU4ODE3NzQ0ZGFkOTc2MjUzN2RjYWY0MjE1N2E2ZGY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIuY29scy53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLmNvbHMud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIGxl
ZnRtb3N0IGNvbHVtbnMgZmlyc3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRh
ID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5k
YXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2Ft
ZShpbWdkYXRhLmRhdGFbTWF0aC5yb3VuZChpbWdkYXRhLndpZHRoLzIqNCldLCAyNTUsICJpbWdk
YXRhLmRhdGFbTWF0aC5yb3VuZChpbWdkYXRhLndpZHRoLzIqNCldIiwgIjI1NSIpOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhW01hdGgucm91bmQoKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEu
d2lkdGgqNCldLCAwLCAiaW1nZGF0YS5kYXRhW01hdGgucm91bmQoKGltZ2RhdGEuaGVpZ2h0LzIp
KmltZ2RhdGEud2lkdGgqNCldIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi5odG1s
CmluZGV4IGNlODE1MjFiY2NjNjZhZDEwZjFkNjQwNDZmNTRlMWI4M2UyZDYzYmIuLmY2YTg1OTM4
MTUwZDUyNDEyYTAwZTIyZjNjOTA2NzU1M2RmM2MyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2IuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQub3Jk
ZXIucmdiPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQub3JkZXIucmdiPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5zIFIgdGhlbiBHIHRoZW4gQjwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgp
IHJldHVybnMgUiB0aGVuIEcgdGhlbiBCIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNzZXJ0
U2FtZShpbWdkYXRhLmRhdGFbNF0sIDB4NDQsICJpbWdkYXRhLmRhdGFbXCIiKyg0KSsiXCJdIiwg
IjB4NDQiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVs1XSwgMHg4OCwgImltZ2RhdGEuZGF0
YVtcIiIrKDUpKyJcIl0iLCAiMHg4OCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzZdLCAw
eENDLCAiaW1nZGF0YS5kYXRhW1wiIisoNikrIlwiXSIsICIweENDIik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhLmRhdGFbN10sIDI1NSwgImltZ2RhdGEuZGF0YVtcIiIrKDcpKyJcIl0iLCAiMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yZ2Iud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi53b3JrZXIuanMKaW5kZXggNjU0ZWExOWY2
ZGM0M2ViMzgzN2FkNTcyZDQxZjRmMTQ2OWRkYjQyNC4uMGNjNWI4YmY4NzBkOTNjYzg5NWEwNTk4
M2VjZWZkZDYxYzk3NmU2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJnYi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgUiB0aGVuIEcgdGhlbiBCIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjMsNyArMjcsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbNF0sIDB4NDQsICJpbWdk
YXRhLmRhdGFbXCIiKyg0KSsiXCJdIiwgIjB4NDQiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0
YVs1XSwgMHg4OCwgImltZ2RhdGEuZGF0YVtcIiIrKDUpKyJcIl0iLCAiMHg4OCIpOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YS5kYXRhWzZdLCAweENDLCAiaW1nZGF0YS5kYXRhW1wiIisoNikrIlwiXSIs
ICIweENDIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbN10sIDI1NSwgImltZ2RhdGEuZGF0
YVtcIiIrKDcpKyJcIl0iLCAiMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy5odG1s
CmluZGV4IGJhOGE3NDBjZjQ5ZWI5YzhkZjUyZDU0OGY0Y2E2MDIyYTVjN2YyMTEuLmVjYmMwYTZl
MjI1ZjAxNzJlMmU4NTQxNWNiNGFiNTU1NDMzZjgzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3MuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLmdldC5v
cmRlci5yb3dzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93czwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0b3Btb3N0IHJvd3MgZmlyc3Q8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFn
ZURhdGEoKSByZXR1cm5zIHRvcG1vc3Qgcm93cyBmaXJzdCIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYg
QEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0
U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAi
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVtNYXRoLmZsb29yKGltZ2RhdGEud2lkdGgvMio0
KV0sIDAsICJpbWdkYXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRoLzIqNCldIiwgIjAi
KTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53
aWR0aCo0XSwgMjU1LCAiaW1nZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndp
ZHRoKjRdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQub3JkZXIucm93cy53b3JrZXIu
anMKaW5kZXggOWZiMjNlNmEwNDY1OTc0OWE3MDI2NTAzOTFmYmIyZDU1YjM4YzQ5ZS4uMDg5M2Y1
ZTVhN2YyZTk5YzQ2ODM4MWFiMjZmYjJjMTQ0MTVlMjQ2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3Mud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5yb3dzLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0b3Bt
b3N0IHJvd3MgZmlyc3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4
LmdldEltYWdlRGF0YSgwLCAwLCAxMCwgMTApOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBd
LCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRoLzIqNCldLCAwLCAiaW1nZGF0YS5kYXRh
W01hdGguZmxvb3IoaW1nZGF0YS53aWR0aC8yKjQpXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGFbKGltZ2RhdGEuaGVpZ2h0LzIpKmltZ2RhdGEud2lkdGgqNF0sIDI1NSwgImltZ2Rh
dGEuZGF0YVsoaW1nZGF0YS5oZWlnaHQvMikqaW1nZGF0YS53aWR0aCo0XSIsICIyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEuZ2V0LnJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQucmFuZ2UuaHRtbAppbmRleCA5YTE5YjY1MWY3YTRlZmQ0MzE0MzNiYzA1ODU1NjIy
Yjk2MTVkNDU1Li5lZjE2OGViZjE4NzU3ZmZiYTRlYTA5MGEwNzdhOTU0YTQ1ZGRmMWYyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2UuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VE
YXRhLmdldC5yYW5nZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnJhbmdlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDI1
NV08L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDI1NV0iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNCw3ICsyOCw2IEBAIHZhciBpbWdkYXRhMSA9IGN0eC5nZXRJbWFnZURhdGEoMTAs
IDUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTEuZGF0YVswXSwgMCwgImltZ2RhdGExLmRh
dGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURhdGEo
MzAsIDE1LCAxLCAxKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDI1NSwgImltZ2Rh
dGEyLmRhdGFbXCIiKygwKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2Uud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnJhbmdlLndv
cmtlci5qcwppbmRleCA1Y2FjNzA3YWM5Njk5YjJmYjkzYWRkYzM1Mzc2NTBmMTQ4NTU3ZGZhLi5j
ZWM1OTc0ODVkYmQwODJhZjczNTI2MjNlMzM5MzEwNmM4ZmEwNjZkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQucmFuZ2Uud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5yYW5nZS53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIHJldHVybnMgdmFsdWVzIGlu
IHRoZSByYW5nZSBbMCwgMjU1XSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGEx
ID0gY3R4LmdldEltYWdlRGF0YSgxMCwgNSwgMSwgMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMS5k
YXRhWzBdLCAwLCAiaW1nZGF0YTEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogdmFyIGltZ2Rh
dGEyID0gY3R4LmdldEltYWdlRGF0YSgzMCwgMTUsIDEsIDEpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YTIuZGF0YVswXSwgMjU1LCAiaW1nZGF0YTIuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2UubmVnYXRpdmUuaHRtbAppbmRleCBiNmQ0N2EyMjhl
Nzg2Y2Y2ZmIxY2FmNTMzMzhmOGQ4YmI3MjVmOTE5Li42MDVmZDI0ZDU2ZDIxMTFlYjRlZTFhZjBm
OWVkNmMwYTRmZDRiNjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5u
ZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5uZWdhdGl2ZTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgd29ya3Mgd2l0aCBuZWdhdGl2ZSB3aWR0aCBhbmQg
aGVpZ2h0LCBhbmQgcmV0dXJucyB0b3AtdG8tYm90dG9tIGxlZnQtdG8tcmlnaHQ8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURh
dGEoKSB3b3JrcyB3aXRoIG5lZ2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQsIGFuZCByZXR1cm5zIHRv
cC10by1ib3R0b20gbGVmdC10by1yaWdodCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTM0LDcgKzM4LDYgQEAgX2Fzc2Vy
dFNhbWUoaW1nZGF0YTIuZGF0YVswXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygwKSsiXCJdIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMV0sIDAsICJpbWdkYXRhMi5kYXRhW1wi
IisoMSkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhMi5kYXRhWzJdLCAwLCAiaW1n
ZGF0YTIuZGF0YVtcIiIrKDIpKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTIuZGF0
YVszXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygzKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnNvdXJjZS5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCBlZDgzZWU1NzA4
MmRjNmU2NTc4OTg5OTcwNmU0Yjk2NGE2NzIzZDFmLi5jZWYxYzQzMGZlMTBmYzY4MjY3ODJlOTgx
MTBmNGY4NmE0MmIzMWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm5lZ2F0aXZlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3Mgd2l0aCBuZWdhdGl2ZSB3
aWR0aCBhbmQgaGVpZ2h0LCBhbmQgcmV0dXJucyB0b3AtdG8tYm90dG9tIGxlZnQtdG8tcmlnaHQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbMF0sIDAs
ICJpbWdkYXRhMi5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
Mi5kYXRhWzFdLCAwLCAiaW1nZGF0YTIuZGF0YVtcIiIrKDEpKyJcIl0iLCAiMCIpOwogX2Fzc2Vy
dFNhbWUoaW1nZGF0YTIuZGF0YVsyXSwgMCwgImltZ2RhdGEyLmRhdGFbXCIiKygyKSsiXCJdIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGEyLmRhdGFbM10sIDAsICJpbWdkYXRhMi5kYXRhW1wi
IisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLmh0
bWwKaW5kZXggMDE5MGExZjIyYzNjNWU5NzVjNjk5ZTAwZThlMDMzMjFkNGI4OTY1NS4uNGU0ZWRh
OGYxYTZmZmY4Mzc1YjQwMWY1YWZiYWMzYjYwMzM4MDIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdl
RGF0YS5nZXQuc291cmNlLm91dHNpZGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0
c2lkZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0cmFuc3Bh
cmVudCBibGFjayBvdXRzaWRlIHRoZSBjYW52YXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHRyYW5z
cGFyZW50IGJsYWNrIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTY5LDcgKzczLDYgQEAg
X2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzBdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0
KzBdIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCsxXSwgMCwgImltZ2Rh
dGE3LmRhdGFbMjAqNCsxXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQr
Ml0sIDAsICJpbWdkYXRhNy5kYXRhWzIwKjQrMl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0
YTcuZGF0YVsyMCo0KzNdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzNdIiwgIjAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uub3V0c2lkZS53b3JrZXIuanMKaW5kZXggMGNjNWZk
NGEyNGUwMjgwMWU1ODFlNWYwYmZkOTMwNWRiMmZiMmNlMi4uNzYzNzAwYTBkOTg4ZDY1NTcyYmJk
OGY4OGNkNmRkYWY4NzZkMTU1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLm91dHNpZGUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIHRyYW5zcGFyZW50
IGJsYWNrIG91dHNpZGUgdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTY1LDcgKzY5LDYgQEAgX2Fzc2Vy
dFNhbWUoaW1nZGF0YTcuZGF0YVsyMCo0KzBdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzBdIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKGltZ2RhdGE3LmRhdGFbMjAqNCsxXSwgMCwgImltZ2RhdGE3LmRh
dGFbMjAqNCsxXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhNy5kYXRhWzIwKjQrMl0sIDAs
ICJpbWdkYXRhNy5kYXRhWzIwKjQrMl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YTcuZGF0
YVsyMCo0KzNdLCAwLCAiaW1nZGF0YTcuZGF0YVsyMCo0KzNdIiwgIjAiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnNvdXJjZS5zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQuc291cmNlLnNpemUuaHRtbAppbmRleCBlOTVkZDU1NjVlYmZjMjIwZjg0ZjQ2ODE2ZTUz
YTFmOWQ4NzFmOWUzLi5lMmMzYTFkODhjOTI1YWIzZDg4MDQyZDI2ZDQzNmQzY2M1MTY3NmY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNl
LnNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQu
c291cmNlLnNpemUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0
LnNvdXJjZS5zaXplPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSByZXR1cm5z
IGJpZ2dlciBJbWFnZURhdGEgZm9yIGJpZ2dlciBzb3VyY2UgcmVjdGFuZ2xlPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRh
KCkgcmV0dXJucyBiaWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGExID0gY3R4LmdldEltYWdlRGF0YSgw
LCAwLCAxMCwgMTApOwogdmFyIGltZ2RhdGEyID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAyMCwg
MjApOwogX2Fzc2VydChpbWdkYXRhMi53aWR0aCA+IGltZ2RhdGExLndpZHRoLCAiaW1nZGF0YTIu
d2lkdGggPiBpbWdkYXRhMS53aWR0aCIpOwogX2Fzc2VydChpbWdkYXRhMi5oZWlnaHQgPiBpbWdk
YXRhMS5oZWlnaHQsICJpbWdkYXRhMi5oZWlnaHQgPiBpbWdkYXRhMS5oZWlnaHQiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5zaXplLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC5zb3VyY2Uuc2l6ZS53b3JrZXIuanMKaW5kZXggYmI4YzEwNWE2ODU4
M2JiZTNiZmY3NzVmNGE5YzY5MmMwOWZmMTZmMS4uOWMzMGIyODQyYWFiOTZjM2EwMjUwMDc3Nzlj
NGQzYjJiZmJjYzFkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEuZ2V0LnNvdXJjZS5zaXplLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5nZXQuc291cmNlLnNpemUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSByZXR1cm5zIGJpZ2dlciBJbWFnZURhdGEgZm9yIGJp
Z2dlciBzb3VyY2UgcmVjdGFuZ2xlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgaW1nZGF0
YTEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCk7CiB2YXIgaW1nZGF0YTIgPSBjdHgu
Z2V0SW1hZ2VEYXRhKDAsIDAsIDIwLCAyMCk7CiBfYXNzZXJ0KGltZ2RhdGEyLndpZHRoID4gaW1n
ZGF0YTEud2lkdGgsICJpbWdkYXRhMi53aWR0aCA+IGltZ2RhdGExLndpZHRoIik7CiBfYXNzZXJ0
KGltZ2RhdGEyLmhlaWdodCA+IGltZ2RhdGExLmhlaWdodCwgImltZ2RhdGEyLmhlaWdodCA+IGlt
Z2RhdGExLmhlaWdodCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkuaHRtbAppbmRleCBhYzk1NjNiNWYzMWI1
ZGUwM2I0OWE1N2VlNmRjZjBmZGY2N2NjYzdmLi4zNzFlNzI4ZDg2ZmRhNTJmODhhMDJjNmFlMWU3
ODU2OGYxYTNhOTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQudGlueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLmdldC50aW55Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLmltYWdlRGF0YS5nZXQudGlueTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEuZ2V0LnRpbnk8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldEltYWdlRGF0YSgpIHdvcmtzIGZvciBzaXplcyBzbWFs
bGVyIHRoYW4gb25lIHBpeGVsPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiZ2V0SW1hZ2VEYXRhKCkgd29ya3MgZm9yIHNpemVzIHNtYWxsZXIg
dGhhbiBvbmUgcGl4ZWwiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4
LmdldEltYWdlRGF0YSgwLCAwLCAwLjAwMDEsIDAuMDAwMSk7CiBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGEubGVuZ3RoLCBpbWdkYXRhLndpZHRoKmltZ2RhdGEuaGVpZ2h0KjQsICJpbWdkYXRhLmRh
dGEubGVuZ3RoIiwgImltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNCIpOwogX2Fzc2VydFNh
bWUoaW1nZGF0YS53aWR0aCwgMSwgImltZ2RhdGEud2lkdGgiLCAiMSIpOwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5oZWlnaHQsIDEsICJpbWdkYXRhLmhlaWdodCIsICIxIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC50aW55Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdl
dC50aW55Lndvcmtlci5qcwppbmRleCAzMTY3ZTQ2NWQ2OWZiN2FhYTMxNWUzMTU4ZjFmNGExMzkx
NTQxY2U0Li5lYTkxMzZkMmMwMzc3NjUzZTQ4M2Y2OWM4ZTAxODBlOGVjNDMxMTYzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQudGlueS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnRpbnkud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSB3b3JrcyBmb3Ig
c2l6ZXMgc21hbGxlciB0aGFuIG9uZSBwaXhlbCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgdmFy
IGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDAuMDAwMSwgMC4wMDAxKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YS5sZW5ndGgsIGltZ2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQq
NCwgImltZ2RhdGEuZGF0YS5sZW5ndGgiLCAiaW1nZGF0YS53aWR0aCppbWdkYXRhLmhlaWdodCo0
Iik7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLndpZHRoLCAxLCAiaW1nZGF0YS53aWR0aCIsICIxIik7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmhlaWdodCwgMSwgImltZ2RhdGEuaGVpZ2h0IiwgIjEiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLmdldC51bmFmZmVjdGVkLmh0bWwKaW5kZXggYWZkNzU5YjVkYTU2ODk4MjIz
NTUxMzgxNGEzODRlMjdmMzQ3MGZmOC4uMGQ0YjA2YTUzZmFkMTZiNzFiZjczZDNjODhmYWNjYTdm
OTMyMDlmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnVuYWZmZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5nZXQudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQ8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VE
YXRhLmdldC51bmFmZmVjdGVkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5nZXRJbWFnZURhdGEoKSBp
cyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldEltYWdlRGF0YSgpIGlzIG5vdCBhZmZl
Y3RlZCBieSBjb250ZXh0IHN0YXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBjdHgucmVzdG9y
ZSgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA1MCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAs
MjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0LnVu
YWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
Z2V0LnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDA0OTA0MmY1ZDVmZjVmNjZjNTM2Y2FmOTZm
MTA2ZDkxOWZlNDY2NzcuLjE3YzMxMDM5NjllMzEzZDg0YzI2NWUwZjE5N2Q3NjFkOTM5Nzc0Zjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC51bmFm
ZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5nZXQudW5hZmZlY3RlZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldElt
YWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgs
NyArMzIsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA1MCwg
MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLmdldC56ZXJvLmh0bWwKaW5kZXggNDJkNzFmYzk2NDI3OTJmOTJmNzljNWQyYzAy
NGM0ODVjNGI1YTFjZS4uM2M0NjEzNTgyMjJhOTA4NDU4ZTMyZGVmMjRlMGRlYmNiM2RmYzI1ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEuZ2V0Lnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLmdldC56ZXJvPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5nZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6ZSBpcyB6
ZXJvPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiZ2V0SW1hZ2VEYXRhKCkgdGhyb3dzIElOREVYX1NJWkVfRVJSIGlmIHNpemUgaXMgemVybyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsg
Y3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cygiSU5ERVhf
U0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAwLCAxMCk7IH0p
OwogYXNzZXJ0X3Rocm93cygiSU5ERVhfU0laRV9FUlIiLCBmdW5jdGlvbigpIHsgY3R4LmdldElt
YWdlRGF0YSgxLCAxLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLmdldC56ZXJvLndvcmtlci5qcwpp
bmRleCA1ODg2Yjg4ZTg3M2IxNTAyN2Q2MGY3Yjg5ZDM4MmQ0ZjJlYTVjY2RkLi5hNWE5NjNkYjZj
MWQ0MTRmMmZhODU2NjkxYzU0ZTNiZGE2N2Q0ZDFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5nZXQuemVyby53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEuZ2V0Lnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJnZXRJbWFnZURhdGEoKSB0aHJvd3MgSU5ERVhfU0laRV9FUlIgaWYgc2l6
ZSBpcyB6ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTUsNyArMTksNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1
bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEsIDEsIDEwLCAwKTsgfSk7CiBhc3NlcnRfdGhy
b3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkgeyBjdHguZ2V0SW1hZ2VEYXRhKDEsIDEs
IDAsIDEwKTsgfSk7CiBhc3NlcnRfdGhyb3dzKCJJTkRFWF9TSVpFX0VSUiIsIGZ1bmN0aW9uKCkg
eyBjdHguZ2V0SW1hZ2VEYXRhKDEsIDEsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNs
YW1wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xh
bXAuaHRtbAppbmRleCBiMzY3ODIxYzJjZWM2NWVmMDU4ODQzZGQ4YTI3OGIxN2FjY2Q4YmQzLi4z
NTA2OGVmMWM5MDZlN2M4ODY5NWUwNmY1MTU3NzU5ZmQzOTliYTIzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLm9i
amVjdC5jbGFtcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5JbWFnZURhdGEuZGF0YSBjbGFtcHMgbnVtYmVycyB0byBbMCwgMjU1XTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0
YS5kYXRhIGNsYW1wcyBudW1iZXJzIHRvIFswLCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDEsNyArNDUsNiBA
QCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsi
XCJdIiwgIjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9IElu
ZmluaXR5OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAyNTUsICJpbWdkYXRhLmRhdGFb
XCIiKygwKSsiXCJdIiwgIjI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LmNsYW1wLndvcmtl
ci5qcwppbmRleCAwMDQwMGJmNDU0NjhhNmJjNTc5OGViYTJiYjUxYTQ5MWI3NGRmZTRhLi45ZGE1
M2VhZDhmYTBlNmNhMmRkZTNiZmQwNjIwNDY3ZWI0MGQwMTNiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QuY2xhbXAud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5jbGFtcC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YS5kYXRhIGNsYW1wcyBudW1iZXJz
IHRvIFswLCAyNTVdIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzcsNyArNDEsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRh
LmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKIGltZ2RhdGEu
ZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9IEluZmluaXR5OwogX2Fzc2VydFNhbWUo
aW1nZGF0YS5kYXRhWzBdLCAyNTUsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5vYmplY3QubmFuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5vYmplY3QubmFuLmh0bWwKaW5kZXggMzEyMjRiYWFjOTQzOGFiMTQ2MzJlODIx
MjIzYzIzZjg2M2MxNzNkMi4uYjQ0YWIyYjJkYWQxNjk4ZGZjYmViMjNkODA1MTJlNDRiN2E1Yjg2
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0
Lm5hbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5uYW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLm9iamVjdC5uYW48L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5uYW48L2gx
PgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YS5kYXRhIGNvbnZlcnRzIE5hTiB0byAwPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VE
YXRhLmRhdGEgY29udmVydHMgTmFOIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMyw3ICsyNyw2IEBAIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAi
MCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5kYXRhWzBdID0gImNoZWVzZSI7
CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsi
XCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0Lm5hbi53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLndvcmtlci5qcwppbmRleCBlZjY2
NWU3MDZhYzgxZmM3NWVlMjAxMTE0ZjdlYmUyNDk1MDM2OGJkLi41OTUwMmVkNWFmMmMxMjRjNTQ1
MGY3ZDRlMDZjNmZhMjQ5NzJhNDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5vYmplY3QubmFuLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QubmFuLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgTmFOIHRvIDAiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3
ICsyMyw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtc
IiIrKDApKyJcIl0iLCAiMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5kYXRh
WzBdID0gImNoZWVzZSI7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDAsICJpbWdkYXRh
LmRhdGFbXCIiKygwKSsiXCJdIiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9wZXJ0
aWVzLmh0bWwKaW5kZXggMDRiOWIwMmNlZmM1ODhmYWRjYmY1OGNkYzFmODViYTYzZGU4MjIxMS4u
YTZmMGM5NzdhNjk3MzFkZWRlNTJhZjMyNjNhNjc0NWQ5ZmQ3ZmU5YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucHJvcGVydGll
cy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5p
bWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5wcm9w
ZXJ0aWVzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURhdGEgb2JqZWN0cyBoYXZlIHRoZSBy
aWdodCBwcm9wZXJ0aWVzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgcHJvcGVydGll
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRh
KDAsIDAsIDEwLCAxMCk7CiBfYXNzZXJ0U2FtZSh0eXBlb2YoaW1nZGF0YS53aWR0aCksICdudW1i
ZXInLCAidHlwZW9mKGltZ2RhdGEud2lkdGgpIiwgIidudW1iZXInIik7CiBfYXNzZXJ0U2FtZSh0
eXBlb2YoaW1nZGF0YS5oZWlnaHQpLCAnbnVtYmVyJywgInR5cGVvZihpbWdkYXRhLmhlaWdodCki
LCAiJ251bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihpbWdkYXRhLmRhdGEpLCAnb2JqZWN0
JywgInR5cGVvZihpbWdkYXRhLmRhdGEpIiwgIidvYmplY3QnIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVj
dC5wcm9wZXJ0aWVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLm9iamVjdC5wcm9wZXJ0aWVzLndvcmtlci5qcwppbmRleCAxMDk0YzY2MGZjYjJiYTc3MjFi
MWJiNGRmMmFmZjdmNTVlNzhhY2MxLi5mODI0MWNlZGRhZGQ4NmRjNDBiYTE0ODBiMTQ3ZDI1Y2Ux
Yzk0ZGU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5v
YmplY3QucHJvcGVydGllcy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEub2JqZWN0LnByb3BlcnRpZXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBwcm9wZXJ0aWVzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTYsNyArMjAsNiBAQCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwg
MTAsIDEwKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihpbWdkYXRhLndpZHRoKSwgJ251bWJlcicsICJ0
eXBlb2YoaW1nZGF0YS53aWR0aCkiLCAiJ251bWJlciciKTsKIF9hc3NlcnRTYW1lKHR5cGVvZihp
bWdkYXRhLmhlaWdodCksICdudW1iZXInLCAidHlwZW9mKGltZ2RhdGEuaGVpZ2h0KSIsICInbnVt
YmVyJyIpOwogX2Fzc2VydFNhbWUodHlwZW9mKGltZ2RhdGEuZGF0YSksICdvYmplY3QnLCAidHlw
ZW9mKGltZ2RhdGEuZGF0YSkiLCAiJ29iamVjdCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRv
bmx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVh
ZG9ubHkuaHRtbAppbmRleCA3YWQzYjZiMWE3Y2Y5OGE5ODNhMTAwNTExYTBmNzZmYzZlYjFhZTEz
Li5jNTZiZTViYmIzY2YxYTU5NjYzZmIwNjU1NmQ4ZmVjNTNjOWYxMDViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHku
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1h
Z2VEYXRhLm9iamVjdC5yZWFkb25seTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5JbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSBy
ZWFkLW9ubHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSByZWFkLW9ubHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2Rh
dGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzFd
LCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMSkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShpbWdk
YXRhLmRhdGFbMl0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygyKSsiXCJdIiwgIjAiKTsKIF9hc3Nl
cnRTYW1lKGltZ2RhdGEuZGF0YVszXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDMpKyJcIl0iLCAi
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1h
bmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJlYWRvbmx5Lndvcmtlci5qcwppbmRleCA3
NzBkZjg5ODA4M2VmNzc4Mjc4NjMzMWQxMjU2ZmZlNDBjNGY2MDVlLi4yYmI2ZDFmMTMzNzg0ZTQ0
MDAyYzY1MDJhNWMyZWUwMDIyMWQxYzNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5vYmplY3QucmVhZG9ubHkud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhl
bC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yZWFkb25seS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdlRGF0YSBvYmplY3RzIHByb3BlcnRpZXMgYXJlIHJl
YWQtb25seSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRh
WzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhLmRhdGFbMV0sIDAsICJpbWdkYXRhLmRhdGFbXCIiKygxKSsiXCJdIiwgIjAiKTsKIF9h
c3NlcnRTYW1lKGltZ2RhdGEuZGF0YVsyXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDIpKyJcIl0i
LCAiMCIpOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzNdLCAwLCAiaW1nZGF0YS5kYXRhW1wi
IisoMykrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Bp
eGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwKaW5kZXggY2Ji
NzUxOWE2MWE0NzcyOTM1ZWM1ZTM1ZWQyMGJjMTM3ZjBmZDBkMi4uMzkwMWZhYzdmOWEyYWM3Yzcw
MWRjNTI3ZjFlZjAxMjg4YmU0YWZkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+SW1hZ2VEYXRh
LmRhdGEgcm91bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJvPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgcm91
bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtNDUsNyArNDksNiBAQCBp
bWdkYXRhLmRhdGFbMF0gPSAtMC41OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAi
aW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAtMS41
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkr
IlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQud29ya2VyLmpzCmluZGV4
IDY5MjRlNmMxMTRkODI4YTBjNTUwZTY1YWRiOGMzMzYwYmY1NmM5MjYuLjFmNzZhYmIxMTlmY2M3
NjFkYWFlYjNkMDJhNmVkMjE4MDUwOTNlNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5yb3VuZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnJvdW5kLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgcm91bmRzIG51bWJlcnMgd2l0aCByb3Vu
ZC10by16ZXJvIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtNDEsNyArNDUsNiBAQCBpbWdkYXRhLmRhdGFbMF0gPSAtMC41
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkr
IlwiXSIsICIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAtMS41OwogX2Fzc2VydFNhbWUoaW1nZGF0
YS5kYXRhWzBdLCAwLCAiaW1nZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLm9iamVjdC5zZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC5zZXQuaHRtbAppbmRleCBmMzkyNDBlNzI3NWI4M2JlYzg5MTdmN2Y0MDQ4MjExMzE1
NmEzY2I3Li5hYWQ3N2RmMTVhODg4YmY3MmQwMTI5NGRjODU3NTI0YjEwNTdmNGU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc2V0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURh
dGEub2JqZWN0LnNldDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEub2JqZWN0LnNldDwvaDE+CiA8cCBjbGFz
cz0iZGVzYyI+SW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlmaWVkPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgY2Fu
IGJlIG1vZGlmaWVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBpbWdkYXRhLmRhdGFbMF0gPSAx
MDA7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDEwMCwgImltZ2RhdGEuZGF0YVtcIiIr
KDApKyJcIl0iLCAiMTAwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAyMDA7CiBfYXNzZXJ0U2FtZShp
bWdkYXRhLmRhdGFbMF0sIDIwMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMjAwIik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLm9iamVjdC5zZXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnNldC53b3JrZXIuanMKaW5kZXggNmFiNmZlMTZlOGRmNjIw
ZmY3NjVlNjQxNmFlZTliNDZhN2RlMGJjZC4uOGViNTQzODEyNDM4NGU3ZjU4Y2U4ODRjMGRjYTQ5
MWU5NjA3MDIyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURh
dGEub2JqZWN0LnNldC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEub2JqZWN0LnNldC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklt
YWdlRGF0YS5kYXRhIGNhbiBiZSBtb2RpZmllZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgaW1n
ZGF0YS5kYXRhWzBdID0gMTAwOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAxMDAsICJp
bWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEwMCIpOwogaW1nZGF0YS5kYXRhWzBdID0gMjAw
OwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAyMDAsICJpbWdkYXRhLmRhdGFbXCIiKygw
KSsiXCJdIiwgIjIwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5vYmplY3Quc3RyaW5nLmh0bWwKaW5kZXggN2Q5
NDRkMDAzYzFjNzJiZGJmNjYwYmVhNGExNDFlYTAxMTAwOTdkNy4uYTg1MDI4NzUwZWRkZjI3YTk3
ZWZjNGQ2MDU4MjEwZmUzNWNmNWQwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEub2JqZWN0LnN0cmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmc8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmc8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdl
RGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVtYmVyPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VE
YXRhLmRhdGEgY29udmVydHMgc3RyaW5ncyB0byBudW1iZXJzIHdpdGggVG9OdW1iZXIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiw3ICszMCw2IEBAIF9hc3NlcnRTYW1lKGltZ2RhdGEuZGF0YVswXSwgMTIwLCAiaW1n
ZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIxMjAiKTsKIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsK
IGltZ2RhdGEuZGF0YVswXSA9ICIgKzEzMGUwICI7CiBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFb
MF0sIDEzMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTMwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRh
Lm9iamVjdC5zdHJpbmcud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LnN0cmluZy53b3JrZXIuanMKaW5kZXggNDFhMzgzOTUyNTc5ZmQ1NTZkMTQw
OTg1ZGYyYTQ1Zjg1OGY0NmU0ZC4uZGU4YjIxMjhlOWEzMTljZjhjNTU5ODJmZDQ4ZGM3OTgwYzk2
OTY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2Jq
ZWN0LnN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEub2JqZWN0LnN0cmluZy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIklt
YWdlRGF0YS5kYXRhIGNvbnZlcnRzIHN0cmluZ3MgdG8gbnVtYmVycyB3aXRoIFRvTnVtYmVyIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjIsNyArMjYsNiBAQCBfYXNzZXJ0U2FtZShpbWdkYXRhLmRhdGFbMF0sIDEyMCwg
ImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMTIwIik7CiBpbWdkYXRhLmRhdGFbMF0gPSAx
MDA7CiBpbWdkYXRhLmRhdGFbMF0gPSAiICsxMzBlMCAiOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5k
YXRhWzBdLCAxMzAsICJpbWdkYXRhLmRhdGFbXCIiKygwKSsiXCJdIiwgIjEzMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmlt
YWdlRGF0YS5vYmplY3QudW5kZWZpbmVkLmh0bWwKaW5kZXggODFjMjk1OWEwYjVlYTY3MDI1NGZl
NmM0NDBiYjE5YmUzOTgxOTg1Yi4uNjU4NThlNmRkMzA4YWRkNjc2YzZhYzA1NTdiMmIwYjM4Yzg0
ZWNlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2Jq
ZWN0LnVuZGVmaW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VE
YXRhLm9iamVjdC51bmRlZmluZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmluZWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1h
Z2VEYXRhLm9iamVjdC51bmRlZmluZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkltYWdlRGF0YS5k
YXRhIGNvbnZlcnRzIHVuZGVmaW5lZCB0byAwPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgdW5kZWZp
bmVkIHRvIDAiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIHZhciBpbWdkYXRhID0gY3R4LmdldElt
YWdlRGF0YSgwLCAwLCAxMCwgMTApOwogaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogaW1nZGF0YS5k
YXRhWzBdID0gdW5kZWZpbmVkOwogX2Fzc2VydFNhbWUoaW1nZGF0YS5kYXRhWzBdLCAwLCAiaW1n
ZGF0YS5kYXRhW1wiIisoMCkrIlwiXSIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLm9iamVjdC51bmRlZmlu
ZWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0
LnVuZGVmaW5lZC53b3JrZXIuanMKaW5kZXggYmNkZWQzM2RkODI0NzcxZWQ5ZjhmY2M0ODcyOGI4
MzczY2FlM2EyYy4uZmFmOGI0NTcyNWNiOGQzMGU0YTdiZmU4NjBiZDYxNGMxZTI5YzNkOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEub2JqZWN0LnVuZGVm
aW5lZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
b2JqZWN0LnVuZGVmaW5lZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkltYWdl
RGF0YS5kYXRhIGNvbnZlcnRzIHVuZGVmaW5lZCB0byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBA
QCB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKIGltZ2RhdGEu
ZGF0YVswXSA9IDEwMDsKIGltZ2RhdGEuZGF0YVswXSA9IHVuZGVmaW5lZDsKIF9hc3NlcnRTYW1l
KGltZ2RhdGEuZGF0YVswXSwgMCwgImltZ2RhdGEuZGF0YVtcIiIrKDApKyJcIl0iLCAiMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5hbHBoYS5odG1sCmluZGV4IDUyMzY3MTdlNWJjODlhYzZhODAzYjk5NWVkYmJj
MTJkYjk2YzI4ZjYuLmQ3NzcxZGJlZmU1NTg3N2NjNzE1ZGRkYjNkNTM3YTg0YTAyNjhjZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEucHV0LmFscGhhPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuYWxwaGE8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHB1dHMgbm9uLXNvbGlkIGltYWdlIGRhdGEgY29ycmVj
dGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBub24tc29saWQgaW1hZ2UgZGF0YSBjb3JyZWN0bHkiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCw2NCwgIjUwLDI1
IiwgIjAsMjU1LDAsNjQiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYS53b3JrZXIuanMKaW5k
ZXggYTEwMjBmZDhiODY5NGZkNjJiZWMzODY1MTcwNTc3MDEyMTY4NzE3Mi4uMWFkN2Y2MjQ3YTgx
MDQyODViNWI1M2Y2OTllM2VkM2Y4ZDM1Y2MwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlw
dWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIG5vbi1zb2xpZCBpbWFnZSBkYXRhIGNv
cnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
IGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAw
LCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSww
LDY0LCAiNTAsMjUiLCAiMCwyNTUsMCw2NCIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy5odG1sCmlu
ZGV4IDkxMjM0NjBjMjNmYTI4NGQ3MDIzZjQ3YjdlZWJkNWFlMWJmMzdlY2MuLmZjMzFmODlhMDIy
ZDIxMWYxNWUwYzlmZTcwZWZhMWFmZDRmNTJkNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LmJhc2ljPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LmltYWdlRGF0YS5wdXQuYmFzaWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgp
IHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGdldEltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhczwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dElt
YWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGdldEltYWdlRGF0YSgpIG9udG8gdGhlIGNh
bnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAw
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuYmFzaWMud29y
a2VyLmpzCmluZGV4IDM5NTkzNDhiOTM1YWY5OGM1NWExNzg4NzFjYzkwOWJjMGY3ZWMwMGYuLmMy
MDhkZjk4MGMwODhjMTg2MTI5MTdhODQxYzlkZDIyYmM3M2RmYTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5iYXNpYy53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmJhc2ljLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRhIGZy
b20gZ2V0SW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBj
dHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jbGlwLmh0bWwKaW5kZXggM2RmNjVlMDA1MzBlOWE3NDBjNTkyN2JhNTNm
NGMxYmM0MGM1N2ZkYy4uYWI0M2RiMGRhZTk0OTU0YjE4OTJhZjMzZDI4OGY5M2UwYmFhYTk1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNsaXAu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xpcC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFn
ZURhdGEucHV0LmNsaXA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5jbGlwPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5wdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY2xpcHBpbmcgcmVnaW9u
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjcsNyArMzEsNiBAQCBjdHguY2xpcCgpOwogY3R4LnB1dEltYWdlRGF0YShpbWdkYXRh
LCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1
bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY2xpcC53b3JrZXIuanMKaW5kZXggZTAzOGU0MWVmZWNj
YTNkNmU3MDlhNWUxZDEwZjk3MWJlNTViODA1Ni4uYmI2Njk3MGQxZmZmM2NhYmFmZjI4ZmJhOGM0
N2FkZTVkMGQ5MzFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmNsaXAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQu
aW1hZ2VEYXRhLnB1dC5jbGlwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0
SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMyw3ICsyNyw2IEBAIGN0eC5jbGlwKCk7CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAs
IDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAs
MjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC5odG1sCmluZGV4IDdmNTVmMTc1MmZjYTM2M2M1OTY4
YjMzYzU0NzBmN2ZmZTY4ZmVmNjQuLmU3MDE0MjNhYjNlNjZiMzY2ODFiYjg1ZTIyODc3ZmY3MGFj
NTExZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcmVhdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LmNyZWF0ZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuY3Jl
YXRlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgcHV0cyBpbWFnZSBkYXRh
IGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0
cyBpbWFnZSBkYXRhIGZyb20gY3JlYXRlSW1hZ2VEYXRhKCkgb250byB0aGUgY2FudmFzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjcsNyArMzEsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNyZWF0ZWQud29ya2VyLmpz
CmluZGV4IGFlZGU4NTFjNDg3MzQyYTVlYjhkYTRmOTRlZDIzZWU5MDAwYzhiZjQuLjhkZDcwOTRh
MTI3YTRkMGY5NzY4MDI2NGY3MmZiZGUzZGQ1ODhiN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5jcmVhdGVkLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9t
IGNyZWF0ZUltYWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYg
QEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQog
Y3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5jcm9zcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0LmNyb3NzLmh0bWwKaW5kZXggYTdhZjVmMjlmNmZiODZmYTE0ODNmZTgw
ZDA1YThiZmQ5ZmYyOTFhMS4uZTk5ZTk3ODFlZjAwYjI2YThlOTZmYzFmNTczMThkZTFiN2FkNjAx
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNy
b3NzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmNy
b3NzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LmltYWdlRGF0YS5wdXQuY3Jvc3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5jcm9zczwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgYWNjZXB0cyBpbWFnZSBkYXRhIGdvdCBmcm9t
IGEgZGlmZmVyZW50IGNhbnZhczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3Qg
ZnJvbSBhIGRpZmZlcmVudCBjYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFn
ZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQuY3Jvc3Mud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmNyb3NzLndvcmtlci5qcwppbmRleCBkODExNTYwNjhhOTFlMDBkYjMzNDRkNWYw
MTJlZTNkNGIwNzM3OGM2Li4zOWRjOTJkYmI0MGM5YzY4NGU4MzE5NmY5NTlkMDM0Zjc1OGU0NmNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuY3Jv
c3Mud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5jcm9zcy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgp
IGFjY2VwdHMgaW1hZ2UgZGF0YSBnb3QgZnJvbSBhIGRpZmZlcmVudCBjYW52YXMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMSw3ICsyNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCkKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4
ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5odG1s
CmluZGV4IDNiNWY0MzdlNDQxNmZmZDU0ODI5NjZmMjc2MjI2MzhkY2Y1NmY4M2UuLjc2MmY0YmE1
NjNlYWYzNWYzYTU2NDI5ZjE4NzBjOTlhZTBmMjI2MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURh
dGEucHV0LmRpcnR5Lm5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRp
dmU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVnYXRpdmUt
c2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSBoYW5kbGVzIG5l
Z2F0aXZlLXNpemVkIGRpcnR5IHJlY3RhbmdsZXMgY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyAr
MzUsNiBAQCBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAzNSwyNSwgMCwyNTUs
MCwyNTUsICIzNSwyNSIsICIwLDI1NSwwLDI1NSIsCiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA2NSwyNSwgMCwyNTUsMCwyNTUsICI2NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMTUsIDAsMjU1LDAsMjU1
LCAiNTAsMTUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDQ1LCAwLDI1NSwwLDI1NSwgIjUwLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFu
aXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkubmVnYXRpdmUud29ya2VyLmpzCmluZGV4
IDQ2MGU3OTc3MTQwNjY3ZjZhYWJkOTMwYmM4ODU4N2M1MjY5MTczY2UuLmNiOWU0MDIxZTYxNTcx
YWExMDBjNmIwZjljYzYwMGIwYWViMDI5OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVs
YXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5uZWdhdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBuZWdh
dGl2ZS1zaXplZCBkaXJ0eSByZWN0YW5nbGVzIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMx
LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAsMjU1LDAs
MjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSwwLDI1NSwg
IjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJk
LmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGUuaHRtbAppbmRleCAxYWRhODViZGVjMWJh
MGU3ODc4ODIyODM1NjdlNTBhN2Y2NWEyNzhkLi5hMWM0NWI5NWZmZjUxZTA5ZWU2ZjdiNjI5OGNj
ZGMyZWY4OWRkNDE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQuZGlydHkub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24v
MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkub3V0c2lkZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5Lm91dHNpZGU8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PnB1dEltYWdlRGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52
YXMgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgaGFuZGxlcyBkaXJ0eSByZWN0YW5nbGVzIG91dHNp
ZGUgdGhlIGNhbnZhcyBjb3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk4LDQ1LCAwLDI1NSwwLDI1NSwgIjk4LDQ1Iiwg
IjAsMjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDEsNSwg
MCwyNTUsMCwyNTUsICIxLDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw0NSwgMCwyNTUs
MCwyNTUsICIxLDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5v
dXRzaWRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5vdXRzaWRlLndvcmtlci5qcwppbmRleCA3YTE5NGY5YzE1Y2QxMzU2Yjc4YTA0YTE4
OGM5MTBmZjQ1NmRmYzU5Li44N2NlMjFiNDJjZjhkZmY2MzU0Y2RkMGRmZTdhMjhmNDkyZTc4Nzc0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGly
dHkub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0LmRpcnR5Lm91dHNpZGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJwdXRJbWFnZURhdGEoKSBoYW5kbGVzIGRpcnR5IHJlY3RhbmdsZXMgb3V0c2lkZSB0aGUgY2Fu
dmFzIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTgsNDUsIDAsMjU1LDAsMjU1LCAiOTgsNDUiLCAiMCwyNTUsMCwy
NTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMSw1LCAwLDI1NSwwLDI1
NSwgIjEsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAxLDQ1LCAwLDI1NSwwLDI1NSwgIjEs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEuaHRt
bAppbmRleCA1ZTEzMmQ2OTNjYThjYjJmOGIyZjE3YzExZTEwZjk3NzIyZjg0ZGI0Li5mNWY5M2Y1
YzZmZDIxZjMxYTdhZDNjZjk2NzAyYjBjNmI1OGEyOTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwt
bWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDEuaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5yZWN0MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5LnJlY3QxPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVzIGFyZWFzIGluc2lkZSB0
aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB3aWR0aCBhbmQgaGVpZ2h0PC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkg
b25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNpbmcgd2lk
dGggYW5kIGhlaWdodCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAsMjU1LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwy
NTUiLAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAs
MjU1LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDUwLDE1LCAwLDI1NSwwLDI1NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwy
NTUsICI1MCw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVj
dDEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRp
cnR5LnJlY3QxLndvcmtlci5qcwppbmRleCA3ZDljYTQ2NWYzZTFiNjUyNjI1NzllMmM1ZDQzMzNm
ZTU4NWQ3ZDhhLi4xNGNhNDg1ZDRhMTllODI1ZjIzM2M0Zjk2MzQ3ODNkZjQ3NTkwNjFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVj
dDEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1
dC5kaXJ0eS5yZWN0MS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdl
RGF0YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVz
aW5nIHdpZHRoIGFuZCBoZWlnaHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAs
MjU1LDAsMjU1IiwKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAw
LDI1NSwwLDI1NSwgIjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSww
LDI1NSIsIDIpOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAs
MjU1LDAsMjU1LCAiNTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRp
cnR5LnJlY3QyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
ZGlydHkucmVjdDIuaHRtbAppbmRleCA5NjA1NmQxOTA4MzZjOTBiMDdiZjVmNGEyMDNjZTQ3Yjgw
ZjIwMGE4Li4xZmU3MmI4ODdjZDE0MTMzZjgwY2RkMGI4MTA1ODAzOGJlNWYzNmY4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHku
cmVjdDIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBvbmx5IG1vZGlmaWVz
IGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB4IGFuZCB5PC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VE
YXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNp
bmcgeCBhbmQgeSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMzUsMjUsIDAsMjU1LDAsMjU1LCAiMzUsMjUiLCAiMCwyNTUsMCwyNTUi
LAogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNjUsMjUsIDAsMjU1LDAsMjU1
LCAiNjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDE1LCAwLDI1NSwwLDI1NSwgIjUwLDE1IiwgIjAsMjU1LDAsMjU1IiwgMik7
CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCw0NSwgMCwyNTUsMCwyNTUs
ICI1MCw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5
LnJlY3QyLndvcmtlci5qcwppbmRleCA1MjRhNmQ3NzY5ZDk1YmY1NTk0YWFmMjQ4YjYzZDBjNzgx
ODI0MDA0Li5kYzhmMDdkZDViZGIwZThiODVhMDJkY2QyMzU4NmU2ODZmOGRmOGY4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5k
aXJ0eS5yZWN0Mi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0
YSgpIG9ubHkgbW9kaWZpZXMgYXJlYXMgaW5zaWRlIHRoZSBkaXJ0eSByZWN0YW5nbGUsIHVzaW5n
IHggYW5kIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDM1LDI1LCAwLDI1NSwwLDI1NSwgIjM1LDI1IiwgIjAsMjU1LDAsMjU1IiwK
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDY1LDI1LCAwLDI1NSwwLDI1NSwg
IjY1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwxNSwgMCwyNTUsMCwyNTUsICI1MCwxNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsNDUsIDAsMjU1LDAsMjU1LCAi
NTAsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvLmh0
bWwKaW5kZXggYzE3ZGY5MmRlNGIzY2RhYWI4N2M4NzBkODlhMThkMmRlZDUyOTIwNi4uOWMwZWNj
NTkxMDc3MjQxZDdlNmJkZDEzZGVlMzZiMzcyZjc5ZDg5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0
LmRpcnR5Lnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSB3aXRoIHplcm8tc2l6ZWQgZGlydHkgcmVjdGFuZ2xl
IHB1dHMgbm90aGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggemVyby1zaXplZCBkaXJ0eSByZWN0YW5n
bGUgcHV0cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGlt
Z2RhdGEsIDAsIDAsIDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5p
bWFnZURhdGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0LmRpcnR5Lnplcm8ud29ya2VyLmpzCmluZGV4IGU5YmI0YWM2MGIz
NmI5MzllMzRjN2I1NGFlNDhjM2IwMjVjNTJmYTQuLmY0YTYzOWExNWZhODRiOTliNDM4OTgxYTI3
MTg2YjJlZDU5ZDA0NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1h
Z2VEYXRhLnB1dC5kaXJ0eS56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0
aW9uLzJkLmltYWdlRGF0YS5wdXQuZGlydHkuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBA
QAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIp
OwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggemVyby1zaXplZCBkaXJ0eSByZWN0YW5nbGUg
cHV0cyBub3RoaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApCiBjdHgucHV0SW1hZ2VEYXRhKGltZ2Rh
dGEsIDAsIDAsIDAsIDAsIDAsIDApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm1vZGlmaWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdl
RGF0YS5wdXQubW9kaWZpZWQuaHRtbAppbmRleCBkZGZlNjM0ZjFiMjNhMDI5YTNiYzcxNDA3Yzg5
MDkwZTRkZWVhNzkwLi4xYjA3MGJlMDczNTg4NmFmYTI2Yzk1NTY4MTliODVhYTAxNjJhYzRjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubW9kaWZp
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubW9k
aWZpZWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVk
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSBwdXRzIG1vZGlmaWVkIGltYWdl
IGRhdGEgY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgcHV0cyBtb2RpZmllZCBpbWFnZSBkYXRhIGNv
cnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGlt
Z2RhdGEud2lkdGgqaW1nZGF0YS5oZWlnaHQqNDsgaSA8IGxlbjsgaSArPSA0KQogfQogY3R4LnB1
dEltYWdlRGF0YShpbWdkYXRhLCA0NSwgMjApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8y
ZC5pbWFnZURhdGEucHV0Lm1vZGlmaWVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRp
b24vMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZC53b3JrZXIuanMKaW5kZXggZDIyNTg4ZGNhNmEy
NzkzYTRkNzE0ZjhkNTYwZjA4MjEyMmM2YTAxZS4uZTgxNDQyMjBkMTY2MzNjZTI1NmExYTc1Y2My
NzQ1MWFmM2IwMDgxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFn
ZURhdGEucHV0Lm1vZGlmaWVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQubW9kaWZpZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJwdXRJbWFnZURhdGEoKSBwdXRzIG1vZGlmaWVkIGltYWdlIGRhdGEgY29ycmVjdGx5Iik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjQsNyArMjgsNiBAQCBmb3IgKHZhciBpID0gMCwgbGVuID0gaW1nZGF0YS53aWR0
aCppbWdkYXRhLmhlaWdodCo0OyBpIDwgbGVuOyBpICs9IDQpCiB9CiBjdHgucHV0SW1hZ2VEYXRh
KGltZ2RhdGEsIDQ1LCAyMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0
YS5wdXQubm9uZmluaXRlLmh0bWwKaW5kZXggZDJmMTc0YWYwYmI5NmM4YjFhMjJkMzYzOWI1ZGFj
MTFkZTJjYzg5OS4uOTUxOTY5MWI5OTFmN2E3OGNjMGQwMDdmZDgxMjM5ZjI4ZjE1ZTkwOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm5vbmZpbml0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25m
aW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5ub25maW5p
dGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3Ig
aWYgYXJndW1lbnRzIGFyZSBub3QgZmluaXRlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgdGhyb3dzIFR5cGVFcnJv
ciBpZiBhcmd1bWVudHMgYXJlIG5vdCBmaW5pdGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC05OSw3ICsxMDMsNiBAQCBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURh
dGEoaW1nZGF0YSwgMTAsIDEwLCAxMAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIEluZmluaXR5
LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZp
bml0eSwgMTAsIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwgMTAsIElu
ZmluaXR5LCBJbmZpbml0eSk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQubm9uZmluaXRlLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUud29y
a2VyLmpzCmluZGV4IDViYTM5ZDZiMjhkODU3OTdmMjdmY2RlYzdjMTFlMmIxZDhlNGI3YjAuLjk3
YjgxZDcxZWFjY2FhNWZlYTgwNjA3OTUzMTkzMzk5YjI1YzljNjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5ub25maW5pdGUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFnZURhdGEoKSB0aHJvd3MgVHlw
ZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTk1LDcgKzk5LDYg
QEAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1h
Z2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAxMCwgMTAsIDEwLCBJbmZp
bml0eSwgSW5maW5pdHksIEluZmluaXR5KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMTAsIDEwLCAxMCwg
SW5maW5pdHksIDEwLCBJbmZpbml0eSk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDEwLCAxMCwgMTAsIDEw
LCBJbmZpbml0eSwgSW5maW5pdHkpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLmh0bWwKaW5kZXggYTBm
NzAxNzExODZiNTQwYTgzNjFkNzBlZWUxMTM5ZTllNWMwMTNkYi4uZjM2ZjkzZWVkZGQxOWIzOTFm
NzU2ZTk0M2YyN2JiYWI3NGQ5ODFjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlv
bi8yZC5pbWFnZURhdGEucHV0Lm51bGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9u
LzJkLmltYWdlRGF0YS5wdXQubnVsbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0Lm51bGw8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRh
LnB1dC5udWxsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFnZURhdGEoKSB3aXRoIG51bGwg
aW1hZ2VkYXRhIHRocm93cyBUeXBlRXJyb3I8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgd2l0aCBudWxsIGltYWdl
ZGF0YSB0aHJvd3MgVHlwZUVycm9yIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5n
ZXRDb250ZXh0KCcyZCcpOwogCiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7IGN0eC5wdXRJbWFnZURhdGEobnVsbCwgMCwgMCk7IH0pOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
bnVsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
bnVsbC53b3JrZXIuanMKaW5kZXggMjUzNTA4ZmM5MWI4YWZhODBjM2FjMTUxYjkzNWIyZGJlY2Rk
ZTI1OS4uZTdjNGIzYmMwMTE4YmI0Yzg5OTEwMTBhZTljZDZjNjI2NzU4MTBlYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lm51bGwud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5udWxsLndvcmtl
ci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIHdpdGggbnVsbCBp
bWFnZWRhdGEgdGhyb3dzIFR5cGVFcnJvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKG51bGwsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEu
cHV0LnBhdGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5w
YXRoLmh0bWwKaW5kZXggNDdhZTIwYTI5OTY0OTFmNTRhNTE3OGExNDk2YzU2OGJhNmQ0OTZhNS4u
MTYzNTc2NzhhN2Y5NWEzNDA1ZjIyOTIxZjU0Mjg0ZDA2Nzc4ZjFlMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGguaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQucGF0aC5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5pbWFnZURhdGEucHV0LnBhdGg8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC5wYXRoPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5wdXRJbWFn
ZURhdGEoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGRv
ZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBj
dHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
cGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQu
cGF0aC53b3JrZXIuanMKaW5kZXggYzJlZjE0NTFjZjkxOGNiMmU3MmM0MmQzNmU3MDBlNzkzYWQ0
ZDg5Yy4uMDdkM2E4YTdmZWNlYjBiYjAyYzczNjQyZjZlZmI0MmQ4Nzk1YWM2YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnBhdGgud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC5wYXRoLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5wdXRJbWFn
ZURhdGEoaW1nZGF0YSwgMCwgMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGwo
KTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3Rl
ZC5odG1sCmluZGV4IDNmODA3MDljNmE4MTlhYWMyMDlkMmVhNGVhMGU0NGM4ZjI2YTc4MTEuLjZh
MzE3MGRkYjhiOWQ5MTNmYzQ3MGQ4YzY4ZmRmNTBjNDFjMjA3OGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9w
aXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRh
LnB1dC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZDwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+cHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQg
c3RhdGU8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJwdXRJbWFnZURhdGEoKSBpcyBub3QgYWZmZWN0ZWQgYnkgY29udGV4dCBzdGF0ZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LnRyYW5zbGF0ZSgxMDAsIDUwKTsKIGN0eC5zY2FsZSgw
LjEsIDAuMSk7CiBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuYWZmZWN0ZWQud29ya2VyLmpz
CmluZGV4IDIzZTRjZWExZWVlYzI1NDYzNmJhODcxYmFmM2MzNjJkMDdmNzU0ZjkuLmU3MTRmNDE4
Mzg2ZDg2NmRkNjU1ZjY5ZDE5YzdjYjEwZGRlNjM1ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1t
YW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5hZmZlY3RlZC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3Rl
ZCBieSBjb250ZXh0IHN0YXRlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgudHJhbnNsYXRl
KDEwMCwgNTApOwogY3R4LnNjYWxlKDAuMSwgMC4xKTsKIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0
YSwgMCwgMCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5j
aGFuZ2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvcGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQudW5j
aGFuZ2VkLmh0bWwKaW5kZXggNzI2NDBiZmIyZDc4MDFiNGZkNjM4NjkwOWNhNTlhYmJhN2NiODY4
Mi4uMmQwODU0MjU1MDY3MmM1MWMzZGFiYTJkMjEzZGVmMDU0NDJjM2VmZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VE
YXRhLnB1dC51bmNoYW5nZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQ8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBoYXMg
bm8gZWZmZWN0PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgicHV0SW1hZ2VEYXRhKGdldEltYWdlRGF0YSguLi4pLCAuLi4pIGhhcyBubyBlZmZl
Y3QiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIHZhciBpbWdkYXRhMiA9IGN0eC5nZXRJbWFnZURh
dGEoMC4xLCAwLjIsIDE1LjgsIDE1LjkpOwogZm9yICh2YXIgaSA9IDA7IGkgPCBpbWdkYXRhMi5k
YXRhLmxlbmd0aDsgKytpKSB7CiAgICAgX2Fzc2VydFNhbWUob2xkZGF0YVtpXSwgaW1nZGF0YTIu
ZGF0YVtpXSwgIm9sZGRhdGFbXCIiKyhpKSsiXCJdIiwgImltZ2RhdGEyLmRhdGFbXCIiKyhpKSsi
XCJdIik7CiB9Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC53b3JrZXIuanMKaW5kZXgg
NDE4ZTQ2Y2NmODdkOGM5OWI3NmE5NWViODM0NmQ4OTNiZTUyZDY4ZS4uMGFmOTA1ODMyZTYwNWIw
ODUzNzkyYThjNjA0NTY0MDdiZjI5ZTU3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVs
LW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0LnVuY2hhbmdlZC53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YShnZXRJbWFnZURhdGEoLi4uKSwgLi4uKSBo
YXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCB2YXIgaW1nZGF0YTIgPSBjdHgu
Z2V0SW1hZ2VEYXRhKDAuMSwgMC4yLCAxNS44LCAxNS45KTsKIGZvciAodmFyIGkgPSAwOyBpIDwg
aW1nZGF0YTIuZGF0YS5sZW5ndGg7ICsraSkgewogICAgIF9hc3NlcnRTYW1lKG9sZGRhdGFbaV0s
IGltZ2RhdGEyLmRhdGFbaV0sICJvbGRkYXRhW1wiIisoaSkrIlwiXSIsICJpbWdkYXRhMi5kYXRh
W1wiIisoaSkrIlwiXSIpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
cGl4ZWwtbWFuaXB1bGF0aW9uLzJkLmltYWdlRGF0YS5wdXQud3Jvbmd0eXBlLmh0bWwKaW5kZXgg
MWEzMTg3OWYwNjk5NjI1MThiNDZiYTFhY2ZlMmNjZWJmMTc5MGEzOC4uOTA3MDA1NTIzNzFkMzQz
NWI0YmVkMjAwZDVhZmM1MDhkMTE4ZjU5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxh
dGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9waXhlbC1tYW5p
cHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGUuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGU8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5cGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnB1
dEltYWdlRGF0YSgpIGRvZXMgbm90IGFjY2VwdCBub24tSW1hZ2VEYXRhIG9iamVjdHM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJwdXRJbWFn
ZURhdGEoKSBkb2VzIG5vdCBhY2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCB2YXIgaW1nZGF0YSA9IHsgd2lkdGg6IDEsIGhlaWdodDogMSwgZGF0YTog
WzI1NSwgMCwgMCwgMjU1XSB9OwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOyB9KTsKIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3R4LnB1dEltYWdlRGF0YSgiY2hlZXNl
IiwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkg
eyBjdHgucHV0SW1hZ2VEYXRhKDQyLCAwLCAwKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9waXhlbC1tYW5pcHVsYXRpb24vMmQuaW1hZ2VEYXRhLnB1dC53cm9uZ3R5
cGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndy
b25ndHlwZS53b3JrZXIuanMKaW5kZXggMThkNzM3YzcwNzIxN2FlZmJjYTBiOGU3MzM2NWYwNzcz
ZTJiZDU4OS4uOTNkYzMzYzA3OTU1Y2ZiOGU1ZWViODdjMmFlZGZkODQxOGJiYTc3ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndyb25ndHlwZS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3BpeGVsLW1hbmlwdWxhdGlvbi8yZC5pbWFnZURhdGEucHV0Lndy
b25ndHlwZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInB1dEltYWdlRGF0YSgp
IGRvZXMgbm90IGFjY2VwdCBub24tSW1hZ2VEYXRhIG9iamVjdHMiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsy
MCw2IEBAIHZhciBpbWdkYXRhID0geyB3aWR0aDogMSwgaGVpZ2h0OiAxLCBkYXRhOiBbMjU1LCAw
LCAwLCAyNTVdIH07CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7IH0pOwogYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjdHgucHV0SW1hZ2VEYXRhKCJjaGVlc2UiLCAwLCAw
KTsgfSk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGN0eC5w
dXRJbWFnZURhdGEoNDIsIDAsIDApOyB9KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hbHBoYS4xLmh0bWwKaW5kZXggYzIyM2UyNTA5MGEyZGI1ZmI1OGQzZDE4YmU4OTQxOWQy
NTMyMDc3YS4uNGE4OTY5MzRiMjUyN2Q2NmMxYzYyYzEzMjg3MGY2M2EyMDY0NDIzMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYWxwaGEuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYWxwaGEuMTwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1
c2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIs
NyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAsIDAuMDEpJzsKIGN0
eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1IiwgNCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hbHBoYS4xLndvcmtlci5qcwppbmRleCA5ODUyMDMzZWVkNzBjZmFjNmU0Yjg4YzVj
YmE4ZjY2Y2FjN2RiYmJjLi42ZGI3NDMyNTVmYWZkNmFkNTE3MDc2MzBjYWUwYTFkYmQxNmQ1YTZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMS53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMg
QEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
KTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBh
c3luY190ZXN0KCJTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVzZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICdyZ2JhKDI1NSwgMCwgMCwgMC4w
MSknOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAs
MjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCA0KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5hbHBoYS4yLmh0bWwKaW5kZXggNTNkZDAxNTIzMGMyNTZiMmE5MzgyOTE5ZjI0
OTRmZmFjYjdjZjBmMS4uN2RmMGViNTQxMmI5YzAyZDlhN2FjNGFkNjBhY2E4Zjg4Yjk2NmE0YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuMjwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYWxw
aGEuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRz
IGFyZSB1c2VkPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgiU2hhZG93IGNvbG91ciBhbHBoYSBjb21wb25lbnRzIGFyZSB1c2VkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgwLCAwLCAyNTUsIDAuNSkn
OwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTAp
OwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywy
NTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4yLndvcmtlci5qcwppbmRleCA0OTEzOTdhOGExYWI2OGRl
YTliN2IwZWVlNTcyMjAxYzM1MWM1YzMyLi40N2M1Y2I5MzVmNGJmMGYxZDUzZTk3MDMyM2E0OTRh
MmNiZGViN2EyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMi53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjIud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3cgY29sb3VyIGFscGhhIGNvbXBvbmVudHMgYXJlIHVz
ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICdyZ2JhKDAsIDAs
IDI1NSwgMC41KSc7CiBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogY3R4LmZpbGxSZWN0KDAsIC01
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAyKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLmh0bWwKaW5kZXggNWNhYzY0ZDhkZDY4N2Ez
N2IzOWM2ZjM2OGM1ZjQ2Y2JjYjc5YjhlNS4uMmQ5MDlmNmViYTYzYzZkNjgyMTc4ODVlNGUxMTlh
MjMxZTc5Y2UwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYWxwaGEuMzwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC5zaGFkb3cuYWxwaGEuMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgYWZmZWN0
ZWQgYnkgZ2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFy
IHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5nbG9iYWxB
bHBoYSA9IDAuNTsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIx
MjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5hbHBoYS4zLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5hbHBoYS4zLndvcmtlci5qcwppbmRleCBmMzBjYmEyMDE0NzIzYTIyYWNhMmY0MjBkNGVhYjI3
ZGU2OWMzMjQyLi5iYmJhNWU3NTQyZDE3YzNlMDc1ZDI4MmFkMWExZjMyNDc3MjljNDg0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuMy53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5nbG9iYWxBbHBoYSA9IDAuNTsK
IGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1
IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hbHBoYS40Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC5odG1sCmlu
ZGV4IGU3YWFkNGYzZTA4YzRlZWVmM2FkNjFmMjQxM2JiODAxMWI4M2EyZTUuLjZlMzgwODE3YWM4
M2VlN2U4YzhiNWE2ODhmYTliN2YxOGVjNzU3MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hbHBoYS40Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjQu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hh
ZG93LmFscGhhLjQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmFscGhhLjQ8L2gxPgogPHAgY2xhc3M9ImRlc2Mi
PlNoYWRvd3Mgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBjb3JyZWN0bHkgYWZmZWN0ZWQgYnkg
Z2xvYmFsQWxwaGE8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJTaGFkb3dzIHdpdGggYWxwaGEgY29tcG9uZW50cyBhcmUgY29ycmVjdGx5IGFm
ZmVjdGVkIGJ5IGdsb2JhbEFscGhhIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93
T2Zmc2V0WSA9IDUwOwogY3R4Lmdsb2JhbEFscGhhID0gMC43MDc7CiBjdHguZmlsbFJlY3QoMCwg
LTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNC53b3JrZXIuanMKaW5kZXggMWMx
YjYxOWVjY2NiMTE0OGY5Y2Q1Nzc1ZjllN2Q3ZjE5MTM2MmM3NC4uODM4ZmI1YmYyYzAzMjFhN2Q0
MjYwMzk1YjQ0ODc5MmQ5MjAxY2NmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmFscGhhLjQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS40Lndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyB3aXRoIGFscGhhIGNvbXBv
bmVudHMgYXJlIGNvcnJlY3RseSBhZmZlY3RlZCBieSBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5nbG9iYWxBbHBoYSA9IDAu
NzA3OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEy
NywyNTUiLCAyKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmFscGhhLjUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lmh0
bWwKaW5kZXggZGIzMWY3MTE5YWIzOGExNWYyMWJjNDY5MTU2ZDA5NzM1M2E1MDM1My4uZTQ2NWQz
ZGFmZDIzMmQ4YjM3OWZkMTU4YjVkYmI2NDE1MDYzNjYzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmFscGhhLjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxw
aGEuNS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zaGFkb3cuYWxwaGEuNTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuYWxwaGEuNTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBvZiBzaGFwZXMgd2l0aCBhbHBoYSBjb21wb25lbnRzIGFyZSBkcmF3biBj
b3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyB3aXRoIGFscGhhIGNvbXBvbmVudHMgYXJlIGRyYXdu
IGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMw
MGYnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEy
NywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hbHBoYS41Lndvcmtlci5qcwppbmRleCBkZDc2OTlmYmUyMTll
ZjkzNmY3ZDFhZjZlOWI2NDA0MmQ4MjhjNTRlLi43NDdhYmE3MTEyN2Y4MGQxODBlYWYzNzJhNmJj
YWFhY2I3ZTZiMzIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYWxwaGEuNS53
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmFscGhhLjUud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyB3aXRoIGFscGhhIGNvbXBv
bmVudHMgYXJlIGRyYXduIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnNo
YWRvd0NvbG9yID0gJyMwMGYnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwyNSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLmh0bWwKaW5kZXggMjkwZmZiYmU4ZjY2ZGU1NGQ4ZmY3
NzY2NTk1OGRiM2Y2NjM2YzlkMi4uYTE2Zjk5ZjRiYWNiYTY3YmZjYTg4ZGM2YTc3YTU1YWIyNmJk
YmJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93Qmx1ci5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbDwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWw8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3lu
Y190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4LnNoYWRvd0JsdXIiLCAi
MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci5pbml0aWFsLndvcmtlci5qcwppbmRleCAw
NDA2ZTVmOWM3YjQyZDM5ZmU3ZWJmNmQ2ZTU2ZmMzMTdlNWYzNWM1Li41YTY0MzIzNDM0NzkwYjhj
YTk3ZTIyN2NkNmQ0OGE4ODIzY2YyZmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW5pdGlhbC53b3JrZXIuanMKQEAg
LTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAwLCAiY3R4
LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLmludmFsaWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC5odG1sCmlu
ZGV4IDEwOGMwZDBkYTQwOTdiNmQ3Y2E4MWNkNWU4ZWZhYTc3NTBhNzMxODguLjEwY2Y5NzFmNzQy
YmU5NzQzMGMxM2RhNDNmYzRiY2FhNDRlYTk5NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRl
cy5zaGFkb3dCbHVyLmludmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1
ci5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBA
IF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxLCAiY3R4LnNoYWRvd0JsdXIiLCAiMSIpOwog
Y3R4LnNoYWRvd0JsdXIgPSAxOwogY3R4LnNoYWRvd0JsdXIgPSBOYU47CiBfYXNzZXJ0U2FtZShj
dHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dCbHVyIiwgIjEiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0JsdXIuaW52YWxpZC53b3JrZXIuanMKaW5kZXggZDRlMzdhMWNjZGE0YjE5ZmQ1ZDc3
YjIwZjcwNTRkYTNmYWNlZTFlZC4uZjA5NDc3NGUxMTk1YjU4ZDQzMWNhYzY4OGYyMWJkMmU1M2Uw
YmI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Qmx1ci5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAx
LCAiY3R4LnNoYWRvd0JsdXIiLCAiMSIpOwogY3R4LnNoYWRvd0JsdXIgPSAxOwogY3R4LnNoYWRv
d0JsdXIgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Qmx1ciwgMSwgImN0eC5zaGFkb3dC
bHVyIiwgIjEiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZC5odG1sCmluZGV4IDQ1YTgzOTVj
ODU0ODJhOGFmMmQ1MzFmNmJmM2RmOWNlMjQ3MDMzNTEuLmRmMzg3NzYzYzM4Y2M2ODg2OWNjYmVi
YjU2YWJlMWM0OWFkNjg1ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRy
aWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFs
aWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Qmx1ci52YWxpZDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93Qmx1ciA9IDFl
NjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAxZTYsICJjdHguc2hhZG93Qmx1ciIsICIx
ZTYiKTsKIGN0eC5zaGFkb3dCbHVyID0gMDsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dCbHVyLCAw
LCAiY3R4LnNoYWRvd0JsdXIiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dCbHVyLnZhbGlkLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQu
d29ya2VyLmpzCmluZGV4IGFhZGE2MDgyNGRlMDAxNDlmYTllMDhhZmVhMDE4N2E5YjFmMTg1NWEu
LjYzZTkwOTlkYjc2ZThlMGRhOWNhOWIxYmZkMGY0NzkwMTlkYTk4MmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2
IEBAIGN0eC5zaGFkb3dCbHVyID0gMWU2OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIDFl
NiwgImN0eC5zaGFkb3dCbHVyIiwgIjFlNiIpOwogY3R4LnNoYWRvd0JsdXIgPSAwOwogX2Fzc2Vy
dFNhbWUoY3R4LnNoYWRvd0JsdXIsIDAsICJjdHguc2hhZG93Qmx1ciIsICIwIik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwuaHRtbAppbmRleCA4M2M3NjI4ZGY5OWY0ZmVlNzExMDI5
MzczZTQxMjRjMTMzOGQ3MTMyLi4xYmZjM2U1YzY3MGE5NmE2ZDgwNTQzZGU3MzA4ODI0N2I4MmI3
YTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dD
b2xvci5pbml0aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93Q29sb3IuaW5pdGlhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWw8L2gxPgogPHAgY2xh
c3M9ImRlc2MiPjwvcD4KQEAgLTExLDEzICsxMSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJ3JnYmEoMCwgMCwgMCwgMCkn
LCAiY3R4LnNoYWRvd0NvbG9yIiwgIidyZ2JhKDAsIDAsIDAsIDApJyIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dDb2xvci5pbml0aWFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1
dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwud29ya2VyLmpzCmluZGV4IDVlMTNiOWIzNTc1N2YzNDNk
YTU5NWM3MDk0OWE2ZDE0ODVkNDNkODkuLmJmZWFhYzAxMTY0MDdhMDNiNjk1OTU4NDVkZmU4M2Y1
ZDViNTlhNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd0NvbG9yLmluaXRpYWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmluaXRpYWwud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5IEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3IsICdyZ2JhKDAsIDAsIDAsIDApJywg
ImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAwLCAwLCAwKSciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
Q29sb3IuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hh
ZG93Q29sb3IuaW52YWxpZC5odG1sCmluZGV4IGI0ZDY2MWRmODM3OWJjZDY0MzRkMDc5N2E4MzEz
ZjMyZTFlZjc1ZWQuLmM0MjllZWViZGI5ZjcyNjE0OGU0YWE0ZDcwNWY0MTdjNDNjYWFmZjUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmlu
dmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dD
b2xvci5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQ8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IuaW52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBfYXNzZXJ0U2FtZShjdHguc2hhZG93Q29sb3Is
ICcjMDBmZjAwJywgImN0eC5zaGFkb3dDb2xvciIsICInIzAwZmYwMCciKTsKIGN0eC5zaGFkb3dD
b2xvciA9ICcjMDBmZjAwJzsKIGN0eC5zaGFkb3dDb2xvciA9IHVuZGVmaW5lZDsKIF9hc3NlcnRT
YW1lKGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBm
ZjAwJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbnZhbGlkLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29ya2VyLmpzCmlu
ZGV4IGFhZDIzYmQ3OWI2MmIxZWMxY2NlZGQ4NmJkMjI0YzA0YmM1ZDQwMjIuLmQxMWUwZmI5MmUy
NzhmMGE5MTdiOGNkMzRlMzRiMTRhYjg5MWQxMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29ya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLmludmFsaWQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2IEBAIF9h
c3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJyMwMGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwg
IicjMDBmZjAwJyIpOwogY3R4LnNoYWRvd0NvbG9yID0gJyMwMGZmMDAnOwogY3R4LnNoYWRvd0Nv
bG9yID0gdW5kZWZpbmVkOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAnIzAwZmYwMCcs
ICJjdHguc2hhZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52
YWxpZC5odG1sCmluZGV4IDMxOGE0ZWM4OGNkNGQ5MzMyZGNlMGJiY2RjYjc0NTU2ZDJlN2ZkZmIu
LmU4OTJmNGIwYmM1MzQxMDgzZDdlMjI0YzYzNTYxZWE3ZTk5YzNkMjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93
LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93Q29sb3IudmFsaWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcg
KzI0LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJ2xpbWUnOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d0NvbG9yLCAnIzAwZmYwMCcsICJjdHguc2hhZG93Q29sb3IiLCAiJyMwMGZmMDAnIik7CiBjdHgu
c2hhZG93Q29sb3IgPSAnUkdCQSgwLDI1NSwgMCwwKSc7CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93
Q29sb3IsICdyZ2JhKDAsIDI1NSwgMCwgMCknLCAiY3R4LnNoYWRvd0NvbG9yIiwgIidyZ2JhKDAs
IDI1NSwgMCwgMCknIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0NvbG9yLnZhbGlkLndvcmtlci5q
cwppbmRleCBiNWE3MTFmYTlhMDQxZTU1ZTdhYWI4YzJjZTM2YTg1NDEyNDcwNGU3Li40YjY2NDQ2
Nzc0NThmMGM2ZDczNjNjOGI1ZTVlMTdhM2FiZDVjZjQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29sb3IudmFsaWQud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0
eC5zaGFkb3dDb2xvciA9ICdsaW1lJzsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwgJyMw
MGZmMDAnLCAiY3R4LnNoYWRvd0NvbG9yIiwgIicjMDBmZjAwJyIpOwogY3R4LnNoYWRvd0NvbG9y
ID0gJ1JHQkEoMCwyNTUsIDAsMCknOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCAncmdi
YSgwLCAyNTUsIDAsIDApJywgImN0eC5zaGFkb3dDb2xvciIsICIncmdiYSgwLCAyNTUsIDAsIDAp
JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQu
c2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwuaHRtbAppbmRleCA3ZWZkNDVl
MDhmMDZkOWQ1OGJlNTk1ZmVkN2VhMmY4ZTY3MzJiODQyLi40M2IyNjlhZDM1ZGFhY2UxYTI3OWYx
MmUxODU0ZWU1ZjY3ODAzMjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0
cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRv
d09mZnNldC5pbml0aWFsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5p
bml0aWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUo
Y3R4LnNoYWRvd09mZnNldFgsIDAsICJjdHguc2hhZG93T2Zmc2V0WCIsICIwIik7CiBfYXNzZXJ0
U2FtZShjdHguc2hhZG93T2Zmc2V0WSwgMCwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjAiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJp
YnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LmluaXRpYWwud29ya2VyLmpzCmluZGV4IDA4ZTJi
ZjQwOWI1ZTY5MDNkNmM2ZTQ4NDcyNjhmZTU5N2MwMWQyZTMuLmQzMWNiYTRmZGMxZjk2ODEwNzQ1
NDM1NzE5NTUyMTI3OTMyYjczYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbml0aWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQuaW5pdGlhbC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguc2hh
ZG93T2Zmc2V0WCwgMCwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjAiKTsKIF9hc3NlcnRTYW1lKGN0
eC5zaGFkb3dPZmZzZXRZLCAwLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMCIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5z
aGFkb3dPZmZzZXQuaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0
ZXMuc2hhZG93T2Zmc2V0LmludmFsaWQuaHRtbAppbmRleCA4ZGIwY2Q1NTZmOTg4YzQ0YmQ2MmY0
ZTg3OGUwNTljNDIyNTZlOGU1Li4xNzY2ZmUwYTAyYzkwODVhYjkxMWEzYmM5MTFmNGQyZDZjYmM0
ZWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dP
ZmZzZXQuaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVz
LnNoYWRvd09mZnNldC5pbnZhbGlkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlk
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zNCw3ICszOCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRY
ID0gTmFOOwogY3R4LnNoYWRvd09mZnNldFkgPSBOYU47CiBfYXNzZXJ0U2FtZShjdHguc2hhZG93
T2Zmc2V0WCwgMSwgImN0eC5zaGFkb3dPZmZzZXRYIiwgIjEiKTsKIF9hc3NlcnRTYW1lKGN0eC5z
aGFkb3dPZmZzZXRZLCAyLCAiY3R4LnNoYWRvd09mZnNldFkiLCAiMiIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dPZmZzZXQuaW52YWxpZC53b3JrZXIuanMKaW5kZXggMmIwMmU5NDZiOWY1YTQ2
YjIyNTBmNTQ5NTM0NjJhNmQzNGFiMDI4Zi4uNDJlNTFhMmM1YmMzMmM3YTg0Y2Y1ODJlYTJiOGRh
YWY4ZjkxNGE1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMu
c2hhZG93T2Zmc2V0LmludmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC5pbnZhbGlkLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9
IE5hTjsKIGN0eC5zaGFkb3dPZmZzZXRZID0gTmFOOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09m
ZnNldFgsIDEsICJjdHguc2hhZG93T2Zmc2V0WCIsICIxIik7CiBfYXNzZXJ0U2FtZShjdHguc2hh
ZG93T2Zmc2V0WSwgMiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjIiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFk
b3dPZmZzZXQudmFsaWQuaHRtbAppbmRleCAxOWZkZTg1NjY0ZmZjMGVlNGQyZjVjMzI4NThjMWZl
ZDM1N2U1MmYwLi4yNThmMDQ4NmQ3ZmJiNjM1NDYwZWJiOTJhYjdkM2M0MjQxMTllNWFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFs
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZz
ZXQudmFsaWQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93T2Zmc2V0LnZhbGlkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRv
dy5hdHRyaWJ1dGVzLnNoYWRvd09mZnNldC52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzYsNyArNDAsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDFlNjsKIGN0eC5zaGFk
b3dPZmZzZXRZID0gMWU2OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgsIDFlNiwgImN0
eC5zaGFkb3dPZmZzZXRYIiwgIjFlNiIpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFks
IDFlNiwgImN0eC5zaGFkb3dPZmZzZXRZIiwgIjFlNiIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQu
dmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93
T2Zmc2V0LnZhbGlkLndvcmtlci5qcwppbmRleCBiNmRhY2I0ZTE2YjJhNjZhMmIzZDJmYWRkZjkw
ZTE1Y2Y2N2EwZGFkLi5jZWIwYzI3ZTY1ZGU4MzMwZWEzMWZhM2E0ZjA0NTkyNjJiOTI5YzNlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dPZmZzZXQu
dmFsaWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNo
YWRvd09mZnNldC52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxZTY7CiBjdHguc2hhZG93
T2Zmc2V0WSA9IDFlNjsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRYLCAxZTYsICJjdHgu
c2hhZG93T2Zmc2V0WCIsICIxZTYiKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCAx
ZTYsICJjdHguc2hhZG93T2Zmc2V0WSIsICIxZTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNhbnZhcy5hbHBoYS5odG1sCmluZGV4IDlmNmRhZmIzZGY0NGYwODUw
YTlhN2M0Mzg0OTcxYmJkNTRjMWVlODAuLjY4YTQ2ZjNjODViZDEzODI4ZmUwY2Y5ZTFhMDU0MzE1
YWFhYWZkZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhhLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jYW52YXMu
YWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LmNhbnZhcy5hbHBoYTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
U2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgY2Fu
dmFzZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVu
dCBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1
MDsKIGN0eC5zaGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2Fu
dmFzMiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmFscGhh
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpz
CmluZGV4IGEwYjllZWVkNzEzODAyNDNhMDE2MThhYjA5MGE4MGIzMmY4NGVmNTYuLjlkMmUyMWU1
MmQ5MTMwY2Y0ODEwOTJhZDg2MWQ3N2VmOWRlN2ViODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jYW52YXMuYWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBjYW52YXNl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5z
aGFkb3dDb2xvciA9ICcjMDBmJzsKIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwg
LTUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwx
MjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLmh0bWwKaW5kZXggYzM3MmVmNGMxMDg1
MjNkNGI1NmI0NjkyODg2YTU4NzdiY2VkYjg2ZS4uZDYwYmZlOWY4ZTU5MDJhZDNiZThlNmQ2ZjFl
YTRkOTU2MTlmYTg5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy5i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFzaWMuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmNh
bnZhcy5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuY2FudmFzLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBmb3IgY2FudmFzZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Ig
Y2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYw
JzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLmJhc2ljLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFzaWMud29ya2VyLmpzCmluZGV4IDNkOTU0OTlm
Mzk1MDBhNzQ4NzVkNmFjMmM5OTI1MjA3NDQ2MzdlMTAuLjhlMzU3NzQyMGI1YjZiZmFlNWQ0NTkw
Y2ZlNDJjNzBlZDM3YzZhYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52
YXMuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMuYmFz
aWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBm
b3IgY2FudmFzZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcj
MGYwJzsKIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNh
bnZhczIsIDAsIC01MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sCmluZGV4
IDQzNTA1MTZlZWVmYzg0OWE3YTJmOWQwZDFjNWMzNjMyY2YxZTA1OGIuLmVkYWJmOTkwZWE1Mzcw
YjJmYjBhZmMzMmIzMWFiNThiYTVkZDU2ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jYW52YXMudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjE8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGNhbnZhc2VzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRy
YXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4
LnNoYWRvd0NvbG9yID0gJyNmMDAnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5kcmF3
SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMu
dHJhbnNwYXJlbnQuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFzLnRy
YW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IDdiYTY5N2I1ZjRjOGM5MDM3Njk0NmQ5NmY3M2Rj
NGU4ZGI4N2YxZWEuLmZhNTgxMmYxNmMzNzQ5ZDMzYjI2ZThkN2UyOTk2MTUxM2Q0NDg3YzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4xLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciB0cmFuc3BhcmVudCBjYW52YXNlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRv
d0NvbG9yID0gJyNmMDAnOwogY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5kcmF3SW1hZ2Uo
b2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jYW52YXMudHJhbnNw
YXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4y
Lmh0bWwKaW5kZXggZGVkMThmNzY5NzdjYmNkNTc0YTE2NDMyMWE2NWYyZWRhMTk0OGU1ZS4uMjYx
MmJkY2I3NGRhYTE5YWU1Nzc1MWY1ZGY3ZWViM2IxMGM3Mjc5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQu
MjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50LjI8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgY2FudmFz
ZXM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZhc2Vz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzIsNyArMzYsNiBAQCBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IC01MCwgLTUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSww
LDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmNhbnZhcy50cmFuc3BhcmVudC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKaW5kZXggZDkxZmExNjk0YmYy
Y2YwMDZjZTM4ZTI4YjUxZGY5YmE4ZGI4NTljOS4uYzgxMGU0NzU4MWZiYzU1NmU3MjlmMjg1ZjBj
YWM1ZGFlYmQ5Yzc0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNhbnZhcy50
cmFuc3BhcmVudC4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dz
IGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZhc2VzIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjgsNyArMzIsNiBAQCBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIC01MCwgLTUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNsaXAuMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS5odG1sCmluZGV4IDlk
NWUzM2EwMDhmMTA5OTU4NTIwZDA0Y2YyOGM0NDY4Yjg3N2I1NjguLmNiYzI2NzBhMmIyODE4NmI3
ZTBjZTQ5YjZiODUzODZjODk0YzZhMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jbGlwLjEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4xLmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jbGlw
LjE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuc2hhZG93LmNsaXAuMTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBv
ZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdp
b248L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIG9mIGNsaXBwZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNs
aXBwaW5nIHJlZ2lvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5jbGlwLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMS53b3Jr
ZXIuanMKaW5kZXggZDZhNDQ0ZDU3ZmQxNTZjZDBiNmI0NTY4Y2IzNjNiNDFmMWY2MTdkMS4uNzIy
MTk0ZjZkY2QwOTUyNTM2MGZjOGQ4MmE0YTQwMDcyZTUzNDRiZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNsaXAuMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmNsaXAuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3Mgb2Yg
Y2xpcHBlZCBzaGFwZXMgYXJlIHN0aWxsIGRyYXduIHdpdGhpbiB0aGUgY2xpcHBpbmcgcmVnaW9u
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0
eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUs
MCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMi5odG1sCmluZGV4IDU4NmZhOWU2NWU1
N2NmZjdiYWQ1NTU5ZGEzMWFjNjJjNWRjOWIwZmMuLjlkYTJjZTQ3MjYzNDFhZDlhNzRmMzljODhj
MjcyMWQ2OWRlNzBhNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4yLmh0bWwKQEAgLTMsNyArMyw3
IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jbGlwLjI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmNsaXAuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRy
YXduIG91dHNpZGUgdGhlIGNsaXBwaW5nIHJlZ2lvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBvdXRz
aWRlIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIGN0eC5maWxs
UmVjdCgwLCAwLCA1MCwgNTApOwogY3R4LnJlc3RvcmUoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY2xpcC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5j
bGlwLjIud29ya2VyLmpzCmluZGV4IGVhYzZiYzMxYjIyZDIxM2MxMzFhNDE2YzIzZDM3YjhlNDcz
OWNiNTYuLjc2NWRjNmMxZWU4YmYxZDkyNWI1MjA0M2YzZDg0OTRmZDgyOWE1MTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5jbGlwLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBub3QgZHJhd24gb3V0c2lkZSB0aGUgY2xpcHBpbmcgcmVnaW9uIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIGN0eC5yZXN0b3Jl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIy
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUs
MjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy5odG1sCmluZGV4IDc3YmI0MWNjYzMyMzJkNjRiY2Y3
YzNmMTBkNjU2MjAwOWIyMmQxZWIuLjA3YzFmYzA2ODAzMGVkZTUwMzE0ZjgzNzJmNWZkOGU1NDk1
ZGFjN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jbGlwLjMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jbGlwLjM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LmNsaXAuMzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBh
cmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb248L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIGNsaXBw
ZWQgc2hhcGVzIGFyZSBzdGlsbCBkcmF3biB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlZ2lvbiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMxLDcgKzM1LDYgQEAgY3R4LmZpbGxSZWN0KC01MCwgMCwgNTAsIDUwKTsKIGN0eC5y
ZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNsaXAuMy53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLndvcmtlci5qcwppbmRleCA4MDll
ZTBiMWE0NDUyMmRkOTllMzFhOTY0MGQ5OTY5YzZhZTRhYzY1Li4zZDkyZDJhYWYyZjIwZjQ2ODM2
ZDVmN2M3NTc4NGQ4ZTUyOGJkMjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y2xpcC4zLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY2xpcC4zLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBh
cmUgc3RpbGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24iKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3
ICszMSw2IEBAIGN0eC5maWxsUmVjdCgtNTAsIDAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLmh0bWwKaW5kZXggNTFjNDU4YzY1ZTQwNDVh
YmEyNmJlMmI0YTI5ODQ4MjUzNTdlY2JkMS4uM2EyOWJlOGNkYTBjMDdhYTdiOGFlMGRmODRhOWZi
ZmUxZWM3ZGY1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4x
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jb21wb3Np
dGUuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiAKIDxoMT4yZC5zaGFkb3cuY29tcG9zaXRlLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNo
YWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IGRyYXduIHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4
LDYgQEAgY3R4LnNoYWRvd09mZnNldFggPSAxMDA7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KC0xMDAsIDAsIDIwMCwgNTApOwogX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNvbXBvc2l0ZS4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUu
MS53b3JrZXIuanMKaW5kZXggNWM4MWEyYzM0OTgxMDc0MjlhMGJjMWQ3ZTdiMGQyNTkyYTA0MzE2
Ny4uYjQ2NDQ1MDZjY2FkZjUzMzE0NTk5Yzg2YThmM2ZlZWZjMTdmYmJhNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4xLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gMTAwOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAwLCAyMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmNvbXBvc2l0ZS4yLmh0bWwKaW5kZXggYTAzNTVjNjNmYTVhYzZmMzAwNzY0ZmMwZTNiYzJhNGRh
OGFhNzdlNi4uNjdiYjlkMDU2NjY0ZGEyMzczNzk3NzZkN2UxMjUzYWNjYWNiMTlhMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5jb21wb3NpdGUuMjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuY29tcG9zaXRlLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIHVz
aW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIHVzaW5nIGdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd0Js
dXIgPSAxOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAsIC0xMCwg
MTIwLCA3MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4yLndvcmtlci5qcwppbmRleCAyYWI5
MWI3YTdjNmQ4OGFiNmZmN2FlNzA3Yjc5YmZhYjM2MTEzNDc0Li43YzFhNDA4YTJlOTUzNGVhOGI1
ZjFjOWFkNDIwMTFmYjg0Y2E0Yzg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Y29tcG9zaXRlLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3Np
dGUuMi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXdu
IHVzaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAg
Y3R4LnNoYWRvd0JsdXIgPSAxOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVj
dCgtMTAsIC0xMCwgMTIwLCA3MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRl
LjMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUuMy5odG1sCmluZGV4IDRj
YmYxOTAyZDVmMjJmZDUxZTEyMTQ1MDFkOWQwNTYzMzQ2N2E4MzQuLmY5MzcyOTI2ZGNmZDE1Mzhj
ZTU1Y2ZmZjcyMDMyYTIzM2YxMTQ0NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5jb21wb3NpdGUuMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21wb3NpdGUu
My5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5z
aGFkb3cuY29tcG9zaXRlLjM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmNvbXBvc2l0ZS4zPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5BcmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRo
IGRlc3RpbmF0aW9uLW91dDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkFyZWFzIG91dHNpZGUgc2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5
IHdpdGggZGVzdGluYXRpb24tb3V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDIwMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUsIDAsMjU1LDAsMjU1LCAiNSw1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuY29tcG9zaXRlLjMud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmNvbXBvc2l0ZS4zLndvcmtlci5qcwppbmRleCA4
NTczMDIyMjIyNWE5Mjc4M2RkNWU1MGMyNjg1NmQxOGMyMjA1NzllLi5hNGE2YWI5NTA1NDQ4ZGQw
NThlYjBiYmI4NmExNjNiNTQxNmJkZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuY29tcG9zaXRlLjMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5jb21w
b3NpdGUuMy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkFyZWFzIG91dHNpZGUg
c2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IHdpdGggZGVzdGluYXRpb24tb3V0Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjEsNyArMjUsNiBAQCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZpbGxSZWN0KDIw
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDUs
IDAsMjU1LDAsMjU1LCAiNSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZW5hYmxlLmJsdXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUu
Ymx1ci5odG1sCmluZGV4IGU2YWQyOTM3ODgwMGIyNGM3ZTYzYTAxMjI5N2ZlYzVjZGUwNWU5MTku
LmM1NWMxOWVkN2E5OWE2ZTZjMGI0OTZhYWUwOTY4NTAzZWY5OTI2OTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUuYmx1ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5lbmFibGUuYmx1ci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZW5hYmxlLmJsdXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJs
ZS5ibHVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dC
bHVyIGlzIHNldDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIgaXMgc2V0Iik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93Qmx1ciA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLmJsdXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5ibHVyLndv
cmtlci5qcwppbmRleCA2MTBhMzhiOTk0ZDRlNDg0ZDRlZmE0YmMxZWRlODFjMTYzMGYxNjJlLi5k
MTUwMTgyMTI3ZGQ1MjExYWIzNTYyZmY1YzgwNDg0M2NjNWRkZGQyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLmJsdXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5lbmFibGUuYmx1ci53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd0JsdXIgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyAr
MjIsNiBAQCBjdHguc2hhZG93Qmx1ciA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4xLmh0bWwKaW5kZXggZjhl
Y2Y4NWYxY2MyOTY3ODdkNWUwMzIyYjAxMDBjNjNmOTM1ZDA1MS4uZjlhMjg0ZGQ5YjlhMGZmNDFi
ZGI3Y2ViMmQ4MGQ0NWZlMzk4OGZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmVuYWJsZS5vZmYuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2Zm
LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
c2hhZG93LmVuYWJsZS5vZmYuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuZW5hYmxlLm9mZi4xPC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9y
IGlzIHNldDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmVuYWJsZS5vZmYuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
ZW5hYmxlLm9mZi4xLndvcmtlci5qcwppbmRleCBkYWQ1YzBlNThiMzVkOGMyNjE4Mzc3N2Q5ZGZk
ZjFiY2E0Y2I0ODY3Li44NjNmMWM2ODJkYWI0OGVkNjE4ZTdhMzZkNmRhNjcxMWRjMWI4MGM1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4xLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4xLndvcmtlci5qcwpAQCAtNCw5
ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dD
b2xvciBpcyBzZXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcj
ZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuZW5hYmxlLm9mZi4yLmh0bWwKaW5kZXggM2EyM2M4YmNmY2Y2NTVkZjU0ZTc5ZmFhZjM3
OGE2OTEwMjgwMTlmOS4uOTI0ZmNlZDlhMDI1MTM2YWQ4NzkwMzUxMDY2M2VmZmEwZWQ0ZTE0NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUub2ZmLjIuaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmVuYWJsZS5vZmYuMjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zaGFkb3cuZW5hYmxlLm9mZi4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFy
ZSBub3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBk
cmF3biB3aGVuIG9ubHkgc2hhZG93Q29sb3IgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBA
QCBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS5vZmYuMi53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLm9mZi4yLndvcmtlci5qcwpp
bmRleCAzNzFmNTgyMmU5YzRmZTdiNWYzODRlZjk3Nzc5ZDJhZmY5ZmI0YTA4Li5jYjEwZjUyMmM2
MmMzN2NmY2E1OTMwYTZiN2I0ZmM3NjRjMGFlMjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZW5hYmxlLm9mZi4yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuZW5hYmxlLm9mZi4yLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93
cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLnguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC5odG1sCmluZGV4IGIy
ZjE0N2I0YzZmYzc4ZGQ5ZGFhNzUzMDEzMzM0NmMzNWU1NTNlZGIuLmQzNGEyY2JkYzRjYmY4YzAz
ZGI4ZTk1NTZmNDE1NDM4ZTU1ZGRhMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5lbmFibGUueC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cu
ZW5hYmxlLng8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS54PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRYIGlzIHNldDwvcD4KQEAgLTExLDYgKzEx
LDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXdu
IGlmIHNoYWRvd09mZnNldFggaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hh
ZG93T2Zmc2V0WCA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS54Lndvcmtlci5qcwppbmRleCAxZjcwNjM1ZTIwMjkz
MzU3ZGUzZGYzODcxMTQwNjk1OTc0ODE2ZTYwLi5jNDE5Y2FiYmMwMGZiY2M3ZWE0ZTBkMjU1OWZi
ZjQ1NGU2YTBmZmMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLngu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNl
dFggaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDAu
MTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuZW5hYmxlLnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5l
bmFibGUueS5odG1sCmluZGV4IGEwMWQ2MWYyMmYyNjFiZDJiNTVkYTlhOTlkM2EzZTgzZjUyYTg3
YjUuLjhkN2IyNjcxODU1NTQ0YTJlMTFkMGFjYjYzN2RhOTA3YzhkZjA5ODQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5lbmFibGUueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5lbmFibGUueS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiAyZC5zaGFkb3cuZW5hYmxlLnk8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmVuYWJsZS55PC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBpZiBzaGFkb3dPZmZzZXRZIGlz
IHNldDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3MgYXJlIGRyYXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0Iik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjIsNyArMjYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZW5h
YmxlLnkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmVuYWJsZS55Lndvcmtlci5q
cwppbmRleCBmMWQwZjI3YmRkZjk1YTI2OGFkNmM5YTIyM2U2Nzg5YzFiZjFjYzdlLi42MTE3ZDk5
NmRhOTA2MGM1NjZhNGMwMGY3ZjMyNmM0MjU3OWYyYzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZW5hYmxlLnkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRv
dy5lbmFibGUueS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IGRyYXduIGlmIHNoYWRvd09mZnNldFkgaXMgc2V0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBj
dHguc2hhZG93T2Zmc2V0WSA9IDAuMTsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwy
NSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS5odG1sCmluZGV4IDUwZTc4
MTY3NWFhNzUxMDlkYmE0NGUyNTI3MWJkN2ExNmRhOWQwNjAuLjBiZTM3ODFlY2FiZGFhZGU2NjZi
M2Q0YTYzZDk5MjBlZTkyYmI3NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5n
cmFkaWVudC5hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5h
bHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmdyYWRpZW50LmFscGhhPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRp
YWxseS10cmFuc3BhcmVudCBncmFkaWVudCBmaWxsczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3Rs
eSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYs
NyArMzAsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZmlsbFN0eWxlID0gZ3Jh
ZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAs
MTI3LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmdyYWRpZW50LmFscGhhLndvcmtlci5qcwppbmRleCAwN2MwMmNkMjljZDQ4MDNmMTY0Nzc0
NzFjOTc2NTI0YWFiMGEzM2Q0Li42MzdjYzkyMDY5ZmE2OWJmOWI3M2E3ZTkwZjYwNzJmYmIxMzZk
ZjhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQuYWxwaGEud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5hbHBoYS53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBm
b3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyAr
MjYsNiBAQCBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiBjdHguZmlsbFN0eWxlID0gZ3JhZGll
bnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3
LDI1NSIsIDIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFk
aWVudC5iYXNpYy5odG1sCmluZGV4IDVmZjdlNjZmMzZjZWRlOTU4MDI2MmRlYjFlZTMwNDE5NzY5
YTBlYWQuLmY1NmNlNmMyM2JjNDQ1MTkyZDdlNzU4ZjIxNmQ0N2FhMDlmNDNkOTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWM8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmdyYWRpZW50LmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFy
ZSBkcmF3biBmb3IgZ3JhZGllbnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3IgZ3JhZGllbnQg
ZmlsbHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBj
dHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuZ3JhZGllbnQuYmFzaWMud29ya2VyLmpzCmluZGV4IDkwZjI0YmRhMWY4ODc2MmJm
NmE3Yjk2N2IxNWFjZjQ0YmMyODdhZDQuLjgwMGZjMzE1MzU2MWJkZjQ5YzhjY2I2ZGE1ZTkxMTM4
ODE0MmM5YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LmJhc2ljLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIGdy
YWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguc2hhZG93T2Zmc2V0WSA9
IDUwOwogY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjEuaHRtbAppbmRleCA4MGI1
OWJhY2UzYmU0MDRkYWMxOGNhODI0Y2E5ODI4MGU4MGMzM2U4Li42ZTc5YTY0MTY0OGEyZmI5MTVm
ZDU2YzI0ZDVlNjI1MTA3NWNlNGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
Z3JhZGllbnQudHJhbnNwYXJlbnQuMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5n
cmFkaWVudC50cmFuc3BhcmVudC4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGdyYWRpZW50IGZpbGxzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBh
cmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBncmFkaWVudCBmaWxscyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2
LDcgKzMwLDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKIGN0eC5maWxsU3R5bGUgPSBncmFk
aWVudDsKIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lmdy
YWRpZW50LnRyYW5zcGFyZW50LjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lmdy
YWRpZW50LnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IDllMTJjZTgzNTEwM2Y3MzcwNjk0
N2VkYjExOThjZDZkNzQwYzg2YzQuLjBmMGZhYjg1ZTViMjZhMzA1ZjI1ZDUxZDQ3MGQwODcxZDgy
ODQyYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3Bh
cmVudC4xLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJh
bnNwYXJlbnQuMS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3
ICsyNiw2IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7CiBjdHguZmlsbFN0eWxlID0gZ3JhZGll
bnQ7CiBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFk
aWVudC50cmFuc3BhcmVudC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQu
dHJhbnNwYXJlbnQuMi5odG1sCmluZGV4IDdjMWY1Njc4NjBhMTEyNmNiY2Q5ZDA5M2U5MmJiYTJi
NWYxNDc1MDUuLjVlN2Q0MGRiMTIxZmZjMmFhMjBlOTEyOTg2NTE4NWU5N2QxNTQ5ZTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lmdy
YWRpZW50LnRyYW5zcGFyZW50LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50
LjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNw
YXJlbnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRy
YW5zcGFyZW50IHBhcnRzIG9mIGdyYWRpZW50IGZpbGxzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIsNyArMzYsNiBA
QCBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIud29y
a2VyLmpzCmluZGV4IDA4ZjQ2ZmRiNDljOWM5Yjk5ZDIyOTA4NGU2N2NhMGM3N2VlZTk4YzEuLjYw
NmU4NTJhMWYzNmFkOGM1MWUyZDUyMjY2ZGQwMmI4NGU3N2M3NzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5ncmFkaWVudC50cmFuc3BhcmVudC4yLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvc2hhZG93cy8yZC5zaGFkb3cuZ3JhZGllbnQudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJl
bnQgcGFydHMgb2YgZ3JhZGllbnQgZmlsbHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIGN0eC5m
aWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
MjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUs
ICI3NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sCmluZGV4IDg2NDgzZTM5MDAyODM1NmI0NGJiNzQ3MDZi
MmUxNTQwYjI1ZDFkYWQuLjI1Y2UxYzFiMTA3YmEzZWEyNjM5ZTNlNTFjNzZlZTVkMGM2OTI4MmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5hbHBoYS5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2UuYWxwaGE8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc2hhZG93LmltYWdlLmFscGhhPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBk
cmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMCwxMSArMzQsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAs
MjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUlt
YWdlQml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1h
Z2UoYml0bWFwLCAwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMTI3LDAsMTI3LDI1NSwgIjUwLDI1IiwgIjEyNywwLDEyNywyNTUiLCAy
KTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYWxwaGEud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLmFscGhhLndvcmtlci5qcwppbmRl
eCBhNjI0YmU4MGRkYWQyNTkyN2ZjYzRiYjkxMDQ3YzNkODcxYzhlYjFjLi4xN2ZjNWE3ZGFkMzM3
ZWVmNjgwZmIzN2JmNGE3ZTc0NGJhYzk1YzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuaW1hZ2UuYWxwaGEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5p
bWFnZS5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFyZW50IGltYWdlcyIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI2LDExICszMCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNw
b25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDEyNywwLDEyNywyNTUsICI1MCwy
NSIsICIxMjcsMCwxMjcsMjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZShiaXRtYXAsIDAsIC01MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAxMjcsMCwxMjcsMjU1LCAiNTAsMjUiLCAiMTI3LDAsMTI3LDI1NSIsIDIp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy5odG1sCmluZGV4IDVmZmQ4YzZhMzAx
OWY0NGJmMzdiZWIyZjA5MzVhYjQwZjVlZjM0NjcuLmUxMTk4YWNkMTBjMThlZTA3ZWQ0YjliMGVk
NGRhMDBmNTkwYjUxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1h
Z2UuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij5TaGFkb3dzIGFyZSBkcmF3biBmb3IgaW1hZ2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIGltYWdl
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTMwLDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7Ci0g
ICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgLTUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwp
OworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmltYWdlLmJhc2ljLndvcmtlci5qcwppbmRleCAwNjg1MDQzYWQzZjllN2Jj
OTY1YWQxMTcwMGM5NzViNWM3MjlkNTY5Li40NTEyNmEyMThmOTVhZTI4YTM1ZDMxODYxNWI1N2E0
MGFmMGVjN2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UuYmFzaWMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5iYXNpYy53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBpbWFnZXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yNiwxMSArMzAsMTEgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAg
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRt
YXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRt
YXAsIDAsIC01MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsK
K30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LmltYWdlLnNjYWxlLmh0bWwKaW5kZXggZDQzOGYzZjM0ODY1YjI1ZGM2MzI1MzZjNzU4Mzg1
NzM5NWY2YTY2Ni4uN2YzMDU3YjYwMjIwZDIzZjRlMTQxZTFhMjllNGVhNzI2MjEzODVkZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5pbWFnZS5zY2FsZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
aGFkb3cuaW1hZ2Uuc2NhbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXdu
IGNvcnJlY3RseSBmb3Igc2NhbGVkIGltYWdlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBm
b3Igc2NhbGVkIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDEzICszNCwxMyBAQCB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHBy
b21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9u
c2UsIDAsIDAsIDEwMCwgNTAsIC0xMCwgLTUwLCAyNDAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUw
LDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJp
dG1hcChyZXNwb25zZSkudGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJp
dG1hcCwgMCwgMCwgMTAwLCA1MCwgLTEwLCAtNTAsIDI0MCwgNTApOworICAgICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwor
ICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUs
MCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuaW1hZ2Uuc2NhbGUud29ya2VyLmpzCmluZGV4IDZmMDg0ZTliNDJhMDU0ZmI3NmY2NGI1
MDliOWFmN2E5Njk3YmQ0ZmQuLjljYTFkNzk0OGEwNWViMzM1NTA0MzFmNjc0NGM3ZTViMThlN2Vh
OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zY2FsZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnNjYWxlLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBzY2Fs
ZWQgaW1hZ2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTMgKzMwLDEzIEBAIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50
aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCwgMTAwLCA1MCwgLTEwLCAtNTAsIDI0MCwgNTApOwotICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLSAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAw
LCAwLCAxMDAsIDUwLCAtMTAsIC01MCwgMjQwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CisgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2Uu
c2VjdGlvbi5odG1sCmluZGV4IDFmMjk3NjAxZmEzY2UzODUyYTAzYjMzZDU3NzZlYTAwZTg5NTky
YTMuLjFhYmM3NTU4ZTEyMTM0ODIxZTAwODIwOTQ4MWViYjY0MTg5NTM0MjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LmltYWdlLnNlY3Rpb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLnNlY3Rpb248L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hh
ZG93LmltYWdlLnNlY3Rpb248L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBk
cmF3biBmb3IgYXJlYXMgb3V0c2lkZSBpbWFnZSBzb3VyY2UgcmVjdGFuZ2xlczwvcD4KQEAgLTEx
LDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJl
IG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBpbWFnZSBzb3VyY2UgcmVjdGFuZ2xlcyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTMwLDEzICszNCwxMyBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDUwLCAwLCA1MCwgNTAsIDAs
IC01MCwgNTAsIDUwKTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAy
NSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNh
bnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgNTAsIDAsIDUwLCA1MCwgMCwg
LTUwLCA1MCwgNTApOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOworICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0
aW9uLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS5zZWN0aW9uLndvcmtl
ci5qcwppbmRleCBhZDkyM2UwZjA1ODMxM2EzNzkzYjMxYmRkMDljZjYyNWUwY2FkN2VmLi4zYjRk
ZWFhNjU3ZDkyNWY1YWMzY2IxMjZmZDM0NjUwY2UyODQ2ZTY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cuaW1hZ2Uuc2VjdGlvbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LmltYWdlLnNlY3Rpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgaW1hZ2Ugc291cmNlIHJl
Y3RhbmdsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMyArMzAsMTMgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA1MCwg
MCwgNTAsIDUwLCAwLCAtNTAsIDUwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNj
cmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAy
KTsKLSAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9u
c2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDUwLCAw
LCA1MCwgNTAsIDAsIC01MCwgNTAsIDUwKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKKyAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUs
IDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50
cmFuc3BhcmVudC4xLmh0bWwKaW5kZXggZjJiMjg5OWVhNDI5YTZiMDI1YWQ5MGVkMWMxOWYzMzRm
NzM1ZTAxNS4uMWQ1NGFlNTk5YjdlZGNmM2U5MmFiZGNjODZjYTk3Nzk4YTczYzAzYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cuaW1hZ2UudHJh
bnNwYXJlbnQuMTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGltYWdlcyIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMw
LDExICszNCwxMSBAQCB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgIH07CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkg
ewotICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSku
dGhlbihiaXRtYXAgPT4geworICAgICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgMCwgLTUwKTsK
KyAgICAgICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1
LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMS53b3JrZXIuanMKaW5kZXggYWYyZDg2OWY0NmRiMmYz
ZTAxNGU2OGQwOGFkZjhjYmQ1MWM2MTBkNi4uNzZkYzhmZjU4ZjY0MWIzODRmODg1ODBlNGNiMDY5
MGMwNjkyMGM4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5z
cGFyZW50LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFu
c3BhcmVudC4xLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
bm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBpbWFnZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiwxMSArMzAsMTEg
QEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsK
ICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIC01MCk7CisgICAgICAgIF9h
c3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1Iiwg
IjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFn
ZS50cmFuc3BhcmVudC4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNw
YXJlbnQuMi5odG1sCmluZGV4IDViMjNkZGZlODhlMjI2NTJkZjk0YTNmMzRmZGNiMzNiZDcxMzZh
NzguLjJlMjIzMGIwMmJmNTY4Njc5NzgyNjVhN2RhMDE3NjgzNDQwMGI0NmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LmltYWdlLnRyYW5zcGFy
ZW50LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjI8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgaW1h
Z2VzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBpbWFnZXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMiwxNSArMzYsMTUgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rp
b24ocmVzcG9uc2UpIHsKLSAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA1MCwgLTUwKTsKLSAg
ICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7Ci0gICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwg
LTUwLCAtNTApOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LSAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3
NSwyNSIsICIwLDI1NSwwLDI1NSIpOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdl
Qml0bWFwKHJlc3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIGN0eC5kcmF3SW1hZ2Uo
Yml0bWFwLCA1MCwgLTUwKTsKKyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOworICAg
ICAgICBjdHguZHJhd0ltYWdlKGJpdG1hcCwgLTUwLCAtNTApOworICAgICAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwy
NTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworICAgICAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIpOworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3Bh
cmVudC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVu
dC4yLndvcmtlci5qcwppbmRleCAwYjk5ZjM2MjdlOGI4MmRiOGMwZWJkM2ZkYjhjNjkyODhmZWY3
ZjM4Li41ZjU0NzYzZDEyOWY0MjAwNWNkNjRkMTg1ODQ1YmJlYmUwYmVhMzY2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cuaW1hZ2UudHJhbnNwYXJlbnQuMi53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LmltYWdlLnRyYW5zcGFyZW50LjIud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFy
ZW50IHBhcnRzIG9mIGltYWdlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI4LDE1ICszMiwxNSBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGN0eC5kcmF3SW1hZ2UocmVz
cG9uc2UsIDUwLCAtNTApOwotICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjZjAwJzsKLSAgICBjdHgu
ZHJhd0ltYWdlKHJlc3BvbnNlLCAtNTAsIC01MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAg
ICBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1
LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25l
KCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAg
ICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDUwLCAtNTApOworICAgICAgICBjdHguc2hhZG93
Q29sb3IgPSAnI2YwMCc7CisgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAtNTAsIC01MCk7
CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1
NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Cisg
ICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0
Lm5lZ2F0aXZlWC5odG1sCmluZGV4IDhmOGZhZDdiZTQ0NGZkODI5OWZiMjE3OTRlNjYxOWM4Y2E5
YzVmYTkuLjc4NzI4ZTBhNDcwY2IyYTRmYzVmNjdkYjJkYzM0MmMzNjQxNTAwNTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVYLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVguaHRtbApAQCAtMyw3ICszLDcgQEAK
IDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVg8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNo
YWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHg8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQg
d2l0aCBuZWdhdGl2ZSB4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0
WCA9IC01MDsKIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWC53b3JrZXIuanMKaW5kZXggOTkwODEyMzllMzIy
MTJjOTMwMjM2ZTNiNDQ4YzU3MzI1NDExZGM1MS4uYjA2NzlhNjAxNGViYTEyMjViNDkyMGQ2NmY4
MTcxYjNkNDI4YmQyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5u
ZWdhdGl2ZVgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQubmVn
YXRpdmVYLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUg
b2Zmc2V0IHdpdGggbmVnYXRpdmUgeCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRv
d09mZnNldFggPSAtNTA7CiBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSww
LDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLmh0bWwKaW5kZXggNDdjMzkxMDg3YTM1Njhj
ZWIwODZmYTA0ZjRkYWMxZjk1ODVlOWI3Yy4uNTEyM2FmODcyZjRmZGMzMGE0MTQ2MDU5ZDY5ZDUz
ZDUyMTMzMzU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5uZWdh
dGl2ZVkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFk
b3cub2Zmc2V0Lm5lZ2F0aXZlWTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNo
YWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNCw3ICsyOCw2
IEBAIGN0eC5zaGFkb3dPZmZzZXRZID0gLTI1OwogY3R4LmZpbGxSZWN0KDAsIDI1LCAxMDAsIDI1
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwgIjUw
LDEyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwz
NywgMCwyNTUsMCwyNTUsICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWS53b3JrZXIu
anMKaW5kZXggOTk4ZTRhZDE2YzRjMjY2YmEzZTYzNDg1NzgwMjUzM2Y0Y2IyNWZhYi4uZDVkZDVi
NmYxZjIxMzNiMGNiZDdiMDAwZmIzZmEwZTkxZWUzNzg3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93Lm9mZnNldC5uZWdhdGl2ZVkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5vZmZzZXQubmVnYXRpdmVZLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggbmVnYXRpdmUgeSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIw
LDcgKzI0LDYgQEAgY3R4LnNoYWRvd09mZnNldFkgPSAtMjU7CiBjdHguZmlsbFJlY3QoMCwgMjUs
IDEwMCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAs
MjU1LCAiNTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9z
aXRpdmVYLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC5odG1s
CmluZGV4IGQ2NjQxNGI2NzJmNzFmNjYyZWJhODIwMDBlYWJiYjEwYzQ1NDhmODAuLjI3NmMxMGQ4
ZGU5ZTA4ZTM0MWRhZGNjZmY0NmViNTA2MjFiMmNjYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93Lm9mZnNldC5wb3NpdGl2ZVguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVg8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
Lm9mZnNldC5wb3NpdGl2ZVg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgY2FuIGJlIG9m
ZnNldCB3aXRoIHBvc2l0aXZlIHg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguc2hhZG93T2Zmc2V0WCA9IDUwOwogY3R4LmZp
bGxSZWN0KDAsIDAsIDUwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyNSwy
NSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
Lm9mZnNldC5wb3NpdGl2ZVgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNl
dC5wb3NpdGl2ZVgud29ya2VyLmpzCmluZGV4IGUwMDM3OWZiZTBhYjkyZDlkZDFmMDY4YTYzMDZk
OTliZDNlOGFmYTQuLmQ0YzQxMzBhOTJjNDBlMDdhMjg2NTViZmU3Zjc4ODczNTI4NjA1MTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVYLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIHBvc2l0
aXZlIHgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIGN0eC5zaGFkb3dPZmZzZXRYID0gNTA7CiBj
dHguZmlsbFJlY3QoMCwgMCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMs
IDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNl
dC5wb3NpdGl2ZVkuaHRtbAppbmRleCA2OTE0NDE0ZTkyNjRhZjljMDliMzhhMjgzM2IxM2JjZDI0
ODEyMzcxLi41M2FlMmVhNTUzZjA1ZjE3MWNiOGMxMTFkMDNiMjdhOGI2OGI0OThmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZLmh0bWwKQEAgLTMsNyArMyw3IEBA
CiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZ
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnNoYWRvdy5vZmZzZXQucG9zaXRpdmVZPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5T
aGFkb3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB5PC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUgb2Zmc2V0
IHdpdGggcG9zaXRpdmUgeSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI0LDcgKzI4LDYgQEAgY3R4LnNoYWRvd09mZnNl
dFkgPSAyNTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUsICI1MCwz
NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWS53b3JrZXIuanMKaW5kZXggZTdkZjY4OTc1ZmQ1
NzM3YjNjMWY3NWU0MWNlZDEwMzlmY2I2ZGRkZS4uMDg2ZDdjZWI3ZDdmOGFiZjU4MjViMjViZDZi
YzU0Zjk0NDNlYWY4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm9mZnNldC5w
b3NpdGl2ZVkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vZmZzZXQucG9z
aXRpdmVZLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBjYW4gYmUg
b2Zmc2V0IHdpdGggcG9zaXRpdmUgeSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgY3R4LnNoYWRv
d09mZnNldFkgPSAyNTsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDI1KTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDEyLCAwLDI1NSwwLDI1NSwgIjUwLDEyIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwzNywgMCwyNTUsMCwyNTUs
ICI1MCwzNyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93Lm91dHNpZGUuaHRtbAppbmRleCA2NjRlNTA5MzhiMjZiODliOTJiYmU3MTI2MTg1NTE1ZmZm
MDlkNTljLi5mOWNhNmI0OWVmNjJkYTkxZTY4N2M1NjQwNGIwNTNjMGVhMmE1ZGIzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cub3V0c2lkZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5vdXRzaWRlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnNoYWRvdy5vdXRzaWRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5vdXRzaWRlPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIG9mIHNoYXBlcyBvdXRzaWRlIHRoZSB2aXNpYmxl
IGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2aXNpYmxlIGFyZWE8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBl
cyBvdXRzaWRlIHRoZSB2aXNpYmxlIGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2aXNpYmxl
IGFyZWEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDEyLDI1LCAwLDI1NSwwLDI1NSwgIjEyLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA4NywyNSwgMCwyNTUsMCwyNTUsICI4NywyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAs
MjU1LCAiNTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52
YXMsIDUwLDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9u
ZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5vdXRzaWRlLndvcmtlci5qcwppbmRleCA2
ZDIzYzcyYzhiYmZiMWVkMjdhNTUzNDJhMGYxNThlZTIzMzQ1N2Y3Li5mNGM3YzViYWQ4ZmQ1MjQ5
NmQ2ZmVmZDA5MWQ5MGQxZTRjYWU3YzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cub3V0c2lkZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93Lm91dHNpZGUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIG9mIHNoYXBlcyBvdXRz
aWRlIHRoZSB2aXNpYmxlIGFyZWEgY2FuIGJlIG9mZnNldCBvbnRvIHRoZSB2aXNpYmxlIGFyZWEi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yOCw3ICszMiw2IEBAIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEy
LDI1LCAwLDI1NSwwLDI1NSwgIjEyLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA4NywyNSwgMCwyNTUsMCwyNTUsICI4NywyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMTIsIDAsMjU1LDAsMjU1LCAi
NTAsMTIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUw
LDM3LCAwLDI1NSwwLDI1NSwgIjUwLDM3IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS5odG1sCmluZGV4IDM3MWYz
MmE0ZmU5YWU1YmE0MmQ5YzA3OGEwMzdiZDJiM2Q0MThiMWYuLjNmMTE3ODljODhhZGJlYzE2OWE5
MTg1NjdiMTFiMGQyZjhlMmIxNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5w
YXR0ZXJuLmFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxw
aGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
c2hhZG93LnBhdHRlcm4uYWxwaGE8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4uYWxwaGE8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5
LXRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9y
IHBhcnRpYWxseS10cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMTYgKzMw
LDE2IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwotICAgIGN0eC5zaGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyMw
MGYnOwotICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwotICAgIGN0eC5maWxsUmVjdCgwLCAt
NTAsIDEwMCwgNTApOwotfSk7Ci0KLXQuZG9uZSgpOworICAgIGNyZWF0ZUltYWdlQml0bWFwKHJl
c3BvbnNlKS50aGVuKGJpdG1hcCA9PiB7CisgICAgICAgIHZhciBwYXR0ZXJuID0gY3R4LmNyZWF0
ZVBhdHRlcm4oYml0bWFwLCAncmVwZWF0Jyk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2Yw
MCc7CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKKyAgICAgICAgY3R4LnNo
YWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gJyMwMGYnOworICAg
ICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01
MCwgMTAwLCA1MCk7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRl
cm4uYWxwaGEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYWxwaGEu
d29ya2VyLmpzCmluZGV4IDYzNjI1M2E3YWI1ZGYyMGU2YzUyMWVlNzNmYzhjNmUyZjdmNGY0MTIu
LjYxNjE2OWY4MjNjZjEwYmUwZmU0ZmNkNTkzMTdhZDE3YzE0NDZmMDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmFscGhhLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cucGF0dGVybi5hbHBoYS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSBmb3IgcGFydGlhbGx5LXRyYW5zcGFy
ZW50IGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5j
cmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRvd09m
ZnNldFkgPSA1MDsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7Ci0gICAgY3R4LmZpbGxT
dHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19KTsK
LQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFw
ID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdy
ZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAgICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwor
ICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CisgICAgICAgIGN0eC5maWxsU3R5bGUg
PSBwYXR0ZXJuOworICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICB9
LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLmh0bWwKaW5kZXggY2FiNzY0ODU3ZDQ4YTE0
NjM1MjAwMzUyZTI3MzAzNDQwMTVlZTE1MC4uOGM0ZmY5MzRiOTMzMTU2OTJlZGFmMjFkNzhkMWJl
M2Y3ZTljZjdkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4uYmFz
aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi5iYXNpYy5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cucGF0
dGVybi5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cucGF0dGVybi5iYXNpYzwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIGZpbGwgcGF0dGVybnM8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3
biBmb3IgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI2LDE2ICszMCwxNiBAQCB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07CiB9KTsK
IHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJuID0gY3R4
LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHguc2hhZG93
Q29sb3IgPSAnIzBmMCc7Ci0gICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKLSAgICBjdHguZmls
bFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLX0p
OwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhlbihiaXRt
YXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJpdG1hcCwg
J3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9ICcjMGYw
JzsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAgY3R4LmZpbGxTdHls
ZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOworICAg
IH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljLndvcmtlci5qcwppbmRleCBl
OGI2MDMzZDM5MDhiOWViMTEwMzEyYjE2Mjg5YmZjOGUyZjJmZWI0Li45MWU5ZmU5ZjE4MDg1NjZm
N2Y0ZThiNjQ3MmE3OTA1NjQ5M2RlNzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cucGF0dGVybi5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBh
dHRlcm4uYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biBmb3IgZmlsbCBwYXR0ZXJucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDE2ICsyNiwxNiBAQCB2YXIg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgIH07
CiB9KTsKIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIHZhciBwYXR0ZXJu
ID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVzcG9uc2UsICdyZXBlYXQnKTsKLSAgICBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwotICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKLSAgICBjdHgu
c2hhZG93Q29sb3IgPSAnIzBmMCc7Ci0gICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKLSAgICBj
dHguZmlsbFN0eWxlID0gcGF0dGVybjsKLSAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUw
KTsKLX0pOwotCi10LmRvbmUoKTsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChyZXNwb25zZSkudGhl
bihiaXRtYXAgPT4geworICAgICAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKGJp
dG1hcCwgJ3JlcGVhdCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOworICAgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CisgICAgICAgIGN0eC5zaGFkb3dDb2xvciA9
ICcjMGYwJzsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9IHBhdHRlcm47CisgICAgICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTAp
OworICAgIH0sIHRfZmFpbCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVu
dC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLmh0
bWwKaW5kZXggMzE1NzI0YTJiMGQ0MTFkYWUzMzc0ZGU0NmIzYjA3ODdhYWY0Y2M3ZC4uMjZiNTA1
NzhjMWUzODAxY2I1N2M5ZTQ2ODYxNDExNmY3ZjI2YjJlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJlbnQu
MTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
aGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnMiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNiwxNiArMzAsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAn
cmVwZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5z
aGFkb3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4
LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRl
cm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwor
ICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4xLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJk
LnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCmluZGV4IDM0MDAyNzkzMTUz
YWZiNWQ1NGNhMDg1YWUzNGMzMTAyN2RjNWRhM2UuLjcwY2E5YTgxMjhkYWM4YmFmOTY2MDgwNDk0
MjI1ZmU4Njc3YmFiMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJu
LnRyYW5zcGFyZW50LjEud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0
ZXJuLnRyYW5zcGFyZW50LjEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFk
b3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZpbGwgcGF0dGVybnMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yMiwxNiArMjYsMTYgQEAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlLCByZWplY3QpIHsKICAgICB9OwogfSk7CiBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICB2YXIgcGF0dGVybiA9IGN0eC5jcmVhdGVQYXR0ZXJuKHJlc3BvbnNlLCAncmVw
ZWF0Jyk7Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7Ci0gICAgY3R4LnNoYWRvd0NvbG9yID0gJyNmMDAnOwotICAgIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZp
bGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRlSW1h
Z2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRlcm4g
PSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworICAg
ICAgICBjdHguc2hhZG93Q29sb3IgPSAnI2YwMCc7CisgICAgICAgIGN0eC5zaGFkb3dPZmZzZXRZ
ID0gNTA7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOworICAgICAgICBjdHguZmls
bFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKKyAgICB9LCB0X2ZhaWwpOworfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hh
ZG93LnBhdHRlcm4udHJhbnNwYXJlbnQuMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBh
dHRlcm4udHJhbnNwYXJlbnQuMi5odG1sCmluZGV4IDY2OGUwN2Y4MzNiNGI5YjMzYmQ0NWVkYTY3
MDU4ZDllZmNhMDExNDguLjk4M2I5ZmYxZmFjMmVjZGU0Zjg2OWU5Yzc3ZWM3ZDQ5NmZkOGFmN2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5wYXR0ZXJuLnRyYW5zcGFyZW50LjIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRv
dy5wYXR0ZXJuLnRyYW5zcGFyZW50LjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnBhdHRlcm4udHJhbnNwYXJl
bnQuMjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFu
c3BhcmVudCBwYXJ0cyBvZiBmaWxsIHBhdHRlcm5zPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0
cmFuc3BhcmVudCBwYXJ0cyBvZiBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsMjEgKzMwLDIx
IEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7
CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgdmFy
IHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Ci0g
ICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUwLCA1
MCk7Ci0gICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKLSAgICBjdHguc2hhZG93Q29sb3IgPSAn
IzBmMCc7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0KDAs
IC01MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3JlYXRl
SW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBhdHRl
cm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7Cisg
ICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCg1MCwg
MCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAgY3R4
LnNoYWRvd0NvbG9yID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAs
MjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnBhdHRlcm4udHJh
bnNwYXJlbnQuMi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFu
c3BhcmVudC4yLndvcmtlci5qcwppbmRleCAxNTdmYmUyYThkYmM5NTlmYzEzYmZjYzQ5MTdiZTJj
OThjN2U3NWY2Li5kYjg4MTgwZmMzMGQ1NzU4Yjk5Yzg5MTU4NmZjOWNiZmM2MjE4YjU0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yLndv
cmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgbm90IGRyYXduIGZv
ciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBmaWxsIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsMjEgKzI2
LDIxIEBAIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0
KSB7CiAgICAgfTsKIH0pOwogcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAg
dmFyIHBhdHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihyZXNwb25zZSwgJ3JlcGVhdCcpOwotICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7Ci0gICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7
Ci0gICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKLSAgICBjdHguZmlsbFJlY3QoNTAsIDAsIDUw
LCA1MCk7Ci0gICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKLSAgICBjdHguc2hhZG93Q29sb3Ig
PSAnIzBmMCc7Ci0gICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm47Ci0gICAgY3R4LmZpbGxSZWN0
KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLSAgICBfYXNzZXJ0UGl4
ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSww
LDI1NSIpOwotICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci19KTsKLQotdC5kb25lKCk7CisgICAgY3Jl
YXRlSW1hZ2VCaXRtYXAocmVzcG9uc2UpLnRoZW4oYml0bWFwID0+IHsKKyAgICAgICAgdmFyIHBh
dHRlcm4gPSBjdHguY3JlYXRlUGF0dGVybihiaXRtYXAsICdyZXBlYXQnKTsKKyAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7
CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CisgICAgICAgIGN0eC5maWxsUmVjdCg1
MCwgMCwgNTAsIDUwKTsKKyAgICAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKKyAgICAgICAg
Y3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOworICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVy
bjsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CisgICAgICAgIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAs
MjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisgICAgICAgIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1Iik7CisgICAgfSwgdF9mYWlsKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9
KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuYmFzaWMuaHRtbAppbmRleCBi
ZTY2ZjNhOWE5MjliODgzYjBjMDU1ZDdmNjFlZjI4ODAwZjAzZGEyLi41MTYzNjgyYWYyNDg1NzZl
MzcxNGU3MWI0MmQ5OGRjZDdlYTBlYzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuc3Ryb2tlLmJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5i
YXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC5zaGFkb3cuc3Ryb2tlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnNoYWRvdy5zdHJva2UuYmFzaWM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2VzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
ZHJhd24gZm9yIHN0cm9rZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOSw3ICszMyw2IEBAIGN0eC5zdHJva2UoKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIs
ICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJv
a2UuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy53
b3JrZXIuanMKaW5kZXggZTE2NTM2ZGVkMzEzZjZkNTJiYWFhNmZhMmJhZmRhNjA0NGUzM2FmNC4u
ZDFlNTlmOWIwMDI0N2E3NzBkMDhiZDUyYjkwZjExYzU1M2ZlZGZmYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRv
d3MvMmQuc2hhZG93LnN0cm9rZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2VzIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBA
QCBjdHguc3Ryb2tlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1
NSwwLDI1NSwgIjEsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmNhcC4xLmh0bWwKaW5kZXggMmM0NjBmZDcwZjU5MmI0ZjcxNjljZTI5NzI3ZGJmNGI4N2E2
ZmVkNS4uYzdiMDhhZWZkODUyZGM1Mzk5OGRkM2VjYTU3YTZlMzIyNTgzNGM4OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5jYXAuMTwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFk
b3cuc3Ryb2tlLmNhcC4xPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3dzIGFyZSBub3QgZHJh
d24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGNhcHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAog
CiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9y
IGFyZWFzIG91dHNpZGUgc3Ryb2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMiw3ICszNiw2IEBAIGN0eC5z
dHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEsMjUsIDAsMjU1LDAsMjU1
LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4LDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5zdHJva2UuY2FwLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9r
ZS5jYXAuMS53b3JrZXIuanMKaW5kZXggNGM2YTFhYTRkNGQ1YjI3ZWI2MGIxOGI4MDBiYWU1NGIy
N2NhMTI3ZC4uZTJiNjdjMzg0ZTg5MmFkNzNjOGRlZjJiODgzYTViZThiNWNjMWRhNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMS53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJv
a2UgY2FwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTI4LDcgKzMyLDYgQEAgY3R4LnN0cm9rZSgpOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMSwyNSwgMCwyNTUsMCwyNTUsICIxLDI1IiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUs
ICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
OTgsMjUsIDAsMjU1LDAsMjU1LCAiOTgsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5jYXAuMi5odG1sCmluZGV4IDBlNzhj
MWFkMzJhNjI1ZGJmMTBkNGRiYmJlYjYwOGYxOWQxNjRmM2EuLjdkOTRkM2ViYzc5OTYyMDYwZDQ2
YTk4ZTA4OGJmYWIxODJhOTkwYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5z
dHJva2UuY2FwLjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmNhcC4y
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnNo
YWRvdy5zdHJva2UuY2FwLjI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93LnN0cm9rZS5jYXAuMjwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+U2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBjYXBzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUg
ZHJhd24gZm9yIHN0cm9rZSBjYXBzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBjdHguc3Ryb2tl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDI1LCAwLDI1NSwwLDI1NSwgIjEs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA5OCwyNSwgMCwyNTUsMCwyNTUsICI5OCwyNSIsICIwLDI1NSwwLDI1NSIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cu
c3Ryb2tlLmNhcC4yLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2Fw
LjIud29ya2VyLmpzCmluZGV4IDBjM2NhZTEwNWJhZWM4M2RmOWNkYmI5MWU3OGYyZjgwYmJhMzdk
MDYuLjY4ZGZkMGFlZjg5YjFmMWZlODUwODJjZmM4YmM0ZjQ3MmVjY2VlODYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9z
aGFkb3dzLzJkLnNoYWRvdy5zdHJva2UuY2FwLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAK
IC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsK
LWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3lu
Y190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGNhcHMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3
ICszMCw2IEBAIGN0eC5zdHJva2UoKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDEs
MjUsIDAsMjU1LDAsMjU1LCAiMSwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDI1LCAwLDI1NSwwLDI1NSwgIjk4
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5z
aGFkb3cuc3Ryb2tlLmpvaW4uMS5odG1sCmluZGV4IDA0YTYyNDU2ODZjY2Q1MjZkOGZiZWQ4MWIy
NDBmNTcxY2YzOWU2ODQuLjYwNDNkMDRlNWM0NGEyYmZmZmE3ZTkxM2I4ZTQ3YTg1OGExMjRhZWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5qb2luLjE8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+MmQuc2hhZG93LnN0cm9rZS5qb2luLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRv
d3MgYXJlIG5vdCBkcmF3biBmb3IgYXJlYXMgb3V0c2lkZSBzdHJva2Ugam9pbnM8L3A+CkBAIC0x
MSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBub3QgZHJhd24gZm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzIs
NyArMzYsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1
LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0
OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwg
Ijk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4xLndvcmtlci5qcwppbmRleCA5NTgzNzIwNzg5NDNi
ZDMzOTZkMTk3NjlhM2NiNTIxYTRiNDg5ZGE3Li4zYWViMTIzOWRhOGJhYTI1NWU3YjI4MzUzYWI5
YTVjZTAzNzM1MTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpv
aW4uMS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjEu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBub3QgZHJhd24g
Zm9yIGFyZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjgsNyArMzIsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ry
b2tlLmpvaW4uMi5odG1sCmluZGV4IDY2MjkzMTNiYWY3ZjY0ZjY1MGJiNmNjM2E4MWE4ZTE3YjFm
NTUyY2IuLjAzN2MyYzc5M2U4MDA4NTAyYTg5ZWE0YTY1MDUzNzNlMGJhY2RmZjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3No
YWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5qb2luLjI8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
c2hhZG93LnN0cm9rZS5qb2luLjI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRy
YXduIGZvciBzdHJva2Ugam9pbnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMzQsNyArMzgsNiBAQCBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEs
IDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2Ny
ZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwog
X2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUi
LCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAw
LDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4yLndvcmtlci5qcwppbmRleCA4
Yjg5ZDc0MDVjZDFlNTFlNTA3YmRkODM2OWJjZTUyNmRjYjcwMDhmLi4zMmUxZDNjMmM0ODdlOWEx
YWRhN2I2ZWMwMDNjMmJlZjlmNGIxMDdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFk
b3cuc3Ryb2tlLmpvaW4uMi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0
cm9rZS5qb2luLjIud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTaGFkb3dzIGFy
ZSBkcmF3biBmb3Igc3Ryb2tlIGpvaW5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzAsNyArMzQsNiBAQCBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAsMjU1LDAs
MjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUsMCwyNTUs
ICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNo
YWRvdy5zdHJva2Uuam9pbi4zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpv
aW4uMy5odG1sCmluZGV4IDJmZTYyM2JlNWRjMDQwZWI5YTFkODJlN2IyZTI0Y2ZhZjM0OTY3ZmYu
LjdjMjBhNWY4N2Q2ODcwNzUzM2VlYjZlZTBkNTQ0OWE5NjFkNTcxNzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnN0cm9rZS5qb2luLjMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQuc2hhZG93LnN0cm9rZS5qb2luLjM8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LnN0cm9rZS5qb2luLjM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgYXJlIGRyYXduIGZv
ciBzdHJva2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdDwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgYXJlIGRyYXduIGZv
ciBzdHJva2Ugam9pbnMgcmVzcGVjdGluZyBtaXRlciBsaW1pdCIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMzLDcgKzM3
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMSwxLCAwLDI1NSwwLDI1NSwgIjEs
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNDgsNDgs
IDAsMjU1LDAsMjU1LCAiNDgsNDgiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0OCwgMCwyNTUsMCwyNTUsICI5OCw0
OCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
c2hhZG93cy8yZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8y
ZC5zaGFkb3cuc3Ryb2tlLmpvaW4uMy53b3JrZXIuanMKaW5kZXggYTY3ZDc3MDZjYzc2OGFhZTc5
OWE4MzJiYzJkZmZkNTVkMzFjMDkzOC4uMGE5MDJmYTJhZjkzYjNiY2IyZjRiOGJkMTNjYzIxM2Vj
MWMxMTQ1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnN0cm9rZS5qb2luLjMu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy5zdHJva2Uuam9pbi4zLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9r
ZSBqb2lucyByZXNwZWN0aW5nIG1pdGVyIGxpbWl0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMsNiBAQCBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAxLDEsIDAsMjU1LDAsMjU1LCAiMSwxIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA0OCw0OCwgMCwyNTUs
MCwyNTUsICI0OCw0OCIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3Nl
cnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDQ4LCAwLDI1NSwwLDI1NSwgIjk4LDQ4IiwgIjAs
MjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dz
LzJkLnNoYWRvdy50cmFuc2Zvcm0uMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5z
Zm9ybS4xLmh0bWwKaW5kZXggYTg3OWEzYjk5MjA5N2YxYjBhNGRmMjA1MWQ1MTU5NzhkYjNkZmUz
MC4uMWQ2NzdhY2YzZDE4Mjc0MWZhM2I2OGRhNWI3YzY1NjgxYTM5NTE2YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3Mv
MmQuc2hhZG93LnRyYW5zZm9ybS4xLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnNoYWRvdy50cmFuc2Zvcm0uMTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zaGFkb3cudHJh
bnNmb3JtLjE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNoYWRvd3MgdGFrZSBhY2NvdW50IG9mIHRy
YW5zZm9ybWF0aW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlNoYWRvd3MgdGFrZSBhY2NvdW50IG9mIHRyYW5zZm9ybWF0aW9ucyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnRyYW5z
bGF0ZSgxMDAsIDEwMCk7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTE1MCwgMTAwLCA1MCk7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93
cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3NoYWRvd3MvMmQuc2hhZG93
LnRyYW5zZm9ybS4xLndvcmtlci5qcwppbmRleCAxNTM4OTM1Mjk3OWUzMTM4ZDUwMGViZDllZmNj
Y2M5YTI5Mzk3MjU4Li44ZjhkMjNkZTNkMzk0YjUzZTNmNTc1YTY0ZjFmMmYyYjBlODA0MGU3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjEud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIlNoYWRvd3MgdGFrZSBhY2NvdW50IG9mIHRyYW5zZm9ybWF0aW9ucyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnNoYWRvd0NvbG9yID0gJyMwZjAnOwogY3R4LnRy
YW5zbGF0ZSgxMDAsIDEwMCk7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTE1MCwgMTAwLCA1MCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hh
ZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50
cmFuc2Zvcm0uMi5odG1sCmluZGV4IGQyNDUyYjQ4ZWE4ZWRiMGVhOTExOTM0NTA3OWQyNTJkNDEz
Y2M1NDMuLmE2OTM1MjFlYTk1ZDY2OWY5MDdmNGI2NTBjMzU1YjE0NDdhMWZkOGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFk
b3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zaGFkb3cudHJhbnNmb3JtLjI8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc2hhZG93
LnRyYW5zZm9ybS4yPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TaGFkb3cgb2Zmc2V0cyBhcmUgbm90
IGFmZmVjdGVkIGJ5IHRyYW5zZm9ybWF0aW9uczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvdyBvZmZzZXRzIGFyZSBub3QgYWZmZWN0
ZWQgYnkgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc2hhZG93
Q29sb3IgPSAnIzBmMCc7CiBjdHgucm90YXRlKE1hdGguUEkpCiBjdHguZmlsbFJlY3QoLTEwMCwg
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNmb3JtLjIud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3NoYWRvd3MvMmQuc2hhZG93LnRyYW5zZm9ybS4yLndvcmtlci5qcwppbmRleCBiYzljN2M4ZDNi
M2E3ODA3ODY1NzRjZGYxMTg3ODhmNzAxMzI1MDhkLi4yZjFjODg2NGEwYmZkMWNlYjQwNTFkYjRi
Y2VjM2RiM2E4MjkzOGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvc2hhZG93cy8yZC5zaGFkb3cudHJhbnNm
b3JtLjIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9zaGFkb3dzLzJkLnNoYWRvdy50cmFuc2Zvcm0uMi53
b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNoYWRvdyBvZmZzZXRzIGFyZSBub3Qg
YWZmZWN0ZWQgYnkgdHJhbnNmb3JtYXRpb25zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNyArMjMsNiBAQCBjdHgu
c2hhZG93Q29sb3IgPSAnIzBmMCc7CiBjdHgucm90YXRlKE1hdGguUEkpCiBjdHguZmlsbFJlY3Qo
LTEwMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sCmluZGV4IDkxZjZlZDNmNmFmMTY4NDliYWY3
OWFmYWMxZTBjZDc0NzU1MWU3MDIuLjVlYjljN2VhYjE5Yzk4NzQ0M2FkOGQ3YmQ3YjU2ZjI4NjIx
NWNkZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAog
PHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmFsaWduLmRlZmF1bHQ8L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQudGV4dC5hbGlnbi5kZWZhdWx0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwx
MyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShj
dHgudGV4dEFsaWduLCAnc3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uZGVmYXVs
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmRlZmF1bHQud29ya2VyLmpzCmlu
ZGV4IDdmNTlhZTliNTEwNDI1NzM5NDA2OWJmMzViMDc4NTBiMmJmNzFiMWMuLjkzMzhhNjA2Mzg2
ZDIxMzI3MTAxNDU3NjQ0Mjg3ZTQyMGFmMzM3MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuYWxpZ24uZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5k
ZWZhdWx0Lndvcmtlci5qcwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4
LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0YXJ0JyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC5odG1sCmluZGV4IGJlZDQ1ZGU0
ZGJlZmU5ZmI4N2U1OWYwYmMyODFiMDgwZjQ2M2Q2N2EuLmEzZDc4ZDhkZTI5M2E1ZDAzOWIzYzc2
MThmNWI1Mzg0MDBlODA3YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52
YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmFsaWduLmlu
dmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5hbGlnbi5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdzdGFy
dCcsICJjdHgudGV4dEFsaWduIiwgIidzdGFydCciKTsKIGN0eC50ZXh0QWxpZ24gPSAnc3RhcnQn
OwogY3R4LnRleHRBbGlnbiA9ICdlbmRcMCc7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAn
c3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxpZC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmFsaWduLmludmFsaWQud29ya2VyLmpzCmluZGV4IGEyNjk3ODU2Y2Iz
MWQ3NTIzN2JkMzUzMzdhMTRiMWVjMjI4ZGFhYzEuLjY2Y2U3YWVhMTVmYzdmYzIzZGM2OTg0ODRl
Mjc4NmU3MTNlNzEwNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24uaW52YWxp
ZC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi5pbnZhbGlkLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBfYXNz
ZXJ0U2FtZShjdHgudGV4dEFsaWduLCAnc3RhcnQnLCAiY3R4LnRleHRBbGlnbiIsICInc3RhcnQn
Iik7CiBjdHgudGV4dEFsaWduID0gJ3N0YXJ0JzsKIGN0eC50ZXh0QWxpZ24gPSAnZW5kXDAnOwog
X2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3N0YXJ0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3N0
YXJ0JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmFsaWduLnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmFsaWduLnZhbGlkLmh0bWwKaW5k
ZXggZDk2YmRiZjAyM2QxMDQ1MjUwZTk0ZTk2ZjAyMmQzOTYxYTRlMmM4Mi4uYzNmMjRlY2JjNDU4
ZDIyM2ZiNDJjYmQwZTM2YTk3ZDgzNGUwNDNmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5hbGlnbi52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5h
bGlnbi52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmFsaWduLnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMCw3ICszNCw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QWxpZ24sICdy
aWdodCcsICJjdHgudGV4dEFsaWduIiwgIidyaWdodCciKTsKIAogY3R4LnRleHRBbGlnbiA9ICdj
ZW50ZXInOwogX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ2NlbnRlcicsICJjdHgudGV4dEFs
aWduIiwgIidjZW50ZXInIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYWxpZ24udmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGln
bi52YWxpZC53b3JrZXIuanMKaW5kZXggNDc4ZDQ1NDNhZTEyMzdiNWY3NTMyMzNlMDZjODVjNGEx
Y2M1NjMyMS4uNTY5Y2I5MWU5MzE0MzBjYjc3YTczYzIwODY5NjJjMjg0M2Y3N2I4MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5hbGlnbi52YWxpZC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5hbGlnbi52YWxpZC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI2LDcgKzMwLDYgQEAgX2Fzc2VydFNhbWUoY3R4LnRleHRBbGlnbiwgJ3Jp
Z2h0JywgImN0eC50ZXh0QWxpZ24iLCAiJ3JpZ2h0JyIpOwogCiBjdHgudGV4dEFsaWduID0gJ2Nl
bnRlcic7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEFsaWduLCAnY2VudGVyJywgImN0eC50ZXh0QWxp
Z24iLCAiJ2NlbnRlciciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2Vs
aW5lLmRlZmF1bHQuaHRtbAppbmRleCBmMmZlMTEwMTQ1MTdkMjg4N2E4ZWZkYmRjYTJjYWU0ZWZl
YTE0MzBhLi5lZjBhZTIwZDEwMDNmOTQyOTYyNDJmNjEyOGExNzJmODBmY2IwMTM0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0PC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRl
eHQuYmFzZWxpbmUuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTMg
KzExLDE2IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4
LnRleHRCYXNlbGluZSwgJ2FscGhhYmV0aWMnLCAiY3R4LnRleHRCYXNlbGluZSIsICInYWxwaGFi
ZXRpYyciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5iYXNlbGluZS5kZWZhdWx0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUu
ZGVmYXVsdC53b3JrZXIuanMKaW5kZXggYTQ3NWZhMzQxZjlkYzlhNGVkNDcwN2IxN2ViMTE4NzQy
MTM2ZjJiMC4uNmQ3NmIzNGYzNjVmYzBmYjBkMGJjZmZiMGNmYWY4ODg3NDM5MzFhOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmRlZmF1bHQud29ya2VyLmpzCkBAIC00LDE2ICs0LDE5
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAnYWxwaGFiZXRpYycsICJj
dHgudGV4dEJhc2VsaW5lIiwgIidhbHBoYWJldGljJyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLmludmFsaWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC5odG1sCmluZGV4IDBmZjNiMThkZDUyNzg1MmRi
MjRkZWU0NDE5YjI3YWQ1MDQ4N2MwODguLjkwOGE5ZGY0MDMxMmY2OTVlM2I5MDQyYmIyMzAyYTE3
YjZlYmY1M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmJhc2VsaW5lLmlu
dmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5iYXNlbGluZS5pbnZhbGlkPC9oMT4KIDxwIGNsYXNzPSJkZXNj
Ij48L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChm
dW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMo
MTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUs
ICd0b3AnLCAiY3R4LnRleHRCYXNlbGluZSIsICIndG9wJyIpOwogY3R4LnRleHRCYXNlbGluZSA9
ICd0b3AnOwogY3R4LnRleHRCYXNlbGluZSA9ICdtaWRkbGVcMCc7CiBfYXNzZXJ0U2FtZShjdHgu
dGV4dEJhc2VsaW5lLCAndG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS5pbnZh
bGlkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUuaW52YWxpZC53b3JrZXIu
anMKaW5kZXggMzc3Nzk5YjUwYmZmYzAyMDY4NDQ5ZmM5NTAzNjY5Njk2NGFkYTFlMC4uODA1YWJj
YzA5MzQzZjExNWU5MzI3ZDk5NjhmZTdjYWVjZDYwM2E2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5iYXNlbGluZS5pbnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmJhc2VsaW5lLmludmFsaWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yNyw3ICszMSw2IEBAIF9hc3NlcnRTYW1lKGN0eC50ZXh0QmFzZWxpbmUsICd0b3An
LCAiY3R4LnRleHRCYXNlbGluZSIsICIndG9wJyIpOwogY3R4LnRleHRCYXNlbGluZSA9ICd0b3An
OwogY3R4LnRleHRCYXNlbGluZSA9ICdtaWRkbGVcMCc7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEJh
c2VsaW5lLCAndG9wJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ3RvcCciKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC5odG1sCmluZGV4IGNkNjM1ZWM0ODY3
MDE0NDRlYzc2MDdiYjVmNmZjZGYzZDI2NGM2YjUuLmI2NzJkNDFmNGNmNWFiZWFkZDdiY2FkMDE1
MTgwNGZkZjcwMjkwZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuYmFzZWxpbmUudmFs
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZhbGlkLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuYmFzZWxpbmUu
dmFsaWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5iYXNlbGluZS52YWxpZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMzMsNyArMzcsNiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAn
aWRlb2dyYXBoaWMnLCAiY3R4LnRleHRCYXNlbGluZSIsICInaWRlb2dyYXBoaWMnIgogCiBjdHgu
dGV4dEJhc2VsaW5lID0gJ2JvdHRvbSc7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAn
Ym90dG9tJywgImN0eC50ZXh0QmFzZWxpbmUiLCAiJ2JvdHRvbSciKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5iYXNlbGluZS52YWxpZC53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZhbGlkLndvcmtlci5qcwppbmRleCAxNDQw
YzM4Y2ZmYzAzMzk3NmRiYzkzYTY5MjIzZmEwNzYyY2EwOWVmLi4zNWRhMzViNGVlOWUxYmFiZTU5
ODU3YjYwODc3NzRkMGJjYWQ2OGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2Vs
aW5lLnZhbGlkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmJhc2VsaW5lLnZhbGlk
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjksNyArMzMs
NiBAQCBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAnaWRlb2dyYXBoaWMnLCAiY3R4LnRl
eHRCYXNlbGluZSIsICInaWRlb2dyYXBoaWMnIgogCiBjdHgudGV4dEJhc2VsaW5lID0gJ2JvdHRv
bSc7CiBfYXNzZXJ0U2FtZShjdHgudGV4dEJhc2VsaW5lLCAnYm90dG9tJywgImN0eC50ZXh0QmFz
ZWxpbmUiLCAiJ2JvdHRvbSciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLmNlbnRlci5odG1sCmluZGV4IDQ4ZTBjYjM2ZDhiYzIzNTFjMTE4NzY5MTQ5ZmFk
Y2FkOTk0M2UwMDguLmMyOTljY2NiMTE4ZjAwMGE4ZTgyZGMyMjZlMjUxMWIwOTQ4YzA3NzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5jZW50ZXI8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+MmQudGV4dC5kcmF3LmFsaWduLmNlbnRlcjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFs
aWduIGNlbnRlciBpcyB0aGUgY2VudGVyIG9mIHRoZSBlbSBzcXVhcmVzIChub3QgdGhlIGJvdW5k
aW5nIGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgidGV4dEFsaWduIGNlbnRlciBpcyB0aGUgY2VudGVyIG9mIHRoZSBlbSBzcXVhcmVz
IChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwg
MCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1
LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsK
LQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmNlbnRlci53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyLndvcmtlci5qcwppbmRleCA4
OGQ3N2MxZTE4OTJjZWVjNjUzZGMzOWZmM2RkOWE4MWE0OWMwODhiLi4wMjE5NDdiZDI0NjU5MjNk
NTE1YmQzNTNjYjk5NTBkNTIyOWNmZWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuYWxpZ24uY2VudGVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uY2VudGVyLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBj
ZW50ZXIgaXMgdGhlIGNlbnRlciBvZiB0aGUgZW0gc3F1YXJlcyAobm90IHRoZSBib3VuZGluZyBi
b3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlv
bigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBA
QCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5
NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLmVuZC5sdHIuaHRtbAppbmRleCA2MzU2YjNiZTg5Zjc5Y2ExODYwYzk5YjQ0YWE2MzJj
OTM3Y2Q2ZmRjLi5mN2ZjYjM2MTI2ZDY0ODE2OTM4MjQ5ODhiOGM2MDAzMTEwZThlOTlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0ci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnRleHQuZHJhdy5hbGlnbi5lbmQubHRyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0
QWxpZ24gZW5kIHdpdGggbHRyIGlzIHRoZSByaWdodCBlZGdlPC9wPgpAQCAtMTEsMTQgKzExLDE4
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBlbmQgd2l0aCBs
dHIgaXMgdGhlIHJpZ2h0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwy
NTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1
LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQot
dC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5sdHIud29ya2VyLmpzCmluZGV4IDU4
ZTZmZmFlOTU1MDJkOGZjZDhkNDNlYWQzMzUxN2MwZDZjZjVmMTkuLjFlNTI5YmUyM2Q3ZTc2ODM2
YWYyYWM4ZDhmN2Y5YjYxODFhZTc1NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5hbGlnbi5lbmQubHRyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxp
Z24uZW5kLmx0ci53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24g
ZW5kIHdpdGggbHRyIGlzIHRoZSByaWdodCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNm
MDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSks
IDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwuaHRtbAppbmRleCBiNjBh
ODVjYmFhMzdkODVlMGYwOTgzNjQ0MDM1NWZmYTdhNGU0ZmZlLi4wMTZlMWY4OTEzZmZlZDQzY2E0
ZTYyZjYzOWFjNDMyZjY5MjBiNWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YWxpZ24uZW5kLnJ0bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5lbmQu
cnRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5hbGlnbi5lbmQucnRsPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGlnbi5lbmQucnRs
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gZW5kIHdpdGggcnRsIGlzIHRoZSBsZWZ0
IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgidGV4dEFsaWduIGVuZCB3aXRoIHJ0bCBpcyB0aGUgbGVmdCBlZGdlIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1
NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5hbGlnbi5lbmQucnRsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5l
bmQucnRsLndvcmtlci5qcwppbmRleCA2NmYwM2FjYWE3NTcyMDIzMmEwNWFlYmE1YmExMzIzM2Ey
NzRhM2VhLi5mNTA5ODdjOTI5ZDVhODRiNzUwYzI2YTMyZWUyNjg2NWYyNzVjNzQyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uZW5kLnJ0bC53b3JrZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmVuZC5ydGwud29ya2VyLmpzCkBAIC00LDE3ICs0
LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGVuZCB3aXRoIHJ0bCBpcyB0aGUgbGVmdCBlZGdlIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVw
X3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1
LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuYWxpZ24ubGVmdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxl
ZnQuaHRtbAppbmRleCAxNjRiMDJhZjQzNDI1MmYwZmUyOWU3NzJjODg4YjI1ZThmNTJjMGI0Li5k
ODNiZjBhNzM3OGVlNGMxYzY5MDRiOTJmNzI1MDVmOWJiOGNiZjVhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5sZWZ0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5hbGln
bi5sZWZ0PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gbGVmdCBpcyB0aGUgbGVmdCBv
ZiB0aGUgZmlyc3QgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCk8L3A+CkBAIC0xMSwx
NCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGxl
ZnQgaXMgdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBi
b3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlv
bigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBA
QCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5
NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50
aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5hbGlnbi5sZWZ0Lndvcmtlci5qcwppbmRleCA3MjU3NjJhOGFkYzhhMTZjZGU3ZjBlZDZi
MzNkMGFkOTAzOWZiN2U2Li4wMmU2ODlhOWQ3YzY2ZGIzMWU5NTg2MzBkNDc2Y2E2ZDlhNjA1N2I3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ubGVmdC53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLmxlZnQud29ya2VyLmpzCkBAIC00LDE3
ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1w
b3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZh
ciB0ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIGxlZnQgaXMgdGhlIGxlZnQgb2YgdGhlIGZpcnN0
IGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlv
biAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0g
JyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUs
NDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwot
fSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7
CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC5odG1sCmluZGV4IDU2MjEx
NjFkNGFhYjJlMzJiY2IzOWI0Y2RlN2NkZjIzYmQwNGVkZjAuLjlmNzUyZTYzMTkxNWY5MmZmYmZh
YWEyOWFkYTVkZTViODdlZGU0ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5h
bGlnbi5yaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5yaWdodC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
LmRyYXcuYWxpZ24ucmlnaHQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0PC9oMT4KIDxw
IGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gcmlnaHQgaXMgdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IGVt
IHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gpPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiByaWdodCBpcyB0aGUgcmln
aHQgb2YgdGhlIGxhc3QgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJveCkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1
NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAs
MjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5y
aWdodC53b3JrZXIuanMKaW5kZXggNzBhMzlhMzE4NmFhZjUxNDVmOTJlNzQyMGI4MGVmMGExNTgw
OWQxNy4uMTcwNjYxZDg0YTBjYWU2YmFmZjgwYjQyYmU3M2U2ZWI4ODgxNjIyOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0Lndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24ucmlnaHQud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgidGV4dEFsaWduIHJpZ2h0IGlzIHRoZSByaWdodCBvZiB0aGUgbGFzdCBlbSBzcXVh
cmUgKG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci5odG1sCmluZGV4IDEzMDQ3
NGU3MzY5NTU3ZDQ5YjI5MDYxZTg2ZGQ3YjJiMWVjZWRjODguLjMzYzMxNDFiNjJkNDAzZmZjZjAz
ZjM1ZWM2YTBjYzk3NjEyOTE0YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5h
bGlnbi5zdGFydC5sdHIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3Rh
cnQubHRyLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5sdHI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmFsaWduLnN0
YXJ0Lmx0cjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dGV4dEFsaWduIHN0YXJ0IHdpdGggbHRyIGlz
IHRoZSBsZWZ0IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggbHRyIGlzIHRoZSBsZWZ0IGVkZ2Ui
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0
eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0
ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMs
IDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1
IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0Lmx0ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuYWxpZ24uc3RhcnQubHRyLndvcmtlci5qcwppbmRleCBlYmMwNjU0MmUzMTY3ZDIwMzg0
NDgxZTE1YjljNDlmOWE0NzkzMzM5Li41YTM0MjNjZThjYmRhNjMyZGUwYjk4OTgyNzgxMmQ2ZWQ2
YmQzOTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRy
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQubHRyLndv
cmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMt
dGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRleHRBbGlnbiBzdGFydCB3aXRoIGx0
ciBpcyB0aGUgbGVmdCBlZGdlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0
KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQor
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpA
QCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1
LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwg
MCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQu
ZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsLmh0bWwKaW5kZXggMDUzNzJlZTI1YWUz
MTZlYTFjMTg3MjBkNDEwOTY0MzVjMmQ2ZWI2OS4uYmE0OGY3MGU0YjlhZGY5MTAwOThlYTVlODY4
NzhkNmRlYjcxMGEyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0
YXJ0LnJ0bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5hbGlnbi5zdGFydC5ydGwu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4
dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRs
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50ZXh0QWxpZ24gc3RhcnQgd2l0aCBydGwgaXMgdGhlIHJp
Z2h0IGVkZ2U8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgidGV4dEFsaWduIHN0YXJ0IHdpdGggcnRsIGlzIHRoZSByaWdodCBlZGdlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1
LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5hbGlnbi5zdGFydC5ydGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmFsaWduLnN0YXJ0LnJ0bC53b3JrZXIuanMKaW5kZXggZGM1NTFlNGFiZjJmZDJiZmE0YTRlNWIy
NDdiOTI1ODI5MmIxMWU4NC4uNGM2MzVjZjQwZTVjODg2YzZkYmQ1OGM0MjBlNGEwNTY4NmExOTRi
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmFsaWduLnN0YXJ0LnJ0bC53b3JrZXIu
anMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QWxpZ24gc3RhcnQgd2l0aCBydGwgaXMg
dGhlIHJpZ2h0IGVkZ2UiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRl
eHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsK
LXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50
aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0y
Niw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwy
NTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1
NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25l
KCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGljLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYy5odG1sCmluZGV4IDI0MTNmZTU1
ZWQyZjc5NzlmNzNjNDE5MGE5N2JkNTdhMzg5MzEwOGMuLmYwOTU3ZWU4ZTNmNjYxOTQzYjI2ZjE1
NGExYzMwODAxNjQ2OThmYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5hbHBoYWJldGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5l
LmFscGhhYmV0aWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmFscGhhYmV0aWM8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3
LmJhc2VsaW5lLmFscGhhYmV0aWM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDE0
ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90
aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0zMCw5ICszNCw3IEBAIHN0ZXBfdGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zm
c2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIs
IDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1
LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChvZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAs
MjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2Zh
aWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LmJhc2VsaW5lLmFscGhhYmV0aWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJh
c2VsaW5lLmFscGhhYmV0aWMud29ya2VyLmpzCmluZGV4IDI2ODMyNzJhYTY3N2ZkMmMzYzNmYjMz
ZTZlOWNlNDJlYTFlZWJhNzAuLjRjMThjOGZhNzc3NzBmZWQyMzFjMDY0MDhlMjVlYTliMjY3YTMw
M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5hbHBoYWJldGlj
Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRp
Yy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5
bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVu
Q2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1
LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGlu
ZS5ib3R0b20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b20uaHRt
bAppbmRleCA1ZmE5NDE4MzM4ZmI3OWJhNGM1YTAwZDAyYWMzY2RkNTc0NGI4YjNkLi4yMDQ0N2Vk
YWZiNzUzOWI3MzliOGYyZWNjYjI5MWI3OGI1YWRiMWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLmJvdHRvbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVl
bkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQu
ZHJhdy5iYXNlbGluZS5ib3R0b208L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRCYXNlbGluZSBi
b3R0b20gaXMgdGhlIGJvdHRvbSBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5nIGJv
eCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgidGV4dEJhc2VsaW5lIGJvdHRvbSBpcyB0aGUgYm90dG9tIG9mIHRoZSBlbSBzcXVhcmUgKG5v
dCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVz
dCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkK
KyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
QEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1
NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUs
IDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10
LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9tLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5ib3R0b20ud29ya2VyLmpzCmluZGV4
IDNiYTYwYzk2NmJlNmY3NTk2NDFiZTAzYzI1YzI1OWRiMDk2NGE4OGEuLjg1MWVjNzQ5ZDQ5NjMz
MmRkNTE5YWY2YThiZGJiMjZhZjg4NmQ4MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS5ib3R0b20ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5iYXNlbGluZS5ib3R0b20ud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgog
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3Jp
cHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgidGV4
dEJhc2VsaW5lIGJvdHRvbSBpcyB0aGUgYm90dG9tIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0aGUg
Ym91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwot
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRo
ZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2
LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewog
ICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1
NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1
LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUo
KTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLmh0bWwKaW5kZXggZTNmOWNmMzRkZjJhNDcw
YTFjNWFhMGI3NGI0ZmRjZGE2N2I5MzAzMC4uZjNhNzc4NGFkYmY5MjgyNTAzMWUyNjEzYzZiODYy
MzZlMjk0OGM2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmhh
bmdpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
LmRyYXcuYmFzZWxpbmUuaGFuZ2luZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2lu
ZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRl
ZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAw
KTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1
LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAs
MjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDAp
OwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaGFuZ2luZy53b3JrZXIu
anMKaW5kZXggYjQ3NzNlOGFiOGQ3Y2Y0Mzc3ZmYxOWQ4MWJmYjU2MDkyNzc5YTY4OS4uOTRiOTY3
ODk1OGJiZDQxNjFiOGQ5NjEwMDY5NWFhZjEyMzAwNTBiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLmhhbmdpbmcud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI2LDkgKzMw
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVl
bkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1
LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBoaWMuaHRtbAppbmRleCA1OTg2NWMzYmNiODAy
Yjg0MmIxNDBjZDllYWUyYmM4ODRhMzFkZDBhLi5kNmNlMDhkN2EyMTRkYWNmN2QwNmZhMmM1YjZm
NzYyMDY2NmUzYWI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUu
aWRlb2dyYXBoaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRl
b2dyYXBoaWMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVz
dDogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5i
YXNlbGluZS5pZGVvZ3JhcGhpYzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsMTQg
KzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZz
Y3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUs
MCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
YmFzZWxpbmUuaWRlb2dyYXBoaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJh
c2VsaW5lLmlkZW9ncmFwaGljLndvcmtlci5qcwppbmRleCBhZGE3ZmU5YzViNjE4ZTMyYWExZTFj
NDA5ZGJhMzlmYjc4ZmM3NmQ5Li5lOGIxZjQ5YTUyODQxMzk0ZjBlODFhNGVlNDEzZjkwYzdjOWQ3
Y2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUuaWRlb2dyYXBo
aWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5pZGVvZ3Jh
cGhpYy53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNiw5ICszMCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIp
OwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAs
MjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDk1LDQ1LCAwLDI1NSwwLDI1NSwgIjk1LDQ1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNl
bGluZS5taWRkbGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGUu
aHRtbAppbmRleCA3MTc5OWRhN2JmMzRlMjJiZWI3ZGQxOTM4ZDVjMzczYjAwZmY2NDVkLi42ZDE3
YmYzM2NiYjQ1YmM2MjE2MTcyNzJlMTQ5MTNkMTBkYmUyNGZmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmJhc2VsaW5lLm1pZGRsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlPC90aXRsZT4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJk
Y29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRl
eHQuZHJhdy5iYXNlbGluZS5taWRkbGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnRleHRCYXNlbGlu
ZSBtaWRkbGUgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZW0gc3F1YXJlIChub3QgdGhlIGJvdW5kaW5n
IGJveCk8L3A+CkBAIC0xMSwxNCArMTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgidGV4dEJhc2VsaW5lIG1pZGRsZSBpcyB0aGUgbWlkZGxlIG9mIHRoZSBlbSBzcXVhcmUg
KG5vdCB0aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVy
VGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsg
fSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKQEAgLTMwLDkgKzM0LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAw
LDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1
LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUs
NDUsIDAsMjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwot
Ci10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS5taWRkbGUud29ya2VyLmpzCmlu
ZGV4IDEyYzc2OGE3MGRkZjA3ZGY5NGQwOThmYjc2NzdjYmM3NzE4OWYzNzQuLmViZjAxMmVkZWZl
ZmY2YjAwNGU4ZWViNzIwZjk4ZWM3ZTdiYjM0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5iYXNlbGluZS5taWRkbGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5iYXNlbGluZS5taWRkbGUud29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
dGV4dEJhc2VsaW5lIG1pZGRsZSBpcyB0aGUgbWlkZGxlIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0
aGUgYm91bmRpbmcgYm94KSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgp
Owotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAg
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAg
LTI2LDkgKzMwLDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkg
ewogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94
KG9mZnNjcmVlbkNhbnZhcywgNSw0NSwgMCwyNTUsMCwyNTUsICI1LDQ1IiwgIjAsMjU1LDAsMjU1
IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNDUsIDAs
MjU1LDAsMjU1LCAiOTUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRv
bmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC5odG1sCmluZGV4IDJmY2NlNGFjMzJmY2M0YzI0OTgz
ODllNDhhZDZkMDAyODdhOTg2ZDIuLjlkZjkyMDZlMjJiOGIwYmIzZDUyODIzMzJiOTNmMGU0YTMz
ZjM2NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3AuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuYmFzZWxpbmUudG9wLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5iYXNlbGlu
ZS50b3A8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcDwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+dGV4dEJhc2VsaW5lIHRvcCBpcyB0aGUgdG9wIG9mIHRoZSBlbSBzcXVhcmUgKG5vdCB0aGUg
Ym91bmRpbmcgYm94KTwvcD4KQEAgLTExLDE0ICsxMSwxOCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxpbmUgdG9wIGlzIHRoZSB0b3Agb2YgdGhlIGVtIHNxdWFy
ZSAobm90IHRoZSBib3VuZGluZyBib3gpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVm
ZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Citu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDAp
OyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwpAQCAtMzAsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUs
IDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwy
NTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5
NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7
Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5iYXNlbGluZS50b3Aud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJhc2VsaW5lLnRvcC53b3JrZXIuanMKaW5kZXgg
MDc4MjU1YWNmNmM0Mjk4MmMyMDI3YmEwZDE5ZjBhNTkxZDM5OTI3MS4uOWZhMTRlNmYyOTEwMTMy
MTg1NzUyNDk5MzZkMGZiM2I3NWZjYmU0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmJhc2VsaW5lLnRvcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmJh
c2VsaW5lLnRvcC53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0ZXh0QmFzZWxp
bmUgdG9wIGlzIHRoZSB0b3Agb2YgdGhlIGVtIHNxdWFyZSAobm90IHRoZSBib3VuZGluZyBib3gp
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBj
dHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigp
IHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBz
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw0NSwgMCwyNTUsMCwyNTUsICI5NSw0
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZmlsbC5iYXNpYy1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwuYmFzaWMtbWFudWFsLndvcmtlci5qcwppbmRleCBiZDdmN2UyNjM4YmQyN2U3
NGU3NDI0N2ZlOWQyOWNmOTgyYTcwNjMwLi4yMzE5YjVjMzkyMjMyOGEyZDJlZWY1NWVkYTk0ZGEx
OTg0ZjJhZTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5iYXNpYy1t
YW51YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLmJhc2ljLW1h
bnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2Nh
bnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGRyYXdzIGZp
bGxlZCB0ZXh0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwogY3R4LnN0cm9rZVN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fu
cy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ1BBU1MnLCA1LCAzNSk7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLmh0bWwKaW5kZXgg
ZjY2YjczNTc2MTllYzg2ZmUyMjY5ZjYxYjFlM2U0YmJjYTE4M2FmNS4uMWVmMDk1ZGNmMWJhNjJj
MTE5NWY5NWRkYWE4ODAxZTYzYTExMzg4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguTmFOLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguTmFOLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLk5hTjwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5OYU48L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhhbmRs
ZXMgbWF4V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHki
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9u
dCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZh
aWwgZmFpbCBmYWlsJywgNSwgMzUsIE5hTik7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguTmFOLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLk5hTi53b3JrZXIuanMKaW5kZXggNDlhNGY2YmQ1ZDFlZDhiMWE5MzI4MmM1NGMxZTkx
MjU2YWI4OWFkYy4uNzE5MWZhOTYzYzNkYmE4OWFiMmUwODRiMTA0N2JiOWQ1MDg5YTUwNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguTmFOLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5OYU4ud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJl
Y3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0
eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZh
aWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgTmFOKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwg
NTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguYm91bmQuaHRtbAppbmRleCBjNzQ4OTU1NjNkZjY1MjE4MDBhMjQxZThmNzEwNzky
MWVkNDY0ZjM5Li5iZDk0MWNiYmJmNThiY2RmZDYzMGY1YmJjYmI4MmIyOTZkN2VlMDNiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kLmh0bWwKQEAgLTMs
NyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmJvdW5kPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGJhc2VkIG9uIGxp
bmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGhhbmRsZXMgbWF4V2lkdGgg
YmFzZWQgb24gbGluZSBzaXplLCBub3QgYm91bmRpbmcgYm94IHNpemUiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yNyw5ICszMSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2Ny
ZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsK
ICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwy
NTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChv
ZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1
IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguYm91bmQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguYm91bmQud29ya2VyLmpzCmluZGV4IGZkYmFiNWI5ODZiMDgzZThhZDI5OGE5MjA3
MjU5MjcwYzA5MzgwNGQuLjg0ODJiMjYyM2RiZGM0ZmM0ZjJjYWY1ODRjODUxYzllNDIyMjU2NTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmJvdW5kLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5ib3VuZC53
b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdp
ZHRoIGJhc2VkIG9uIGxpbmUgc2l6ZSwgbm90IGJvdW5kaW5nIGJveCBzaXplIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9m
ZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1Iiwg
Mik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1
LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSww
LDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC5mb250ZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZm9udGZhY2UuaHRtbAppbmRleCA5MzZkZTQ2Y2M1OTkwMGE4MTM4YTIwMGM2Njkz
N2Q3NTBiZmIxNjMyLi5iYzg1YzQ1ZmM5NDhmZjE2NWQ0ZDNiNDk2ZmQ4ZmM3ZTQyM2FhMTU3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5mb250ZmFjZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlLmh0
bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQu
ZHJhdy5maWxsLm1heFdpZHRoLmZvbnRmYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmZvbnRmYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCB3b3JrcyBvbiBAZm9u
dC1mYWNlIGZvbnRzPC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoImZpbGxUZXh0IHdvcmtzIG9uIEBmb250LWZhY2UgZm9udHMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2
YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwog
ICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CkBAIC0yNyw5ICszMSw3IEBAIHN0ZXBfdGltZW91
dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
b2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwyNTUi
LCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZpbGwubWF4V2lkdGguZm9udGZhY2Uud29ya2VyLmpzCmluZGV4IDNhNWI0Yjc0MmQ0ZmYw
Yzk0MzFlYjM1ZGFhODBhYzQ5OTgzMDMyN2UuLjJkMjA1YTkyZmM3NTgwNTIzMDRjNzEyNWU3NTU4
NGRkNjFhZjZlZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmZvbnRmYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5mb250ZmFjZS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxs
VGV4dCB3b3JrcyBvbiBAZm9udC1mYWNlIGZvbnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVl
bkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwpAQCAtMjMsOSArMjcsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywg
OTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwotfSks
IDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5s
YXJnZS1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lk
dGgubGFyZ2UtbWFudWFsLndvcmtlci5qcwppbmRleCBlOTllNTZlYjU2NjY1ZTY0Zjg2ZWU4NGEw
Y2MwYmQ5OTA4OWVhNzcwLi4zNDUwNDQ2YTExNTg2YmU5OWI4M2ExZWI5ZTY3ZmM1OTM0NGE3NjY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5sYXJnZS1t
YW51YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRo
LmxhcmdlLW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0
IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZv
bnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHguZmlsbFRleHQoJ1BBU1MnLCA1LCAz
NSwgMjAwKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwubWF4V2lkdGgubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLm1heFdpZHRoLm5lZ2F0aXZlLmh0bWwKaW5kZXggYzU5NDdkODg4MmZiYjZlZWIyYWRk
MDEzYjg4YTNlNjU2NzJiMDViYS4uMjkzOWE5NWJlZjFhMGIwYzgzZWNhNWE2NDIzNDViZGMxNTMx
ZTZjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubmVn
YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdh
dGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAy
ZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdhdGl2ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmls
bC5tYXhXaWR0aC5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+ZmlsbFRleHQgaGFuZGxl
cyBtYXhXaWR0aCBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250
ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFp
bCBmYWlsIGZhaWwnLCA1LCAzNSwgLTEpOwogX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLm5lZ2F0aXZlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLm5lZ2F0aXZlLndvcmtlci5qcwppbmRleCA1MzAyZmRlODM0MmY1YzdiZWFkMTVh
YmYzNDEyYmJmZGZiN2ZiYmYyLi5hN2E4OWZlODY2OTUxMTMyMzk2ZGY0NjczN2E1Mzc2NjRmMWI1
MzUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5uZWdh
dGl2ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bmVnYXRpdmUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4dCBoYW5k
bGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwogY3R4
LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAzNSwgLTEpOwogX2Fzc2Vy
dEdyZWVuKGN0eCwgMTAwLCA1MCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5zbWFsbC5odG1sCmluZGV4IDA0Y2IzZWRmNjllZmJi
OGM0ZjBkZmE4OGMxMWZkMmUwNTgzZWM5NzMuLjMxOWEwY2M4NGU3NWRiZTBmMWJlN2EyOGZiZjhm
MWZmN2Q5NzVhOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLnNtYWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
c21hbGwuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGw8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguc21hbGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGhhbmRsZXMgbWF4
V2lkdGggY29ycmVjdGx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBjb3JyZWN0bHkiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZm9udCA9ICcz
NXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFp
bCBmYWlsJywgLTEwMCwgMzUsIDkwKTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5zbWFsbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhX
aWR0aC5zbWFsbC53b3JrZXIuanMKaW5kZXggNzNjNDkyNDA1MjEwYTI2NThlZTZhYjEyODRmOTk1
YzA1MWNlYTU5Ny4uNmYxMDc4ODUzNWUzYmM1OGYwYWE0MzQwMDliZWIxYzBjYmFjZjhjYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguc21hbGwud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiZmlsbFRleHQgaGFuZGxlcyBtYXhXaWR0aCBj
b3JyZWN0bHkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKIGN0eC5maWxsVGV4dCgnZmFp
bCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgLTEwMCwgMzUsIDkwKTsKIF9hc3NlcnRHcmVlbihjdHgs
IDEwMCwgNTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
ZmlsbC5tYXhXaWR0aC56ZXJvLmh0bWwKaW5kZXggNzdjOWQwNWQ4NGE0NDU2ZmFmZTMzYjVmMGFh
OGQ4Y2MzZDhlNjZlMi4uYmY5YjBmMjQ5NTE3MTFkMjBlYjhmN2FmODk4NzZhY2Y5MDcwYjQ3NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVyby5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LmZp
bGwubWF4V2lkdGguemVybzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5maWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseTwv
cD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZp
bGxUZXh0IGhhbmRsZXMgbWF4V2lkdGggY29ycmVjdGx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBA
QCBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1z
ZXJpZic7CiBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFpbCcsIDUsIDM1LCAw
KTsKIF9hc3NlcnRHcmVlbihjdHgsIDEwMCwgNTApOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC56ZXJvLndvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzCmlu
ZGV4IGQzMjI5MTc3NTEyNmRhNmNmMzNlNjg3ZjEyYTNhNjRlOTcyZmU2MzIuLmU1Mjk0NGU5NTVh
NmRkMGU0YzIxMGFjMTA5NzdlYjA1MTgxMGNkNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJmaWxsVGV4dCBoYW5kbGVzIG1heFdpZHRoIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5mb250ID0gJzM1cHggQXJpYWws
IHNhbnMtc2VyaWYnOwogY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1
LCAzNSwgMCk7CiBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZpbGwucnRsLW1hbnVhbC53b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5ydGwtbWFudWFsLndvcmtlci5qcwpp
bmRleCBmNWJkMjQ3MThmYjNiNjI4ZDk3ZTRiM2U2ZWFjMmFkZGQ2MmYwZmRiLi4zNDIyZTgzNWE2
NDM3YjM5ZTdhMjlhZjVjMDdkMjNlZWRiZDhlOTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuZmlsbC5ydGwtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC5ydGwtbWFudWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
ZmlsbFRleHQgcmVzcGVjdHMgUmlnaHQtVG8tTGVmdCBPdmVycmlkZSBjaGFyYWN0ZXJzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LnN0cm9rZVN0
eWxlID0gJyNmMDAnOwogY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiBjdHgu
ZmlsbFRleHQoJ1x1MjAyZUZBSUwgXHhhMCBceGEwIFNTQVAnLCA1LCAzNSk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0ZWQuaHRtbAppbmRl
eCA1ZDJlZTc1NmRlMDg3MGJlMTMxZDI5ZWRhN2Q5MjY4NWRmZjE0YzQyLi5lN2U3MTcyN2Y3Zjdm
OGM3YWQyOTg4Zjc3YzVmZWU4M2IxN2VlYmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuZmlsbC51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZp
bGwudW5hZmZlY3RlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiAyZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5m
aWxsLnVuYWZmZWN0ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmZpbGxUZXh0IGRvZXMgbm90IHN0
YXJ0IGEgbmV3IHBhdGggb3Igc3VicGF0aDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImZpbGxUZXh0IGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBh
dGggb3Igc3VicGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYgQEAgY3R4LmZpbGwoKTsKIAogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1
LDAsMjU1LCAiNSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC51bmFmZmVjdGVkLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLnVuYWZmZWN0ZWQud29ya2VyLmpzCmluZGV4IDhi
ZTljMGJkZTMzNGY0NWU0ZmU2Yjk5MjU1Yjg5ODM0MWZhYjJhYmUuLmU5MGFhM2I5Zjc5ODBhOTE1
YTZjMTI4ZTM2MWRhZjlmMmJkZTdjZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5maWxsLnVuYWZmZWN0ZWQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5m
aWxsLnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJmaWxsVGV4
dCBkb2VzIG5vdCBzdGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICsz
Miw2IEBAIGN0eC5maWxsKCk7CiAKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZv
bnRmYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UuaHRtbAppbmRleCBm
NjZiZTZjY2Y3Yzc1ZmM5ODI5NTUxYTM4MjRjNDg1OTZiYjVhNzMxLi4wOTkwNzRmYTcwYzIxZWNj
ODgwYWJlYWQxODZiNTc3NDZlNzgwNTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuZm9udGZhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5k
cmF3LmZvbnRmYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5mb250ZmFjZTwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+PC9wPgpAQCAtMTEsMTQgKzExLDE4IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKIAogY3R4LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90
aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rp
b24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTI3LDkgKzMx
LDcgQEAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUs
NSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLmh0bWwKaW5kZXggNWUwODhjNjRkZTgxNjQw
OGNlZWVjNWMxMDlkZmJmY2ZmOWI1Yzg5ZC4uZGYzMTk2OTZlMmFkNTA5ZDg3NjAwNDM1ZmYxMTEy
NzlmMTdhMjc0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5v
dGlucGFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBh
Z2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
dGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
bm90aW5wYWdlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5AZm9udC1mYWNlIGZvbnRzIHNob3VsZCB3
b3JrIGV2ZW4gaWYgdGhleSBhcmUgbm90IHVzZWQgaW4gdGhlIHBhZ2U8L3A+CkBAIC0xMSwxNCAr
MTEsMTggQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQGZvbnQtZmFjZSBmb250
cyBzaG91bGQgd29yayBldmVuIGlmIHRoZXkgYXJlIG5vdCB1c2VkIGluIHRoZSBwYWdlIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9u
dCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAg
ICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjcsOSArMzEsNyBAQCBzdGVwX3Rp
bWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgOTUsNSwgMCwyNTUsMCwyNTUsICI5NSw1IiwgIjAsMjU1LDAs
MjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUs
IDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4
ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIw
LDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2Uud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5k
cmF3LmZvbnRmYWNlLm5vdGlucGFnZS53b3JrZXIuanMKaW5kZXggNjZlNjU0MDhkN2E5ODZlMDcw
ZTY1N2Y4YjM0MjRlZmY4ZDAzM2Y4ZC4uZDhkNWFhMWMyYTBlMjJlY2FmNjExYTQ3YTEzMWNkZTU5
ZjE4OTg4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlu
cGFnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlu
cGFnZS53b3JrZXIuanMKQEAgLTQsMTcgKzQsMjEgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJAZm9udC1mYWNlIGZvbnRz
IHNob3VsZCB3b3JrIGV2ZW4gaWYgdGhleSBhcmUgbm90IHVzZWQgaW4gdGhlIHBhZ2UiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250
ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0yMyw5ICsyNyw3IEBAIHN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5mb250ZmFjZS5yZXBlYXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFj
ZS5yZXBlYXQuaHRtbAppbmRleCA5MjJmNzRlMDc0MThkMDFhNWMyZjJjMmU4ZThlZDkwNmQyNjE5
YzFjLi45YmYzN2I4MGFlZGQzMzU4YTIwNmU2NTMwZjg0ZGViNjcyYzdlMjU1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LmZvbnRmYWNlLnJlcGVhdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0PC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPjJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkRy
YXcgd2l0aCB0aGUgZm9udCBpbW1lZGlhdGVseSwgdGhlbiB3YWl0IGEgYml0IHVudGlsIGFuZCBk
cmF3IGFnYWluLiAoVGhpcyBjcmFzaGVzIHNvbWUgdmVyc2lvbiBvZiBXZWJLaXQuKTwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRyYXcgd2l0
aCB0aGUgZm9udCBpbW1lZGlhdGVseSwgdGhlbiB3YWl0IGEgYml0IHVudGlsIGFuZCBkcmF3IGFn
YWluLiAoVGhpcyBjcmFzaGVzIHNvbWUgdmVyc2lvbiBvZiBXZWJLaXQuKSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIx
LDE2ICsyNSwxNCBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHguZm9udCA9ICc2
N3B4IENhbnZhc1Rlc3QnOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsVGV4dCgn
QUEnLCAwLCA1MCk7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1l
b3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxs
VGV4dCgnQUEnLCAwLCA1MCk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNSw1LCAwLDI1NSwwLDI1NSwgIjUsNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2UucmVwZWF0Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQuZHJhdy5mb250ZmFjZS5yZXBlYXQud29ya2VyLmpzCmluZGV4IGMxNWVlOWFkODU3Njlh
MmYzMmY2MjZhZWFkNWNiMDgxMGYwMjNlY2YuLjVmZGM1YWY0YjcxZGJmOWY3MTBjNDRkZmM5YWU3
YzVjNDNlZTJjMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5y
ZXBlYXQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS5yZXBl
YXQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJEcmF3IHdpdGggdGhlIGZvbnQg
aW1tZWRpYXRlbHksIHRoZW4gd2FpdCBhIGJpdCB1bnRpbCBhbmQgZHJhdyBhZ2Fpbi4gKFRoaXMg
Y3Jhc2hlcyBzb21lIHZlcnNpb24gb2YgV2ViS2l0LikiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNywxNiArMjEsMTQg
QEAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogY3R4LmZvbnQgPSAnNjdweCBDYW52YXNU
ZXN0JzsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFRleHQoJ0FBJywgMCwgNTAp
OwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAo
KSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZl
LCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFRleHQoJ0FBJywg
MCwgNTApOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDUsNSwgMCwy
NTUsMCwyNTUsICI1LDUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHBy
b3gob2Zmc2NyZWVuQ2FudmFzLCA5NSw1LCAwLDI1NSwwLDI1NSwgIjk1LDUiLCAiMCwyNTUsMCwy
NTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5mb250ZmFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZm9udGZhY2Uu
d29ya2VyLmpzCmluZGV4IDEzNjM3YzdjYjEyNjBmZTYzY2ZiZGYxMjhiYjk4ZDliZDY2YzRkZjku
LjExNWNiZjJkMTFiNzViZmQxOTllNDY3ZmYyZmU1NzY0YjRmYTQ5MzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5mb250ZmFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LmZvbnRmYWNlLndvcmtlci5qcwpAQCAtNCwxNyArNCwyMSBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4
LmZvbnQgPSAnNjdweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIzLDkgKzI3LDcgQEAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDk1LDUsIDAsMjU1LDAsMjU1LCAiOTUsNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1
LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUi
LCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3Lmtlcm4uY29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3Lmtlcm4uY29uc2lzdGVudC1tYW51YWwud29ya2VyLmpzCmluZGV4IDQ2ODA4YThi
NDcyNjIwYTIzYjBmMzc0MTlmN2U1M2ZlYzkzNWYwYzQuLmY3ZjA0NzY1ZDA5MzUxYjJmYThiZDM5
ZGFhMTlmZWEyMGM0NmY5NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5rZXJu
LmNvbnNpc3RlbnQtbWFudWFsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
a2Vybi5jb25zaXN0ZW50LW1hbnVhbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlN0cm9rZWQgYW5kIGZpbGxlZCB0ZXh0IHNob3VsZCBoYXZlIGV4YWN0bHkgdGhlIHNhbWUga2Vy
bmluZyBzbyBpdCBvdmVybGFwcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxUZXh0
KCdWQVZBVkFWQVZBVkFWQScsIC01MCwgMjUpOwogY3R4LmZpbGxUZXh0KCdUb1RvVG9Ub1RvVG9U
bycsIC01MCwgNDUpOwogY3R4LnN0cm9rZVRleHQoJ1ZBVkFWQVZBVkFWQVZBJywgLTUwLCAyNSk7
CiBjdHguc3Ryb2tlVGV4dCgnVG9Ub1RvVG9Ub1RvVG8nLCAtNTAsIDQ1KTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMuaHRtbAppbmRleCA2MGEzODhk
ZWUyYzI3MDgxZWY0Nzk5YTY3OWMyNTI3YTIwNzdjMzk0Li4yNGNjNDJkNjEzODM3YzQ3NjRkYWFh
MDVhNDA5MDQwMzg2YWE4MmNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3Bh
Y2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5k
cmF3LnNwYWNlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+VSswMDIwIGlzIHJlbmRlcmVkIHRoZSBjb3JyZWN0IHNpemUgKDFlbSB3aWRl
KTwvcD4KQEAgLTExLDIzICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJVKzAwMjAgaXMgcmVuZGVyZWQgdGhlIGNvcnJlY3Qgc2l6ZSAoMWVtIHdpZGUpIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwog
dmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9
ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0
ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBj
dHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRSBFRScsIC0x
MDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1
LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAi
MCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNw
YWNlLmJhc2ljLndvcmtlci5qcwppbmRleCAzZDUzOWU5ZWE5NjA0Njg2OTQzYjMwOTU2ZTAxZTI2
NjAyMjQ1NTNiLi40OGIzN2U5M2E5Y2RhMjJiMjI4ODQ5NGJiNmMxNmQ5MjMyY2I5OGMxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuYmFzaWMud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsMjYgKzQs
MjggQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJVKzAwMjAgaXMgcmVuZGVyZWQgdGhlIGNvcnJlY3Qgc2l6ZSAoMWVtIHdp
ZGUpIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVv
dXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlv
bigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4
dCgnRSBFRScsIC0xMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5D
YW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAg
ICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1
LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLmVuZC5odG1sCmluZGV4IDBkNDRhMGRmOTVmM2VlMzgy
ODRjMTBjZmIzN2ZjMzI5OGEyNjQwZDEuLjQ4OGM1ZWJlMjU5N2YwMDg3ZWM4Y2M3MzFhNDZhNjIw
NDliZmE4YWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5lbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2UuZW5k
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRl
eHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLmVuZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U3BhY2UgY2hhcmFjdGVycyBhdCB0aGUgZW5k
IG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKTwvcD4KQEAgLTExLDE0ICsxMSwxOCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGF0IHRo
ZSBlbmQgb2YgYSBsaW5lIGFyZSBjb2xsYXBzZWQgKHBlciBDU1MpIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9
IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZmlsbFN0
eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtMjYsOSArMzAsNyBAQCBzdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgY3R4LmZpbGxUZXh0KCdFRSAnLCAxMDAsIDM3
LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1
NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUs
MCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2UuZW5kLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5z
cGFjZS5jb2xsYXBzZS5lbmQud29ya2VyLmpzCmluZGV4IDYwOWJmYWVjZmY2MWYyNGZmNmRmMmJk
ZTY4OWNlNDBlZDkwMGE4ZTYuLjFiYTQ4Y2YzMmM1MDk2MjdhYTY4ZWI0MTJmMWY5YjgzODc2ZGNk
NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQu
d29ya2VyLmpzCkBAIC00LDE3ICs0LDIxIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhdCB0
aGUgZW5kIG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVv
dXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTIyLDkgKzI2LDcgQEAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewogICAgIGN0eC5maWxsVGV4dCgnRUUgJywgMTAwLCAz
Ny41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwy
NTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhlbEFw
cHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAsMjU1
LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNw
YWNlLmNvbGxhcHNlLm5vbnNwYWNlLmh0bWwKaW5kZXggYTU5NmM1MWMyYjcyMWViM2I4ZTg3NzMw
ZGRhNTlkNTQyZDFhYzU4ZS4uNWFkYzZjZTdiYzA3N2M1YzIxOWNlMmEzZDI1YzgzYzYwM2ZkYTcy
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNw
YWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNw
YWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3Bh
Y2UuY29sbGFwc2Uubm9uc3BhY2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk5vbi1zcGFjZSBjaGFy
YWN0ZXJzIGFyZSBub3QgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkPC9wPgpAQCAt
MTEsMjMgKzExLDI1IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIk5vbi1zcGFj
ZSBjaGFyYWN0ZXJzIGFyZSBub3QgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRVx4
MGIgRUUnLCAtMTUwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2Fu
dmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAg
IF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwg
Ijc1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0p
LnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZS53b3JrZXIuanMKaW5k
ZXggODgyMmRiZmFjMTgxMmJjMWZlZDJlYjRiZDA5M2Y2YjU0ZGQ4N2Y2Ni4uNWM1ZGRkOWQ2OWMw
NDllMTExMTQxNGZlYjA0MmQzNTM2MWUxYzY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm5vbnNwYWNlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uubm9uc3BhY2Uud29ya2VyLmpzCkBAIC00LDI2ICs0
LDI4IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgiTm9uLXNwYWNlIGNoYXJhY3RlcnMgYXJlIG5vdCBjb252ZXJ0ZWQgdG8g
VSswMDIwIGFuZCBjb2xsYXBzZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRl
c3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
CisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxUZXh0KCdFXHgwYiBFRScsIC0xNTAsIDM3LjUpOwogICAgIF9hc3NlcnRQ
aXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1Iiwg
IjAsMjU1LDAsMjU1IiwgMik7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZh
cywgNzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1
MDApOwotCi10LmRvbmUoKTsKKyAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90
aGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRt
bAppbmRleCBkN2RiMjNjYjRlZWZjY2VmOTgxMzZlZDMyODdkOGM4OGMxNDNhYWYxLi4zOGJhZWUx
MjliN2M5YWNiMWIxYTQzN2Q3ZDI0ZDYwYmUxMzA1NjE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVy
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IAogPGgxPjJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5vdGhlcjwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCwgYW5kIGNvbGxh
cHNlZCAocGVyIENTUyk8L3A+CkBAIC0xMSwyMyArMTEsMjUgQEAKIAogPHNjcmlwdD4KIHZhciB0
ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCwg
YW5kIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZl
clRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiAgICAgY3R4LmZpbGxUZXh0KCdFIFx4MDlceDBhXHgwY1x4MGQgIFx4MDlceDBhXHgwY1x4
MGRFRScsIC0xMDAsIDM3LjUpOwogICAgIF9hc3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52
YXMsIDI1LDI1LCAwLDI1NSwwLDI1NSwgIjI1LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7CiAgICAg
X2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKKyAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyLndvcmtlci5qcwppbmRleCBjNjYw
MjM1MGQ4MTUyYmM0MjAzNjU5NTUxZDU1MmNkMWFmYzU2NzY5Li4xYjY4N2M3YmY0OTE1ZjZmMWMy
NzAxMDI4MTNkZGFlZmU0YjU1YmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcu
c3BhY2UuY29sbGFwc2Uub3RoZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJh
dy5zcGFjZS5jb2xsYXBzZS5vdGhlci53b3JrZXIuanMKQEAgLTQsMjYgKzQsMjggQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2Vk
IChwZXIgQ1NTKSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKIAogY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHgu
ZmlsbFRleHQoJ0UgXHgwOVx4MGFceDBjXHgwZCAgXHgwOVx4MGFceDBjXHgwZEVFJywgLTEwMCwg
MzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2Uuc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFj
ZS5jb2xsYXBzZS5zcGFjZS5odG1sCmluZGV4IDRjMWE1YTRjODUyNjA4ODI4ZjUxYWUzZmFlN2Ux
NzQ1ZWYyZmE0ZDQuLjdmNzc1YTk1MGVhMGRhZDFiYWRmNDA1OWI4ZDU3OTA1NThlNzkyMzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmRyYXcu
c3BhY2UuY29sbGFwc2Uuc3BhY2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNw
YWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5TcGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQg
dG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKTwvcD4KQEAgLTExLDIzICsxMSwyNSBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0ZXJzIGFyZSBj
b252ZXJ0ZWQgdG8gVSswMDIwLCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24gKCkgeworbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
Y3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFRleHQoJ0UgIEVFJywgLTEwMCwg
MzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAs
MjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0UGl4ZWxB
cHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIsICIwLDI1
NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zcGFjZS5jb2xsYXBzZS5zcGFjZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRy
YXcuc3BhY2UuY29sbGFwc2Uuc3BhY2Uud29ya2VyLmpzCmluZGV4IDk4ZDY5MjQ0ODFmMzg2ODU0
MDdkNjI2N2MxZTI2M2M0ZWRlODQyYmMuLmY0ZGYxNmMyODk3YjNkZDAwYTdjMGJkMjk5ZmY0Y2Nl
NTZmYTJiYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBz
ZS5zcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLnNwYWNlLndvcmtlci5qcwpAQCAtNCwyNiArNCwyOCBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNwYWNlIGNoYXJh
Y3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAsIGFuZCBjb2xsYXBzZWQgKHBlciBDU1MpIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnRSAg
RUUnLCAtMTAwLCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFz
LCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9h
c3NlcnRQaXhlbEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0Lmh0bWwKaW5kZXggMWE3M2I5NDFkMzY5MTFkMGUz
MGJmYTNmOGY5OGIzZjdjNjY3ZDUwNi4uZWYyMGQzNTdkNWM4NTY2MWRjMGZiNzUwOTM5OWUxYWEz
YmIyYzBkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNl
LnN0YXJ0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0
YXJ0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJk
LnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmRyYXcuc3BhY2Uu
Y29sbGFwc2Uuc3RhcnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXQg
dGhlIHN0YXJ0IG9mIGEgbGluZSBhcmUgY29sbGFwc2VkIChwZXIgQ1NTKTwvcD4KQEAgLTExLDIz
ICsxMSwyNSBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTcGFjZSBjaGFyYWN0
ZXJzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUgYXJlIGNvbGxhcHNlZCAocGVyIENTUykiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIGN0eC5mb250
ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci1kZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK25ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsg
c3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgIC50aGVuKGZ1bmN0aW9uKCkgewogICAg
IGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxUZXh0KCcgRUUnLCAw
LCAzNy41KTsKICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwg
MCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1NSIsIDIpOwogICAgIF9hc3NlcnRQaXhl
bEFwcHJveChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1LDI1IiwgIjAs
MjU1LDAsMjU1IiwgMik7Ci19KSwgNTAwKTsKLQotdC5kb25lKCk7CisgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnN0YXJ0Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
ZHJhdy5zcGFjZS5jb2xsYXBzZS5zdGFydC53b3JrZXIuanMKaW5kZXggZWRlZDFhODgwNzAxNDA1
YzI1MTIzYTdhYTEzOTY2NjRhZGUxODNiOC4uNTQ5ZmFiMGI0NmVmMWY0YTNjNDI2NmM5YzI5NTE0
YjVhZjlmNjE1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxh
cHNlLnN0YXJ0Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuc3BhY2UuY29s
bGFwc2Uuc3RhcnQud29ya2VyLmpzCkBAIC00LDI2ICs0LDI4IEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hh
cmFjdGVycyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFyZSBjb2xsYXBzZWQgKHBlciBDU1MpIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CituZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAudGhlbihmdW5jdGlvbigpIHsK
ICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsVGV4dCgnIEVF
JywgMCwgMzcuNSk7CiAgICAgX2Fzc2VydFBpeGVsQXBwcm94KG9mZnNjcmVlbkNhbnZhcywgMjUs
MjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUiLCAyKTsKICAgICBfYXNzZXJ0
UGl4ZWxBcHByb3gob2Zmc2NyZWVuQ2FudmFzLCA3NSwyNSwgMCwyNTUsMCwyNTUsICI3NSwyNSIs
ICIwLDI1NSwwLDI1NSIsIDIpOwotfSksIDUwMCk7Ci0KLXQuZG9uZSgpOworICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0
LmRyYXcuc3Ryb2tlLmJhc2ljLW1hbnVhbC53b3JrZXIuanMKaW5kZXggYTA5YTFlYWVlYTVhNWVh
ZjhjNTcyY2E3OWFkYTk0MzZhZmM1ZWYxYy4uNGRhMGI1ZGNhMzU4OTYxNzdmMDA3MmYzMDgyY2M4
NDc1MWYzOGRkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS5iYXNp
Yy1tYW51YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UuYmFz
aWMtbWFudWFsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlVGV4dCBk
cmF3cyBzdHJva2VkIHRleHQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0eC5maWxsU3R5bGUg
PSAnI2YwMCc7CiBjdHgubGluZVdpZHRoID0gMTsKIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNh
bnMtc2VyaWYnOwogY3R4LnN0cm9rZVRleHQoJ1BBU1MnLCA1LCAzNSk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKaW5k
ZXggMWNhYzY1Y2Q0MzdkZjEzNTA2ZDQyMWQ4ZjY1MzMyYjFhMWVkMGM1Mi4uYjBjNzU1NDY5Zjk3
ODI3ZDZjZWNlODA5MDhmMjhiZjk2OGJkNjFiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3
LnN0cm9rZS51bmFmZmVjdGVkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZDwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0
LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnN0cm9rZVRleHQg
ZG9lcyBub3Qgc3RhcnQgYSBuZXcgcGF0aCBvciBzdWJwYXRoPC9wPgpAQCAtMTEsNiArMTEsMTAg
QEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic3Ryb2tlVGV4dCBkb2VzIG5vdCBz
dGFydCBhIG5ldyBwYXRoIG9yIHN1YnBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMyw3ICszNyw2IEBAIGN0eC5m
aWxsKCk7CiAKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1LDQ1LCAwLDI1NSwwLDI1NSwgIjUsNDUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVj
dGVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5zdHJva2UudW5hZmZlY3RlZC53
b3JrZXIuanMKaW5kZXggNzkyMWY4YTU5MDA1ZTNiMTAxMGY5ODM0ZWIxZDA1ZTVjZGIxMzJhYi4u
ODcyMzY1NTJlYjE2NWFhZGRjYjA2OGM2YzA2YjgzZWZkOGI3MDY1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RleHQvMmQudGV4dC5kcmF3LnN0cm9rZS51bmFmZmVjdGVkLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGV4dC8yZC50ZXh0LmRyYXcuc3Ryb2tlLnVuYWZmZWN0ZWQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzdHJva2VUZXh0IGRvZXMgbm90IHN0YXJ0IGEgbmV3IHBhdGggb3Igc3Vi
cGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAgY3R4LmZpbGwoKTsKIAogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUsNDUsIDAsMjU1LDAsMjU1LCAi
NSw0NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LmRlZmF1bHQuaHRtbAppbmRleCA3MzZjMWFiOWUyNzExYTYwZDQzNGVjZjkwMDUxMTlhNzc1NzQ3
NGM3Li44MDBjN2M5OGM3NjNkYjk3NDM0NWVlZmQxMDNiZTFmZGZmMGU3Y2VkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5kZWZhdWx0Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRleHQuZm9udC5kZWZhdWx0PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5kZWZhdWx0
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj48L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOwogCiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzEwcHggc2Fucy1z
ZXJpZicsICJjdHguZm9udCIsICInMTBweCBzYW5zLXNlcmlmJyIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0LmZvbnQuZGVmYXVsdC53b3JrZXIuanMKaW5kZXggY2FkNjU2ZTI1
ZDBmYzVkMmMxZGQ3Mjk1M2IxNGJjZWNmN2Q2MWQyMi4uMTM4NjcwZWU0NDM2NmNmYTdmOTU4MGI2
YWUxNWFmYTVjNzk1ODczNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LmRlZmF1
bHQud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5kZWZhdWx0Lndvcmtlci5q
cwpAQCAtNCwxNiArNCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcxMHB4IHNh
bnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzEwcHggc2Fucy1zZXJpZiciKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMuaHRtbAppbmRleCBiMzY5ZTBl
MzlkMWYzOWYyMzI2NTk5MjQwMWFmYTNkMWQxMjM4OGEyLi42ODY4NWUxOGI1ODM4NDI3MjRjYzFk
MWIxYThhZmNkMTIwNGYzMGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFy
c2UuYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5m
b250LnBhcnNlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQuZm9udC5wYXJzZS5iYXNpYzwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0g
YXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBfYXNzZXJ0U2FtZShjdHguZm9u
dCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiAKIGN0eC5mb250
ID0gJzIwUFggICBTRVJJRic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAi
Y3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNpYy53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0LmZvbnQucGFyc2UuYmFzaWMud29ya2VyLmpzCmluZGV4IDJhM2Q5M2Q3YzkwYWUw
MmZiY2ExNDhiYjM3NTRhYTBkY2IxYWJhZDQuLmUyNTkwZGNmYTc1NTI4NWEyYjViNzA3Njg0MTU2
MDlhNWJkOTFkYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5iYXNp
Yy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmJhc2ljLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTcsNyArMjEsNiBAQCBf
YXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2Vy
aWYnIik7CiAKIGN0eC5mb250ID0gJzIwUFggICBTRVJJRic7CiBfYXNzZXJ0U2FtZShjdHguZm9u
dCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5jb21wbGV4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuY29tcGxleC5odG1sCmluZGV4IGE0
NWY3MzcyOWRmNDc0YWNmMzU1YjkzOTcwNGVjMGY2MDJlZjMwOWUuLmNiNjJkYTAwZWExNzMzZmM4
MDA0ODZjMGMzZjk1MzM4ZjUwZDYwOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5wYXJzZS5jb21wbGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNv
bXBsZXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXg8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudGV4dC5mb250LnBhcnNlLmNvbXBs
ZXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3Jp
cHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0
eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICdzbWFs
bC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24gRm9udCwgc2Fucy1zZXJpZic7CiBfYXNz
ZXJ0U2FtZShjdHguZm9udCwgJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHggIlVua25vd24gRm9udCIs
IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHggXCJVbmtu
b3duIEZvbnRcIiwgc2Fucy1zZXJpZiciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXgud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLmNvbXBsZXgud29ya2VyLmpzCmluZGV4IDYyY2M2ZWRlMjcy
OTk4ZjYyMTEwMzg3YTYwY2QzYTM5NWZjMmE0Y2UuLmMwOTRkYmFjZjEzYjAwYWQ0M2YwOWZlNDVj
OTUwMDc4MTMxNmI1ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5j
b21wbGV4Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuY29tcGxl
eC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4
LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHgu
Zm9udCA9ICdzbWFsbC1jYXBzIGl0YWxpYyA0MDAgMTJweC8yIFVua25vd24gRm9udCwgc2Fucy1z
ZXJpZic7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHggIlVu
a25vd24gRm9udCIsIHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJ2l0YWxpYyBzbWFsbC1jYXBz
IDEycHggXCJVbmtub3duIEZvbnRcIiwgc2Fucy1zZXJpZiciKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLmh0bWwKaW5kZXggYmQ2MTBmZjMz
NDhhYjgwMDUzZTQ3MTk1YjFlYTgxY2M2NjNiYTk4Ny4uYjcyZGVjNTgxNmEwM2NiODNjMmMyMzdj
MDI1MDczYmM2YjFkOTg4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNl
LmludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0
LmZvbnQucGFyc2UuaW52YWxpZDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZh
ciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTksNiArMjMsMTAgQEAgdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7
CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHgg
c2VyaWYnIik7CiAKK2N0eC5mb250ID0gJzIwcHggc2VyaWYnOworY3R4LmZvbnQgPSAnJzsKK19h
c3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBweCBzZXJp
ZiciKTsKKwogY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CiBjdHguZm9udCA9ICdib2d1cyc7CiBf
YXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2Vy
aWYnIik7CkBAIC00Niw3ICs1NCw2IEBAIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJp
ZicsICJjdHguZm9udCIsICInMjBweCBzZXJpZiciKTsKIGN0eC5mb250ID0gJzIwcHggc2VyaWYn
OwogY3R4LmZvbnQgPSAnMWVtIHNlcmlmOyBiYWNrZ3JvdW5kOiBncmVlbjsgbWFyZ2luOiAxMHB4
JzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAnMjBweCBzZXJpZicsICJjdHguZm9udCIsICInMjBw
eCBzZXJpZiciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5mb250LnBhcnNlLmludmFsaWQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250
LnBhcnNlLmludmFsaWQud29ya2VyLmpzCmluZGV4IDcyODE1OTg4YWRlYmI0N2NmM2Y4ZWVjNjU0
MzIyOWEzMGEzODFjNjEuLjNkNTI4MzdmYjVkZTM2Njc1ZGU3M2FmZGY2ZDAwYWQ3ODI0MjI5YmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5pbnZhbGlkLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UuaW52YWxpZC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE1LDYgKzE5LDEwIEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIGN0eC5mb250ID0gJzIwcHggc2Vy
aWYnOwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicy
MHB4IHNlcmlmJyIpOwogCitjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKK2N0eC5mb250ID0gJyc7
CitfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHgg
c2VyaWYnIik7CisKIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogY3R4LmZvbnQgPSAnYm9ndXMn
OwogX2Fzc2VydFNhbWUoY3R4LmZvbnQsICcyMHB4IHNlcmlmJywgImN0eC5mb250IiwgIicyMHB4
IHNlcmlmJyIpOwpAQCAtNDIsNyArNTAsNiBAQCBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHgg
c2VyaWYnLCAiY3R4LmZvbnQiLCAiJzIwcHggc2VyaWYnIik7CiBjdHguZm9udCA9ICcyMHB4IHNl
cmlmJzsKIGN0eC5mb250ID0gJzFlbSBzZXJpZjsgYmFja2dyb3VuZDogZ3JlZW47IG1hcmdpbjog
MTBweCc7CiBfYXNzZXJ0U2FtZShjdHguZm9udCwgJzIwcHggc2VyaWYnLCAiY3R4LmZvbnQiLCAi
JzIwcHggc2VyaWYnIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5w
YXJzZS5zeXN0ZW0uaHRtbAppbmRleCBhM2RkNDQ4YWFiNWRlYjI4ZjhlY2EyODBjMGU4NjZjNGE1
ZmYxZGE2Li5kZjc3MDVjMWM2Y2VjOWJiMGVmNTk0Mzg0MTdkZDQ4NDUxZWE1ZjJkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnBhcnNlLnN5c3RlbS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtPC90aXRsZT4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJk
LnRleHQuZm9udC5wYXJzZS5zeXN0ZW08L2gxPgogPHAgY2xhc3M9ImRlc2MiPlN5c3RlbSBmb250
cyBtdXN0IGJlIGNvbXB1dGVkIHRvIGV4cGxpY2l0IHZhbHVlczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlN5c3RlbSBmb250cyBtdXN0IGJl
IGNvbXB1dGVkIHRvIGV4cGxpY2l0IHZhbHVlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiBjdHguZm9udCA9ICdt
ZXNzYWdlLWJveCc7CiBfYXNzZXJ0RGlmZmVyZW50KGN0eC5mb250LCAnbWVzc2FnZS1ib3gnLCAi
Y3R4LmZvbnQiLCAiJ21lc3NhZ2UtYm94JyIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0ud29ya2VyLmpzCmluZGV4IDBiNWJjZmMyNmMz
MDljYTNhZWZiZWVkMjFmNTY5Y2IwYzdmYjc1ZDguLmJkZWNiYjEzZWE3ODRmZDczMzUzNTdhYmI1
NDRlOWUwMzlkYzhhNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5z
eXN0ZW0ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5wYXJzZS5zeXN0ZW0u
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTeXN0ZW0gZm9udHMgbXVzdCBiZSBj
b21wdXRlZCB0byBleHBsaWNpdCB2YWx1ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0
KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJv
dyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
cyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBj
dHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogY3R4LmZvbnQgPSAnbWVz
c2FnZS1ib3gnOwogX2Fzc2VydERpZmZlcmVudChjdHguZm9udCwgJ21lc3NhZ2UtYm94JywgImN0
eC5mb250IiwgIidtZXNzYWdlLWJveCciKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRl
eHQuZm9udC5wYXJzZS50aW55Lmh0bWwKaW5kZXggMzUwYWQyM2MxNWU1NTY5ODQ1YzBlZDkyZjVj
ZTYxMDcyZTNjZmM5OC4uYWJiMWIxYTE1ODEyZjYxM2Y4MDc4YTMzNWQ4M2FjMjQ3YzE3YWUzOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnBhcnNlLnRpbnkuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0LmZvbnQucGFyc2UudGlueTwvdGl0bGU+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4y
ZC50ZXh0LmZvbnQucGFyc2UudGlueTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIGN0eC5mb250ID0gJzFweCBzYW5zLXNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250LCAn
MXB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzFweCBzYW5zLXNlcmlmJyIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlu
eS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS53b3JrZXIuanMK
aW5kZXggMTFhOTZkY2Q3NDVlM2MyODJmMzUyYWQ0NGI4NDg1MzE5ODQ2ZWI4OS4uYmUxODQxYjk4
NmI2Y2MyNGEzYmVhMTBjNzkxMTNkNjk3NmYwZjU1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5mb250LnBhcnNlLnRpbnkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5wYXJzZS50aW55Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBv
cnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIGN0eC5mb250ID0gJzFweCBzYW5zLXNlcmlmJzsKIF9hc3NlcnRTYW1lKGN0eC5mb250
LCAnMXB4IHNhbnMtc2VyaWYnLCAiY3R4LmZvbnQiLCAiJzFweCBzYW5zLXNlcmlmJyIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRp
dmVfc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYmUzZDJkNDNlMGYxOWU5ZDhmZWI4MzMxODkyZjk3NzM4OGY2YzhmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUuaHRtbApA
QCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+Cis8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
Cis8aDE+MmQudGV4dC5mb250LnJlbGF0aXZlX3NpemU8L2gxPgorPHAgY2xhc3M9ImRlc2MiPjwv
cD4KKworCis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0g
b2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK2N0eC5mb250ID0gJzFlbSBzYW5z
LXNlcmlmJzsKK19hc3NlcnRTYW1lKGN0eC5mb250LCAnMTBweCBzYW5zLXNlcmlmJywgImN0eC5m
b250IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7Cit0LmRvbmUoKTsKKworfSk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUud29ya2VyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplLndvcmtlci5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5y
ZWxhdGl2ZV9zaXplLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9udC5yZWxhdGl2ZV9z
aXplLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzBjNTRmYWFmMDk5MTA5OWExNzQ1YzFmNDY4Y2Ni
MDc3ZjRiZjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5mb250LnJlbGF0
aXZlX3NpemUud29ya2VyLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIERPIE5PVCBFRElUISBUaGlz
IHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3Jl
ZW5DYW52YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZQorLy8g
RGVzY3JpcHRpb246CisvLyBOb3RlOgorCitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK2N0eC5mb250ID0gJzFlbSBzYW5zLXNl
cmlmJzsKK19hc3NlcnRTYW1lKGN0eC5mb250LCAnMTBweCBzYW5zLXNlcmlmJywgImN0eC5mb250
IiwgIicxMHB4IHNhbnMtc2VyaWYnIik7Cit0LmRvbmUoKTsKKworfSk7Citkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk1YjIxMTlkOWUzODNjZmE4Y2VkNGU5ZjU2Y2IwYzFkNTk2MGQyNDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3guaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+Cis8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveDwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveDwvaDE+Cis8cCBj
bGFzcz0iZGVzYyI+VGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFz
PC9wPgorCisKKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgYWN0dWFsQm91
bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5D
YW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rl
c3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/
IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFk
eS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICds
dHInOworICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgIGN0eC5iYXNlbGluZSA9ICdhbHBoYWJl
dGljJworICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICBfYXNzZXJ0
U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveExlZnQp
LCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0
KSIsICIwIik7CisgICAgLy8gRGlmZmVyZW50IHBsYXRmb3JtcyBtYXkgcmVuZGVyIHRleHQgc2xp
Z2h0bHkgZGlmZmVyZW50LgorICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFs
Qm91bmRpbmdCb3hSaWdodCA+PSA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5k
aW5nQm94UmlnaHQgPj0gNTAiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFj
dHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDM1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFs
Qm91bmRpbmdCb3hBc2NlbnQgPj0gMzUiKTsKKyAgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgu
bWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQpLCAwLCAiTWF0aC5hYnMo
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50KSIsICIwIik7CisK
KyAgICBfYXNzZXJ0U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxC
b3VuZGluZ0JveExlZnQpLCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0
dWFsQm91bmRpbmdCb3hMZWZ0KSIsICIwIik7CisgICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQo
J0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDIwMCwgImN0eC5tZWFzdXJlVGV4dCgn
QUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gMjAwIik7CisgICAgX2Fzc2VydChjdHgu
bWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4NSwgImN0eC5t
ZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDg1Iik7CisgICAg
X2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQg
Pj0gMzcsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQg
Pj0gMzciKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWN0dWFsQm91
bmRpbmdCb3gud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjJhNTM2OWEyMGUyZWU0NGRlYTc3ZGNiYzc3NGMzMjJmYmU0MjQ2YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveC53b3JrZXIuanMK
QEAgLTAsMCArMSw0MyBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEg
d29ya2VyOjJkLnRleHQubWVhc3VyZS5hY3R1YWxCb3VuZGluZ0JveAorLy8gRGVzY3JpcHRpb246
VGVzdGluZyBhY3R1YWxCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgor
CitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3Jp
cHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBh
c3luY190ZXN0KCJUZXN0aW5nIGFjdHVhbEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5j
dGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3Zh
ciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIp
OworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMp
OworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcK
KyAgICBjdHguYmFzZWxpbmUgPSAnYWxwaGFiZXRpYycKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBt
YXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0
KCdBJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4
dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOworICAgIC8vIERpZmZlcmVudCBw
bGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNsaWdodGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0
KGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94UmlnaHQgPj0gNTAsICJjdHgu
bWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0ID49IDUwIik7CisgICAgX2Fz
c2VydChjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+PSAzNSwg
ImN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ID49IDM1Iik7Cisg
ICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRp
bmdCb3hEZXNjZW50KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmFjdHVhbEJv
dW5kaW5nQm94RGVzY2VudCkiLCAiMCIpOworCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSwgMCwgIk1hdGguYWJz
KGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmFjdHVhbEJvdW5kaW5nQm94TGVmdCkiLCAiMCIpOwor
ICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hSaWdo
dCA+PSAyMDAsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJpZ2h0
ID49IDIwMCIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91
bmRpbmdCb3hBc2NlbnQgPj0gODUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3Vu
ZGluZ0JveEFzY2VudCA+PSA4NSIpOworICAgIF9hc3NlcnQoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50ID49IDM3Iik7Cit9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYWR2YW5jZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZmNGUyMWRlOTVhZTI5MTdjNmIzYjNmNWYyMDc3NGMwMTgyMjdhY2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMuaHRtbApA
QCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gRE8gTk9UIEVESVQhIFRoaXMg
dGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4gLS0+Cis8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS5hZHZhbmNlczwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKwor
PGgxPjJkLnRleHQubWVhc3VyZS5hZHZhbmNlczwvaDE+Cis8cCBjbGFzcz0iZGVzYyI+VGVzdGlu
ZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisKKzxzY3JpcHQ+Cit2
YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgd2lkdGggYWR2YW5jZXMgZm9yIE9mZnNjcmVlbkNh
bnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVw
KGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
KwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3Qu
dHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5m
b250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9ICds
ZWZ0JworICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSByZXR1cm4gJy0wJy4KKyAgICBfYXNzZXJ0
U2FtZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0pLCAwLCAi
TWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMCkrIlwiXSki
LCAiMCIpOworICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5IHJlbmRlciB0ZXh0IHNsaWdo
dGx5IGRpZmZlcmVudC4KKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZh
bmNlc1sxXSA+PSAzNiwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDEp
KyJcIl0gPj0gMzYiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZh
bmNlc1syXSA+PSA1OCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDIp
KyJcIl0gPj0gNTgiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZh
bmNlc1szXSA+PSA3MCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMp
KyJcIl0gPj0gNzAiKTsKKyAgICBfYXNzZXJ0KGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZh
bmNlc1s0XSA+PSA4MCwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDQp
KyJcIl0gPj0gODAiKTsKKworICAgIHZhciB0bSA9IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKTsK
KyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMF0sIHRt
LmFkdmFuY2VzWzBdLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMCkr
IlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDApKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgu
bWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMV0sIHRtLmFkdmFuY2VzWzFdLCAiY3R4Lm1l
YXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMSkrIlwiXSIsICJ0bS5hZHZhbmNlc1tc
IiIrKDEpKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbMl0sIHRtLmFkdmFuY2VzWzJdLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFk
dmFuY2VzW1wiIisoMikrIlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDIpKyJcIl0iKTsKKyAgICBf
YXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10sIHRtLmFkdmFu
Y2VzWzNdLCAiY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoMykrIlwiXSIs
ICJ0bS5hZHZhbmNlc1tcIiIrKDMpKyJcIl0iKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3Vy
ZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbNF0sIHRtLmFkdmFuY2VzWzRdLCAiY3R4Lm1lYXN1cmVU
ZXh0KCdIZWxsbycpLmFkdmFuY2VzW1wiIisoNCkrIlwiXSIsICJ0bS5hZHZhbmNlc1tcIiIrKDQp
KyJcIl0iKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2VzLndvcmtlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2VyLmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmFkdmFuY2Vz
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWEyYzY2ZjA1MWZmYzgwOTc4OGU3OGM1NzJjMTNmZTM2MzM3OTE0YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5hZHZhbmNlcy53b3JrZXIu
anMKQEAgLTAsMCArMSw0NSBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBn
ZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGlu
IGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS5hZHZhbmNlcworLy8gRGVzY3JpcHRpb246VGVzdGlu
ZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgorCitpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3luY190ZXN0
KCJUZXN0aW5nIHdpZHRoIGFkdmFuY2VzIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKwor
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIg
Y3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBmID0gbmV3IEZv
bnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRz
ID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRk
KGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgIGN0
eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICAvLyBTb21l
IHBsYXRmb3JtcyBtYXkgcmV0dXJuICctMCcuCisgICAgX2Fzc2VydFNhbWUoTWF0aC5hYnMoY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdKSwgMCwgIk1hdGguYWJzKGN0eC5tZWFz
dXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJcIl0pIiwgIjAiKTsKKyAgICAvLyBE
aWZmZXJlbnQgcGxhdGZvcm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisg
ICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMV0gPj0gMzYsICJj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygxKSsiXCJdID49IDM2Iik7Cisg
ICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMl0gPj0gNTgsICJj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygyKSsiXCJdID49IDU4Iik7Cisg
ICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbM10gPj0gNzAsICJj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKygzKSsiXCJdID49IDcwIik7Cisg
ICAgX2Fzc2VydChjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbNF0gPj0gODAsICJj
dHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbXCIiKyg0KSsiXCJdID49IDgwIik7CisK
KyAgICB2YXIgdG0gPSBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyk7CisgICAgX2Fzc2VydFNhbWUo
Y3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzBdLCB0bS5hZHZhbmNlc1swXSwgImN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDApKyJcIl0iLCAidG0uYWR2YW5j
ZXNbXCIiKygwKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxs
bycpLmFkdmFuY2VzWzFdLCB0bS5hZHZhbmNlc1sxXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1tcIiIrKDEpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKygxKSsiXCJdIik7Cisg
ICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdLCB0bS5h
ZHZhbmNlc1syXSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDIpKyJc
Il0iLCAidG0uYWR2YW5jZXNbXCIiKygyKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1l
YXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzNdLCB0bS5hZHZhbmNlc1szXSwgImN0eC5tZWFz
dXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1tcIiIrKDMpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIi
KygzKSsiXCJdIik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFk
dmFuY2VzWzRdLCB0bS5hZHZhbmNlc1s0XSwgImN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZh
bmNlc1tcIiIrKDQpKyJcIl0iLCAidG0uYWR2YW5jZXNbXCIiKyg0KSsiXCJdIik7Cit9KS50aGVu
KHRfcGFzcywgdF9mYWlsKTsKKworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUu
YmFzZWxpbmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQyNmM1Y2IzZDBkZTNkZjJiYjFhNmQzYTNlZjg0
MzhmMDI2YTZhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5i
YXNlbGluZXMuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gRE8g
Tk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5w
eS4gLS0+Cis8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS5iYXNl
bGluZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CisKKzxoMT4yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzPC9oMT4KKzxwIGNs
YXNzPSJkZXNjIj5UZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzPC9wPgorCisK
KzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgYmFzZWxpbmVzIGZvciBPZmZz
Y3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
K3Quc3RlcChmdW5jdGlvbigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CisKK3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52
YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9j
dW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJl
c29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7CisgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICBjdHguYWxpZ24g
PSAnbGVmdCcKKyAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdl
dEJhc2VsaW5lcygpLmFscGhhYmV0aWMpLCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdB
JykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykiLCAiMCIpOworICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMsIC0zOSwgImN0eC5t
ZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljIiwgIi0zOSIpOworICAg
X2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZywg
NjgsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5oYW5naW5nIiwgIjY4Iik7
CisKKyAgIF9hc3NlcnRTYW1lKE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJh
c2VsaW5lcygpLmFscGhhYmV0aWMpLCAwLCAiTWF0aC5hYnMoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykiLCAiMCIpOworICAgX2Fzc2VydFNhbWUoY3R4
Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaWRlb2dyYXBoaWMsIC0zOSwgImN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmlkZW9ncmFwaGljIiwgIi0zOSIp
OworICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCku
aGFuZ2luZywgNjgsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5oYW5n
aW5nIiwgIjY4Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworfSk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGluZXMud29ya2VyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzLndvcmtlci5odG1s
CkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5i
YXNlbGluZXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53
b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFjMmRmZjhjODA0M2E5Zjk0ODY1NjY1NjA2ZGNiNjVmNTYw
MzMxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5iYXNlbGlu
ZXMud29ya2VyLmpzCkBAIC0wLDAgKzEsMzggQEAKKy8vIERPIE5PVCBFRElUISBUaGlzIHRlc3Qg
aGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHkuCisvLyBPZmZzY3JlZW5DYW52
YXMgdGVzdCBpbiBhIHdvcmtlcjoyZC50ZXh0Lm1lYXN1cmUuYmFzZWxpbmVzCisvLyBEZXNjcmlw
dGlvbjpUZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisvLyBOb3RlOgorCitp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CitpbXBvcnRTY3JpcHRz
KCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKKwordmFyIHQgPSBhc3lu
Y190ZXN0KCJUZXN0aW5nIGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisK
K3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwordmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit2YXIgZiA9IG5ldyBG
b250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250
cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFk
ZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOworICAgY3R4
LmRpcmVjdGlvbiA9ICdsdHInOworICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICBfYXNzZXJ0U2Ft
ZShNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGlj
KSwgMCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmFscGhh
YmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJh
c2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNl
bGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJl
VGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1cmVUZXh0KCdB
JykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2OCIpOworCisgICBfYXNzZXJ0U2FtZShNYXRo
LmFicyhjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSwg
MCwgIk1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmFscGhh
YmV0aWMpIiwgIjAiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmdl
dEJhc2VsaW5lcygpLmlkZW9ncmFwaGljLCAtMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5n
ZXRCYXNlbGluZXMoKS5pZGVvZ3JhcGhpYyIsICItMzkiKTsKKyAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnQUJDRCcpLmdldEJhc2VsaW5lcygpLmhhbmdpbmcsIDY4LCAiY3R4Lm1lYXN1
cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyIsICI2OCIpOworfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CisKK30pOworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5tZWFzdXJlLmVtSGVpZ2h0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVt
SGVpZ2h0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwOGMyYWU3ZGFlMmFiNWJmNThlMGQ0Nzc4NTZjNGI5
MThkMTkxYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZW1I
ZWlnaHRzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIERPIE5P
VCBFRElUISBUaGlzIHRlc3QgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHRvb2xzL2dlbnRlc3QucHku
IC0tPgorPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50ZXh0Lm1lYXN1cmUuZW1IZWln
aHRzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorCis8aDE+MmQudGV4dC5tZWFzdXJlLmVtSGVpZ2h0czwvaDE+Cis8cCBjbGFz
cz0iZGVzYyI+VGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNjcmVlbkNhbnZhczwvcD4KKworCis8
c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zmc2Ny
ZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7Cit0
LnN0ZXAoZnVuY3Rpb24oKSB7CisKK3ZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwordmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOworCit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFz
VGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8gc2VsZi5mb250cyA6IGRvY3Vt
ZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAg
IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKKyAgICBjdHguZGlyZWN0aW9uID0gJ2x0cic7CisgICAgY3R4LmFsaWdu
ID0gJ2xlZnQnCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRB
c2NlbnQsIDM3LjUsICJjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCIsICIzNy41
Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50
LCAxMi41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50IiwgIjEyLjUiKTsK
KyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodERlc2NlbnQgKyBj
dHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2VudCwgNTAsICJjdHgubWVhc3VyZVRleHQo
J0EnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0EnKS5lbUhlaWdodEFzY2Vu
dCIsICI1MCIpOworCisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1I
ZWlnaHRBc2NlbnQsIDM3LjUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2Vu
dCIsICIzNy41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1I
ZWlnaHREZXNjZW50LCAxMi41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNj
ZW50IiwgIjEyLjUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5l
bUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2VudCwg
NTAsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3Vy
ZVRleHQoJ0FCQ0QnKS5lbUhlaWdodEFzY2VudCIsICI1MCIpOworfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CisKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuZW1IZWlnaHRzLndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmVt
SGVpZ2h0cy53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmVtSGVpZ2h0cy53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS5lbUhlaWdodHMud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNTc2ZjJjNGNk
NjRhMzEwMmNhODI1MTQyYjM2MzkxZjJhYzA2NmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4
dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzLndvcmtlci5qcwpAQCAtMCwwICsxLDM4IEBACisv
LyBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29scy9nZW50
ZXN0LnB5LgorLy8gT2Zmc2NyZWVuQ2FudmFzIHRlc3QgaW4gYSB3b3JrZXI6MmQudGV4dC5tZWFz
dXJlLmVtSGVpZ2h0cworLy8gRGVzY3JpcHRpb246VGVzdGluZyBlbUhlaWdodHMgZm9yIE9mZnNj
cmVlbkNhbnZhcworLy8gTm90ZToKKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CisKK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBlbUhlaWdodHMgZm9yIE9m
ZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwordC5zdGVwKGZ1bmN0aW9uKCkgeworCit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKK3ZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKKwordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0Nh
bnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBk
b2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsK
KyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0g
JzUwcHggQ2FudmFzVGVzdCc7CisgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5h
bGlnbiA9ICdsZWZ0JworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVp
Z2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQiLCAi
MzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVz
Y2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCIsICIxMi41
Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHREZXNjZW50
ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRBc2NlbnQsIDUwLCAiY3R4Lm1lYXN1cmVU
ZXh0KCdBJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZW1IZWlnaHRB
c2NlbnQiLCAiNTAiKTsKKworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmVtSGVpZ2h0QXNjZW50LCAzNy41LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRB
c2NlbnQiLCAiMzcuNSIpOworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcp
LmVtSGVpZ2h0RGVzY2VudCwgMTIuNSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmVtSGVpZ2h0
RGVzY2VudCIsICIxMi41Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2Nl
bnQsIDUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHREZXNjZW50ICsgY3R4Lm1l
YXN1cmVUZXh0KCdBQkNEJykuZW1IZWlnaHRBc2NlbnQiLCAiNTAiKTsKK30pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOworCit9KTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQu
bWVhc3VyZS5mb250Qm91bmRpbmdCb3guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5m
b250Qm91bmRpbmdCb3guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTAyNzcyMDM1ODk4MGJlM2FhMmQxZjRj
ZWQ3Y2I0YWZhMmI1NWIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLmZvbnRCb3VuZGluZ0JveC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPCEtLSBETyBOT1QgRURJVCEgVGhpcyB0ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCBieSB0b29s
cy9nZW50ZXN0LnB5LiAtLT4KKzx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudGV4dC5t
ZWFzdXJlLmZvbnRCb3VuZGluZ0JveDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKworPGgxPjJkLnRleHQubWVhc3VyZS5mb250
Qm91bmRpbmdCb3g8L2gxPgorPHAgY2xhc3M9ImRlc2MiPlRlc3RpbmcgZm9udEJvdW5kaW5nQm94
IGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CisKKworPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVz
dCgiVGVzdGluZyBmb250Qm91bmRpbmdCb3ggZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwordC5zdGVwKGZ1bmN0aW9uKCkgewor
Cit2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKK3Zh
ciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKwordmFyIGYgPSBuZXcg
Rm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9u
dHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5h
ZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CisgICAg
Y3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgIGN0eC5hbGlnbiA9ICdsZWZ0JworICAgIF9hc3Nl
cnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveEFzY2VudCwgODUsICJj
dHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQiLCAiODUiKTsKKyAgICBf
YXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50LCAz
OSwgImN0eC5tZWFzdXJlVGV4dCgnQScpLmZvbnRCb3VuZGluZ0JveERlc2NlbnQiLCAiMzkiKTsK
KworICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0Jv
eEFzY2VudCwgODUsICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91bmRpbmdCb3hBc2Nl
bnQiLCAiODUiKTsKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250
Qm91bmRpbmdCb3hEZXNjZW50LCAzOSwgImN0eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3Vu
ZGluZ0JveERlc2NlbnQiLCAiMzkiKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOworCit9KTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3Vu
ZGluZ0JveC53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRp
bmdCb3gud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3Vy
ZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94Lndvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMThmZjMzYzc4ODEyZDUwNzRhNmY5Y2UyZjNjZGQ2NmM2NDBmMTQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0JveC53b3JrZXIu
anMKQEAgLTAsMCArMSwzNiBAQAorLy8gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBn
ZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KKy8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGlu
IGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gKKy8vIERlc2NyaXB0aW9u
OlRlc3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMKKy8vIE5vdGU6CisK
K2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKK2ltcG9ydFNjcmlw
dHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOworCit2YXIgdCA9IGFz
eW5jX3Rlc3QoIlRlc3RpbmcgZm9udEJvdW5kaW5nQm94IGZvciBPZmZzY3JlZW5DYW52YXMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKK3Quc3RlcChmdW5jdGlv
bigpIHsKKwordmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7Cit2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisKK3ZhciBm
ID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOwor
bGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOwor
Zm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
OworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3Qn
OworICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAg
ICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hBc2NlbnQs
IDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94QXNjZW50IiwgIjg1Iik7
CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJvdW5kaW5nQm94RGVz
Y2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50Iiwg
IjM5Iik7CisKKyAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5mb250Qm91
bmRpbmdCb3hBc2NlbnQsIDg1LCAiY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5n
Qm94QXNjZW50IiwgIjg1Iik7CisgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZm9udEJvdW5kaW5nQm94RGVzY2VudCwgMzksICJjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5m
b250Qm91bmRpbmdCb3hEZXNjZW50IiwgIjM5Iik7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
KworfSk7Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lk
dGguYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1s
CmluZGV4IGEwMWMxMDk5ZWJjNmI1Njg2NGUzNmEwZGRiY2NmZDVlNGNkMGExODMuLjZhY2U5NDQ5
NjJhY2NhZTVjMWJlZDU0ZmM1YzUxMWQyYzRhYmJjNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJk
LnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5iYXNpYy5odG1sCkBAIC0zLDIxICszLDI5IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IDJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYzwvdGl0bGU+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0Lm1l
YXN1cmUud2lkdGguYmFzaWM8L2gxPgotPHAgY2xhc3M9ImRlc2MiPjwvcD4KKzxwIGNsYXNzPSJk
ZXNjIj5UaGUgd2lkdGggb2YgY2hhcmFjdGVyIGlzIHNhbWUgYXMgZm9udCB1c2VkIGZvciBPZmZz
Y3JlZW5DYW52YXM8L3A+CiAKIAogPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSB3aWR0aCBvZiBjaGFyYWN0ZXIgaXMgc2FtZSBhcyBmb250
IHVzZWQgZm9yIE9mZnNjcmVlbkNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52
YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAotZGVmZXJUZXN0KCk7Ci1zdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7Cit2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVz
dCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKK2xldCBmb250cyA9IChzZWxmLmZvbnRzID8g
c2VsZi5mb250cyA6IGRvY3VtZW50LmZvbnRzKTsKK2ZvbnRzLmFkZChmKTsKK2ZvbnRzLnJlYWR5
LnRoZW4oKCkgPT4geworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVh
c3VyZVRleHQoJ0EnKS53aWR0aCwgNTAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCIsICI1
MCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUEnKS53aWR0aCwgMTAwLCAi
Y3R4Lm1lYXN1cmVUZXh0KCdBQScpLndpZHRoIiwgIjEwMCIpOwpAQCAtMjUsOSArMzMsNyBAQCBz
dGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAKICAgICBjdHguZm9u
dCA9ICcxMDBweCBDYW52YXNUZXN0JzsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQo
J0EnKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGgiLCAiMTAwIik7Ci19
KSwgNTAwKTsKLQotdC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNp
Yy53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMud29ya2Vy
LmpzCmluZGV4IGI0Y2EyM2IyYTQwYTIzZTM2MTkyZjQzOTY1Njc1YWY2YmU2ZWEyOTEuLmRhMmVh
NzA1YjRkOWE3MWQ3NTYyYTg3ZDVhMWZiZjE0MzRiNmU4NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS53aWR0aC5iYXNpYy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQu
dGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLndvcmtlci5qcwpAQCAtMSwxOSArMSwyNyBAQAogLy8g
RE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVz
dC5weS4KIC8vIE9mZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3Vy
ZS53aWR0aC5iYXNpYwotLy8gRGVzY3JpcHRpb246CisvLyBEZXNjcmlwdGlvbjpUaGUgd2lkdGgg
b2YgY2hhcmFjdGVyIGlzIHNhbWUgYXMgZm9udCB1c2VkIGZvciBPZmZzY3JlZW5DYW52YXMKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAotdmFyIHQgPSBhc3luY190
ZXN0KCIiKTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGhlIHdpZHRoIG9mIGNoYXJhY3RlciBpcyBz
YW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFzIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogdmFyIGN0eCA9IG9m
ZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1kZWZlclRlc3QoKTsKLXN0ZXBfdGlt
ZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKK3ZhciBmID0gbmV3IEZvbnRGYWNl
KCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0ZiIpOworbGV0IGZvbnRzID0gKHNl
bGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworZm9udHMuYWRkKGYpOwor
Zm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworfSkudGhlbihmdW5j
dGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRT
YW1lKGN0eC5tZWFzdXJlVGV4dCgnQScpLndpZHRoLCA1MCwgImN0eC5tZWFzdXJlVGV4dCgnQScp
LndpZHRoIiwgIjUwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCdBQScpLndp
ZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJ0FBJykud2lkdGgiLCAiMTAwIik7CkBAIC0yMSw5
ICsyOSw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKIAog
ICAgIGN0eC5mb250ID0gJzEwMHB4IENhbnZhc1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5t
ZWFzdXJlVGV4dCgnQScpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJ0EnKS53aWR0aCIs
ICIxMDAiKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53
aWR0aC5lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lmh0
bWwKaW5kZXggNjE3M2QxODNjYTI2M2Y0MDA4MjQ4YTc5MWVlMjQ4MDlkZmRkY2NjMC4uZThjMGI1
NDRhYzQ1MmM4YTJhMTBlMjg2ZjY3M2JlMmJlZjAzYmY4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5t
ZWFzdXJlLndpZHRoLmVtcHR5Lmh0bWwKQEAgLTMsMjYgKzMsMzIgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQudGV4dC5tZWFzdXJlLndpZHRoLmVtcHR5PC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRleHQu
bWVhc3VyZS53aWR0aC5lbXB0eTwvaDE+Ci08cCBjbGFzcz0iZGVzYyI+VGhlIGVtcHR5IHN0cmlu
ZyBoYXMgemVybyB3aWR0aDwvcD4KKzxwIGNsYXNzPSJkZXNjIj5UaGUgZW1wdHkgc3RyaW5nIGhh
cyB6ZXJvIHdpZHRoIGZvciBPZmZzY3JlZW5DYW52YXM8L3A+CiAKIAogPHNjcmlwdD4KLXZhciB0
ID0gYXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCIpOwordmFyIHQg
PSBhc3luY190ZXN0KCJUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZvciBPZmZzY3Jl
ZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZh
c1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1
bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVz
b2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCIiKS53aWR0
aCwgMCwgImN0eC5tZWFzdXJlVGV4dChcIlwiKS53aWR0aCIsICIwIik7Ci19KSwgNTAwKTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkud29ya2VyLmpzCmluZGV4IGQ5
YzcxYWZhZmE2YjE2ZDE4YjBmMGNhNTUwODE4ZjJjNGJmNzhlNTAuLjMyZjkxY2RhOTY2M2YxMTA4
OGExZDQxYTZjY2M4YTM5OWRhZDdkMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5lbXB0eS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLmVtcHR5Lndvcmtlci5qcwpAQCAtMSwyNCArMSwzMCBAQAogLy8gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KIC8vIE9m
ZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0
eQotLy8gRGVzY3JpcHRpb246VGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aAorLy8gRGVz
Y3JpcHRpb246VGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCBmb3IgT2Zmc2NyZWVuQ2Fu
dmFzCiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKLXZhciB0ID0g
YXN5bmNfdGVzdCgiVGhlIGVtcHR5IHN0cmluZyBoYXMgemVybyB3aWR0aCIpOwordmFyIHQgPSBh
c3luY190ZXN0KCJUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRoIGZvciBPZmZzY3JlZW5D
YW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24g
KCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rl
c3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVu
dC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2
ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1cmVUZXh0KCIiKS53aWR0aCwg
MCwgImN0eC5tZWFzdXJlVGV4dChcIlwiKS53aWR0aCIsICIwIik7Ci19KSwgNTAwKTsKLQotdC5k
b25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiBkb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2UuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0
LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sCmluZGV4IGI0Y2RjOGIwYzZiY2ZjYWYz
YmZjMDA3MmYzNjRlOGU4Y2FmMTc4NjcuLjMwYTczY2NhMWE0MmMxYTU1MmNjMDMxZmFmMTQzYWVj
YzgwN2U2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFj
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sCkBA
IC0zLDIxICszLDI5IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRleHQubWVh
c3VyZS53aWR0aC5zcGFjZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2U8L2gxPgot
PHAgY2xhc3M9ImRlc2MiPlNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAg
YW5kIGNvbGxhcHNlZCAocGVyIENTUyk8L3A+Cis8cCBjbGFzcz0iZGVzYyI+U3BhY2UgY2hhcmFj
dGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3Ig
T2Zmc2NyZWVuQ2FudmFzPC9wPgogCiAKIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlNw
YWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAgYW5kIGNvbGxhcHNlZCAocGVy
IENTUykiKTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVy
dGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3IgT2Zmc2NyZWVuQ2FudmFz
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwogdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCi1k
ZWZlclRlc3QoKTsKLXN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsK
K3ZhciBmID0gbmV3IEZvbnRGYWNlKCJDYW52YXNUZXN0IiwgIi9mb250cy9DYW52YXNUZXN0LnR0
ZiIpOworbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9u
dHMpOworZm9udHMuYWRkKGYpOworZm9udHMucmVhZHkudGhlbigoKSA9PiB7CisgICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pOworfSkudGhlbihmdW5jdGlvbigpIHsKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZh
c1Rlc3QnOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQSBCJykud2lkdGgsIDE1
MCwgImN0eC5tZWFzdXJlVGV4dCgnQSBCJykud2lkdGgiLCAiMTUwIik7CiAgICAgX2Fzc2VydFNh
bWUoY3R4Lm1lYXN1cmVUZXh0KCdBICBCJykud2lkdGgsIDE1MCwgImN0eC5tZWFzdXJlVGV4dCgn
QSAgQicpLndpZHRoIiwgIjE1MCIpOwpAQCAtMjYsOSArMzQsNyBAQCBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CiAKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3Vy
ZVRleHQoJyBBQicpLndpZHRoLCAxMDAsICJjdHgubWVhc3VyZVRleHQoJyBBQicpLndpZHRoIiwg
IjEwMCIpOwogICAgIF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGgsIDEw
MCwgImN0eC5tZWFzdXJlVGV4dCgnQUIgJykud2lkdGgiLCAiMTAwIik7Ci19KSwgNTAwKTsKLQot
dC5kb25lKCk7Cit9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogfSk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS53b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUud2lkdGguc3BhY2Uud29ya2VyLmpzCmluZGV4IDVm
YzkxYjg0ODgyMzNlOTFhMDE4MmFmMmQwMmU5N2UyMTQwYmJhNzYuLjYwYmZmYWFhNzY3NWNiZGVi
YWE5YzI2ZjI2OWE4MDNhYjdkYmMzN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVh
c3VyZS53aWR0aC5zcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LndpZHRoLnNwYWNlLndvcmtlci5qcwpAQCAtMSwxOSArMSwyNyBAQAogLy8gRE8gTk9UIEVESVQh
IFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMvZ2VudGVzdC5weS4KIC8vIE9m
ZnNjcmVlbkNhbnZhcyB0ZXN0IGluIGEgd29ya2VyOjJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFj
ZQotLy8gRGVzY3JpcHRpb246U3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUrMDAy
MCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKQorLy8gRGVzY3JpcHRpb246U3BhY2UgY2hhcmFjdGVy
cyBhcmUgY29udmVydGVkIHRvIFUrMDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSBmb3IgT2Zm
c2NyZWVuQ2FudmFzCiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
LXZhciB0ID0gYXN5bmNfdGVzdCgiU3BhY2UgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIFUr
MDAyMCBhbmQgY29sbGFwc2VkIChwZXIgQ1NTKSIpOwordmFyIHQgPSBhc3luY190ZXN0KCJTcGFj
ZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBlciBD
U1MpIGZvciBPZmZzY3JlZW5DYW52YXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFz
LmdldENvbnRleHQoJzJkJyk7CiAKLWRlZmVyVGVzdCgpOwotc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgewordmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3Qi
LCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CitsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNl
bGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7Citmb250cy5hZGQoZik7Citmb250cy5yZWFkeS50
aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgewogICAg
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCdBIEInKS53aWR0aCwgMTUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBIEInKS53aWR0aCIs
ICIxNTAiKTsKICAgICBfYXNzZXJ0U2FtZShjdHgubWVhc3VyZVRleHQoJ0EgIEInKS53aWR0aCwg
MTUwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBICBCJykud2lkdGgiLCAiMTUwIik7CkBAIC0yMiw5ICsz
MCw3IEBAIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKIAogICAg
IF9hc3NlcnRTYW1lKGN0eC5tZWFzdXJlVGV4dCgnIEFCJykud2lkdGgsIDEwMCwgImN0eC5tZWFz
dXJlVGV4dCgnIEFCJykud2lkdGgiLCAiMTAwIik7CiAgICAgX2Fzc2VydFNhbWUoY3R4Lm1lYXN1
cmVUZXh0KCdBQiAnKS53aWR0aCwgMTAwLCAiY3R4Lm1lYXN1cmVUZXh0KCdBQiAnKS53aWR0aCIs
ICIxMDAiKTsKLX0pLCA1MDApOwotCi10LmRvbmUoKTsKK30pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiB9KTsKIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0L3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvdzNjLWltcG9ydC5sb2cKaW5kZXggOTc1NWIzNzVhNmM3NzE3NWU4Y2ExOTEwMzE5
YmI2NWM3YmRkYmYzZS4uOTA3NDE5ZDk4ZTNkZjUyNjc3MWY4MTYxOTE0ODM0YjMzMWE1NWRhNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RleHQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvdzNjLWlt
cG9ydC5sb2cKQEAgLTEwNyw2ICsxMDcsMTggQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8y
ZC50ZXh0LmZvbnQucGFyc2Uuc3lzdGVtLndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZm9u
dC5wYXJzZS50aW55Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucGFyc2UudGlueS53b3Jr
ZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmZvbnQucmVsYXRpdmVfc2l6ZS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rl
eHQvMmQudGV4dC5mb250LnJlbGF0aXZlX3NpemUud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5tZWFzdXJlLmFjdHVhbEJvdW5kaW5nQm94Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1
cmUuYWN0dWFsQm91bmRpbmdCb3gud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJl
LmFkdmFuY2VzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMud29ya2Vy
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQv
MmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcy53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1l
YXN1cmUuZW1IZWlnaHRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRz
Lndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3guaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0LzJkLnRleHQubWVhc3VyZS5mb250Qm91bmRpbmdCb3gud29ya2VyLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RleHQvMmQudGV4dC5tZWFzdXJlLndpZHRoLmJhc2ljLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMud29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4dC5tZWFz
dXJlLndpZHRoLmVtcHR5Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLmh0bWwKaW5kZXggYTM4NGU1NmYyNDg0M2JlMzNlOTY2
OWY3OTJiM2I3ZWJkM2I5NGQ2NS4uYjk1NTM4NzJlZGE4YjViOTE2MDUzZTk2M2UzMDcxZGJjNmI1
M2NjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuYml0bWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuYml0bWFwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5iaXRtYXA8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgZG9lcyBu
b3QgYWZmZWN0IHRoZSBjdXJyZW50IGJpdG1hcDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IGJpdG1hcCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3Jl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuYml0bWFwLndvcmtl
ci5qcwppbmRleCBiZTI0MGE0ZWJmZTJmNDI5MWVjZDllYjRjMmFlNGIwOWQ4MmQ1OTMxLi41Mjcy
MjkyM2I1ZDM1NjE2OTgwOTM5ZjAwYTAxOWRiYWJjMTFjOTNiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmJpdG1hcC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IGJpdG1hcCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5yZXN0b3Jl
KCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLmh0bWwKaW5kZXggMGIz
YTdlYWYzODcyYzM2YjViMTgxMWE4NWEyZGNhZThhNmNmMDFiNS4uMzg2YzNjMmM4OThlNWQ1MGMx
MWE4NTRmYWEzZmY1Y2E3NDk2YTk4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5jbGlwPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9y
ZSgpIGFmZmVjdHMgdGhlIGNsaXBwaW5nIHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8
c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhl
IGNsaXBwaW5nIHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNSw3ICsyOSw2IEBAIGN0eC5yZXN0b3JlKCk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAi
MCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1j
YW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLndvcmtlci5qcwppbmRleCBj
ZWU3ZGYwOGJkZWFlMjc2OWZiMTVlZGQwNGM4MzYzYmFjYzg5NzJjLi5jZWQxMGFjYTI4ODc0OWQ3
ZWE0ZjhlNWM4MjNiNmM4NDFiMTY4NWY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZh
cy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5jbGlwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjEsNyArMjUsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0
YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLmh0bWwKaW5kZXggODYxMzEyZDBmNDVmZDBlNTc3
YzAzNWY2NTY0NGU0MDM1MDk0ODI1NS4uMWQ3ZTg2MmMyM2U2ZmU0NmQxMjVkMWY3M2I3NWIxYzVk
YTI3MjBjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuZmlsbFN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUuZmlsbFN0eWxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2Ny
ZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxTdHlsZTwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5maWxsU3R5bGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9y
ZXN0b3JlKCkgd29ya3MgZm9yIGZpbGxTdHlsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGZp
bGxTdHlsZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LmZpbGxTdHlsZTsKIGN0
eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguZmlsbFN0eWxlLCBvbGQsICJjdHguZmlsbFN0eWxl
IiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmZpbGxT
dHlsZS53b3JrZXIuanMKaW5kZXggYTcyMmRkMDQxZjY4YzdhMDgwMDUyOTBkNjJmOTNkNjczYWU0
MDhhYy4uNDcyNzc5OGU4NmZhYTViNmFjZDUwNWQyODRiMWIwMzhiNThmZTg0MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZmlsbFN0eWxlLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5m
aWxsU3R5bGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9y
ZSgpIHdvcmtzIGZvciBmaWxsU3R5bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0
eC5maWxsU3R5bGU7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LmZpbGxTdHlsZSwgb2xk
LCAiY3R4LmZpbGxTdHlsZSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLmdsb2JhbEFscGhhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5nbG9iYWxBbHBoYS5odG1sCmluZGV4IGEyNGMzZDU2MGZiNWZlYzQ1MWVmM2Y1NzNi
MDcwZDY5OGM5NGYzNmMuLmVjMzFjNjNkYWE1MTFiN2VkYTE2NDg3YmQyOGJkMTg0NDQyMzRjODEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmds
b2JhbEFscGhhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUuZ2xvYmFsQWxwaGEuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGE8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGE8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9y
ZXN0b3JlKCkgd29ya3MgZm9yIGdsb2JhbEFscGhhPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Ig
Z2xvYmFsQWxwaGEiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5nbG9iYWxBbHBo
YTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQWxwaGEsIG9sZCwgImN0eC5n
bG9iYWxBbHBoYSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmds
b2JhbEFscGhhLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLmdsb2JhbEFscGhhLndvcmtlci5qcwppbmRleCA2NDMyNzgzYzdkYzBjYjM0OWY2ZjQy
NTcwNDVmOTkwZDZiOTgyMzc5Li4xZTA0ZDg0NWEzNjFhOGUwZWQwNWVlYTUxNjhjN2Q5ODhiMzU3
ZDE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9y
ZS5nbG9iYWxBbHBoYS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQWxwaGEud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBnbG9iYWxBbHBoYSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3
LDcgKzMxLDYgQEAgb2xkID0gY3R4Lmdsb2JhbEFscGhhOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRT
YW1lKGN0eC5nbG9iYWxBbHBoYSwgb2xkLCAiY3R4Lmdsb2JhbEFscGhhIiwgIm9sZCIpOwogY3R4
LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21w
b3NpdGVPcGVyYXRpb24uaHRtbAppbmRleCA1YzUxMmZiZGRhMDVmM2U1MWZjZmFhNzhhZjZlZDg0
ZmVjZjBkNzEzLi4zNjA5MDVkMjZiNTE4ZWNmNzBhNDM0ODk5NzA3OGRjNjkxMTVkMDMyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxD
b21wb3NpdGVPcGVyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24uaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3
b3JrcyBmb3IgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBm
b3IgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEsNyArMzUsNiBAQCBvbGQg
PSBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1l
KGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sIG9sZCwgImN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24iLCAib2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9i
YWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLndvcmtlci5qcwppbmRl
eCBlMDZjOTk0NjJiYzg1MGU1NTI4NmRlZmRmZjY3YjdlYjRmMDA1ZmViLi5iOGE5NzBkZjczODA2
ZjdhMTc1OTIxMjdjMjY4ZjkwOTA2OTQ0NGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24ud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToK
IAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2Ny
aXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRl
eHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNh
dmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIpOwordmFy
IHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkg
ewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
QEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjsKIGN0
eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCBvbGQs
ICJjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC5odG1sCmluZGV4IGEwZTI0NTc0MzZhNmU5NTJmMGU2
MDI5OTY4M2ExOWE3MzFiNjc4OTUuLjYwYzI0ODJhNDFkOGE5M2UxYWZiNDA3Nzk5YjA1OGEwNzFk
NGZlNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0
b3JlLmxpbmVDYXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5saW5lQ2FwLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXA8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2
ZXJlc3RvcmUubGluZUNhcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3
b3JrcyBmb3IgbGluZUNhcDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVDYXAiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5saW5lQ2FwOwogY3R4LnNhdmUoKTsKIF9hc3Nl
cnRTYW1lKGN0eC5saW5lQ2FwLCBvbGQsICJjdHgubGluZUNhcCIsICJvbGQiKTsKIGN0eC5yZXN0
b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVDYXAud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC53b3JrZXIuanMKaW5kZXggZmE5
Njc3NDNhMDJiNzI5NWM5ZDk3N2ExZmVhNGZkOGU0YmJmNmVlMy4uOTA4MmIwMmQ2OWExNGZjMDJm
NWY3YWUyYjZiODQ3N2RjNjlkMjM2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUv
MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUNhcC53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVDYXAiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5saW5lQ2FwOwogY3R4LnNhdmUoKTsKIF9hc3Nl
cnRTYW1lKGN0eC5saW5lQ2FwLCBvbGQsICJjdHgubGluZUNhcCIsICJvbGQiKTsKIGN0eC5yZXN0
b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi5odG1sCmluZGV4IDc1YzhhOTRjNjA3
MWM4OWZiMzBkNWVjMTZlZjUyMWJkYTcwNTk0OWYuLjM0NzQzNGFjYjhhNmZjMTc1NGRjNWY2ZWM4
YTAxYzRlNzVmODA0ODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLmxpbmVKb2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW4uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5P
ZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW48L3RpdGxl
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+
MmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpvaW48L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUo
KS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVKb2luPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAog
PHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Ig
bGluZUpvaW4iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5saW5lSm9pbjsKIGN0
eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZUpvaW4sIG9sZCwgImN0eC5saW5lSm9pbiIs
ICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2luLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVKb2lu
Lndvcmtlci5qcwppbmRleCAxYTRhMzc3ZjUwNGVjM2ZhYmMwMjY2YjRiODg0ZGU2MmViYTI2YTM2
Li45OTdjZTg4MTZiZTQxYjE3YWFjMWMzMjljZGViYmZkMjI2YWYwNmY1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lSm9pbi53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZUpv
aW4ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIHdv
cmtzIGZvciBsaW5lSm9pbiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LmxpbmVK
b2luOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lSm9pbiwgb2xkLCAiY3R4Lmxp
bmVKb2luIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdp
ZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5l
V2lkdGguaHRtbAppbmRleCA1NjVmYzYzZTM4YTY4ZDY5ZDk5ZmJlNTUwNzJkNTJiYmNjMzAzMjgx
Li5mNTQ5N2U2ZjMzZmZhMDNhMmVkZDdlYmQ1N2ViOTE5MDkwNGY2YzRkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGgu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVX
aWR0aDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgbGlu
ZVdpZHRoPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNf
dGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgbGluZVdpZHRoIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMzEs
NyArMzUsNiBAQCBvbGQgPSBjdHgubGluZVdpZHRoOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1l
KGN0eC5saW5lV2lkdGgsIG9sZCwgImN0eC5saW5lV2lkdGgiLCAib2xkIik7CiBjdHgucmVzdG9y
ZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGgud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubGluZVdpZHRoLndvcmtlci5qcwppbmRleCBi
MDRkNGJiMDFiMWFhMzk4ODk0ZDFlYzU0NTI4ZDEzYTNmODIzMmQ3Li4zYWE4Y2EyMGU3YWRhMjNk
MzJhN2RkNDhjYjU2MDk0Y2U0Yzc1ZmUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5saW5lV2lkdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
Y2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLmxpbmVXaWR0aC53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIGxpbmVXaWR0
aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LmxpbmVXaWR0aDsKIGN0eC5zYXZl
KCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBvbGQsICJjdHgubGluZVdpZHRoIiwgIm9s
ZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC5odG1s
CmluZGV4IDIxNzMzMjVlMjQ4NTM3NTAwNDQwOWEwNDIwYmJmZGQ0OTI5NDgyZDMuLmVjODZjODI2
YWFmMmM5ZWExOGYzMWU1NmY0MTQyNzJjNDI4NzljMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5taXRlckxpbWl0Lmh0bWwKQEAg
LTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVy
ZXN0b3JlLm1pdGVyTGltaXQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdDwv
aDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3IgbWl0ZXJMaW1p
dDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIG1pdGVyTGltaXQiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICsz
NSw2IEBAIG9sZCA9IGN0eC5taXRlckxpbWl0OwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0
eC5taXRlckxpbWl0LCBvbGQsICJjdHgubWl0ZXJMaW1pdCIsICJvbGQiKTsKIGN0eC5yZXN0b3Jl
KCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLm1pdGVyTGltaXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC53b3JrZXIuanMKaW5kZXgg
MDU5MWE3YjU5N2VjNzkzZDRkMzZjNzk4ZGE2ODg3NzBkYjBlMDljMS4uYTFlYWZkNmQyNzIzOTVm
ZjhlZjRlYzNiNDZiY2NlMDJhMjRjZGJlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUubWl0ZXJMaW1pdC53b3JrZXIuanMK
QEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
KTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIp
OwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIG1pdGVy
TGltaXQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5taXRlckxpbWl0OwogY3R4
LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5taXRlckxpbWl0LCBvbGQsICJjdHgubWl0ZXJMaW1p
dCIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGguaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGguaHRtbAppbmRl
eCAyYzQ4Yjk5ZWU5NjNhZTU1MjQ3NjNiMjRiMmIyZmVhMDQ0Y2MwZjg1Li4xZWU1ZTVhZGIzYzUz
ZWMzY2ZjNjczMTdhYmI1MjQzZGUwZWFiMTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMt
c3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUucGF0aC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNhdmUoKS9y
ZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgp
IGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBA
QCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIs
ICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoLndvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGgud29ya2VyLmpzCmluZGV4
IDgzODMzZTU5NWRjYzczZjNmNDAzMTNkZjU5ODQwMWNkMWMxMDM3OWYuLjBkYzJlOGE4Y2NhMWVi
OTBlODcwYjY4ZDExMjhmYWY4MjhhNDEyODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2Fu
dmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnBhdGgud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGRvZXMgbm90IGFmZmVjdCB0aGUgY3VycmVu
dCBwYXRoIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0
ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dCbHVyLmh0bWwKaW5kZXggMGY0ZmNjYzk0ODRmNzJkYTJhM2U1NGE5
YTI0OGI2MWIxOTZhMzFiMC4uMTcwZDMwZWM4YzRmYmNiNDYxMTRmYzc1ODYzMDhlMGY1M2M4Nzg3
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c2hhZG93Qmx1ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnNoYWRvd0JsdXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5D
YW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1cjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0
ZS5zYXZlcmVzdG9yZS5zaGFkb3dCbHVyPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVz
dG9yZSgpIHdvcmtzIGZvciBzaGFkb3dCbHVyPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNj
cmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hh
ZG93Qmx1ciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LnNoYWRvd0JsdXI7CiBj
dHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0JsdXIsIG9sZCwgImN0eC5zaGFkb3dC
bHVyIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Qmx1
ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
aGFkb3dCbHVyLndvcmtlci5qcwppbmRleCBjMjRlNjQzOGQ3OTMyOTU5NmI0YjQxZmE1ZGNmN2I0
OGY3M2I1ODg5Li43YWY1Nzk5MjRkYTM1NTkwOThlN2Q0ZjFhNDlmNWIxMjM3OTA0NWVlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dC
bHVyLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zaGFkb3dCbHVyLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgp
L3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Qmx1ciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
b2xkID0gY3R4LnNoYWRvd0JsdXI7CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRv
d0JsdXIsIG9sZCwgImN0eC5zaGFkb3dCbHVyIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJk
LnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLmh0bWwKaW5kZXggMDg2YmEzMDAzZTYzODky
MWUyNTM2YTliNGU0MTlkMzk2YTkzMWM5Ny4uOTEwOGQwZGRiY2Y2YTNhNTEzNzdlMWI4OWViODcx
OWIzODE3NWI2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Q29sb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5z
dGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvcjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvcjwvaDE+CiA8cCBjbGFzcz0iZGVz
YyI+c2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93Q29sb3I8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgp
IHdvcmtzIGZvciBzaGFkb3dDb2xvciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwor
dmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJl
YXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4
LnNoYWRvd0NvbG9yOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dDb2xvciwg
b2xkLCAiY3R4LnNoYWRvd0NvbG9yIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2
ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93Q29sb3Iud29ya2VyLmpzCmluZGV4IDk0ZTI1YmI5MDhh
ODJkMGIwMDcyMDgwMGU2NzYwODM0NDllNjgyZTkuLmZkMzU4M2MzMzVmZTM5MjUwYTUyYWQyM2E5
NDEzNDY1N2VhMmIwODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRl
LnNhdmVyZXN0b3JlLnNoYWRvd0NvbG9yLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dDb2xvci53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd0NvbG9yIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjcsNyArMzEsNiBAQCBvbGQgPSBjdHguc2hhZG93Q29sb3I7CiBjdHguc2F2ZSgp
OwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd0NvbG9yLCBvbGQsICJjdHguc2hhZG93Q29sb3IiLCAi
b2xkIik7CiBjdHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZz
ZXRYLmh0bWwKaW5kZXggZjIxMWEwMzQ4YTU3MmY3ZjMxN2IwZmViZWEyZGI0MWYzYzAxNDA5OS4u
MGQzYmY1NjczMDlhYjcyYmIwZjIyNmQ1ZTg0ZDhhN2NkODM5ZjVjZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09m
ZnNldFguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zaGFkb3dPZmZzZXRYPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgp
IHdvcmtzIGZvciBzaGFkb3dPZmZzZXRYPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93
T2Zmc2V0WCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTMxLDcgKzM1LDYgQEAgb2xkID0gY3R4LnNoYWRvd09mZnNldFg7
CiBjdHguc2F2ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgsIG9sZCwgImN0eC5z
aGFkb3dPZmZzZXRYIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUu
c2hhZG93T2Zmc2V0WC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5z
YXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcwppbmRleCAzNzNhZmEwOWY2MWI2YTg1
MTZiZjA5OTc1NTEzOGJkZjFiNWY0OTgxLi44YzU4MjAwYTlkMzBkN2QzNDFjMzhlYWU2ZGI5M2Ez
NGIxZWFiMmFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZl
cmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zaGFkb3dPZmZzZXRYLndvcmtlci5qcwpAQCAtNCw5ICs0
LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0
U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0
ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WCIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAgb2xkID0gY3R4LnNoYWRvd09mZnNldFg7CiBjdHguc2F2
ZSgpOwogX2Fzc2VydFNhbWUoY3R4LnNoYWRvd09mZnNldFgsIG9sZCwgImN0eC5zaGFkb3dPZmZz
ZXRYIiwgIm9sZCIpOwogY3R4LnJlc3RvcmUoKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zm
c2V0WS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hh
ZG93T2Zmc2V0WS5odG1sCmluZGV4IDFjMTAxM2I4ODA2M2FiZjA3ZWZiYzI2MWZjYzU4MjFlNzMz
MTE1NjAuLjlkNmZiNDgxOWY0MTUyMDA1OTBhZDZhMmUwOGM3MmNhMTRmOGNlMzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNl
dFkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
aGFkb3dPZmZzZXRZLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnNoYWRvd09mZnNldFk8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuc3RhdGUu
c2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+c2F2ZSgpL3Jl
c3RvcmUoKSB3b3JrcyBmb3Igc2hhZG93T2Zmc2V0WTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9y
IHNoYWRvd09mZnNldFkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3ICszNSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dP
ZmZzZXRZOwogY3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCBvbGQs
ICJjdHguc2hhZG93T2Zmc2V0WSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnNoYWRvd09mZnNldFkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMKaW5kZXggZjg4M2E5MzVm
ODczOGJiYjZmMDFhZDBmZGRiMTNkNTJlYzcwYmU4Ny4uMjdiMTgwNGUwMGQyMzFjZmQ0Mjg0ODhm
NTAyZTA3MmVmN2YxMzJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52
YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc2hhZG93T2Zmc2V0WS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHNoYWRvd09m
ZnNldFkiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5zaGFkb3dPZmZzZXRZOwog
Y3R4LnNhdmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5zaGFkb3dPZmZzZXRZLCBvbGQsICJjdHguc2hh
ZG93T2Zmc2V0WSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFj
ay5odG1sCmluZGV4IDZlNzQ4MjVmNjY5NzFjYjU2YmNkMDdjNWUzZjAzOWEwNTJhZDI4OGYuLmE0
MWRiOWU0OTk4Y2EzYzk3ZWQxNTc3ZmJiMmRiZDFjNGZiOWU0MzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2suaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3Rv
cmUuc3RhY2s8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2s8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNrPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jl
c3RvcmUoKSBjYW4gYmUgbmVzdGVkIGFzIGEgc3RhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNiw3ICszMCw2IEBA
IGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCAyLCAiY3R4LmxpbmVX
aWR0aCIsICIyIik7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwg
MSwgImN0eC5saW5lV2lkdGgiLCAiMSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFjay53b3Jr
ZXIuanMKaW5kZXggNWEwZjc0YjhhYjk2YzFiZGQ4N2Q3NWU1ODg4ZGY2N2NjYjY2NTQ2OC4uYzRh
YjM4OGU2MmUyY2VhMWU4MDM2ZmNkMzhhMmEzM2E2YzQ0MGRlNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2sud29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrLndvcmtlci5q
cwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Iik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSBjYW4gYmUgbmVzdGVk
IGFzIGEgc3RhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5yZXN0b3JlKCk7CiBfYXNz
ZXJ0U2FtZShjdHgubGluZVdpZHRoLCAyLCAiY3R4LmxpbmVXaWR0aCIsICIyIik7CiBjdHgucmVz
dG9yZSgpOwogX2Fzc2VydFNhbWUoY3R4LmxpbmVXaWR0aCwgMSwgImN0eC5saW5lV2lkdGgiLCAi
MSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0
ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1z
dGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoLmh0bWwKaW5kZXggNDA5N2FlOWVl
MGNjMmEyNDU3MTM0NzhmMDg3YjI1NTZhMzhhNmMxNy4uOTU1MzE3N2Q0YjgxZDhjOTExMmQ5YzE4
M2QxMmRhYjk3OTA0ZTdhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3Rh
dGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrZGVwdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0
aDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2RlcHRoPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFibHkgbGlt
aXRlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInNhdmUoKS9yZXN0b3JlKCkgc3RhY2sgZGVwdGggaXMgbm90IHVucmVhc29uYWJseSBsaW1p
dGVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjcsNyArMzEsNiBAQCBmb3IgKHZhciBpID0gbGltaXQtMTsgaSA+IDA7
IC0taSkKICAgICBfYXNzZXJ0U2FtZShjdHgubGluZVdpZHRoLCBpLCAiY3R4LmxpbmVXaWR0aCIs
ICJpIik7CiAgICAgY3R4LnJlc3RvcmUoKTsKIH0KLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0
aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5z
dGFja2RlcHRoLndvcmtlci5qcwppbmRleCA1OGEyOGUwZWM4ODU4YzJmZTI4YjY4MzU3MzA3Y2U5
MmQzZjgzOGIxLi42N2FlNjJkYWM4MTE4Y2M4ZWRkZGI2ODk1NTZjMzM3ZDY1YzlhN2I1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdGFja2Rl
cHRoLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVz
dG9yZS5zdGFja2RlcHRoLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgp
L3Jlc3RvcmUoKSBzdGFjayBkZXB0aCBpcyBub3QgdW5yZWFzb25hYmx5IGxpbWl0ZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMyw3ICsyNyw2IEBAIGZvciAodmFyIGkgPSBsaW1pdC0xOyBpID4gMDsgLS1pKQogICAg
IF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIGksICJjdHgubGluZVdpZHRoIiwgImkiKTsKICAg
ICBjdHgucmVzdG9yZSgpOwogfQotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUuaHRt
bAppbmRleCAxM2MwYzlmODY1Yzc3YmJmMzc3MzIyNDI4M2RhNmM5NmI2OGNkNmNhLi4wOWI5MmJi
NzhkNGRkMDE5MWI0ODI0N2M5NTA2ZDA2NGJmMjEyMzdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0eWxlLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNh
dmVyZXN0b3JlLnN0cm9rZVN0eWxlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0
eWxlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zYXZlKCkvcmVzdG9yZSgpIHdvcmtzIGZvciBzdHJv
a2VTdHlsZTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoInNhdmUoKS9yZXN0b3JlKCkgd29ya3MgZm9yIHN0cm9rZVN0eWxlIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MzEsNyArMzUsNiBAQCBvbGQgPSBjdHguc3Ryb2tlU3R5bGU7CiBjdHguc2F2ZSgpOwogX2Fzc2Vy
dFNhbWUoY3R4LnN0cm9rZVN0eWxlLCBvbGQsICJjdHguc3Ryb2tlU3R5bGUiLCAib2xkIik7CiBj
dHgucmVzdG9yZSgpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS5zdHJva2VTdHlsZS53b3Jr
ZXIuanMKaW5kZXggMWYxNDllZDk5ZGM0NWY4MDMzMTk3MGY5MTkxYWRhNzY5MmZhYWE1ZC4uMjRj
NDdmN2IwYzM0NDQzMTQwMjgzN2VlNmNkNWU3MDk1NDNlYWI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3Ryb2tlU3R5bGUud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0cm9rZVN0
eWxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgic2F2ZSgpL3Jlc3RvcmUoKSB3
b3JrcyBmb3Igc3Ryb2tlU3R5bGUiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yNyw3ICszMSw2IEBAIG9sZCA9IGN0eC5z
dHJva2VTdHlsZTsKIGN0eC5zYXZlKCk7CiBfYXNzZXJ0U2FtZShjdHguc3Ryb2tlU3R5bGUsIG9s
ZCwgImN0eC5zdHJva2VTdHlsZSIsICJvbGQiKTsKIGN0eC5yZXN0b3JlKCk7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0
ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1hdGlvbi5odG1sCmluZGV4IDc4NWMxMjhjMjQ5ZTI2OWNm
MDZhNDcwYzQ4YmVjN2IxMWFkMDdmN2IuLmJhMWFhYmQ5NDBhYTFlNWFjNDg1ODVjZjFhMzA5NjYy
MzViZTA2MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVy
ZXN0b3JlLnRyYW5zZm9ybWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0
aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3Jt
YXRpb248L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+MmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb248L2gxPgogPHAg
Y2xhc3M9ImRlc2MiPnNhdmUoKS9yZXN0b3JlKCkgYWZmZWN0cyB0aGUgY3VycmVudCB0cmFuc2Zv
cm1hdGlvbiBtYXRyaXg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQg
PSBhc3luY190ZXN0KCJzYXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhlIGN1cnJlbnQgdHJhbnNm
b3JtYXRpb24gbWF0cml4Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHgucmVzdG9yZSgpOwog
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgtMjAwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9ybWF0aW9uLndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnRyYW5zZm9y
bWF0aW9uLndvcmtlci5qcwppbmRleCBlNWNlNDVlM2NkZmVlMGZmNjljM2FjZjA3ODg0NzNiZWZl
ZmJmYzhhLi4yMjQwMzllNjk4YTgwMDRjMDQ3ZDM4Nzk3OTJlMzhhY2NjZDIzZDg5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLWNhbnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS50cmFuc2Zvcm1h
dGlvbi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJl
c3RvcmUudHJhbnNmb3JtYXRpb24ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJz
YXZlKCkvcmVzdG9yZSgpIGFmZmVjdHMgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24gbWF0cml4
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBjdHgucmVzdG9yZSgpOwogY3R4LmZpbGxTdHlsZSA9
ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgtMjAwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChv
ZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0YXRl
LzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3Rh
dGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwKaW5kZXggNDZhYTI5ZTcyNjk3
ZDkwYmFjZGE0MzljOTk0Zjc0ZDM1Mzk2ODdlYy4uMmRhYjZlOGM3MDZjYTI0NWRmZWQ3NjBkYWE2
OTVkZmNhNWViZmZkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUu
c2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1jYW52YXMtc3RhdGUvMmQu
c3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdzwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3c8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJl
c3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNrIGhhcyBubyBlZmZlY3Q8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJyZXN0b3JlKCkgd2l0aCBh
biBlbXB0eSBzdGFjayBoYXMgbm8gZWZmZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCBmb3Ig
KHZhciBpID0gMDsgaSA8IDE2OyArK2kpCiBjdHgubGluZVdpZHRoID0gMC41OwogY3R4LnJlc3Rv
cmUoKTsKIF9hc3NlcnRTYW1lKGN0eC5saW5lV2lkdGgsIDAuNSwgImN0eC5saW5lV2lkdGgiLCAi
MC41Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLWNh
bnZhcy1zdGF0ZS8yZC5zdGF0ZS5zYXZlcmVzdG9yZS51bmRlcmZsb3cud29ya2VyLmpzCmluZGV4
IDE1MGEzMWNmMDUyZWJkODRhNmFmNDE4Mzc4ZjYxZDI0MzQ3ODY2NTQuLmYzOGE5NWM0ZjE2NjFh
ZTZjODAxZTIyMWY3MDBlM2Q3Yjc1MDI1N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtY2FudmFzLXN0
YXRlLzJkLnN0YXRlLnNhdmVyZXN0b3JlLnVuZGVyZmxvdy53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1jYW52YXMtc3RhdGUvMmQuc3RhdGUuc2F2ZXJlc3RvcmUudW5kZXJmbG93Lndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicmVzdG9yZSgpIHdpdGggYW4gZW1wdHkgc3RhY2sgaGFz
IG5vIGVmZmVjdCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE3LDcgKzIxLDYgQEAgZm9yICh2YXIgaSA9IDA7IGkgPCAx
NjsgKytpKQogY3R4LmxpbmVXaWR0aCA9IDAuNTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0U2Ft
ZShjdHgubGluZVdpZHRoLCAwLjUsICJjdHgubGluZVdpZHRoIiwgIjAuNSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFz
LnJlYWRvbmx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRv
bmx5Lmh0bWwKaW5kZXggMTdhOTg2YzIzMzNjM2VmN2ZkZmQ0ODE1NjRjMzZjZGEzYzE5NDVmMi4u
YWFlZDQwMTM2YjFjNmU3NDc4YTgyZDRlOTA1MjZjMjgwMjVmZGU3NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWFkb25seS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuY2FudmFzLnJlYWRvbmx5PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PjJkLmNhbnZhcy5yZWFkb25seTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Y2FudmFzIGlzIHJlYWRv
bmx5PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiY2FudmFzIGlzIHJlYWRvbmx5Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEsNyArMjUsNiBAQCB2YXIgZCA9IGN0
eC5jYW52YXM7CiBfYXNzZXJ0RGlmZmVyZW50KG9mZnNjcmVlbkNhbnZhczIsIGQsICJvZmZzY3Jl
ZW5DYW52YXMyIiwgImQiKTsKIGN0eC5jYW52YXMgPSBvZmZzY3JlZW5DYW52YXMyOwogX2Fzc2Vy
dFNhbWUoY3R4LmNhbnZhcywgZCwgImN0eC5jYW52YXMiLCAiZCIpOwotCiB0LmRvbmUoKTsKIAog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlYWRv
bmx5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9u
bHkud29ya2VyLmpzCmluZGV4IGZkZDk5Zjg2ZWI3ZTU5MDM3NTAzZjMzMTI1YTFmZTJkNjM5MDc3
ZmIuLmQ5OTFiMTkyOGExM2YwZGEzOGFkOWI1ZjRlZWRiMTRjYmM1YjVlZjAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkud29ya2VyLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVhZG9ubHkud29ya2VyLmpz
CkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpz
Iik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
KTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJjYW52YXMgaXMgcmVhZG9ubHkiKTsKK3ZhciB0X3Bh
c3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihy
ZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0x
Nyw3ICsyMSw2IEBAIHZhciBkID0gY3R4LmNhbnZhczsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2Ny
ZWVuQ2FudmFzMiwgZCwgIm9mZnNjcmVlbkNhbnZhczIiLCAiZCIpOwogY3R4LmNhbnZhcyA9IG9m
ZnNjcmVlbkNhbnZhczI7CiBfYXNzZXJ0U2FtZShjdHguY2FudmFzLCBkLCAiY3R4LmNhbnZhcyIs
ICJkIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvMmQuY2FudmFzLnJlZmVyZW5jZS5odG1sCmluZGV4IDFkYjY0MDk0OWIwMWE0ZTE5ZWM4NGJj
NzI1ZWRhZmI2ODJjZmZkZWIuLjQ1OGQzNDlkNDc3OGYxNGM0NjcyZmY4NmU2OWJhNzBkNmYxNjlj
OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJl
bmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVu
Y2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQu
Y2FudmFzLnJlZmVyZW5jZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC5jYW52YXMucmVmZXJlbmNlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5jYW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhczwvcD4KQEAgLTExLDEzICsx
MSwxNiBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJjYW52YXMgcmVmZXJzIGJh
Y2sgdG8gaXRzIGNhbnZhcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29u
dGV4dCgnMmQnKTsKIAogX2Fzc2VydFNhbWUoY3R4LmNhbnZhcywgb2Zmc2NyZWVuQ2FudmFzLCAi
Y3R4LmNhbnZhcyIsICJvZmZzY3JlZW5DYW52YXMiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmNhbnZhcy5yZWZlcmVuY2Uud29y
a2VyLmpzCmluZGV4IGZmMjY2NmJkM2RhM2NmMDliNWFiNjk5NGYwOTRiOWQ2YTA3NjdmMGEuLjNm
NWZiZTI2OWJmMjMwMzljMWI2YWQxZmM4MWM4YzNlNzZlMWUxYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5jYW52YXMucmVmZXJlbmNlLndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuY2FudmFzLnJlZmVyZW5jZS53b3JrZXIuanMKQEAg
LTQsMTYgKzQsMTkgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJjYW52YXMgcmVmZXJzIGJhY2sgdG8gaXRzIGNhbnZhcyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIHZhciBjdHggPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fz
c2VydFNhbWUoY3R4LmNhbnZhcywgb2Zmc2NyZWVuQ2FudmFzLCAiY3R4LmNhbnZhcyIsICJvZmZz
Y3JlZW5DYW52YXMiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMuaHRtbAppbmRleCA2MDExZjIwNWVkMWYx
NWEwZDM2ZjBhOTM0M2I2YWE3ODZiYTcwMjFhLi43ODc2NWZhYjgzNWY0Mzc0NmZlNjczOTQ1ZDA2
NGZiMTI1YTE4OGRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0
Y29udGV4dC5leGlzdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0
Y29udGV4dC5leGlzdHMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogMmQuZ2V0Y29udGV4dC5leGlzdHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ2V0Y29udGV4dC5leGlzdHM8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlRoZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiVGhlIDJE
IGNvbnRleHQgaXMgaW1wbGVtZW50ZWQiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIHZhciBjdHgg
PSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZh
czIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogX2Fzc2VydERpZmZlcmVudChvZmZz
Y3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyksIG51bGwsICJvZmZzY3JlZW5DYW52YXMyLmdl
dENvbnRleHQoJzJkJykiLCAibnVsbCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQuZXhpc3RzLndvcmtlci5q
cwppbmRleCBiYWU4MDgwZGQ3OTJhYzRkNmQ0YmViNjRiZWE3ZGI3YTY1ZTNjNWJmLi5mNjFjYWI4
MzJjODdjMzAzMjUwY2YyMDQ3MjdiNjUzMTE2NDFjMTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leGlzdHMud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LmV4aXN0cy53b3JrZXIuanMKQEAgLTQs
OSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2lt
cG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlRoZSAyRCBjb250ZXh0IGlzIGltcGxlbWVudGVkIik7Cit2YXIg
dF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpA
QCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCBu
dWxsLCAib2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIiwgIm51bGwiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuZXh0cmFhcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0
Y29udGV4dC5leHRyYWFyZ3MuaHRtbAppbmRleCAyNGE2OGU0OTE0ZDhjNmJkNDU1N2Y0MWJhNmJj
OTgzYjAxZjE1ODQ4Li5lYTIwOWRjZDExMjQ5YmNkZDlmMmQ1MGZhYTdjNTJlMDcwN2NjYzZhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leHRyYWFy
Z3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5leHRy
YWFyZ3MuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
MmQuZ2V0Y29udGV4dC5leHRyYWFyZ3M8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQuZ2V0Y29udGV4dC5leHRyYWFyZ3M8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPlRoZSAyRCBjb250ZXh0IGlnbm9yZXMgZXh0cmEgZ2V0Q29udGV4
dCBhcmd1bWVudHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJUaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENvbnRleHQgYXJndW1l
bnRzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250
ZXh0KCcyZCcsIGZhbHNlLCB7fSwgW10sIDEsICIyIiksIG51bGwsICJvZmZzY3JlZW5DYW52YXMy
LmdldENvbnRleHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgXCIyXCIpIiwgIm51bGwiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJk
LmdldGNvbnRleHQuZXh0cmFhcmdzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy8yZC5nZXRjb250ZXh0LmV4dHJhYXJncy53b3JrZXIuanMKaW5kZXggOTMzYWEyNDlkNjNhN2Rj
NGFjOWNlYjFlMTk3OGJkZTQwYjEwNmYwNi4uYzc1MTc2MGFmZDE4ZmY2Zjg5MGEzYzk1ODA1NDVi
NTAyNzU2NjI3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNv
bnRleHQuZXh0cmFhcmdzLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
MmQuZ2V0Y29udGV4dC5leHRyYWFyZ3Mud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJUaGUgMkQgY29udGV4dCBpZ25vcmVzIGV4dHJhIGdldENvbnRleHQgYXJndW1lbnRzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIF9hc3NlcnREaWZmZXJlbnQob2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcs
IGZhbHNlLCB7fSwgW10sIDEsICIyIiksIG51bGwsICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRl
eHQoJzJkJywgZmFsc2UsIHt9LCBbXSwgMSwgXCIyXCIpIiwgIm51bGwiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQuc2hhcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5z
aGFyZWQuaHRtbAppbmRleCA4YTk0ODQ3MjQ1NTZmOWMyN2IxMzRkZDlhNDA0M2MwNDhkMzU4M2Fh
Li42YjYxODhiZmMwOTk2NzE5Mzc1NTIyYmVmY2FiYTRkYzU2YzM0YWQwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC5zaGFyZWQuaHRtbApAQCAtMyw3
ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQuZ2V0Y29udGV4dC5zaGFy
ZWQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQuZ2V0Y29udGV4dC5zaGFyZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPmdldENv
bnRleHQoJzJkJykgcmV0dXJucyBvYmplY3RzIHdoaWNoIHNoYXJlIGNhbnZhcyBzdGF0ZTwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENv
bnRleHQoJzJkJykgcmV0dXJucyBvYmplY3RzIHdoaWNoIHNoYXJlIGNhbnZhcyBzdGF0ZSIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eDIuZmlsbFN0
eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVs
KG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwy
NTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzLzJkLmdldGNvbnRleHQuc2hhcmVkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy8yZC5nZXRjb250ZXh0LnNoYXJlZC53b3JrZXIuanMKaW5kZXggYzNlYzY2NDdkYTZk
OWYxMjZmMGQxZmZjYWJjYmEwNWNiOWIxNWNjNS4uNTNjYWI2Mjk5NWZiMjFmZTQ1N2M0YzcxMzhl
YjQwMzczZDY5ODQwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdl
dGNvbnRleHQuc2hhcmVkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
MmQuZ2V0Y29udGV4dC5zaGFyZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJn
ZXRDb250ZXh0KCcyZCcpIHJldHVybnMgb2JqZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGUi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgyLmZp
bGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVuaXF1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVlLmh0bWwKaW5kZXggODEyOGM2ZWE5ZDY5NGQ1MTNh
MjZlY2M4ZDg3YTczMzJhZTk1MjNiYy4uOTEzNzk1ODMyZGQ4ZDFiZTQ4MTY2Y2FmMWJkMDNjNTZl
NGU4ZTFjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQudW5pcXVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRl
eHQudW5pcXVlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLmdldGNvbnRleHQudW5pcXVlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLmdldGNvbnRleHQudW5pcXVlPC9oMT4K
IDxwIGNsYXNzPSJkZXNjIj5nZXRDb250ZXh0KCcyZCcpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
Z2V0Q29udGV4dCgnMmQnKSByZXR1cm5zIHRoZSBzYW1lIG9iamVjdCIpOwordmFyIHRfcGFzcyA9
IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNv
bikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIg
b2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcg
KzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyksIG9mZnNjcmVlbkNhbnZh
czIuZ2V0Q29udGV4dCgnMmQnKSwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKSIs
ICJvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5p
cXVlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy8yZC5nZXRjb250ZXh0LnVu
aXF1ZS53b3JrZXIuanMKaW5kZXggM2U0ZDZjNDczMjE0N2M4NTk3ZTIxYjhlNDNmMDU2Y2QyNTVk
YWFiZi4uM2IzMTE1MjZmMDZkN2IyMjhmZDljZTFjYmNlMTliZjkzYTE2ZDg1ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzLzJkLmdldGNvbnRleHQudW5pcXVlLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvMmQuZ2V0Y29udGV4dC51bmlxdWUud29y
a2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRl
c3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJnZXRDb250ZXh0KCcyZCcpIHJldHVybnMg
dGhlIHNhbWUgb2JqZWN0Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2Ny
ZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhczIu
Z2V0Q29udGV4dCgnMmQnKSwgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpLCAib2Zm
c2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCcyZCcpIiwgIm9mZnNjcmVlbkNhbnZhczIuZ2V0Q29u
dGV4dCgnMmQnKSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3NpbmcuaHRtbAppbmRleCBkZmI3
YjMwMzA3NjBjZTZlNzk0NDQ0MTg0YjQ2NTAyYjI3MjFmOGFjLi5hZThkZDY5MjE0OGIzYzc2MmE1
ODFiMGI3NmU2MDM1MTNhNGI0NzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5taXNzaW5nLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQuYXJndW1lbnRzLm1pc3Npbmc8L3Rp
dGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8
aDE+Y29udGV4dC5hcmd1bWVudHMubWlzc2luZzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2Ny
ZWVuQ2FudmFzMi5nZXRDb250ZXh0KCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlzc2luZy53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5hcmd1bWVudHMubWlz
c2luZy53b3JrZXIuanMKaW5kZXggNDY3Yjc4YjBhOTNhYzRhOWIzMWY2Yjg2YTNjY2FlYjY3Yjdk
MjQwYy4uOWRiZDk3Yzg2MWEyODU3YTMwMzI2ODA2MzZkN2Q5Mjc0MTE1ODdhNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuYXJndW1lbnRzLm1pc3Npbmcud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmFyZ3VtZW50cy5t
aXNzaW5nLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQs
NyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFz
Mi5nZXRDb250ZXh0KCk7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC5jYXNlc2Vuc2l0aXZlLmh0bWwKaW5kZXggZTU3OWIz
YTcxZjgwOWU0MTAxOWIzMjI4OWJiZjg4ODBlNDkzOGI0Ny4uNTY0MzFlMmU0ZmM2YzI0NDMwZjU0
YTczNmRjYTI1OGI1N2YxMDE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2NvbnRleHQuY2FzZXNlbnNpdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9jb250ZXh0LmNhc2VzZW5zaXRpdmUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogY29udGV4dC5jYXNlc2Vuc2l0aXZlPC90aXRsZT4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4
dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmNvbnRleHQuY2Fz
ZXNlbnNpdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4dCBuYW1lICIyRCIgaXMgdW5y
ZWNvZ25pc2VkOyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZTwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJEXCIg
aXMgdW5yZWNvZ25pc2VkOyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZSIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4
LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZh
czIuZ2V0Q29udGV4dCgnMkQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmNhc2VzZW5zaXRpdmUud29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIu
anMKaW5kZXggMDJhYTMyZmE5NjliZTQzNTJlNzRkMGYxYzRjOWIzZmU1NTA0ODJjYi4uYjQxYzFm
NzY3ZjUzODg4ODEwNGVjZGM1YjNiNGE5OGJiOWRmZjhiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuY2FzZXNlbnNpdGl2ZS53b3JrZXIuanMKQEAg
LTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsK
K2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwog
CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQgbmFtZSBcIjJEXCIgaXMgdW5yZWNvZ25pc2Vk
OyBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5k
KHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRo
cm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2Fu
dmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFy
IGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgn
MkQnKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvY29udGV4dC5lbXB0eXN0cmluZy5odG1sCmluZGV4IGRjMDU3NTA4YzJjYTAzMGJiNTA0
MzFhNzBjNTM4ZjFkOGQ4NDk1ZjYuLjkyZjM3NTA2ZWFhNDRjMjNiOWFhZTliYjc1MmVmZjEyYWY2
OWFkYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5
c3RyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQuZW1wdHlz
dHJpbmcuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
Y29udGV4dC5lbXB0eXN0cmluZzwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10
ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250ZXh0LmVtcHR5c3RyaW5nPC9oMT4KIDxwIGNs
YXNzPSJkZXNjIj5nZXRDb250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbDwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoImdldENv
bnRleHQgd2l0aCBlbXB0eSBzdHJpbmcgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIs
NiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRD
b250ZXh0KCIiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LmVtcHR5c3RyaW5nLndvcmtlci5qcwppbmRleCBlYTMw
OGM1NTE5OTg1ZWU2M2VhMDY0NzM1MzdjNGVjNjE5OTViZjc5Li41NDQwNmJiNWJmZTA2YWEwMWM3
NDhmMmQwNDRlZGM5MTc0MWJmMjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC5lbXB0eXN0cmluZy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2NvbnRleHQuZW1wdHlzdHJpbmcud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJnZXRDb250ZXh0IHdpdGggZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbCIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgiIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5h
bWUuaHRtbAppbmRleCA4OWM5ZmEzZWIzODllM2EwMmNkNTBmNWE4NDk1MTc2ZjI4Mjg0NDZjLi44
ZTg0NjcxNGZhZDgyYTI4MjRlZTJjNjFkNGNlYTFhNzFlZmQwNDcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1l
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRl
eHQudW5yZWNvZ25pc2VkLmJhZG5hbWU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFt
ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Z2V0Q29udGV4dCB3aXRoIHVucmVjb2duaXNlZCBjb250
ZXh0IG5hbWUgcmV0dXJucyBudWxsPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4K
IHZhciB0ID0gYXN5bmNfdGVzdCgiZ2V0Q29udGV4dCB3aXRoIHVucmVjb2duaXNlZCBjb250ZXh0
IG5hbWUgcmV0dXJucyBudWxsIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0g
bmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlzIG5v
dCBhbiBpbXBsZW1lbnRlZCBjb250ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsgfSk7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250
ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5iYWRuYW1lLndvcmtlci5qcwppbmRleCA4N2ZmZGNk
MjczYjg0MGIxNGMzNWFkN2MxYmVhZmRmOGFkYWUzMWU3Li44NTVmOTk3MTE4YjhiMzZkNTcxZmI1
NzYwZjY4N2IwOTU3NzQyYTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC51bnJlY29nbmlzZWQuYmFkbmFtZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZG5hbWUud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJnZXRDb250ZXh0IHdpdGggdW5yZWNvZ25pc2VkIGNvbnRleHQg
bmFtZSByZXR1cm5zIG51bGwiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0
X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247
Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBP
ZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNCw3ICsxOCw2IEBAIHZhciBjdHggPSBvZmZz
Y3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwogYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeyBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJ1RoaXMgaXMgbm90
IGFuIGltcGxlbWVudGVkIGNvbnRleHQgaW4gYW55IHJlYWwgYnJvd3NlcicpOyB9KTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRl
eHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2NvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZpeC5odG1sCmluZGV4IDQ4MDYxNTYxYmZkZDQ5
ZTFmMjUyNjg0Yzc5M2RlYTA0YmExNDcyNzkuLjU1MTFjNGYyMWVjMWVhMDk2OTM3ZDZjNzA5YzBk
ZDdjOWYyOWZlYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LnVucmVjb2duaXNlZC5iYWRzdWZmaXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8
dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQudW5yZWNvZ25pc2VkLmJhZHN1ZmZp
eDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT5jb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXg8L2gxPgogPHAgY2xhc3M9ImRl
c2MiPkNvbnRleHQgbmFtZSAiMmQiIHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkPC9wPgpA
QCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4
dCBuYW1lIFwiMmRcIiBwbHVzIGEgc3VmZml4IGlzIHVucmVjb2duaXNlZCIpOwordmFyIHRfcGFz
cyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2
YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4
LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZh
czIuZ2V0Q29udGV4dCgiMmQjIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQuYmFkc3VmZml4
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNl
ZC5iYWRzdWZmaXgud29ya2VyLmpzCmluZGV4IDEzODMzZjkxMDJkOTgxMTE0ZGY1ZDJlZDUzNDg5
NTU5OTgwZjdjOTAuLmM1NmVhN2ViNjE1MzhmZWYwMGUwYzc1ZGRlZWNmNjQyZTIzYjU5ZTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5i
YWRzdWZmaXgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0
LnVucmVjb2duaXNlZC5iYWRzdWZmaXgud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJDb250ZXh0IG5hbWUgXCIyZFwiIHBsdXMgYSBzdWZmaXggaXMgdW5yZWNvZ25pc2VkIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQo
JzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2Ny
ZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIyZCMiKTsgfSk7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5u
dWxsc3VmZml4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29n
bmlzZWQubnVsbHN1ZmZpeC5odG1sCmluZGV4IDhiZjk4ZDQxMDQ3ZDMyMTAwYjlmYzJhZjQzNmFm
Y2NlMWZkYTY2ZTQuLmI4NjYwYWU3ZmM2ZGEyOGJlZGJmYzE0ZmFlMTgwOGYyODZkODk4MDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVjb2duaXNlZC5u
dWxsc3VmZml4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5y
ZWNvZ25pc2VkLm51bGxzdWZmaXguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5jb250
ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5Db250ZXh0
IG5hbWUgIjJkIiBwbHVzIGEgIlwwIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiQ29udGV4dCBuYW1l
IFwiMmRcIiBwbHVzIGEgXCJcXDBcIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTgsNyArMjIsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7
CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsK
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgb2Zmc2NyZWVuQ2Fu
dmFzMi5nZXRDb250ZXh0KCIyZFwwIik7IH0pOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1
ZmZpeC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJlY29n
bmlzZWQubnVsbHN1ZmZpeC53b3JrZXIuanMKaW5kZXggZmM2NzdmODNkODJiNzMyOTRiZWU0YTIy
YTJjNGI4NzI3ODI5MjZlOC4uZWZlNDViOTE5NmJhYjkxYmVkYzRlMjM4YjU0Nzg4MzdjNmE0NzRh
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25p
c2VkLm51bGxzdWZmaXgud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9j
b250ZXh0LnVucmVjb2duaXNlZC5udWxsc3VmZml4Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiQ29udGV4dCBuYW1lIFwiMmRcIiBwbHVzIGEgXCJcXDBcIiBzdWZmaXggaXMgdW5y
ZWNvZ25pc2VkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0
LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVu
Q2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5j
dGlvbigpIHsgb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCIyZFwwIik7IH0pOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4
dC51bnJlY29nbmlzZWQudW5pY29kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2Nv
bnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGUuaHRtbAppbmRleCBjNjU3Yzg5NmVlNDhlNWU0YmFm
MTQyNmUzZWY5ZGY0N2MxNDdjYmY2Li44OWYyNjU1ZDU2MzY3NDhiYzBlMTNjMzYwMzUyYWE0NGQ5
ZGVkMWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvY29udGV4dC51bnJl
Y29nbmlzZWQudW5pY29kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250
ZXh0LnVucmVjb2duaXNlZC51bmljb2RlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zm
c2NyZWVuQ2FudmFzIHRlc3Q6IGNvbnRleHQudW5yZWNvZ25pc2VkLnVuaWNvZGU8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+Y29u
dGV4dC51bnJlY29nbmlzZWQudW5pY29kZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+Q29udGV4dCBu
YW1lIHdoaWNoIGtpbmQgb2YgbG9va3MgbGlrZSAiMmQiIGlzIHVucmVjb2duaXNlZDwvcD4KQEAg
LTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkNvbnRleHQg
bmFtZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgXCIyZFwiIGlzIHVucmVjb2duaXNlZCIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE4LDcgKzIyLDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0
KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IG9mZnNj
cmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMlx1RkY0NCIpOyB9KTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQudW5yZWNvZ25p
c2VkLnVuaWNvZGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2NvbnRleHQu
dW5yZWNvZ25pc2VkLnVuaWNvZGUud29ya2VyLmpzCmluZGV4IDM2YmVmZDk0YTQxYjIwOGQ0ZDMz
ODVjYjk4ODMyNTJkY2YxNzkzZDYuLmE1MzMxMTc1NjJkNjQwM2U1MmQ1ZDlhZDNmZWNkMmI0OTkz
NDQwMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9jb250ZXh0LnVucmVj
b2duaXNlZC51bmljb2RlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
Y29udGV4dC51bnJlY29nbmlzZWQudW5pY29kZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAog
Ly8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwot
aW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMo
Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIkNvbnRleHQgbmFtZSB3aGljaCBraW5kIG9mIGxvb2tzIGxpa2UgXCIyZFwiIGlzIHVu
cmVjb2duaXNlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTE0LDcgKzE4LDYgQEAgdmFyIGN0eCA9IG9mZnNjcmVlbkNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CiBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMlx1RkY0NCIpOyB9KTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwuY29sb3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xv
dXIuaHRtbAppbmRleCBmMDMzZTRkMjYwM2RlZmIzNjQyZGVmZmM5NTcyN2FmZTU5MjhlYWY2Li42
ZGZjZDdhMmYwZmFkZDM5NDI1MDcxNTUzOWU3MzAzNjI5NjdmNmNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5jb2xvdXI8L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5jb2xv
dXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkluaXRpYWwgc3RhdGUgaXMgdHJhbnNwYXJlbnQgYmxh
Y2s8L3A+CkBAIC0xMSwxMyArMTEsMTYgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVz
dCgiSW5pdGlhbCBzdGF0ZSBpcyB0cmFuc3BhcmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKIHZhciBjdHggPSBv
ZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKIAogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNv
bG91ci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5jb2xvdXIu
d29ya2VyLmpzCmluZGV4IGY4Nzg2MWY3ZjA5MThkOTQ1MzQzNDYwZTJlZWM0NzZjZWIxZWFhNjIu
LjI0MTQ0NjU3ZjhiYWFkMWYxN2Q1MmIxZTFjNGRlNzUyOWNhNDJmNTQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLmNvbG91ci53b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwuY29sb3VyLndvcmtlci5qcwpAQCAtNCwxNiAr
NCwxOSBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoIkluaXRpYWwgc3RhdGUgaXMgdHJhbnNwYXJlbnQgYmxhY2siKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiB2YXIgY3R4ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC4yZHN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC4yZHN0YXRlLmh0bWwKaW5kZXggMTNlZjBjMTQwZjE2OWQ1N2RkZDk2NTA3
OWZlOTU4OTJjNzE0MWQxMC4uZDU0ZDAxYjM4NjFhY2VlNmJhZDAzYjAyYTdmMTAyNGMwYWM3NWU3
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuMmRz
dGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LjJk
c3RhdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
aW5pdGlhbC5yZXNldC4yZHN0YXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQuMmRzdGF0ZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIDJEIHN0YXRl
IHZhcmlhYmxlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyAyRCBzdGF0ZSB2YXJp
YWJsZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC04MCw2ICs4NCw1IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEw
MDsKIF9hc3NlcnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sIGRlZmF1bHRfdmFs
LCAiY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJkZWZhdWx0X3ZhbCIpOwogCiB0LmRv
bmUoKTsKLQogfSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LjJkc3RhdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4t
Y2FudmFzL2luaXRpYWwucmVzZXQuMmRzdGF0ZS53b3JrZXIuanMKaW5kZXggN2VhYjdmYmJhMWVj
NGE0N2RkMmI3NDMzMWM0MzY4NGVhN2JhMDBhYi4uN2ZmMGEwY2E5ZGFmMWYzOTA0MjVmMmNjZGQw
NDFlZjZkNjEwMzc4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQuMmRzdGF0ZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuMmRzdGF0ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyAyRCBzdGF0ZSB2YXJpYWJsZXMiKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC03Niw2ICs4MCw1IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIF9hc3Nl
cnRTYW1lKGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24sIGRlZmF1bHRfdmFsLCAiY3R4Lmds
b2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsICJkZWZhdWx0X3ZhbCIpOwogCiB0LmRvbmUoKTsKLQog
fSk7CiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5jbGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5jbGlwLmh0bWwKaW5kZXggMDc2YjNlODlkMTUxYTQ1OWY2YzAzZGZmYTExNTA5ZWNkNTE3YjFm
Mi4uYjUzNmU4Y2VkOGQ4NTk0NTE4NDY1YWU5YjBlZjc1ZGQwZDk5MWVjOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVzZXQuY2xpcC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmNsaXAuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogaW5pdGlhbC5yZXNldC5jbGlwPC90
aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAog
PGgxPmluaXRpYWwucmVzZXQuY2xpcDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRo
ZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IGNsaXAgcmVnaW9uPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRo
ZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IGNsaXAgcmVnaW9uIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjMsNyArMjcsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuY2xpcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC5jbGlwLndvcmtlci5qcwppbmRleCA4M2ExYTY4ZmIxYjIzOGJkYzFm
NmVmYWQ1MGY3NWE5YjkyZmNkNTg5Li5jNmUwNmNhMGQwMTVkZWI5MGI4ZGU5Y2ZkNWJjYTk1OTNk
YjZhMGZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5jbGlwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5y
ZXNldC5jbGlwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRo
ZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IGNsaXAgcmVnaW9uIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTksNyArMjMsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAxMDA7CiBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMjU1LDAsMjU1LCAiMjAsMjAiLCAiMCwyNTUsMCwyNTUi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQuaHRtbAppbmRleCAzYjZlZDAxM2ZmY2MxNTY1N2Y4
NGVjYmNmOWMyYWM5NTg2NzFhYmJiLi40NWZmYjY5NzRlMjI2MGRmNzlmYWU0NDEyNmExMDI0Njgz
ZTkwY2Y0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNl
dC5kaWZmZXJlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5y
ZXNldC5kaWZmZXJlbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC5kaWZm
ZXJlbnQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPkNoYW5naW5nIHNpemUgcmVzZXRzIGNhbnZhcyB0
byB0cmFuc3BhcmVudCBibGFjazwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkNoYW5naW5nIHNpemUgcmVzZXRzIGNhbnZhcyB0byB0cmFuc3Bh
cmVudCBibGFjayIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwog
dC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKQEAgLTIxLDcgKzI1LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAsIDUw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMjU1LDAsMCwyNTUs
ICIyMCwyMCIsICIyNTUsMCwwLDI1NSIpOwogb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gNTA7CiBf
YXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAs
MCwwLDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LmRpZmZlcmVudC53b3JrZXIuanMKaW5kZXggOGJm
NTc4NDlkNzgyMWUzOWU2OGExNWE1ZjA3MWZmOGNmNzQyNjA1Ny4uMjA2YmE2NzJmZWRiYWFiZjc3
MjQ4NDgwOTUwMWQ2Mjk1YjlmMWEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZGlmZmVyZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5kaWZmZXJlbnQud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJDaGFuZ2luZyBzaXplIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQg
YmxhY2siKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0
ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3Rl
cChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52
YXMoMTAwLCA1MCk7CkBAIC0xNyw3ICsyMSw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTAp
OwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAsMjU1LCAiMjAs
MjAiLCAiMjU1LDAsMCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDUwOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIyMCwyMCIsICIwLDAsMCww
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9pbml0aWFsLnJlc2V0LmdyYWRpZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvaW5pdGlhbC5yZXNldC5ncmFkaWVudC5odG1sCmluZGV4IGIwMzE4OTAxYzg4MDBkOGMyNDdj
YTEyNjExNWNjY2I0YzkyOGQ2ZTAuLjFkY2U4ZGFiZTU4NGQxZGM3MzY3ZmQyYzBmNDgyM2E0MjMx
MDI5MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0
LmdyYWRpZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRpYWwucmVz
ZXQuZ3JhZGllbnQuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMg
dGVzdDogaW5pdGlhbC5yZXNldC5ncmFkaWVudDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LmdyYWRpZW50
PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5v
dCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBncmFkaWVudHM8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBz
dGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBncmFkaWVudHMiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNiw3ICszMCw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0eC5maWxsU3R5
bGUgPSBnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQuZ3JhZGllbnQud29ya2VyLmpzCmluZGV4IDcwYTNjOTk3NTg1MDZj
MzVhMGFmNjY1MDVjNmUyYThiMjU1ZjQxMGIuLjk3YjBiMWE1Y2NlZTNlODIwOTllOTM2ODVmMGIx
YTNkN2Q2MzM3NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFs
LnJlc2V0LmdyYWRpZW50Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC5ncmFkaWVudC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4aXN0
aW5nIGdyYWRpZW50cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9IGc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLmh0bWwKaW5kZXggZTRkZTEzMzg4
NGJmZWU3M2ExYzZjMjlhYWQwYWE0ODRmZmU5YTkyZS4uYjljNGFiNTcxNzdjOGZiYmVlNDA0ODNh
ZDA0ZmRjYjkwOGM5ZDc4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQucGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0
aWFsLnJlc2V0LnBhdGguaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52
YXMgdGVzdDogaW5pdGlhbC5yZXNldC5wYXRoPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPmluaXRpYWwucmVzZXQucGF0aDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBj
dXJyZW50IHBhdGg8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSByZXNldHMgdGhlIGN1cnJlbnQg
cGF0aCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAw
OwogY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsKCk7CiBfYXNzZXJ0UGl4ZWwob2Zm
c2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwwLDAsMCwgIjIwLDIwIiwgIjAsMCwwLDAiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2luaXRp
YWwucmVzZXQucGF0aC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5wYXRoLndvcmtlci5qcwppbmRleCBhMDUxMGY2ZmUwMWNkMGM1MWIzMTA2NmI4MjAz
YWVlNjkyOWRmYzliLi4yNGU3ZDNkMDFkMjg2NDBjMmRlODNiNzkxZjEzNzlmOTMxYmM3ZDllIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRoLndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5yZXNldC5wYXRo
Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUmVzZXR0aW5nIHRoZSBjYW52YXMg
c3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IHBhdGgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHgu
ZmlsbCgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDAsMCwwLDAsICIy
MCwyMCIsICIwLDAsMCwwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4uaHRtbAppbmRleCA2NDZiMzk5
YTgyNTE5OGVhMjdlZDU4MDU1YTE0YmQ4OWE0YjJlZGZlLi5hOGE0Yjc2OWUyNGE5Nzc2N2QyZWMz
NDAxMTg3MjhkNThjODVkZDY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC5wYXR0ZXJuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQucGF0dGVybi5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNj
cmVlbkNhbnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LnBhdHRlcm48L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNl
dC5wYXR0ZXJuPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5SZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0
ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFueSBleGlzdGluZyBwYXR0ZXJuczwvcD4KQEAgLTExLDYg
KzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUg
Y2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4aXN0aW5nIHBhdHRlcm5zIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBjdHgu
ZmlsbFN0eWxlID0gcDsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhl
bChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAs
MjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9pbml0aWFsLnJlc2V0LnBhdHRlcm4ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL2luaXRpYWwucmVzZXQucGF0dGVybi53b3JrZXIuanMKaW5kZXggNTFiMWRlYTk3
ZDA0YTcxYzBiYWI2ZmE2Mzc0OWNlMzJkNzFlMGE2MC4uMDljM2Q3NTQwYjcxNWVhZGMwZDM3MTY5
ZTViYjM2NmQ3OWI3MGRhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQucGF0dGVybi53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL2luaXRpYWwucmVzZXQucGF0dGVybi53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIGRvZXMgbm90IGludmFsaWRhdGUgYW55IGV4
aXN0aW5nIHBhdHRlcm5zIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOwor
fSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zm
c2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiBjdHguZmlsbFN0eWxlID0gcDsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAs
IDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwg
IjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUuaHRtbAppbmRleCAwYTJlZGY0
YjZkNzdlMDNhYWUzZjkyODVjNGE3NDUwMTBkZTMzMzc5Li4zNmMzZmVhMGYxZWI5OWZkZDkzMTgz
MmM5OWRmYjgxYTAyNDA0ZTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
aW5pdGlhbC5yZXNldC5zYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL2lu
aXRpYWwucmVzZXQuc2FtZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNh
bnZhcyB0ZXN0OiBpbml0aWFsLnJlc2V0LnNhbWU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+aW5pdGlhbC5yZXNldC5zYW1lPC9o
MT4KIDxwIGNsYXNzPSJkZXNjIj5TZXR0aW5nIHNpemUgKG5vdCBjaGFuZ2luZyB0aGUgdmFsdWUp
IHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2s8L3A+CkBAIC0xMSw2ICsxMSwxMCBA
QAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIHNpemUgKG5vdCBjaGFu
Z2luZyB0aGUgdmFsdWUpIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2siKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAsMjU1LCAiMjAsMjAiLCAiMjU1LDAs
MCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC5zYW1lLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFs
LnJlc2V0LnNhbWUud29ya2VyLmpzCmluZGV4IGRlZGJjNTUxNTA4YWE0MzkxNmQxMmFmNTQ2NjU4
NmI4NmNlOGRiOGUuLmNjMjAyYjQ4NWI3MTZlMmU3MjViMGNlNDE5NjE3N2ZiYzY0MTFlODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUud29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnNhbWUu
d29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFz
LXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIHNpemUgKG5vdCBjaGFu
Z2luZyB0aGUgdmFsdWUpIHJlc2V0cyBjYW52YXMgdG8gdHJhbnNwYXJlbnQgYmxhY2siKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogX2Fzc2VydFBp
eGVsKG9mZnNjcmVlbkNhbnZhcywgMjAsMjAsIDI1NSwwLDAsMjU1LCAiMjAsMjAiLCAiMjU1LDAs
MCwyNTUiKTsKIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDIwLDIwLCAwLDAsMCwwLCAiMjAsMjAiLCAiMCwwLDAsMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlh
bC5yZXNldC50cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFs
LnJlc2V0LnRyYW5zZm9ybS5odG1sCmluZGV4IDM0NjI4M2ZkMTM5ZGMyNjQ0NThjYTdhYjcyODNl
NjM5MTFiNDI5ZDQuLmExYjUyZTdkYjBhOTBmOWNhY2Q4ZGE4YTZiOTY3ZTlmNTgxOGRhOTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5zZm9y
bS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9pbml0aWFsLnJlc2V0LnRyYW5z
Zm9ybS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBp
bml0aWFsLnJlc2V0LnRyYW5zZm9ybTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5pbml0aWFsLnJlc2V0LnRyYW5zZm9ybTwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+UmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBj
dXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJl
c2V0cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0
LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24p
IHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9m
ZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsy
Niw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCAyMCwyMCwgMCwyNTUsMCwyNTUsICIyMCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5p
dGlhbC5yZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L2luaXRpYWwucmVzZXQudHJhbnNmb3JtLndvcmtlci5qcwppbmRleCBmMjQ4N2ZiZjdiOTZjMjQ0
YWI1NzkyNjNiZDQ2OTg0YTIyN2NmODBiLi40YmM0NWQwMDM2NzM5MDRhMTZjZDhmZTE4OWJmN2Q4
NjU1MjJiM2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvaW5pdGlhbC5y
ZXNldC50cmFuc2Zvcm0ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9p
bml0aWFsLnJlc2V0LnRyYW5zZm9ybS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IlJlc2V0dGluZyB0aGUgY2FudmFzIHN0YXRlIHJlc2V0cyB0aGUgY3VycmVudCB0cmFuc2Zvcm1h
dGlvbiBtYXRyaXgiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0
aCA9IDEwMDsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAyMCwyMCwgMCwyNTUsMCwyNTUs
ICIyMCwyMCIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQuaHRtbAppbmRl
eCBmZDhlYTUwOTM0Y2Y1ZDhhYWY2YWFkYjAzZjdlYmE4ZDVlMDA1ZmUxLi5jY2UwOTc2MGQwYzI0
NDdjN2RiY2EyYTZiMzY5NzFmODc4N2YyMjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0Lmh0bWwKQEAgLTEsNyArMSw3IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy8jb2Zmc2NyZWVuY29udGV4dDJkLWNvbW1pdCI+CiA8c2NyaXB0PgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbW1pdC53Lmh0bWwKaW5k
ZXggNzAxMjA5Nzg3MjMwOGZmM2U3NWIxOTdjYjY1NzcyNmFhYmViNDJhMS4uOTBkZTA3ODZlNWM2
MGU4OWNjMmY5ZWY1ZTIyNjIxNDBiNjA0YjE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb21taXQudy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29tbWl0LncuaHRtbApAQCAtMSw3ICsxLDcg
QEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnLyNvZmZzY3JlZW5jb250ZXh0MmQtY29tbWl0Ij4KIAogPHNjcmlwdCBpZD0ibXlXb3Jr
ZXIiIHR5cGU9InRleHQvd29ya2VyIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuY29uc3RydWN0b3IuaHRtbAppbmRleCBjMTMwMTA3MTVl
NmQwOWVhZDJkMGNjOGU4M2E0Mjc4OGI4YmU0YjNhLi5hMTc2MDc2NGRlYzI3NjU1NWM5MTI1YjA0
Nzc4ZDZhMDY5NzE2YWZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3Jp
cHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
I2RvbS1vZmZzY3JlZW5jYW52YXMiPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5jb25zdHJ1Y3Rvci53b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLndvcmtl
ci5qcwppbmRleCA3Yzc3M2UwOTRkZTQ0OWEyMmMzNDU3ZTVlMjU3NWM1M2E3ZTk4OTM3Li4yODVl
NGUxZDk0ODc2NGQ1NGZkNTExYjgxZjJkOWRhYzBlZTViNDk0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9yLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmNvbnN0cnVjdG9y
Lndvcmtlci5qcwpAQCAtMSw3ICsxLDcgQEAKIC8vIHNwZWMgbGluazogaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcwogCiBpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10
ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRl
c3RzLmpzIik7CiAKIHZhciB0MSA9IGFzeW5jX3Rlc3QoIlRlc3QgdGhhdCBjYWxsaW5nIE9mZnNj
cmVlbkNhbnZhcydzIGNvbnN0cnVjdG9yIGdlbmVyYXRlcyBjb3JyZWN0IHdpZHRoIGFuZCBoZWln
aHQuIik7CiB0MS5zdGVwKGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNvbnRleHQuaHRtbAppbmRleCA2NWY2Mzkx
ZDM1NzVjZTA5MjM2ZTliMDllZGIwNTZmYmU2ZGQ1Y2NjLi43YWFhMGU2YzM2YTdhMTQ3ZGU2MGU1
NDEyNGRjMTVjMjZmZDQ5MjczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
b2Zmc2NyZWVuY2FudmFzLmdldGNvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvb2Zmc2NyZWVuY2FudmFzLmdldGNvbnRleHQuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwh
RE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
LyNkb20tb2Zmc2NyZWVuY2FudmFzLWdldGNvbnRleHQiPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMuZ2V0Y29u
dGV4dC53b3JrZXIuanMKaW5kZXggMDA4ZTA0ZTc1MGU5MGY3YmMzYzAzYzM4NTg2ZTkyNjdkMThh
M2NmNy4uY2VkNDEyZmI4OTQ1ZDFiMTc3MzJkYTBiMTc5ODk3OTQ4ZGM0NDU2NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5nZXRjb250ZXh0Lndv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLmdl
dGNvbnRleHQud29ya2VyLmpzCkBAIC0xLDcgKzEsNyBAQAogLy8gc3BlYyBsaW5rOiBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzLWdldGNvbnRleHQKIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEsIDEpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5yZXNpemUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMucmVzaXplLmh0bWwKaW5k
ZXggNTc3MDMwOTkyNWNiMjlmNzFkZTVlNDQzOWVkZTY0ZTIwODVhOWNmYy4uMDkyMjcyN2M2MWVh
MmUxNTJkM2I1MmQzODFhNmFkYjBiZjRhMzFkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy5yZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNj
cmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnJlc2l6ZS5odG1sCkBAIC0yLDcgKzIsNyBAQAog
PHRpdGxlPlRlc3QgcmVzaXppbmcgYW4gT2Zmc2NyZWVuQ2FudmFzIHdpdGggYSAyZCBjb250ZXh0
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
IDxib2R5PjwvYm9keT4KIDxzY3JpcHQ+CiB0ZXN0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFn
ZWJpdG1hcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50
cmFuc2Zlci50by5pbWFnZWJpdG1hcC5odG1sCmluZGV4IDM2ZmVmNmY0OThmODIwZWE0NGM0YTBi
M2VhNGQyM2Y4MDY0YWVhNjkuLjMxMTg3YzY0ZTNkZDY1NmEwMDAwNzViZmRjZjVlMjAzMGU3OTZh
MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMu
dHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLmh0bWwKQEAgLTEsNyAr
MSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jZG9tLW9mZnNjcmVlbmNhbnZhcy10cmFuc2ZlcnRvaW1hZ2ViaXRtYXAiPgog
CiA8c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFn
ZWJpdG1hcC53LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3Jl
ZW5jYW52YXMudHJhbnNmZXIudG8uaW1hZ2ViaXRtYXAudy1leHBlY3RlZC50eHQKaW5kZXggMzQy
ZDNjZjJhN2E2NTUxNGZhYTZlODk5MzZmYzU3ZTAyMTUxNDIyMC4uOWQ2ZGJlMmUzYzdjM2NlMzFm
MzI3MjYyZjAyNjJmZjA1ZDk4MjQ5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVy
LnRvLmltYWdlYml0bWFwLnctZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCi1IYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IERhdGFDbG9uZUVycm9yOiBUaGUgb2JqZWN0IGNhbiBu
b3QgYmUgY2xvbmVkLgotCiBQQVNTIFRlc3QgdGhhdCB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAgcmV0
dXJucyBhbiBJbWFnZUJpdG1hcCB3aXRoIGNvcnJlY3Qgd2lkdGggYW5kIGhlaWdodCBpbiBhIHdv
cmtlciAKIFBBU1MgVGVzdCB0aGF0IHRyYW5zZmVyVG9JbWFnZUJpdG1hcCByZXR1cm5zIGFuIElt
YWdlQml0bWFwIHdpdGggY29ycmVjdCBjb2xvciBpbiBhIHdvcmtlciAKIFBBU1MgVGVzdCB0aGF0
IGNhbGwgdHJhbnNmZXJUb0ltYWdlQml0bWFwIHR3aWNlIHJldHVybnMgYW4gSW1hZ2VCaXRtYXAg
d2l0aCBjb3JyZWN0IGNvbG9yIGluIGEgd29ya2VyIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zlci50by5pbWFnZWJpdG1hcC53Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyLnRv
LmltYWdlYml0bWFwLncuaHRtbAppbmRleCBjMWZhZWNiODUzZmQ4OWExYjdhY2JkMTRkNDM2ODhl
OWUyZGE1YmUyLi41YWNhZDdkMGMwN2EwNGEzZWUxMTE2YjRlNTc3ZDM4OTUwNzZkMWM2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVy
LnRvLmltYWdlYml0bWFwLncuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zm
c2NyZWVuY2FudmFzLnRyYW5zZmVyLnRvLmltYWdlYml0bWFwLncuaHRtbApAQCAtMSw3ICsxLDcg
QEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnLyNkb20tb2Zmc2NyZWVuY2FudmFzLXRyYW5zZmVydG9pbWFnZWJpdG1hcCI+CiAKIDxz
Y3JpcHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5v
ZmZzY3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMu
dHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi5odG1sCmluZGV4IDJlYWNmM2YyMjAzODM0NzM2
YTM4ZmFlNWRiNjc0NTQzNGI5ZWMyYzQuLmExM2U5ODljZmNlZTc0OTBhOWFjMmJhOTE3OTZiNWY5
MjZlODNkNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5j
YW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVlbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9sLnRvLm9mZnNjcmVl
bi5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1jYW52YXMtdHJhbnNmZXJjb250cm9sdG9v
ZmZzY3JlZW4iPgogPHNjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcmNvbnRyb2wudG8ub2Zmc2NyZWVuLncuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJjb250cm9s
LnRvLm9mZnNjcmVlbi53Lmh0bWwKaW5kZXggZWM4ZDA1YTRiYTNlNzcwNjlkYjEzM2I3M2M3YmRm
ZGQ2YzQ2NjMyOS4uODYzN2MzZjcxOTQ4Nzk3ODU4ZGVhZDA4OTMzZjZlNDI2ODAxYWFkOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2Zl
cmNvbnRyb2wudG8ub2Zmc2NyZWVuLncuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVyY29udHJvbC50by5vZmZzY3JlZW4udy5odG1sCkBA
IC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1jYW52YXMtdHJhbnNmZXJjb250cm9sdG9vZmZzY3JlZW4i
PgogCiA8c2NyaXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVy
cmFibGUuaHRtbAppbmRleCBmMzIzMDlmYzFiYmQ5NDc0OTNiNTYzZTExZGEyNmRiMDhlODFhYzRh
Li5iYzJhYzNhYWUwNWQwNDBhOTM2OWE0NDkzZTBiYTU4MDc2OTY4NjEyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVycmFibGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVy
cmFibGUuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNvZmZzY3JlZW5jYW52YXMiPgogCiA8c2Ny
aXB0IGlkPSJteVdvcmtlciIgdHlwZT0idGV4dC93b3JrZXIiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxlLncuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9vZmZzY3JlZW5jYW52YXMudHJhbnNmZXJyYWJsZS53
Lmh0bWwKaW5kZXggODEzMjkwYWRhZDE5ZGQ5MGVjZTJlYjY1Y2MwMWFkM2JiZTQwNzQzYi4uYzNm
MWIxMWYwNjhjMmZjMjU3YzQyNjc4N2IxZDc5MDg0ZGIxMjBiZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL29mZnNjcmVlbmNhbnZhcy50cmFuc2ZlcnJhYmxlLncuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvb2Zmc2NyZWVuY2FudmFzLnRyYW5zZmVycmFi
bGUudy5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI29mZnNjcmVlbmNhbnZhcyI+CiAKIDxzY3Jp
cHQgaWQ9Im15V29ya2VyIiB0eXBlPSJ0ZXh0L3dvcmtlciI+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC5odG1sCmluZGV4IGI1ZmEz
YzBmMTE1N2U4NWEzMmIxZjA4ODhmNmZjNDk1ODUyMmM2MmEuLmRhMTk5N2NmY2MwMjMyNmQ4NDFl
YmM3NmI0NzY3NjczYTM5NjJjZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxl
Pk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMuZGVmYXVsdDwvdGl0bGU+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXpl
LmF0dHJpYnV0ZXMuZGVmYXVsdDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+RGVmYXVsdCB3aWR0aC9o
ZWlnaHQgd2hlbiBhdHRyaWJ1dGVzIGFyZSBtaXNzaW5nPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAK
IAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiRGVmYXVsdCB3aWR0aC9oZWlnaHQgd2hl
biBhdHRyaWJ1dGVzIGFyZSBtaXNzaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCB2YXIgY3R4
ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKG9mZnNj
cmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmRlZmF1bHQud29ya2VyLmpzCmlu
ZGV4IDcwYmIzYTJjNGNlNjg0MDJjNDcwOGVhODU5ODFmYjQ3NjJiNDliNmUuLjAyMDg4NWM5NzEx
OWE4YzlmN2M2ZmIwNzU4N2JiYTlkMTM5ZDAzMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2Ny
ZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuZGVmYXVsdC53b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5kZWZhdWx0Lndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgiRGVmYXVsdCB3aWR0aC9oZWlnaHQgd2hlbiBhdHRyaWJ1dGVz
IGFyZSBtaXNzaW5nIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTQsNyArMTgsNiBAQCB2YXIgY3R4ID0gb2Zmc2NyZWVu
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53
aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLmlkbC5odG1sCmluZGV4IGM2NzI4Y2QwNjlmNDIzOThkNTExMTIzYjBm
OWVhOTk2MDNhZjY3NmYuLmU0YWY5NjI4OTZiYTU3ZjE2MTg5MGU1NjYzMDA4MjMxNzM5YzRhMDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRs
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwu
aHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5h
dHRyaWJ1dGVzLmlkbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMuaWRsPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5HZXR0aW5nL3NldHRpbmcgd2lkdGgvaGVpZ2h0IElETCBhdHRyaWJ1dGVzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiR2V0dGluZy9z
ZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMyLDcgKzM2LDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gIjQwMHgiOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCA9ICJmb28iOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5p
ZGwuc2V0Lnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMuaWRsLnNldC56ZXJvLmh0bWwKaW5kZXggMzRiY2VmM2QyOTRmOWMxMjE0ZjNlODIyN2M4NDQ4
ODgxOGY2OTc3ZS4uYjAzYWM2M2E3ZjczMGZiNGY0MmRkYTMxZjEyODZiMDgyZGQwOGYzYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0
Lnplcm8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVz
LmlkbC5zZXQuemVyby5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9y
ZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRl
cy5pZGwuc2V0Lnplcm88L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgd2lkdGgvaGVpZ2h0
IElETCBhdHRyaWJ1dGVzIHRvIDA8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJTZXR0aW5nIHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcyB0
byAwIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAwOwog
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
d2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLmlkbC5zZXQuemVyby53b3JrZXIuanMKaW5kZXggZDMy
MTA5NWI0OTY3NGIzOGM0YmVlMzFjN2RhZDdlZjg2MGNjNmZiZi4uZjcwYjQ5N2RmYjY5NGFjOGMw
MDlhYjUyMGRjMThkOTI4NjNiNDhjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwuc2V0Lnplcm8ud29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvLndvcmtlci5qcwpA
QCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIp
OworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7
CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiU2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0
ZXMgdG8gMCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5z
dGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNh
bnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0g
MDsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5pZGwud29ya2VyLmpzCmluZGV4IGRjNzlmMDE3NTQwNzY3OWIw
ZGRmMDlhMWM5Y2FhNDY4NWFhMDhlYTEuLjc5ZTk1MzBmODkyOTMzMmYwNzhhYzE1OTllNjY2ZDMw
ZmQ0YTJhY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMuaWRsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLmlkbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIkdldHRpbmcv
c2V0dGluZyB3aWR0aC9oZWlnaHQgSURMIGF0dHJpYnV0ZXMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRv
bmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsK
KyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNj
cmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yOCw3ICszMiw2
IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICI0MDB4IjsKIG9mZnNjcmVlbkNhbnZhcy5oZWln
aHQgPSAiZm9vIjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0LCAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZGVjaW1hbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5wYXJzZS5kZWNpbWFsLmh0bWwKaW5kZXggYjZjYTUzNDI2YTUyYmY5ZDQ5MWZiYzFmM2Vi
Mjk0NTg1OTUyMjlhMy4uNzhmMjFhYTMwMzIyNDg3NjZkZTFlMjJmZGViZTgwYWNmNTU4ZTA2ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5kZWNpbWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmli
dXRlcy5wYXJzZS5kZWNpbWFsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVu
Q2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0
cmlidXRlcy5wYXJzZS5kZWNpbWFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5v
bi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2
YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMTAwLjk5OSc7CiBv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMC45OTknOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVp
Z2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWwud29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5kZWNpbWFsLndv
cmtlci5qcwppbmRleCAxMzRlZTM5NWU0Y2UwMWU4OGQyZjRiODVlODIzZmI3YzI5OGU5NmExLi5l
OWUxYzUyODYzOTVjMGZmMGZmOTNiOTNjMmYxZjlmZjA1YzM0NmRjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmRlY2ltYWwud29ya2Vy
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
ZGVjaW1hbC53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9u
LW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52
YXMud2lkdGggPSAnMTAwLjk5OSc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMC45OTkn
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAx
MDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtLmh0bWwKaW5kZXggZGQyNDhmM2ExYWRhZTVmMmIwNjlmZThkZDA5NDQyMDU1ZTNjYjZm
YS4uMGJiYzU4ODgxNzY5MmYyZjc4OWQ2MmIyOWQzNGRmZmZhZDg4OWEwYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5lbS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0uaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLmVtPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5lbTwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5v
bi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID0gJzEwMGVtJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwZW0nOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMu
d2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAs
ICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZW0ud29ya2VyLmpzCmluZGV4IDc1M2RiOWExNWUxMTRlYzU3NDk1MDYyZmYwYWM1OTQ4
MWUwOTI4MTAuLmVmYTg4ZjBmNDM3ZGI3NDAyMWRhOTcxZTdlZTUyN2RmNzc0ZWYyNGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZW0u
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZW0ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNj
cmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21t
b24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNl
cy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5v
bi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2Fu
dmFzLndpZHRoID0gJzEwMGVtJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwZW0nOwog
X2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMu
d2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAs
ICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LmVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtcHR5Lmh0bWwKaW5kZXggOTEzNGVjMGE5MTllN2ExMTY0NjQzZmM2NmM1YjAwN2U0NzM2
ODQxOC4uNmI0MDNlNmU1NGVkOTEyNGEzMGU2ZmRmYzgyMzJjYmQxNGQzOTNjZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5lbXB0eS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
ZW1wdHkuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDog
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmVtcHR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5l
bXB0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdl
cnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0
KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
Jyc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmVtcHR5Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UuZW1wdHkud29ya2VyLmpzCmluZGV4IDk0MGE4OWEwMjU1MDNiYTg5ODg4N2Zk
ZTVlYmY1M2UyZWY0NzQxYmYuLjczMzdlZTQxOTMwYjkzOTM1MGEwYjI1OWIzMzI1OGQ5NzcxMGY5
M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuZW1wdHkud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2UuZW1wdHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5v
dGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9y
dFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0
KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9u
ZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgewor
ICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYg
QEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
Jyc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNh
bnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQs
IDUwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLmV4cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS5leHAuaHRtbAppbmRleCAwNjExMDgwNTc4ZjVjZWI4YTVmOGI4MDBjZTI4Y2E3ZmI2NjIx
ODM4Li40NDVkNWJhNjFkMjc1MjhiYmFiNzg4MmUyZThkZjhmZDBiNDc4NDBhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhw
Lmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUu
YXR0cmlidXRlcy5wYXJzZS5leHA8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cDwvaDE+
CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5n
IG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoID0gJzEwMGUxJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAw
ZTEnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAwLjAsICJvZmZzY3Jl
ZW5DYW52YXMud2lkdGgiLCAiMTAwMC4wIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0LCAxMDAwLjAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMDAuMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmV4cC53b3JrZXIuanMKaW5kZXggMTczMDBmNTU2YjYx
ZGU1NDY5YTkwNTE0ZjQ4ZDFjODFlYWNjNjA5MS4uY2Y1NmVhYzZiM2RiZjVjOGQwYmY2NjBkOTU5
YzkyYjMxNzAyZmE5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5leHAud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuZXhwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBA
CiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7
Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0
cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5
bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3
ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDBlMSc7CiBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gJzEwMGUxJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwg
MTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMDAuMCIpOwogX2Fzc2VydFNhbWUo
b2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwMC4wLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIs
ICIxMDAwLjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZz
Y3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lmh0bWwKaW5kZXggZmVkODZk
OTZjNWJlYjY4MDI0NWUwNmRmNGQzMzMzNjdjM2YyMWMzNy4uZGI3ZjMyMTdkZTVhNGUxMDE3ODAx
YzlhZDIzMmRjNTdiODQ5ZDBiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRp
dGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4PC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PnNpemUuYXR0cmlidXRlcy5wYXJzZS5oZXg8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcg
b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlw
dD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcweDEwMCc7
CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzB4MTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVl
bkNhbnZhcy53aWR0aCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjI1NiIpOwogX2Fz
c2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMjU2LCAib2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCIsICIyNTYiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5oZXgud29ya2VyLmpz
CmluZGV4IDc2Yjk3NjNlNzE0YzU1YWRiNTQ1NmRhODQ4MDUyZWIyN2JkNTk1ZTMuLjBjM2Q5Yjky
NDRkNmVhMTM4MTI4ZmM1NzM1ZjJkYTdmNGM4NTk5MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuaGV4Lndvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmhleC53b3JrZXIu
anMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMu
anMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVn
ZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMHgx
MDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcweDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDI1NiwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIyNTYiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDI1NiwgIm9mZnNjcmVlbkNhbnZh
cy5oZWlnaHQiLCAiMjU2Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwKaW5k
ZXggNmEyOTg4NzE4YzhmNmRlM2MwOWMzODBjN2QzZDhjMWE5YjY5NTc1NS4uMGE5NTM0MjhiNjU2
NmM5MGM2NzQ2NzQwMjIwNjBiZGNiMjAxMjA0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJz
ZS5qdW5rPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3Nj
cmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5qdW5rPC9oMT4KIDxwIGNsYXNzPSJk
ZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEw
IEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0
aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lk
dGggPSAnIyE/JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnIyE/JzsKIF9hc3NlcnRTYW1l
KG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEw
MCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgNTAsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay53b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLmp1bmsu
d29ya2VyLmpzCmluZGV4IDk2MzAxZTJlOGE2YjA0YzM4ZjUwZTIzMzQ1YjQ1NjdlZDc1ODk5Zjcu
LmM1NmU3NmQxMTI4ZWI1Yzc2ZGMxNDg1NGNlZjNjZjJkY2JiMWQ3NDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UuanVuay53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5q
dW5rLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRz
KCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2Fu
dmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9ICcjIT8nOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9ICcjIT8nOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAi
MTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1MCwgIm9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQiLCAiNTAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5taW51cy5o
dG1sCmluZGV4IGM0OTgxYWEwY2ExYzJmNWVjMTIxN2E4N2Y1N2MyYjAwZjRjOTQ2ZDIuLmQ1YWI4
MDBmODlkMGE3ZThmOTQxNzgwMWI1NjIzN2U0YTk5YTVjNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm1pbnVzLmh0bWwK
QEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmli
dXRlcy5wYXJzZS5taW51czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucGFyc2UubWludXM8L2gxPgog
PHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBv
ZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9ICctMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnLTEwMCc7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZh
cy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDUw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICI1MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
Lm1pbnVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2UubWludXMud29ya2VyLmpzCmluZGV4IDgyYTRkZTQ3ZDE4NjA4NTdhYWRlYTY0MTk4
MjE1OWRiM2ZmYzdkYmUuLmY1YzhlZTI3MzdiYzViNDljMmRlZDc3YTc4MTc4Y2VlNGE0ZjRkYWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFy
c2UubWludXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UubWludXMud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQ
YXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAg
b2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJy0xMDAnOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9
ICctMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwog
CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0
ZXMucGFyc2Uub2N0YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2Uub2N0YWwuaHRtbAppbmRleCBmZDZlZGQ1N2U0ODU5N2UxZjc3YTkzMGY1YjY3
ZjJhMjdkNDkxMmNlLi5mZmU3ZGYzOTA3MTZiNTUxMzhiMDQ2NDNiNjZjMzU5NTczNjNmMmQyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
Lm9jdGFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5vY3RhbC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZh
cyB0ZXN0OiBzaXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWw8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVz
LnBhcnNlLm9jdGFsPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2
ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAs
NyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnMDEwMCc7CiBvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0ID0gJzAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAx
MDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwot
CiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9jdGFsLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwud29ya2VyLmpzCmluZGV4IDBjM2Ji
YzE3NWYwMDRiY2RjMDY2YWE5OTFhMzM1NDFjMWI2NjdjZDIuLjZlMGE3YjBmODAwYjM5ZWJlNGIy
Mzc2NmUwMTJlMDY5ZTNkNjA0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zm
c2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub2N0YWwud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzAxMDAnOwogb2Zm
c2NyZWVuQ2FudmFzLmhlaWdodCA9ICcwMTAwJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZh
cy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNh
bWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIs
ICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLmh0bWwKaW5k
ZXggY2NmYTQxZGY2MzVlYzM2NzI1MDI1ODBhYWY0OWU4ZGJjZDFkMGJiOC4uNDI0Yzc3ZWNkMmRh
MDhmNGUwM2U2ZTZlNjM3NTY4YzU0YjVjYTc4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS5odG1s
CkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiBzaXplLmF0dHJp
YnV0ZXMucGFyc2Uub25seXNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3Bh
Y2U8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcgICc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
JyAgJzsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVu
Q2FudmFzLndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdo
dCwgNTAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjUwIik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2Uub25seXNwYWNlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXpl
LmF0dHJpYnV0ZXMucGFyc2Uub25seXNwYWNlLndvcmtlci5qcwppbmRleCBlYzUyNjE5Y2RkNTJm
YzEyZTgyMGVmZmIyNWIyZGZjOWUxNGJkNzQ3Li4xNDg2MGJkYzZjN2M5MDZhZGYyOTY3YTI3ZmM4
N2FmNTVhYTk1ZGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5h
dHRyaWJ1dGVzLnBhcnNlLm9ubHlzcGFjZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5vbmx5c3BhY2Uud29ya2VyLmpzCkBAIC00
LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7Citp
bXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAog
dmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyAgJzsKIG9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQgPSAnICAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndp
ZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA1MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNTAi
KTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wZXJjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQuaHRtbAppbmRleCAxNDQ2MzU2
MGM1MGI1NWRhYzMyODJhNzY4YTQ5Y2I5YmY2MjVkZjIyLi40ZTk4ZDc4NzFjYTAyMTBjYTBmZDM5
MWVjZWNjZTFlNzExZDFlMGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMv
c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQuaHRtbApAQCAtMyw3ICszLDcg
QEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBl
cmNlbnQ8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnBlcmNlbnQ8L2gxPgogPHAgY2xhc3M9
ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9wPgpAQCAtMTEsNiArMTEs
MTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBub24tbmVn
YXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2Zh
aWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9
KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9mZnNjcmVlbkNhbnZhcy53
aWR0aCA9ICcxMDAlJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMTAwJSc7CiBfYXNzZXJ0
U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIs
ICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGVyY2Vu
dC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnBlcmNlbnQud29ya2VyLmpzCmluZGV4IDgzZmRhN2I5NGEzYzM0ZGI4NmRhMmZhZTliOGRl
M2RmYjU2YTRmYTEuLjZlMmI5OTU0MzNmNTNmNTQ0MGE0OGMzMWVkNmRjYjgzMzJmMjljMTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uu
cGVyY2VudC53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5wZXJjZW50Lndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUu
YmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAg
ICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVl
bkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBA
IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcxMDAlJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PSAnMTAwJSc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNj
cmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UucGx1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0
cmlidXRlcy5wYXJzZS5wbHVzLmh0bWwKaW5kZXggYzRiYzAyOTk1OTBlNTJmOTRlMTgzMGZjMjBi
ZDhjYzg3MDI5ZGFlZi4uOTliMzE1NWU4NThjNGI1ZWY0M2U1NjI2MDU2MjhlYmRlOTY0ZmMwYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS5wbHVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRl
cy5wYXJzZS5wbHVzLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFz
IHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5w
YXJzZS5wbHVzPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5j
X3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0g
dC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29u
KSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBv
ZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjAsNyAr
MjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnKzEwMCc7CiBvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0ID0gJysxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAs
ICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0
LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2Fu
dmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS5wbHVzLndvcmtlci5qcwppbmRleCBkZWUxMDQxMjgw
OWFjMWFhM2JhMGYyOTU2YjA3NzZkMjEwM2E0ZWU4Li5kYTcxNjY0MWZmNzU4NzdlZTJjYjEyYjlj
ZTIwZWFiNjcwM2EzODIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnBsdXMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVu
LWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UucGx1cy53b3JrZXIuanMKQEAgLTQsOSArNCwx
MyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNj
cmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnKzEwMCc7CiBvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0ID0gJysxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRo
LCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIp
OwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1j
YW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLmh0bWwKaW5kZXggMWJiZmRlYTNjZGVk
NjhlNWZkNzhiNzBmOTRhNmEyYjVmN2I3MzhiNC4uMjAwZjAyOGRjYzdmOGRlODhiY2UxZTQ2NDJi
MDA2ZjIyZjRjYmE0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUu
YXR0cmlidXRlcy5wYXJzZS5zcGFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZh
cy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2UuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlPC90aXRs
ZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgx
PnNpemUuYXR0cmlidXRlcy5wYXJzZS5zcGFjZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+UGFyc2lu
ZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vy
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJyAgMTAw
JzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnICAxMDAnOwogX2Fzc2VydFNhbWUob2Zmc2Ny
ZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMTAwIik7CiBf
YXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZzY3JlZW5DYW52YXMu
aGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnNwYWNlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29y
a2VyLmpzCmluZGV4IGEwZGE5Y2U4ZDAxYTIyMWExZDI0MTg4ODhiNjk5OTUxYTA1YzA1YjEuLjgx
MmIyNTAzYWUxYzEwNjdmNWVjYjkyOGNkNzZiYTNlODE1MjViN2IgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3BhY2Uud29ya2VyLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uuc3Bh
Y2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdh
dGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndp
ZHRoID0gJyAgMTAwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnICAxMDAnOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgi
LCAiMTAwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCAxMDAsICJvZmZz
Y3JlZW5DYW52YXMuaGVpZ2h0IiwgIjEwMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWls
aW5nanVuay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5w
YXJzZS50cmFpbGluZ2p1bmsuaHRtbAppbmRleCBmNjhlMGZhOTRjNDk3MWRlNGRkZDQ0ZWJkNGM0
MDU2Mzk5NTdmYzMzLi4zNzY5NDQ4ZGUzY2RlZmY4M2YwMGE3OGFhMTJiZjhjNGZkNjE3ZDAzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNl
LnRyYWlsaW5nanVuay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0
dHJpYnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+
T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bms8
L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0Pgog
CiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuazwvaDE+CiA8cCBjbGFzcz0i
ZGVzYyI+UGFyc2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnM8L3A+CkBAIC0xMSw2ICsxMSwx
MCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdh
dGl2ZSBpbnRlZ2VycyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30p
OwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNj
cmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndp
ZHRoID0gJzEwMCMhPyc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCMhPyc7CiBfYXNz
ZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0
aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2UudHJh
aWxpbmdqdW5rLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJp
YnV0ZXMucGFyc2UudHJhaWxpbmdqdW5rLndvcmtlci5qcwppbmRleCA4ZTNmZDU2OWY3NDc2MWFj
ZjZmM2RlYzIxOGFhM2M3MDM2ZTM4OWQzLi4yYjNlMGRiNWEyYjQxNThlYTM1ZWFkY2EyNmNkZjRj
ZTIyZjhlODdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnBhcnNlLnRyYWlsaW5nanVuay53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS50cmFpbGluZ2p1bmsud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCJQYXJzaW5nIG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycyIp
OwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAs
IDUwKTsKQEAgLTE2LDcgKzIwLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gJzEwMCMhPyc7
CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzEwMCMhPyc7CiBfYXNzZXJ0U2FtZShvZmZzY3Jl
ZW5DYW52YXMud2lkdGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9h
c3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQiLCAiMTAwIik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNl
Lmh0bWwKaW5kZXggMzA0NmYzZDAxMjdmNmVkNTY3MjgwZDA1NzM3MTlhMDU2NTE0NjBmMi4uMDBl
ZjljZjQxZDkxY2M4NGUzY2Q1ZWViNDZiMmU3MDkzMjMyNjNmNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ro
ZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0
ZXNwYWNlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IHNpemUuYXR0cmlidXRlcy5wYXJzZS53aGl0ZXNwYWNlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNv
dXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPnNpemUuYXR0cmlidXRlcy5w
YXJzZS53aGl0ZXNwYWNlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5QYXJzaW5nIG9mIG5vbi1uZWdh
dGl2ZSBpbnRlZ2VyczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9
IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9w
YXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
cmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAK
IHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAt
MjAsNyArMjQsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAnCQwxMDAnOwogb2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCA9ICcJDDEwMCc7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lk
dGgsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMDAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDEwMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMTAw
Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNh
bnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLndoaXRlc3BhY2Uud29ya2Vy
LmpzCmluZGV4IDVlNTI2MWQ2MDc2NjBlYWJlN2NjYzY4OThiMTU3NTU5MGUzNDY5YzcuLmY0NmJl
YjNmNWU1NTM4MjNlZTBkZWQ3MTUzMmY0ODRmN2YxZmZkZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucGFyc2Uud2hpdGVzcGFjZS53b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJzZS53
aGl0ZXNwYWNlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRT
Y3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29t
bW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFyc2luZyBvZiBu
b24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xNiw3ICsyMCw2IEBAIG9mZnNjcmVlbkNh
bnZhcy53aWR0aCA9ICcJDDEwMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJwkMMTAwJzsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgMTAwLCAib2Zmc2NyZWVuQ2FudmFz
LndpZHRoIiwgIjEwMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMTAw
LCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICIxMDAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS56ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBh
cnNlLnplcm8uaHRtbAppbmRleCA0YzM1OGMwYmJhNzgxYTY5YjM0OTQ4ZDNjMTA4OTU4ZDkzZjg5
MWYzLi4wM2IyMGVlY2QwYzQ1Y2MyYjk4MmI3Nzc5ODkyNmFiOTQzYzVjODBiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnpl
cm8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogc2l6
ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRl
c3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm88
L2gxPgogPHAgY2xhc3M9ImRlc2MiPlBhcnNpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzPC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgiUGFy
c2luZyBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMCw3ICsyNCw2IEBAIG9m
ZnNjcmVlbkNhbnZhcy53aWR0aCA9ICcwJzsKIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAnMCc7
CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgsIDAsICJvZmZzY3JlZW5DYW52YXMu
d2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLmhlaWdodCwgMCwgIm9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8u
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5wYXJz
ZS56ZXJvLndvcmtlci5qcwppbmRleCBmM2RlYjQ4NWNiNDgzYzI3M2FjYmJlNDgxNDBiMWYxNjMx
NDVlYmZkLi4yNmVlYjk4MjZkZTUyZjI0Mzk4OTRhNGUxZGVhNmU5YzM4MDAxODFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnBhcnNlLnplcm8u
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMu
cGFyc2UuemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0
U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2Nv
bW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3Vy
Y2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlBhcnNpbmcgb2Yg
bm9uLW5lZ2F0aXZlIGludGVnZXJzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2
YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVh
c29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBu
ZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5D
YW52YXMud2lkdGggPSAnMCc7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gJzAnOwogX2Fzc2Vy
dFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwg
IjAiKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0IiwgIjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlk
bC5odG1sCmluZGV4IGIxZmM5YjliODM4OGRmY2JiMTMzNzVlODI4YWExMTNkYTlmYmIwNmIuLjAw
MDQ5NTg0NDE2NzIzNzM1Y2QxNTVlY2VmYzI5NjVkNTM2Zjc1MjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGwuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0
aWRsLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IHNp
emUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxoMT5zaXplLmF0dHJpYnV0ZXMucmVmbGVj
dC5zZXRpZGw8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBk
YXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAK
IDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcgSURMIGF0dHJpYnV0ZXMgdXBk
YXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmlidXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAg
b2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTIwOwogb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9IDYw
OwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCAxMjAsICJvZmZzY3JlZW5DYW52
YXMud2lkdGgiLCAiMTIwIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMuaGVpZ2h0LCA2
MCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiNjAiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZs
ZWN0LnNldGlkbC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRy
aWJ1dGVzLnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcwppbmRleCBlYjJhNDI4ODExODNmNGI2ZjFi
YzJmZjZiZmY0ZmRhZDVhNzBjMTY3Li43NTgwMTVmNDNmYjJkYWZlZmYxMTdjY2RlZTdmYTE1ODRk
NDY5MTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1
dGVzLnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52
YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsLndvcmtlci5qcwpAQCAtNCw5ICs0LDEz
IEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Iik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2Ny
aXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0g
YXN5bmNfdGVzdCgiU2V0dGluZyBJREwgYXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVu
dCBhdHRyaWJ1dGVzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lk
dGggPSAxMjA7CiBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gNjA7CiBfYXNzZXJ0U2FtZShvZmZz
Y3JlZW5DYW52YXMud2lkdGgsIDEyMCwgIm9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICIxMjAiKTsK
IF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDYwLCAib2Zmc2NyZWVuQ2FudmFz
LmhlaWdodCIsICI2MCIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhl
LW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVyby5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlk
bHplcm8uaHRtbAppbmRleCA5ZmZkYjY3NzI3MDA2NTNjNjBkMDhhZmM0ODE0NGU4M2MxZjFlOWI4
Li5lODhhMjQxZTQyMWIzMGFjYjNmY2ZjZTUwYmRhMTc5MGQwNGUwN2NiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVy
by5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVm
bGVjdC5zZXRpZGx6ZXJvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IHNpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm88L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5h
dHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVybzwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+U2V0dGlu
ZyBJREwgYXR0cmlidXRlcyB0byAwIHVwZGF0ZXMgSURMIGFuZCBjb250ZW50IGF0dHJpYnV0ZXM8
L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJT
ZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRvIDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmli
dXRlcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVw
KGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZh
cygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMDsK
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSAwOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFz
LndpZHRoLCAwLCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIjAiKTsKIF9hc3NlcnRTYW1lKG9m
ZnNjcmVlbkNhbnZhcy5oZWlnaHQsIDAsICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIjAiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFz
L3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1v
ZmZzY3JlZW4tY2FudmFzL3NpemUuYXR0cmlidXRlcy5yZWZsZWN0LnNldGlkbHplcm8ud29ya2Vy
LmpzCmluZGV4IDg3M2ZjOTQyMmI0YjkwZTBlNzYyMGZhNDBkNjY5OWNjNzAxNmEwZDIuLjgzZmRk
NjBkNjQ4ZDhmYjY4NzI3ZGRkMjNhMjRmOWIyMGU5ODk3NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUt
b2Zmc2NyZWVuLWNhbnZhcy9zaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRpZGx6ZXJvLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5hdHRyaWJ1dGVzLnJlZmxl
Y3Quc2V0aWRsemVyby53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygi
L2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVz
b3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIlNldHRpbmcg
SURMIGF0dHJpYnV0ZXMgdG8gMCB1cGRhdGVzIElETCBhbmQgY29udGVudCBhdHRyaWJ1dGVzIik7
Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rp
b24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwg
NTApOwpAQCAtMTYsNyArMjAsNiBAQCBvZmZzY3JlZW5DYW52YXMud2lkdGggPSAwOwogb2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCA9IDA7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52YXMud2lkdGgs
IDAsICJvZmZzY3JlZW5DYW52YXMud2lkdGgiLCAiMCIpOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVu
Q2FudmFzLmhlaWdodCwgMCwgIm9mZnNjcmVlbkNhbnZhcy5oZWlnaHQiLCAiMCIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVlbi1jYW52YXMvc2l6ZS5s
YXJnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3JlZW4tY2FudmFzL3NpemUubGFyZ2UuaHRtbAppbmRl
eCBhMjJjMTdkZmMxNGJjYTUwYTAyYzc4MTk3MzBmNzAyOTQ2YTM1NmM5Li40ZmNhZDRhYjUzZWQx
NGNhMjEzMjQzN2Q5ZTIxNDQyY2JiZDNjNzk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9mZnNjcmVl
bi1jYW52YXMvc2l6ZS5sYXJnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9z
aXplLmxhcmdlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IHNpemUubGFyZ2U8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+c2l6ZS5sYXJnZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+PC9w
PgpAQCAtMTEsNiArMTEsMTAgQEAKIDxwIGNsYXNzPSJub3RlcyI+Tm90IHN1cmUgaG93IHJlYXNv
bmFibGUgdGhpcyBpcywgYnV0IHRoZSBzcGVjIGRvZXNuJ3Qgc2F5IHRoZXJlJ3MgYW4gdXBwZXIg
bGltaXQgb24gdGhlIHNpemUuCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC0yMSw3ICsyNSw2IEBAIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IG47CiBvZmZzY3JlZW5D
YW52YXMuaGVpZ2h0ID0gbjsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNhbnZhcy53aWR0aCwgbiwg
Im9mZnNjcmVlbkNhbnZhcy53aWR0aCIsICJuIik7CiBfYXNzZXJ0U2FtZShvZmZzY3JlZW5DYW52
YXMuaGVpZ2h0LCBuLCAib2Zmc2NyZWVuQ2FudmFzLmhlaWdodCIsICJuIik7Ci0KIHQuZG9uZSgp
OwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdl
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90aGUtb2Zmc2NyZWVuLWNhbnZhcy9zaXplLmxhcmdlLndvcmtlci5q
cwppbmRleCA3OTdmNGFiN2ExZGRlZmI0MjMwZWExM2UwNGI1YWQxNDc3N2ZhMWI5Li5jMmEwNTgx
NjA3ZmNlMzE4NzhmNTIxMGFiZDRkZThkNDY3NDk0MmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdGhlLW9m
ZnNjcmVlbi1jYW52YXMvc2l6ZS5sYXJnZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RoZS1vZmZzY3Jl
ZW4tY2FudmFzL3NpemUubGFyZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
PHAgY2xhc3M9Im5vdGVzIj5Ob3Qgc3VyZSBob3cgcmVhc29uYWJsZSB0aGlzIGlzLCBidXQgdGhl
IHNwZWMgZG9lc24ndCBzYXkgdGhlcmUncyBhbiB1cHBlciBsaW1pdCBvbiB0aGUgc2l6ZS4KIAog
aW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0
cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQv
cmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTE3LDcgKzIxLDYgQEAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gbjsKIG9mZnNjcmVl
bkNhbnZhcy5oZWlnaHQgPSBuOwogX2Fzc2VydFNhbWUob2Zmc2NyZWVuQ2FudmFzLndpZHRoLCBu
LCAib2Zmc2NyZWVuQ2FudmFzLndpZHRoIiwgIm4iKTsKIF9hc3NlcnRTYW1lKG9mZnNjcmVlbkNh
bnZhcy5oZWlnaHQsIG4sICJvZmZzY3JlZW5DYW52YXMuaGVpZ2h0IiwgIm4iKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xzL3RlbXBsYXRlcy55YW1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rv
b2xzL3RlbXBsYXRlcy55YW1sCmluZGV4IGU2NmYxN2RlZGQ3YWUyNDVkNGVkN2RlYzhkMzY3N2Ex
NGQxNDcyNWQuLjE1ZDM3MjM5Y2RjZDUzODg5NmUyY2FlMDg3ZDk4ZGE4YjUzYjZlN2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90b29scy90ZW1wbGF0ZXMueWFtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdG9vbHMvdGVtcGxhdGVz
LnlhbWwKQEAgLTEsMTAgKzEsMTAgQEAKIHczYzogfAogICAgIDwhRE9DVFlQRSBodG1sPgogICAg
IDwhLS0gRE8gTk9UIEVESVQhIFRoaXMgdGVzdCBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgdG9vbHMv
Z2VudGVzdC5weS4gLS0+Ci0gICAgPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAlKG5hbWUp
czwvdGl0bGU+CisgICAgPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAlKG5hbWUpczwvdGl0
bGU+JSh0aW1lb3V0KXMKICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKICAgICA8aDE+JShuYW1lKXM8L2gxPgogICAgIDxwIGNs
YXNzPSJkZXNjIj4lKGRlc2MpczwvcD4KQEAgLTEyLDE0ICsxMiwxNiBAQCB3M2M6IHwKICAgICAl
KG5vdGVzKXMKICAgICA8c2NyaXB0PgogICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiJShlc2NhcGVk
X2Rlc2MpcyIpOworICAgIHZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKKyAgICB2YXIgdF9m
YWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgICAgIHRocm93IHJlYXNv
bjsKKyAgICB9KTsKICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKICAgICB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICB2YXIgY3R4ID0gb2Zm
c2NyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAKICAgICAlKGNvZGUpcwotICAgIHQuZG9u
ZSgpOwotCiAgICAgfSk7CiAgICAgPC9zY3JpcHQ+CiAKQEAgLTMxLDE2ICszMywxOCBAQCB3M2N3
b3JrZXI6IHwKICAgICAvLyBOb3RlOiUobm90ZXMpcwogCiAgICAgaW1wb3J0U2NyaXB0cygiL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotICAgIGltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CisgICAgaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKICAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIiUoZXNjYXBlZF9k
ZXNjKXMiKTsKKyAgICB2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7CisgICAgdmFyIHRfZmFp
bCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgICAgICB0aHJvdyByZWFzb247
CisgICAgfSk7CiAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgewogCiAgICAgdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgdmFyIGN0eCA9IG9mZnNj
cmVlbkNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogCiAgICAgJShjb2RlKXMKLSAgICB0LmRvbmUo
KTsKLQogICAgIH0pOwogICAgIGRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZXN0czJk
LnlhbWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdG9vbHMvdGVzdHMyZC55YW1sCmluZGV4IGFhODIwNzFmZjhhNzBiY2VlNWI0
NWExZDNlYjg1NGEyODY0OWJiZjcuLjY2NjI2NjhmMzczOTcxNDVlOTNlZWU1MWUwZTRiZTgwZjE3
MDI3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90b29scy90ZXN0czJkLnlhbWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Rvb2xz
L3Rlc3RzMmQueWFtbApAQCAtMzQsNiArMzQsNyBAQAogICAgIGN0eC5zYXZlKCk7CiAgICAgQGFz
c2VydCBjdHguJShrZXkpcyA9PT0gb2xkOwogICAgIGN0eC5yZXN0b3JlKCk7CisgICAgdC5kb25l
KCk7CiAgICAgIiIiICUgeyAna2V5JzprZXksICd2YWx1ZSc6dmFsdWUgfQogICAgICAgICB9ICkK
IApAQCAtNTEsNyArNTIsNyBAQAogICAgIG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9IDEwMDsKICAg
ICBAYXNzZXJ0IGN0eC4lKGtleSlzID09PSBkZWZhdWx0X3ZhbDsKICAgICAiIiIgJSB7ICdrZXkn
OmtleSwgJ3ZhbHVlJzp2YWx1ZSB9Ci0gICAgICAgIGZvciBrZXksdmFsdWUgaW4gc3RhdGUpLAor
ICAgICAgICBmb3Iga2V5LHZhbHVlIGluIHN0YXRlKSArICJcbnQuZG9uZSgpOyIsCiAgICAgfSAp
CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJlc3RvcmUudHJhbnNmb3JtYXRpb24KQEAgLTY3LDYg
KzY4LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgt
MjAwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLmNsaXAKICAg
ZGVzYzogc2F2ZSgpL3Jlc3RvcmUoKSBhZmZlY3RzIHRoZSBjbGlwcGluZyBwYXRoCkBAIC04Miw2
ICs4NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5wYXRoCiAgIGRl
c2M6IHNhdmUoKS9yZXN0b3JlKCkgZG9lcyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAg
LTk2LDYgKzk5LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxs
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zdGF0ZS5zYXZlcmVzdG9yZS5iaXRtYXAKICAgZGVzYzogc2F2ZSgp
L3Jlc3RvcmUoKSBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgYml0bWFwCkBAIC0xMDksNiAr
MTEzLDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LnJlc3Rv
cmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnN0YXRlLnNhdmVyZXN0b3JlLnN0YWNrCiAgIGRlc2M6IHNhdmUo
KS9yZXN0b3JlKCkgY2FuIGJlIG5lc3RlZCBhcyBhIHN0YWNrCkBAIC0xMjYsNiArMTMxLDcgQEAK
ICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDI7CiAgICAgY3R4LnJlc3RvcmUoKTsKICAg
ICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc3RhdGUuc2F2ZXJlc3RvcmUuc3RhY2tkZXB0aAogICBkZXNjOiBzYXZlKCkvcmVzdG9yZSgp
IHN0YWNrIGRlcHRoIGlzIG5vdCB1bnJlYXNvbmFibHkgbGltaXRlZApAQCAtMTQ0LDYgKzE1MCw3
IEBACiAgICAgICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gaTsKICAgICAgICAgY3R4LnJl
c3RvcmUoKTsKICAgICB9CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3RhdGUuc2F2ZXJl
c3RvcmUudW5kZXJmbG93CiAgIGRlc2M6IHJlc3RvcmUoKSB3aXRoIGFuIGVtcHR5IHN0YWNrIGhh
cyBubyBlZmZlY3QKQEAgLTE1NSw2ICsxNjIsNyBAQAogICAgIGN0eC5saW5lV2lkdGggPSAwLjU7
CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IGN0eC5saW5lV2lkdGggPT09IDAuNTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5vcmRlcgogICBkZXNj
OiBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVyCkBAIC0xNjgs
NiArMTc2LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDUwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5iYXNp
YwogICBkZXNjOiBzY2FsZSgpIHdvcmtzCkBAIC0xODAsNiArMTg5LDcgQEAKICAgICBjdHguZmls
bFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMTIuNSk7CiAgICAg
QGFzc2VydCBwaXhlbCA5MCw0MCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56ZXJvCiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBh
IHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdvcmtzCkBAIC0yMDEsNiArMjExLDcgQEAKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5lZ2F0aXZlCiAgIGRlc2M6IHNjYWxlKCkgd2l0aCBuZWdh
dGl2ZSBzY2FsZSBmYWN0b3JzIHdvcmtzCkBAIC0yMjEsNiArMjMyLDcgQEAKICAgICBjdHgucmVz
dG9yZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZQogICBkZXNjOiBzY2FsZSgpIHdpdGggbGFy
Z2Ugc2NhbGUgZmFjdG9ycyB3b3JrcwpAQCAtMjM0LDYgKzI0Niw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUKICAgZGVzYzogc2NhbGUoKSB3aXRoIElu
ZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC0yNDcsNiArMjYwLDcgQEAKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUKICAgZGVzYzogTXVsdGlwbGUg
c2NhbGUoKXMgY29tYmluZQpAQCAtMjYwLDYgKzI3NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKICAgICBAYXNzZXJ0IHBp
eGVsIDkwLDQwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8KQEAgLTI3Myw2ICsyODgsNyBAQAogICAgIGN0eC5m
aWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnMKICAgZGVzYzogcm90YXRlKCkg
dXNlcyByYWRpYW5zCkBAIC0yODUsNiArMzAxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQg
cGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbgogICBkZXNjOiByb3RhdGUoKSBpcyBjbG9j
a3dpc2UKQEAgLTI5Nyw2ICszMTQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIC0xMDAsIDUwLCAxMDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLndyYXAKICAgZGVzYzogcm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUg
dmFsdWVzIGNvcnJlY3RseQpAQCAtMzE0LDYgKzMzMiw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDIgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0NyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5lZ2F0aXZlCiAgIGRl
c2M6IHJvdGF0ZSgpIHdyYXBzIGxhcmdlIG5lZ2F0aXZlIHZhbHVlcyBjb3JyZWN0bHkKQEAgLTMy
OCw2ICszNDcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA5OCwyID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNm
b3JtYXRpb24ucm90YXRlLm5vbmZpbml0ZQogICBkZXNjOiByb3RhdGUoKSB3aXRoIEluZmluaXR5
L05hTiBpcyBpZ25vcmVkCkBAIC0zNDEsNiArMzYxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0g
JyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLmJhc2ljCiAgIGRlc2M6IHRyYW5zbGF0ZSgpIHdv
cmtzCkBAIC0zNTMsNiArMzc0LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAg
IGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgOTAs
NDAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3Jt
YXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZQogICBkZXNjOiB0cmFuc2xhdGUoKSB3aXRoIEluZmlu
aXR5L05hTiBpcyBpZ25vcmVkCkBAIC0zNjYsNiArMzg4LDcgQEAKICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBu
YW1lOiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkKQEAgLTM3OSw2ICs0MDIs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZAog
ICBkZXNjOiB0cmFuc2Zvcm0oKSB3aXRoIHNrZXd5IG1hdHJpeCB0cmFuc2Zvcm1zIGNvcnJlY3Rs
eQpAQCAtNDEzLDYgKzQzNyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA2MSwxOSA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDM5LDMxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNjEsMzEgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5CiAgIGRlc2M6IHRyYW5zZm9ybSgp
IG11bHRpcGxpZXMgdGhlIENUTQpAQCAtNDI2LDYgKzQ1MSw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlCiAgIGRlc2M6IHRyYW5zZm9ybSgp
IHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTQzOSw2ICs0NjUsNyBAQAogICAgIGN0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQKQEAg
LTQ3Myw2ICs1MDAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjEsMTkgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCAzOSwzMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDYxLDMxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRy
YW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZQogICB0ZXN0aW5nOgpAQCAtNDg1LDYg
KzUxMyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgNTAsIDI1KTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5u
b25maW5pdGUKICAgZGVzYzogc2V0VHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdu
b3JlZApAQCAtNDk4LDYgKzUyNyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAg
ICBjdHguZmlsbFJlY3QoLTEwMCwgLTEwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0
ZS5nbG9iYWxBbHBoYS5yYW5nZQogICB0ZXN0aW5nOgpAQCAtNTEzLDYgKzU0Myw3IEBACiAgICAg
QGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IDA7CiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMTsK
ICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxBbHBoYSA9PT0gMTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtNTI2
LDEyICs1NTcsMTQgQEAKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxBbHBoYSA9PT0gYTsKICAgICBj
dHguZ2xvYmFsQWxwaGEgPSBOYU47CiAgICAgQGFzc2VydCBjdHguZ2xvYmFsQWxwaGEgPT09IGE7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmRlZmF1
bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5kZWZhdWx0CiAg
IGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxBbHBoYSA9PT0gMS4wOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsCiAgIHRlc3Rpbmc6
CkBAIC01NDMsNiArNTc2LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAy
LDI1MywwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFs
QWxwaGEuaW1hZ2UKICAgdGVzdGluZzoKQEAgLTU2Myw3ICs1OTcsNyBAQAogICAgIHByb21pc2Uu
dGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
LCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMiwyNTMsMCwyNTU7Ci0g
ICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuY29tcG9z
aXRlLmdsb2JhbEFscGhhLmNhbnZhcwogICB0ZXN0aW5nOgpAQCAtNTc4LDYgKzYxMiw3IEBACiAg
ICAgY3R4Lmdsb2JhbEFscGhhID0gMC4wMTsgLy8gYXZvaWQgYW55IHBvdGVudGlhbCBhbHBoYT0w
IG9wdGltaXNhdGlvbnMKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDAp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDIsMjUzLDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4KICAgdGVz
dGluZzoKQEAgLTU5OSw3ICs2MzQsNyBAQAogICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAx
OyAvLyBhdm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogICAgICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDIsMjUzLDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
CiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5jYW52YXNwYXR0ZXJuCiAgIHRlc3Rp
bmc6CkBAIC02MTUsNiArNjUwLDcgQEAKICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjAxOyAvLyBh
dm9pZCBhbnkgcG90ZW50aWFsIGFscGhhPTAgb3B0aW1pc2F0aW9ucwogICAgIGN0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAyLDI1MywwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2Fu
dmFzY29weQogICB0ZXN0aW5nOgpAQCAtNjMwLDYgKzY2Niw3IEBACiAgICAgY3R4Lmdsb2JhbEFs
cGhhID0gMC41MTsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAsIDApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMTMwOworICAgIHQuZG9uZSgpOwog
CiAKIC0gbWV0YTogfApAQCAtNzAwLDYgKzczNyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICdy
Z2JhJXMnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09fiAlcyArLy0gNTsKKyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSAoZGVzdCwg
b3AsIHNyYywgdG9fdGVzdChleHBlY3RlZCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTcyNiw3
ICs3NjQsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7
CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkKSksCiAgICAgICAgICAgICB9
ICkKIApAQCAtNzU2LDcgKzc5NCw3IEBACiAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAnJXMnOwogICAgICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIsIDAs
IDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAlcyArLy0gNTsKLSAgICB9KTsK
KyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgICAiIiIgJSAoZGVzdCwgb3AsIHRvX3Rl
c3QoZXhwZWN0ZWQpKSwKICAgICAgICAgICAgIH0gKQogCkBAIC03NjQsNyArODAyLDcgQEAKICAg
ICAgICAgZm9yIG9wLCBGQV9jb2RlLCBGQl9jb2RlIGluIG9wczoKICAgICAgICAgICAgIGlmIG9w
IG5vdCBpbiBvcHNfdHJhbnM6IGNvbnRpbnVlCiAgICAgICAgICAgICBleHBlY3RlZDAgPSBjYWxj
X291dHB1dCgoMCwwLDAsMC4wKSwgZGVzdCwgRkFfY29kZSwgRkJfY29kZSkKLSAgICAgICAgICAg
IHRlc3RzLmFwcGVuZCggeworICAgICAgICAgICAgbmV3X3Rlc3QgPSB7CiAgICAgICAgICAgICAg
ICAgJ25hbWUnOiAnMmQuY29tcG9zaXRlLiVzLiVzJyAlIChuYW1lLCBvcCksCiAgICAgICAgICAg
ICAgICAgJ2Rlc2MnOiAnZmlsbCgpIGRyYXdzIHBpeGVscyBub3QgY292ZXJlZCBieSB0aGUgc291
cmNlIG9iamVjdCBhcyAoMCwwLDAsMCksIGFuZCBkb2VzIG5vdCBsZWF2ZSB0aGUgcGl4ZWxzIHVu
Y2hhbmdlZC4nLAogICAgICAgICAgICAgICAgICd0ZXN0aW5nJzogWyAnMmQuY29tcG9zaXRlLiVz
JyAlIG9wIF0sCkBAIC03NzYsOCArODE0LDEyIEBACiAgICAgY3R4LnRyYW5zbGF0ZSgwLCAyNSk7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAlcyArLy0gNTsKKyAgICB0LmRvbmUoKTsKICAgICAiIiIgJSAoZGVzdCwgb3AsIHNy
YywgdG9fdGVzdChleHBlY3RlZDApKSwKLSAgICAgICAgICAgIH0gKQorICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgb3AgPT0gJ2Rlc3RpbmF0aW9uLWluJzoKKyAgICAgICAgICAgICAgbmV3
X3Rlc3RbJ3RpbWVvdXQnXSA9ICdsb25nJworICAgICAgICAgICAgdGVzdHMuYXBwZW5kKG5ld190
ZXN0KQogCiAgICAgZm9yIChuYW1lLCBzcmMsIGRlc3QpIGluIFsgKCd1bmNvdmVyZWQuaW1hZ2Un
LCAoMjU1LCAyNTUsIDAsIDEuMCksICgwLCAyNTUsIDI1NSwgMC41KSkgXToKICAgICAgICAgZm9y
IG9wLCBGQV9jb2RlLCBGQl9jb2RlIGluIG9wczoKQEAgLTgwNSw3ICs4NDcsNyBAQAogICAgICAg
ICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCA0MCwgNDAsIDEwLCAxMCwgNDAsIDUwLCAxMCwgMTAp
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDE1LDE1ID09fiAlcyArLy0gNTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkMCksIHRv
X3Rlc3QoZXhwZWN0ZWQwKSksCiAgICAgICAgICAgICB9ICkKIApAQCAtODI0LDYgKzg2Niw3IEBA
CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTAp
OwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgMCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKGRl
c3QsIG9wLCB0b190ZXN0KGV4cGVjdGVkMCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTg1Myw3
ICs4OTYsNyBAQAogICAgICAgICBjdHguZmlsbFN0eWxlID0gY3R4LmNyZWF0ZVBhdHRlcm4ocmVz
cG9uc2UsICduby1yZXBlYXQnKTsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDUwLCAxMDAsIDUw
KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gJXMgKy8tIDU7Ci0gICAgfSk7Cisg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgICAgIiIiICUgKGRlc3QsIG9wLCB0b190ZXN0
KGV4cGVjdGVkMCkpLAogICAgICAgICAgICAgfSApCiAKQEAgLTg3Miw2ICs5MTUsNyBAQAogICAg
IGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKICAgICAiIiIgJSAob3ApLAogICAgICAgICB9ICkKIApAQCAtODg3LDYgKzkz
MSw3IEBACiAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBtb2Rlc1tpXTsK
ICAgICAgICAgQGFzc2VydCBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSBtb2Rlc1tp
XTsKICAgICB9CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlv
bi51bnJlY29nbmlzZWQKICAgdGVzdGluZzoKQEAgLTg5NSw2ICs5NDAsNyBAQAogICAgIGN0eC5n
bG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ25vbmV4aXN0ZW50JzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uZGFya2VyCiAgIHRlc3Rpbmc6CkBAIC05MDMsNiArOTQ5LDcgQEAKICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdkYXJrZXInOwogICAgIEBhc3NlcnQgY3R4Lmdsb2JhbENvbXBv
c2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5vdmVyCiAgIHRlc3Rpbmc6CkBAIC05MTEsNiArOTU4LDcgQEAKICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3hvcic7CiAgICAgY3R4Lmdsb2JhbENv
bXBvc2l0ZU9wZXJhdGlvbiA9ICdvdmVyJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPT09ICd4b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBv
c2l0ZS5vcGVyYXRpb24uY2xlYXIKICAgdGVzdGluZzoKQEAgLTkxOSw2ICs5NjcsNyBAQAogICAg
IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29t
cG9zaXRlT3BlcmF0aW9uID0gJ2NsZWFyJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24gPT09ICdjbGVhcic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY29t
cG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQKICAgdGVzdGluZzoKQEAgLTkyNyw2ICs5NzYsNyBA
QAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2hpZ2hsaWdodCc7CiAgICAgQGFzc2VydCBjdHguZ2xv
YmFsQ29tcG9zaXRlT3BlcmF0aW9uID09PSAneG9yJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5jb21wb3NpdGUub3BlcmF0aW9uLm51bGxzdWZmaXgKICAgdGVzdGluZzoKQEAgLTkzNSw2
ICs5ODUsNyBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAneG9yJzsKICAg
ICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyXDAnOwogICAgIEBh
c3NlcnQgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9PT0gJ3hvcic7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jYXNlc2Vuc2l0aXZlCiAgIHRl
c3Rpbmc6CkBAIC05NDMsMTIgKzk5NCwxNCBAQAogICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVy
YXRpb24gPSAneG9yJzsKICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ1NvdXJj
ZS1vdmVyJzsKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICd4
b3InOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGVm
YXVsdAogICB0ZXN0aW5nOgogICAgIC0gMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kZWZhdWx0CiAg
IGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPT09ICdz
b3VyY2Utb3Zlcic7CisgICAgdC5kb25lKCk7CiAKIC0gbWV0YTogfAogICAgICMgQ29sb3VyIHBh
cnNpbmcgdGVzdHMKQEAgLTEwNDksNiArMTEwMiw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcl
cyc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gJWQsJWQsJWQsJWQ7CisgICAgdC5kb25lKCk7CiAgICAgIiIiICUgKHN0cmluZywg
cixnLGIsYSksCiAgICAgICAgIH0KICAgICAgICAgdGVzdHMuYXBwZW5kKHRlc3QpCkBAIC0xMTEz
LDYgKzExNjcsNyBAQAogICAgIHRyeSB7IGN0eC5maWxsU3R5bGUgPSAnJXMnOyB9IGNhdGNoIChl
KSB7IH0gLy8gdGhpcyBzaG91bGRuJ3QgdGhyb3csIGJ1dCBpdCBzaG91bGRuJ3QgbWF0dGVyIGhl
cmUgaWYgaXQgZG9lcwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogICAgICIiIiAl
IHN0cmluZywKICAgICAgICAgfQogICAgICAgICB0ZXN0cy5hcHBlbmQodGVzdCkKQEAgLTExMjks
NiArMTE4NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFN0
eWxlID0gJyVzJzsKICAgICBAYXNzZXJ0IGN0eC5maWxsU3R5bGUgPX4gL14jKD8hKEZGMDAwMHxm
ZjAwMDB8ZjAwKSQpLzsgLy8gdGVzdCB0aGF0IGl0J3Mgbm90IHJlZAorICAgIHQuZG9uZSgpOwog
ICAgICIiIiAlIChzdHJpbmcsKSwKICAgICAgICAgfQogICAgICAgICB0ZXN0cy5hcHBlbmQodGVz
dCkKQEAgLTExNDMsNiArMTE5OSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICdpbnZhbGlkJzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwy
NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsU3R5bGUu
aW52YWxpZHR5cGUKICAgdGVzdGluZzoKQEAgLTExNTQsNiArMTIxMSw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9IG51bGw7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZmlsbFN0eWxlLmdldC5zb2xpZAogICB0ZXN0aW5nOgpAQCAtMTE2Miw2ICsxMjIwLDcg
QEAKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZhMCc7CiAgICAgQGFzc2VydCBj
dHguZmlsbFN0eWxlID09PSAnI2ZmYWEwMCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
ZmlsbFN0eWxlLmdldC5zZW1pdHJhbnNwYXJlbnQKICAgdGVzdGluZzoKQEAgLTExNzAsNiArMTIy
OSw3IEBACiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LDI1NSwyNTUs
MC40NSknOwogICAgIEBhc3NlcnQgY3R4LmZpbGxTdHlsZSA9fiAvXnJnYmFcKDI1NSwgMjU1LCAy
NTUsIDBcLjRcZCtcKSQvOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxTdHlsZS5n
ZXQudHJhbnNwYXJlbnQKICAgdGVzdGluZzoKQEAgLTExNzgsMTggKzEyMzgsMjEgQEAKICAgY29k
ZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLDAsMCwwKSc7CiAgICAgQGFzc2VydCBj
dHguZmlsbFN0eWxlID09PSAncmdiYSgwLCAwLCAwLCAwKSc7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuZmlsbFN0eWxlLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLmNvbG91cnMu
ZGVmYXVsdAogICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHguZmlsbFN0eWxlID09PSAnIzAwMDAw
MCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlU3R5bGUuZGVmYXVsdAogICB0
ZXN0aW5nOgogICAgIC0gMmQuY29sb3Vycy5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0
IGN0eC5zdHJva2VTdHlsZSA9PT0gJyMwMDAwMDAnOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnNvbGlkCiAgIHRlc3Rpbmc6CkBAIC0xMjAxLDYgKzEy
NjQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cgogICB0ZXN0
aW5nOgpAQCAtMTIxNCw2ICsxMjc4LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAx
OTEsMTkxLDYzLDI1NSArLy0gMzsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMTI3
LDEyNywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gNjMsNjMsMTkxLDI1
NSArLy0gMzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0
ZS5hbHBoYQogICB0ZXN0aW5nOgpAQCAtMTIyOSw2ICsxMjk0LDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09fiAxOTEsMTkxLDYzLDI1NSArLy0gMzsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAxMjcsMTI3LDEyNywyNTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9
PX4gNjMsNjMsMTkxLDI1NSArLy0gMzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFk
aWVudC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYQogICB0ZXN0aW5nOgpAQCAtMTI0Miw2ICsxMzA4
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAxOTAsMTkwLDY1LDY1ICsvLSAzOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNiwxMjYsMTI4LDEyOCArLy0gMzsKICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDI1ID09fiA2Miw2MiwxOTIsMTkyICsvLSAzOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLm91dHNpZGUKICAgdGVzdGluZzoK
QEAgLTEyNTgsNiArMTMyNSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAyMCwyNSA9PX4gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA4MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuZmlsbAogICB0ZXN0aW5nOgpAQCAt
MTI3Miw2ICsxMzQwLDcgQEAKICAgICBjdHgucmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBjdHgu
ZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNDAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQuaW50ZXJwb2xhdGUuemVyb3NpemUuc3Ryb2tl
CiAgIHRlc3Rpbmc6CkBAIC0xMjk0LDYgKzEzNjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMTks
MjEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIxLDIxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmludGVycG9sYXRlLnplcm9zaXplLmZpbGxSZWN0CiAg
IHRlc3Rpbmc6CkBAIC0xMzA3LDYgKzEzNzcsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDQwLDIw
ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5n
cmFkaWVudC5pbnRlcnBvbGF0ZS56ZXJvc2l6ZS5zdHJva2VSZWN0CiAgIHRlc3Rpbmc6CkBAIC0x
MzI4LDYgKzEzOTksNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMTksMjEgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDIxLDIxID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQu
Z3JhZGllbnQuaW50ZXJwb2xhdGUudmVydGljYWwKQEAgLTEzNDIsNiArMTQxNCw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCA1MCwxMiA9PX4gMTkxLDE5MSw2MywyNTUgKy8tIDEwOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywxMjcsMTI3LDI1NSArLy0gNTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDM3ID09fiA2Myw2MywxOTEsMjU1ICsvLSAxMDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5tdWx0aXBsZQogICB0ZXN0aW5nOgpAQCAtMTM1
Nyw2ICsxNDMwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMjU1LDEyNywy
NTUgKy8tIDM7CiAgICAgQGFzc2VydCBwaXhlbCAxMDAsMjUgPT1+IDAsMjU1LDI1NSwyNTUgKy8t
IDM7CiAgICAgQGFzc2VydCBwaXhlbCAxNTAsMjUgPT1+IDEyNywxMjcsMjU1LDI1NSArLy0gMzsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5pbnRlcnBvbGF0ZS5vdmVybGFw
CiAgIHRlc3Rpbmc6CkBAIC0xMzg4LDYgKzE0NjIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMTAx
LDI1ID09fiAyNTUsMjU1LDAsMjU1ICsvLSAxNjsKICAgICBAYXNzZXJ0IHBpeGVsIDE0OSwyNSA9
PX4gMCwwLDI1NSwyNTUgKy8tIDE2OwogICAgIEBhc3NlcnQgcGl4ZWwgMTUxLDI1ID09fiAyNTUs
MjU1LDAsMjU1ICsvLSAxNjsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5p
bnRlcnBvbGF0ZS5vdmVybGFwMgogICB0ZXN0aW5nOgpAQCAtMTQwOSw2ICsxNDg0LDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDQwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NjAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5lbXB0eQogICB0ZXN0
aW5nOgpAQCAtMTQyMCw2ICsxNDk2LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gZzsKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQub2JqZWN0
LnVwZGF0ZQogICB0ZXN0aW5nOgpAQCAtMTQzMyw2ICsxNTEwLDcgQEAKICAgICBnLmFkZENvbG9y
U3RvcCgwLjksICcjMGYwJyk7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmdyYWRpZW50Lm9iamVjdC5jb21wYXJlCiAgIHRlc3Rpbmc6CkBAIC0xNDQzLDYg
KzE1MjEsNyBAQAogICAgIEBhc3NlcnQgZzEgIT09IGcyOwogICAgIGN0eC5maWxsU3R5bGUgPSBn
MTsKICAgICBAYXNzZXJ0IGN0eC5maWxsU3R5bGUgPT09IGcxOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLmdyYWRpZW50Lm9iamVjdC5jcm9zc2NhbnZhcwogICBjb2RlOiB8CkBAIC0xNDU1
LDYgKzE1MzQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5vYmplY3QuaW52YWxpZG9mZnNl
dAogICB0ZXN0aW5nOgpAQCAtMTQ2Niw2ICsxNTQ2LDcgQEAKICAgICBAYXNzZXJ0IHRocm93cyBU
eXBlRXJyb3IgZy5hZGRDb2xvclN0b3AoSW5maW5pdHksICcjMDAwJyk7CiAgICAgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKC1JbmZpbml0eSwgJyMwMDAnKTsKICAgICBA
YXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgZy5hZGRDb2xvclN0b3AoTmFOLCAnIzAwMCcpOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50Lm9iamVjdC5pbnZhbGlkY29sb3VyCiAg
IHRlc3Rpbmc6CkBAIC0xNDc3LDYgKzE1NTgsNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRB
WF9FUlIgZy5hZGRDb2xvclN0b3AoMCwgJ3VuZGVmaW5lZCcpOwogICAgIEBhc3NlcnQgdGhyb3dz
IFNZTlRBWF9FUlIgZy5hZGRDb2xvclN0b3AoMCwgbnVsbCk7CiAgICAgQGFzc2VydCB0aHJvd3Mg
U1lOVEFYX0VSUiBnLmFkZENvbG9yU3RvcCgwLCB1bmRlZmluZWQpOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmdyYWRpZW50LmxpbmVhci5ub25maW5pdGUKICAgZGVzYzogY3JlYXRlTGlu
ZWFyR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBhcmUgbm90IGZpbml0
ZQpAQCAtMTQ4NCw2ICsxNTY2LDcgQEAKICAgICAtIDJkLmdyYWRpZW50LmxpbmVhci5ub25maW5p
dGUKICAgY29kZTogfAogICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0
eC5jcmVhdGVMaW5lYXJHcmFkaWVudCg8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4sIDwxIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZp
bml0eSAtSW5maW5pdHkgTmFOPik7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGll
bnQubGluZWFyLnRyYW5zZm9ybS4xCiAgIGRlc2M6IExpbmVhciBncmFkaWVudCBjb29yZGluYXRl
cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmls
bGluZwpAQCAtMTUwMSw2ICsxNTg0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5saW5lYXIudHJhbnNmb3JtLjIKICAgZGVzYzogTGluZWFyIGdyYWRp
ZW50IGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgY29vcmRpbmF0ZSBzcGFjZSBhdCB0
aGUgdGltZSBvZiBmaWxsaW5nCkBAIC0xNTE5LDYgKzE2MDMsNyBAQAogICAgIEBhc3NlcnQgcGl4
ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LmxpbmVhci50cmFuc2Zvcm0uMwogICBkZXNj
OiBMaW5lYXIgZ3JhZGllbnQgdHJhbnNmb3JtcyBkbyBub3QgZXhwZXJpZW5jZSBicm9rZW4gY2Fj
aGluZyBlZmZlY3RzCkBAIC0xNTM3LDYgKzE2MjIsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjUs
MjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5uZWdhdGl2ZQogICBkZXNjOiBjcmVhdGVS
YWRpYWxHcmFkaWVudCgpIHRocm93cyBJTkRFWF9TSVpFX0VSUiBpZiBlaXRoZXIgcmFkaXVzIGlz
IG5lZ2F0aXZlCkBAIC0xNTQ2LDYgKzE2MzIsNyBAQAogICAgIEBhc3NlcnQgdGhyb3dzIElOREVY
X1NJWkVfRVJSIGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAtMC4xLCAwLCAwLCAxKTsK
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguY3JlYXRlUmFkaWFsR3JhZGll
bnQoMCwgMCwgMSwgMCwgMCwgLTAuMSk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9F
UlIgY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KDAsIDAsIC0wLjEsIDAsIDAsIC0wLjEpOworICAg
IHQuZG9uZSgpOwogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwubm9uZmluaXRlCiAKICAgZGVz
YzogY3JlYXRlUmFkaWFsR3JhZGllbnQoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFyZ3VtZW50cyBh
cmUgbm90IGZpbml0ZQpAQCAtMTU1Myw2ICsxNjQwLDcgQEAKICAgICAtIDJkLmdyYWRpZW50LnJh
ZGlhbC5ub25maW5pdGUKICAgY29kZTogfAogICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3Mg
VHlwZUVycm9yIGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCg8MCBJbmZpbml0eSAtSW5maW5pdHkg
TmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxIEluZmluaXR5IC1JbmZpbml0eSBO
YU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5h
Tj4sIDwxIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMQogICB0ZXN0aW5nOgpAQCAtMTU3NCw2ICsxNjYy
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlh
bC5pbnNpZGUyCiAgIHRlc3Rpbmc6CkBAIC0xNTk1LDYgKzE2ODQsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTMKICAgdGVzdGlu
ZzoKQEAgLTE2MTcsNiArMTcwNyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTEKICAgdGVzdGluZzoKQEAgLTE2MzgsNiArMTcy
OSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRp
YWwub3V0c2lkZTIKICAgdGVzdGluZzoKQEAgLTE2NTksNiArMTc1MSw3IEBACiAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwub3V0c2lkZTMKICAgdGVz
dGluZzoKQEAgLTE2ODEsNiArMTc3NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5yYWRpYWwudG91Y2gxCiAgIHRlc3Rpbmc6CkBAIC0xNzAyLDYgKzE3
OTYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRvdWNoMgogICB0ZXN0aW5nOgpAQCAt
MTcyNSw2ICsxODIwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LnJhZGlhbC50b3VjaDMKICAgdGVzdGluZzoKQEAgLTE3NDYsNiArMTg0Miw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuZXF1YWwKICAgdGVzdGluZzoKQEAgLTE3NjcsNiArMTg2
NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8K
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQKICAgdGVzdGluZzoK
QEAgLTE3ODgsNiArMTg4Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OyBAbW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OyBA
bW96LXRvZG8KICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRv
ZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9u
dAogICB0ZXN0aW5nOgpAQCAtMTgwOSw2ICsxOTA4LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbQogICB0ZXN0aW5nOgpA
QCAtMTgzMCw2ICsxOTMwLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcAogICB0ZXN0aW5nOgpAQCAtMTg1MSw2ICsxOTUyLDcg
QEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC5j
b25lLmJlc2lkZQogICB0ZXN0aW5nOgpAQCAtMTg3Miw2ICsxOTc0LDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsNDggPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmN5bGluZGVyCiAgIHRlc3Rpbmc6CkBAIC0xODkzLDYgKzE5OTYs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0g
MCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuc2hhcGUxCiAgIHRlc3Rpbmc6CkBAIC0xOTIxLDYgKzIwMjUsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuc2hhcGUyCiAg
IHRlc3Rpbmc6CkBAIC0xOTQ5LDYgKzIwNTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmdyYWRpZW50LnJhZGlhbC50cmFuc2Zvcm0uMQogICBkZXNj
OiBSYWRpYWwgZ3JhZGllbnQgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBjb29yZGlu
YXRlIHNwYWNlIGF0IHRoZSB0aW1lIG9mIGZpbGxpbmcKQEAgLTE5NjcsNiArMjA3Myw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZ3JhZGllbnQucmFkaWFsLnRyYW5z
Zm9ybS4yCiAgIGRlc2M6IFJhZGlhbCBncmFkaWVudCBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUg
dG8gdGhlIGNvb3JkaW5hdGUgc3BhY2UgYXQgdGhlIHRpbWUgb2YgZmlsbGluZwpAQCAtMTk4Niw2
ICsyMDkzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3
NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5ncmFkaWVu
dC5yYWRpYWwudHJhbnNmb3JtLjMKICAgZGVzYzogUmFkaWFsIGdyYWRpZW50IHRyYW5zZm9ybXMg
ZG8gbm90IGV4cGVyaWVuY2UgYnJva2VuIGNhY2hpbmcgZWZmZWN0cwpAQCAtMjAwNSw2ICsyMTEz
LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmJhc2lj
LmltYWdlCiAgIHRlc3Rpbmc6CkBAIC0yMDI5LDcgKzIxMzgsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1
NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5w
YXR0ZXJuLmJhc2ljLmNhbnZhcwogICB0ZXN0aW5nOgpAQCAtMjA1Myw2ICsyMTYyLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4uYmFzaWMuemVyb2NhbnZh
cwogICB0ZXN0aW5nOgpAQCAtMjA3Myw2ICsyMTgzLDcgQEAKICAgICBAYXNzZXJ0IG9mZnNjcmVl
bkNhbnZhcy53aWR0aCA9PT0gMDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQg
PT09IDA7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5WQUxJRF9TVEFURV9FUlIgY3R4LmNyZWF0ZVBh
dHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAncmVwZWF0Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0dGVybi5iYXNpYy5ub2NvbnRleHQKICAgdGVzdGluZzoKQEAgLTIwODksMjQgKzIy
MDAsMjggQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFn
ZS51bmRlZmluZWQKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4uSURMCiAgIGNvZGU6IHwK
ICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmNyZWF0ZVBhdHRlcm4odW5kZWZpbmVk
LCAncmVwZWF0Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5pbWFnZS5u
dWxsCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLklETAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5jcmVhdGVQYXR0ZXJuKG51bGwsICdyZXBlYXQnKTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLmltYWdlLnN0cmluZwogICB0ZXN0
aW5nOgogICAgIC0gMmQucGF0dGVybi5JREwKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dz
IFR5cGVFcnJvciBjdHguY3JlYXRlUGF0dGVybignLi4vaW1hZ2VzL3JlZC5wbmcnLCAncmVwZWF0
Jyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5yZXBlYXQuZW1wdHkKICAg
dGVzdGluZzoKQEAgLTIxMzEsNDMgKzIyNDYsNDkgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUs
MCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAg
fSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5y
ZXBlYXQubnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi51bnJlY29nbmlzZWQKICAg
Y29kZTogfAogICAgIEBhc3NlcnQgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCBu
dWxsKSAhPSBudWxsOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0
LnVuZGVmaW5lZAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVybi51bnJlY29nbmlzZWQKICAg
Y29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4o
b2Zmc2NyZWVuQ2FudmFzLCB1bmRlZmluZWQpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZAogICB0ZXN0aW5nOgogICAgIC0gMmQucGF0dGVy
bi51bnJlY29nbmlzZWQKICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIg
Y3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVuQ2FudmFzLCAiaW52YWxpZCIpOworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0LnVucmVjb2duaXNlZG51bGwKICAgdGVz
dGluZzoKICAgICAtIDJkLnBhdHRlcm4udW5yZWNvZ25pc2VkCiAgIGNvZGU6IHwKICAgICBAYXNz
ZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywg
Im51bGwiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnJlcGVhdC5jYXNl
CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5wYXR0ZXJuLmV4YWN0CiAgIGNvZGU6IHwKICAgICBAYXNz
ZXJ0IHRocm93cyBTWU5UQVhfRVJSIGN0eC5jcmVhdGVQYXR0ZXJuKG9mZnNjcmVlbkNhbnZhcywg
IlJlcGVhdCIpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucmVwZWF0Lm51
bGxzdWZmaXgKICAgdGVzdGluZzoKICAgICAtIDJkLnBhdHRlcm4uZXhhY3QKICAgY29kZTogfAog
ICAgIEBhc3NlcnQgdGhyb3dzIFNZTlRBWF9FUlIgY3R4LmNyZWF0ZVBhdHRlcm4ob2Zmc2NyZWVu
Q2FudmFzLCAicmVwZWF0XDAiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJu
Lm1vZGlmeS5jYW52YXMxCiAgIHRlc3Rpbmc6CkBAIC0yMTg2LDYgKzIzMDcsNyBAQAogICAgIEBh
c3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDgg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLm1vZGlmeS5jYW52YXMyCiAgIHRl
c3Rpbmc6CkBAIC0yMjA4LDYgKzIzMzAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXR0ZXJuLmNyb3NzY2FudmFzCiAgIGNvZGU6IHwKQEAgLTIyMjgsNyArMjM1MSw3
IEBACiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTog
MmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjI1Myw3ICsy
Mzc2LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3Ms
IHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5vdXRzaWRlCiAg
IHRlc3Rpbmc6CkBAIC0yMjgzLDcgKzI0MDYsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4
LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5wYXR0ZXJuLnBh
aW50Lm5vcmVwZWF0LmNvb3JkMQogICB0ZXN0aW5nOgpAQCAtMjMxMSw3ICsyNDM0LDcgQEAKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQucGF0dGVybi5wYWludC5ub3JlcGVhdC5jb29yZDIKICAgdGVzdGluZzoKQEAg
LTIzMzksNyArMjQ2Miw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQubm9yZXBlYXQu
Y29vcmQzCiAgIHRlc3Rpbmc6CkBAIC0yMzY3LDcgKzI0OTAsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1
NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5w
YXR0ZXJuLnBhaW50LnJlcGVhdC5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjM5Miw3ICsyNTE1LDcg
QEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXQub3V0c2lkZQogICB0ZXN0aW5n
OgpAQCAtMjQxOCw3ICsyNTQxLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBl
YXQuY29vcmQxCiAgIHRlc3Rpbmc6CkBAIC0yNDQ0LDcgKzI1NjcsNyBAQAogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMSw0
OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5wYXR0ZXJuLnBhaW50LnJlcGVhdC5jb29yZDIKICAgdGVzdGluZzoKQEAgLTI0NjcsNyArMjU5
MCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0LmNvb3JkMwogICB0ZXN0
aW5nOgpAQCAtMjQ5Miw3ICsyNjE1LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09
IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7Cisg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5y
ZXBlYXR4LmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC0yNTE5LDcgKzI2NDIsNyBAQAogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1
NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1l
OiAyZC5wYXR0ZXJuLnBhaW50LnJlcGVhdHgub3V0c2lkZQogICB0ZXN0aW5nOgpAQCAtMjU0Niw3
ICsyNjY5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bh
c3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR4LmNvb3JkMQog
ICB0ZXN0aW5nOgpAQCAtMjU3Niw3ICsyNjk5LDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAg
IH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4u
cGFpbnQucmVwZWF0eS5iYXNpYwogICB0ZXN0aW5nOgpAQCAtMjYwMyw3ICsyNzI2LDcgQEAKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDgg
PT0gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQucGF0dGVybi5wYWludC5yZXBlYXR5Lm91dHNpZGUKICAgdGVzdGluZzoKQEAg
LTI2MzAsNyArMjc1Myw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAg
ICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQucmVwZWF0eS5j
b29yZDEKICAgdGVzdGluZzoKQEAgLTI2NjIsNyArMjc4NSw3IEBACiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCw0OCA9
PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1
NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5w
YXR0ZXJuLnBhaW50Lm9yaWVudGF0aW9uLmltYWdlCiAgIGRlc2M6IEltYWdlIHBhdHRlcm5zIGRv
IG5vdCBnZXQgZmxpcHBlZCB3aGVuIHBhaW50ZWQKQEAgLTI2OTMsNyArMjgxNiw3IEBACiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBw
aXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09
IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAt
IG5hbWU6IDJkLnBhdHRlcm4ucGFpbnQub3JpZW50YXRpb24uY2FudmFzCiAgIGRlc2M6IENhbnZh
cyBwYXR0ZXJucyBkbyBub3QgZ2V0IGZsaXBwZWQgd2hlbiBwYWludGVkCkBAIC0yNzE3LDYgKzI4
NDAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmli
dXRlcy5zaGFkb3dCbHVyLmluaXRpYWwKICAgdGVzdGluZzoKQEAgLTI3MjQsNiArMjg0OCw3IEBA
CiAgICAgLSAyZC5zaGFkb3cuYmx1ci5pbml0aWFsCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0
eC5zaGFkb3dCbHVyID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5h
dHRyaWJ1dGVzLnNoYWRvd0JsdXIudmFsaWQKICAgdGVzdGluZzoKQEAgLTI3MzgsNiArMjg2Myw3
IEBACiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0gMWU2OwogICAgIGN0eC5zaGFkb3dC
bHVyID0gMDsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dCbHVyID09PSAwOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hdHRyaWJ1dGVzLnNoYWRvd0JsdXIuaW52YWxpZAogICB0
ZXN0aW5nOgpAQCAtMjc1NSw2ICsyODgxLDcgQEAKICAgICBjdHguc2hhZG93Qmx1ciA9IDE7CiAg
ICAgY3R4LnNoYWRvd0JsdXIgPSBOYU47CiAgICAgQGFzc2VydCBjdHguc2hhZG93Qmx1ciA9PT0g
MTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dP
ZmZzZXQuaW5pdGlhbAogICB0ZXN0aW5nOgpAQCAtMjc2Miw2ICsyODg5LDcgQEAKICAgY29kZTog
fAogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFggPT09IDA7CiAgICAgQGFzc2VydCBjdHgu
c2hhZG93T2Zmc2V0WSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cu
YXR0cmlidXRlcy5zaGFkb3dPZmZzZXQudmFsaWQKICAgdGVzdGluZzoKQEAgLTI3ODgsNiArMjkx
Niw3IEBACiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSAxZTY7CiAgICAgQGFzc2VydCBjdHguc2hh
ZG93T2Zmc2V0WCA9PT0gMWU2OwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFkgPT09IDFl
NjsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dP
ZmZzZXQuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtMjgxMSwxMiArMjk0MCwxNCBAQAogICAgIGN0
eC5zaGFkb3dPZmZzZXRZID0gTmFOOwogICAgIEBhc3NlcnQgY3R4LnNoYWRvd09mZnNldFggPT09
IDE7CiAgICAgQGFzc2VydCBjdHguc2hhZG93T2Zmc2V0WSA9PT0gMjsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci5pbml0aWFsCiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5zaGFkb3cuY29sb3IuaW5pdGlhbAogICBjb2RlOiB8CiAgICAgQGFz
c2VydCBjdHguc2hhZG93Q29sb3IgPT09ICdyZ2JhKDAsIDAsIDAsIDApJzsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuYXR0cmlidXRlcy5zaGFkb3dDb2xvci52YWxpZAogICB0
ZXN0aW5nOgpAQCAtMjgyNyw2ICsyOTU4LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xv
ciA9PT0gJyMwMGZmMDAnOwogICAgIGN0eC5zaGFkb3dDb2xvciA9ICdSR0JBKDAsMjU1LCAwLDAp
JzsKICAgICBAYXNzZXJ0IGN0eC5zaGFkb3dDb2xvciA9PT0gJ3JnYmEoMCwgMjU1LCAwLCAwKSc7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmF0dHJpYnV0ZXMuc2hhZG93Q29s
b3IuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtMjg0NCw2ICsyOTc2LDcgQEAKICAgICBjdHguc2hh
ZG93Q29sb3IgPSAnIzAwZmYwMCc7CiAgICAgY3R4LnNoYWRvd0NvbG9yID0gdW5kZWZpbmVkOwog
ICAgIEBhc3NlcnQgY3R4LnNoYWRvd0NvbG9yID09PSAnIzAwZmYwMCc7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc2hhZG93LmVuYWJsZS5vZmYuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBu
b3QgZHJhd24gd2hlbiBvbmx5IHNoYWRvd0NvbG9yIGlzIHNldApAQCAtMjg1NSw2ICsyOTg4LDcg
QEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5lbmFibGUub2ZmLjIKICAgZGVzYzogU2hhZG93
cyBhcmUgbm90IGRyYXduIHdoZW4gb25seSBzaGFkb3dDb2xvciBpcyBzZXQKQEAgLTI4NjcsNiAr
MzAwMSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5hYmxlLmJsdXIKICAgZGVzYzog
U2hhZG93cyBhcmUgZHJhd24gaWYgc2hhZG93Qmx1ciBpcyBzZXQKQEAgLTI4ODAsNiArMzAxNSw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwg
MTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5hYmxlLngKICAgZGVzYzogU2hhZG93cyBh
cmUgZHJhd24gaWYgc2hhZG93T2Zmc2V0WCBpcyBzZXQKQEAgLTI4OTMsNiArMzAyOSw3IEBACiAg
ICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZW5hYmxlLnkKICAgZGVzYzogU2hhZG93cyBhcmUgZHJh
d24gaWYgc2hhZG93T2Zmc2V0WSBpcyBzZXQKQEAgLTI5MDYsNiArMzA0Myw3IEBACiAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cub2Zmc2V0LnBvc2l0aXZlWAogICBkZXNjOiBTaGFkb3dzIGNhbiBi
ZSBvZmZzZXQgd2l0aCBwb3NpdGl2ZSB4CkBAIC0yOTIwLDYgKzMwNTgsNyBAQAogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cub2Zmc2V0Lm5lZ2F0aXZlWAogICBkZXNjOiBTaGFk
b3dzIGNhbiBiZSBvZmZzZXQgd2l0aCBuZWdhdGl2ZSB4CkBAIC0yOTM0LDYgKzMwNzMsNyBAQAog
ICAgIGN0eC5maWxsUmVjdCg1MCwgMCwgNTAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93Lm9mZnNldC5wb3NpdGl2ZVkKICAg
ZGVzYzogU2hhZG93cyBjYW4gYmUgb2Zmc2V0IHdpdGggcG9zaXRpdmUgeQpAQCAtMjk0OCw2ICsz
MDg4LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCAyNSk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5vZmZzZXQubmVn
YXRpdmVZCiAgIGRlc2M6IFNoYWRvd3MgY2FuIGJlIG9mZnNldCB3aXRoIG5lZ2F0aXZlIHkKQEAg
LTI5NjIsNiArMzEwMyw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDI1LCAxMDAsIDI1KTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDEyID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93
Lm91dHNpZGUKICAgZGVzYzogU2hhZG93cyBvZiBzaGFwZXMgb3V0c2lkZSB0aGUgdmlzaWJsZSBh
cmVhIGNhbiBiZSBvZmZzZXQgb250byB0aGUgdmlzaWJsZSBhcmVhCkBAIC0yOTg0LDYgKzMxMjYs
NyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODcsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDM3ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jbGlwLjEK
ICAgZGVzYzogU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3RpbGwgZHJhd24gd2l0aGlu
IHRoZSBjbGlwcGluZyByZWdpb24KQEAgLTMwMDQsNiArMzE0Nyw3IEBACiAgICAgY3R4LnJlc3Rv
cmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuc2hhZG93LmNsaXAuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gb3V0c2lkZSB0
aGUgY2xpcHBpbmcgcmVnaW9uCkBAIC0zMDI0LDYgKzMxNjgsNyBAQAogICAgIGN0eC5yZXN0b3Jl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnNoYWRvdy5jbGlwLjMKICAgZGVzYzogU2hhZG93cyBvZiBjbGlwcGVkIHNoYXBlcyBhcmUgc3Rp
bGwgZHJhd24gd2l0aGluIHRoZSBjbGlwcGluZyByZWdpb24KQEAgLTMwNDUsNiArMzE5MCw3IEBA
CiAgICAgY3R4LnJlc3RvcmUoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0cm9rZS5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFy
ZSBkcmF3biBmb3Igc3Ryb2tlcwpAQCAtMzA2NCw2ICszMjEwLDcgQEAKICAgICBAYXNzZXJ0IHBp
eGVsIDEsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2UuY2FwLjEKICAgZGVzYzogU2hhZG93
cyBhcmUgbm90IGRyYXduIGZvciBhcmVhcyBvdXRzaWRlIHN0cm9rZSBjYXBzCkBAIC0zMDg2LDYg
KzMyMzMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0
cm9rZS5jYXAuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3Igc3Ryb2tlIGNhcHMKQEAg
LTMxMDYsNiArMzI1NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA5OCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuc3Ryb2tlLmpvaW4uMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIGFy
ZWFzIG91dHNpZGUgc3Ryb2tlIGpvaW5zCkBAIC0zMTI4LDYgKzMyNzcsNyBAQAogICAgIEBhc3Nl
cnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9
PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5zdHJva2Uuam9pbi4yCiAgIGRlc2M6
IFNoYWRvd3MgYXJlIGRyYXduIGZvciBzdHJva2Ugam9pbnMKQEAgLTMxNTIsNiArMzMwMiw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnN0cm9rZS5qb2lu
LjMKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIHN0cm9rZSBqb2lucyByZXNwZWN0aW5n
IG1pdGVyIGxpbWl0CkBAIC0zMTc1LDYgKzMzMjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5iYXNpYwogICBkZXNjOiBTaGFkb3dzIGFyZSBk
cmF3biBmb3IgaW1hZ2VzCkBAIC0zMTk5LDcgKzMzNTEsNyBAQAogICAgIHByb21pc2UudGhlbihm
dW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAt
NTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFn
ZS50cmFuc3BhcmVudC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNw
YXJlbnQgaW1hZ2VzCkBAIC0zMjI0LDcgKzMzNzYsNyBAQAogICAgIHByb21pc2UudGhlbihmdW5j
dGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAtNTAp
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwotICAgIH0pOwor
ICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS50
cmFuc3BhcmVudC4yCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJl
bnQgcGFydHMgb2YgaW1hZ2VzCkBAIC0zMjU1LDcgKzM0MDcsNyBAQAogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAs
MjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJk
LnNoYWRvdy5pbWFnZS5hbHBoYQogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkg
Zm9yIHBhcnRpYWxseS10cmFuc3BhcmVudCBpbWFnZXMKQEAgLTMyODAsNyArMzQzMiw3IEBACiAg
ICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CiAgICAgICAgIGN0eC5kcmF3SW1h
Z2UocmVzcG9uc2UsIDAsIC01MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEy
NywwLDEyNywyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQuc2hhZG93LmltYWdlLnNlY3Rpb24KICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRy
YXduIGZvciBhcmVhcyBvdXRzaWRlIGltYWdlIHNvdXJjZSByZWN0YW5nbGVzCkBAIC0zMzA3LDcg
KzM0NTksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBh
c3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4o
dF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5pbWFnZS5zY2FsZQogICBkZXNj
OiBTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHNjYWxlZCBpbWFnZXMKQEAgLTMzMzQs
NyArMzQ4Niw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmNhbnZhcy5iYXNpYwogICBk
ZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBmb3IgY2FudmFzZXMKQEAgLTMzNTEsNiArMzUwMyw3IEBA
CiAgICAgY3R4LnNoYWRvd09mZnNldFkgPSA1MDsKICAgICBjdHguZHJhd0ltYWdlKG9mZnNjcmVl
bkNhbnZhczIsIDAsIC01MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuY2FudmFzLnRyYW5zcGFyZW50
LjEKICAgZGVzYzogU2hhZG93cyBhcmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBjYW52YXNl
cwpAQCAtMzM2NSw2ICszNTE4LDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAg
IGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNo
YWRvdy5jYW52YXMudHJhbnNwYXJlbnQuMgogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24g
Zm9yIHRyYW5zcGFyZW50IHBhcnRzIG9mIGNhbnZhc2VzCkBAIC0zMzg3LDYgKzM1NDEsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jYW52YXMuYWxwaGEK
ICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5IGZvciBwYXJ0aWFsbHktdHJhbnNw
YXJlbnQgY2FudmFzZXMKQEAgLTM0MDMsNiArMzU1OCw3IEBACiAgICAgY3R4LnNoYWRvd0NvbG9y
ID0gJyMwMGYnOwogICAgIGN0eC5kcmF3SW1hZ2Uob2Zmc2NyZWVuQ2FudmFzMiwgMCwgLTUwKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnNoYWRvdy5wYXR0ZXJuLmJhc2ljCiAgIGRlc2M6IFNoYWRvd3MgYXJl
IGRyYXduIGZvciBmaWxsIHBhdHRlcm5zCkBAIC0zNDI4LDcgKzM1ODQsNyBAQAogICAgICAgICBj
dHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gcGF0dGVybjsK
ICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7Ci0gICAgfSk7CisgICAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnBhdHRlcm4udHJhbnNw
YXJlbnQuMQogICBkZXNjOiBTaGFkb3dzIGFyZSBub3QgZHJhd24gZm9yIHRyYW5zcGFyZW50IGZp
bGwgcGF0dGVybnMKQEAgLTM0NTUsNyArMzYxMSw3IEBACiAgICAgICAgIGN0eC5zaGFkb3dPZmZz
ZXRZID0gNTA7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBwYXR0ZXJuOwogICAgICAgICBjdHgu
ZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0dGVybi50cmFuc3BhcmVudC4yCiAgIGRl
c2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNwYXJlbnQgcGFydHMgb2YgZmlsbCBw
YXR0ZXJucwpAQCAtMzQ4Niw3ICszNjQyLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwy
NSA9PSAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cucGF0
dGVybi5hbHBoYQogICBkZXNjOiBTaGFkb3dzIGFyZSBkcmF3biBjb3JyZWN0bHkgZm9yIHBhcnRp
YWxseS10cmFuc3BhcmVudCBmaWxsIHBhdHRlcm5zCkBAIC0zNTEyLDcgKzM2NjgsNyBAQAogICAg
ICAgICBjdHguc2hhZG93Q29sb3IgPSAnIzAwZic7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBw
YXR0ZXJuOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKLSAgICB9KTsK
KyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cuZ3JhZGll
bnQuYmFzaWMKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gZm9yIGdyYWRpZW50IGZpbGxzCkBA
IC0zNTMwLDYgKzM2ODYsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBncmFkaWVudDsKICAgICBj
dHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09
IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5ncmFkaWVu
dC50cmFuc3BhcmVudC4xCiAgIGRlc2M6IFNoYWRvd3MgYXJlIG5vdCBkcmF3biBmb3IgdHJhbnNw
YXJlbnQgZ3JhZGllbnQgZmlsbHMKQEAgLTM1NDcsNiArMzcwNCw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9IGdyYWRpZW50OwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQuc2hhZG93LmdyYWRpZW50LnRyYW5zcGFyZW50LjIKICAgZGVzYzogU2hhZG93cyBh
cmUgbm90IGRyYXduIGZvciB0cmFuc3BhcmVudCBwYXJ0cyBvZiBncmFkaWVudCBmaWxscwpAQCAt
MzU2OSw2ICszNzI3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBw
aXhlbCA3NSwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5z
aGFkb3cuZ3JhZGllbnQuYWxwaGEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24gY29ycmVjdGx5
IGZvciBwYXJ0aWFsbHktdHJhbnNwYXJlbnQgZ3JhZGllbnQgZmlsbHMKQEAgLTM1ODUsNiArMzc0
NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9IGdyYWRpZW50OwogICAgIGN0eC5maWxsUmVjdCgw
LCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LnRyYW5zZm9ybS4xCiAgIGRl
c2M6IFNoYWRvd3MgdGFrZSBhY2NvdW50IG9mIHRyYW5zZm9ybWF0aW9ucwpAQCAtMzU5OCw2ICsz
NzU4LDcgQEAKICAgICBjdHgudHJhbnNsYXRlKDEwMCwgMTAwKTsKICAgICBjdHguZmlsbFJlY3Qo
LTEwMCwgLTE1MCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zaGFkb3cudHJhbnNmb3JtLjIKICAg
ZGVzYzogU2hhZG93IG9mZnNldHMgYXJlIG5vdCBhZmZlY3RlZCBieSB0cmFuc2Zvcm1hdGlvbnMK
QEAgLTM2MTEsNiArMzc3Miw3IEBACiAgICAgY3R4LnJvdGF0ZShNYXRoLlBJKQogICAgIGN0eC5m
aWxsUmVjdCgtMTAwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4xCiAg
IGRlc2M6IFNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZApAQCAtMzYyMyw2
ICszNzg1LDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAs
MjU1ICsvLSA0OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5hbHBoYS4yCiAg
IGRlc2M6IFNoYWRvdyBjb2xvdXIgYWxwaGEgY29tcG9uZW50cyBhcmUgdXNlZApAQCAtMzYzNSw2
ICszNzk4LDcgQEAKICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVj
dCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEy
NywyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmFscGhhLjMKICAgZGVz
YzogU2hhZG93cyBhcmUgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEKQEAgLTM2NDksNiArMzgxMyw3
IEBACiAgICAgY3R4Lmdsb2JhbEFscGhhID0gMC41OwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDEyNywwLDEyNywyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc2hhZG93LmFscGhhLjQKICAgZGVzYzogU2hhZG93
cyB3aXRoIGFscGhhIGNvbXBvbmVudHMgYXJlIGNvcnJlY3RseSBhZmZlY3RlZCBieSBnbG9iYWxB
bHBoYQpAQCAtMzY2Myw2ICszODI4LDcgQEAKICAgICBjdHguZ2xvYmFsQWxwaGEgPSAwLjcwNzsK
ICAgICBjdHguZmlsbFJlY3QoMCwgLTUwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09fiAxMjcsMCwxMjcsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRv
dy5hbHBoYS41CiAgIGRlc2M6IFNoYWRvd3Mgb2Ygc2hhcGVzIHdpdGggYWxwaGEgY29tcG9uZW50
cyBhcmUgZHJhd24gY29ycmVjdGx5CkBAIC0zNjc2LDYgKzM4NDIsNyBAQAogICAgIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTA7CiAgICAgY3R4LmZpbGxSZWN0KDAsIC01MCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMTI3LDAsMTI3LDI1NTsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC5zaGFkb3cuY29tcG9zaXRlLjEKICAgZGVzYzogU2hhZG93cyBhcmUgZHJhd24g
dXNpbmcgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uCkBAIC0zNjkwLDYgKzM4NTcsNyBAQAogICAg
IGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KC0xMDAsIDAsIDIwMCwg
NTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jb21wb3NpdGUuMgogICBkZXNjOiBTaGFkb3dzIGFy
ZSBkcmF3biB1c2luZyBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24KQEAgLTM3MDQsNiArMzg3Miw3
IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJlY3QoLTEwLCAt
MTAsIDEyMCwgNzApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnNoYWRvdy5jb21wb3NpdGUuMwogICBkZXNjOiBB
cmVhcyBvdXRzaWRlIHNoYWRvd3MgYXJlIGRyYXduIGNvcnJlY3RseSB3aXRoIGRlc3RpbmF0aW9u
LW91dApAQCAtMzcxOSw2ICszODg4LDcgQEAKICAgICBjdHguZmlsbFJlY3QoMjAwLCAwLCAxMDAs
IDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQuY2xlYXJSZWN0LmJhc2ljCiAgIGRlc2M6IGNsZWFyUmVjdCBjbGVhcnMgdG8gdHJhbnNwYXJl
bnQgYmxhY2sKQEAgLTM3MjksNiArMzg5OSw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFy
UmVjdC5wYXRoCiAgIGRlc2M6IGNsZWFyUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQg
cGF0aApAQCAtMzc0MSw2ICszOTEyLDcgQEAKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDE2LCAx
Nik7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC56ZXJvCiAgIGRlc2M6
IGNsZWFyUmVjdCBvZiB6ZXJvIHBpeGVscyBoYXMgbm8gZWZmZWN0CkBAIC0zNzUzLDYgKzM5MjUs
NyBAQAogICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgMCwgNTApOwogICAgIGN0eC5jbGVhclJlY3Qo
MCwgMCwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jbGVhclJlY3QubmVnYXRpdmUKICAgZGVzYzogY2xl
YXJSZWN0IG9mIG5lZ2F0aXZlIHNpemVzIHdvcmtzCkBAIC0zNzY5LDYgKzM5NDIsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMTIgPT0gMCwwLDAsMDsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3
ID09IDAsMCwwLDA7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNyA9PSAwLDAsMCwwOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC50cmFuc2Zvcm0KICAgZGVzYzogY2xlYXJS
ZWN0IGlzIGFmZmVjdGVkIGJ5IHRyYW5zZm9ybXMKQEAgLTM3ODEsNiArMzk1NSw3IEBACiAgICAg
Y3R4LnRyYW5zbGF0ZSgwLCA1KTsKICAgICBjdHguY2xlYXJSZWN0KDAsIC01LCAxMCwgNSk7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmNsZWFyUmVjdC5nbG9iYWxhbHBoYQogICBkZXNjOiBjbGVhclJlY3QgaXMgbm90IGFm
ZmVjdGVkIGJ5IGdsb2JhbEFscGhhCkBAIC0zNzkyLDYgKzM5NjcsNyBAQAogICAgIGN0eC5nbG9i
YWxBbHBoYSA9IDAuMTsKICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlCiAgIGRlc2M6IGNsZWFyUmVjdCBpcyBub3QgYWZm
ZWN0ZWQgYnkgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uCkBAIC0zODAzLDYgKzM5NzksNyBAQAog
ICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tYXRvcCc7CiAg
ICAgY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuY2xlYXJSZWN0LmNsaXAK
ICAgZGVzYzogY2xlYXJSZWN0IGlzIGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMKQEAgLTM4
MTgsNiArMzk5NSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTYsIDE2KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5zaGFkb3cKICAgZGVz
YzogY2xlYXJSZWN0IGRvZXMgbm90IGRyYXcgc2hhZG93cwpAQCAtMzgzMiw2ICs0MDEwLDcgQEAK
ICAgICBjdHguc2hhZG93T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5jbGVhclJlY3QoMCwgLTUwLCAx
MDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmNsZWFyUmVjdC5ub25maW5pdGUKICAgZGVzYzogY2xlYXJS
ZWN0KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtMzg0Miw2ICs0MDIxLDcgQEAK
ICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQG5vbmZpbml0ZSBjdHguY2xl
YXJSZWN0KDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkg
TmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0
eSBOYU4+KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmZpbGxSZWN0LmJhc2ljCiAgIGRlc2M6IGZpbGxSZWN0IHdv
cmtzCkBAIC0zODUxLDYgKzQwMzEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuZmlsbFJlY3QucGF0
aAogICBkZXNjOiBmaWxsUmVjdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aApAQCAt
Mzg2NCw2ICs0MDQ1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5m
aWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC56ZXJvCiAgIGRlc2M6IGZpbGxSZWN0IG9mIHpl
cm8gcGl4ZWxzIGhhcyBubyBlZmZlY3QKQEAgLTM4NzcsNiArNDA1OSw3IEBACiAgICAgY3R4LmZp
bGxSZWN0KDAsIDAsIDAsIDUwKTsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMCwgMCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5maWxsUmVjdC5uZWdhdGl2ZQogICBkZXNjOiBmaWxsUmVjdCBvZiBuZWdhdGl2ZSBz
aXplcyB3b3JrcwpAQCAtMzg5NCw2ICs0MDc3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDEy
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjUsMzcgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA3NSwzNyA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5maWxsUmVjdC50cmFuc2Zvcm0KICAgZGVzYzogZmlsbFJlY3QgaXMgYWZm
ZWN0ZWQgYnkgdHJhbnNmb3JtcwpAQCAtMzkwNSw2ICs0MDg5LDcgQEAKICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNSwgMTAsIDUpOwogICAgIEBhc3Nl
cnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKICMgZG9uJ3Qg
Ym90aGVyIHRlc3RpbmcgZ2xvYmFsYWxwaGEsIGdsb2JhbGNvbXBvc2l0ZSBiZWNhdXNlIHRoZXkn
cmUgYWxyZWFkeSBoZWF2aWx5IHVzZWQgYnkgb3RoZXIgdGVzdCBjYXNlcwogCkBAIC0zOTIzLDYg
KzQxMDgsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDE2LCAxNik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5maWxsUmVjdC5zaGFkb3cKICAgZGVzYzogZmls
bFJlY3QgZHJhd3Mgc2hhZG93cwpAQCAtMzkzNyw2ICs0MTIzLDcgQEAKICAgICBjdHguc2hhZG93
T2Zmc2V0WSA9IDUwOwogICAgIGN0eC5maWxsUmVjdCgwLCAtNTAsIDEwMCwgNTApOwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuZmlsbFJlY3Qubm9uZmluaXRlCiAgIGRlc2M6IGZpbGxSZWN0KCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZApAQCAtMzk0OCw2ICs0MTM1LDcgQEAKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgIEBub25maW5pdGUgY3R4LmZpbGxSZWN0KDwwIEluZmluaXR5IC1JbmZp
bml0eSBOYU4+LCA8MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5m
aW5pdHkgTmFOPiwgPDUwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0
cm9rZVJlY3QuYmFzaWMKICAgZGVzYzogc3Ryb2tlUmVjdCB3b3JrcwpAQCAtMzk1OCw2ICs0MTQ2
LDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gNTA7CiAgICAgY3R4LnN0cm9rZVJlY3QoMjUsIDI0
LCA1MCwgMik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0LnBhdGgKICAgZGVzYzogc3Ryb2tlUmVj
dCBkb2VzIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGF0aApAQCAtMzk3Miw2ICs0MTYxLDcgQEAK
ICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2Vy
dCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5zdHJva2VSZWN0Lnplcm8uMQogICBkZXNjOiBzdHJva2VSZWN0IG9mIDB4MCBwaXhlbHMgZHJh
d3Mgbm90aGluZwpAQCAtMzk4Miw2ICs0MTcyLDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gMjUw
OwogICAgIGN0eC5zdHJva2VSZWN0KDUwLCAyNSwgMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnN0cm9rZVJlY3Qu
emVyby4yCiAgIGRlc2M6IHN0cm9rZVJlY3Qgb2YgMHgwIHBpeGVscyBkcmF3cyBub3RoaW5nLCBp
bmNsdWRpbmcgY2FwcyBhbmQgam9pbnMKQEAgLTM5OTQsNiArNDE4NSw3IEBACiAgICAgY3R4Lmxp
bmVKb2luID0gJ3JvdW5kJzsKICAgICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5zdHJva2VSZWN0Lnplcm8uMwogICBkZXNjOiBzdHJva2VSZWN0IG9mIE54MCBwaXhlbHMg
ZHJhd3MgYSBzdHJhaWdodCBsaW5lCkBAIC00MDA0LDYgKzQxOTYsNyBAQAogICAgIGN0eC5saW5l
V2lkdGggPSA1MDsKICAgICBjdHguc3Ryb2tlUmVjdCgwLCAyNSwgMTAwLCAwKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnN0cm9rZVJlY3QuemVyby40CiAgIGRlc2M6IHN0cm9rZVJlY3Qgb2YgTngwIHBpeGVscyBk
cmF3cyBhIGNsb3NlZCBsaW5lIHdpdGggbm8gY2FwcwpAQCAtNDAxNSw2ICs0MjA4LDcgQEAKICAg
ICBjdHgubGluZUNhcCA9ICdyb3VuZCc7CiAgICAgY3R4LnN0cm9rZVJlY3QoMTAwLCAyNSwgMTAw
LCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMCwwLDA7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC56ZXJvLjUKICAgZGVzYzogc3Ryb2tlUmVjdCBvZiBO
eDAgcGl4ZWxzIGRyYXdzIGEgY2xvc2VkIGxpbmUgd2l0aCBqb2lucwpAQCAtNDAyNiw2ICs0MjIw
LDcgQEAKICAgICBjdHgubGluZUpvaW4gPSAncm91bmQnOwogICAgIGN0eC5zdHJva2VSZWN0KDEw
MCwgMjUsIDEwMCwgMCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lm5lZ2F0aXZlCiAgIGRlc2M6
IHN0cm9rZVJlY3Qgb2YgbmVnYXRpdmUgc2l6ZXMgd29ya3MKQEAgLTQwNDQsNiArNDIzOSw3IEBA
CiAgICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuc3Ryb2tlUmVjdC50cmFuc2Zv
cm0KICAgZGVzYzogZmlsbFJlY3QgaXMgYWZmZWN0ZWQgYnkgdHJhbnNmb3JtcwpAQCAtNDA1Niw2
ICs0MjUyLDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gNTsKICAgICBjdHguc3Ryb2tlUmVjdCgy
LjUsIC0yLjYsIDUsIDAuMik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lmdsb2JhbGFscGhhCiAg
IGRlc2M6IHN0cm9rZVJlY3QgaXMgYWZmZWN0ZWQgYnkgZ2xvYmFsQWxwaGEKQEAgLTQwNjcsNiAr
NDI2NCw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDI1
LCAyNCwgNTAsIDIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwwLDAsMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0Lmdsb2JhbGNvbXBvc2l0ZQogICBkZXNj
OiBzdHJva2VSZWN0IGlzIG5vdCBhZmZlY3RlZCBieSBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb24K
QEAgLTQwNzgsNiArNDI3Niw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAgIGN0eC5z
dHJva2VSZWN0KDI1LCAyNCwgNTAsIDIpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCww
LDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0LmNsaXAKICAgZGVz
Yzogc3Ryb2tlUmVjdCBpcyBhZmZlY3RlZCBieSBjbGlwcGluZyByZWdpb25zCkBAIC00MDk1LDYg
KzQyOTQsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDE2LCAxNik7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5zdHJva2VSZWN0LnNoYWRvdwogICBkZXNjOiBz
dHJva2VSZWN0IGRyYXdzIHNoYWRvd3MKQEAgLTQxMTIsNiArNDMxMiw3IEBACiAgICAgY3R4Lmxp
bmVXaWR0aCA9IDUwOwogICAgIGN0eC5zdHJva2VSZWN0KDAsIC03NSwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5zdHJva2VSZWN0Lm5vbmZpbml0ZQogICBkZXNjOiBzdHJva2VSZWN0KCkgd2l0aCBJ
bmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNDEyNCwxMiArNDMyNSwxNCBAQAogICAgIGN0eC5s
aW5lV2lkdGggPSAxNTA7CiAgICAgQG5vbmZpbml0ZSBjdHguc3Ryb2tlUmVjdCg8MCBJbmZpbml0
eSAtSW5maW5pdHkgTmFOPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMDAgSW5maW5p
dHkgLUluZmluaXR5IE5hTj4sIDw1MCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPik7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogCiAtIG5h
bWU6IDJkLmRyYXdJbWFnZS4zYXJnCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuZGVm
YXVsdHNvdXJjZQogICAgIC0gMmQuZHJhd0ltYWdlLmRlZmF1bHRkZXN0CisgIHRpbWVvdXQ6IGxv
bmcKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZwogICAgIC0gZ3JlZW4ucG5nCkBAIC00MTYyLDcg
KzQzNjUsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1Owog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRf
cGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuNWFyZwogICB0ZXN0aW5nOgpA
QCAtNDE3MCw2ICs0MzczLDcgQEAKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZwogICAgIC0gZ3Jl
ZW4ucG5nCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDIwMCwxMyArNDQw
NCwxNCBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk5LDAgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuOWFyZy5iYXNpYwogICB0ZXN0aW5n
OgogICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CiAgIGltYWdlczoKICAgICAtIGdyZWVuLnBuZwor
ICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQyMjUsMTMgKzQ0MzAsMTQgQEAK
ICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFz
c2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5
OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlcG9zCiAgIHRlc3Rpbmc6CiAg
ICAgLSAyZC5kcmF3SW1hZ2UucGFpbnQKICAgaW1hZ2VzOgogICAgIC0gcmdyZy0yNTZ4MjU2LnBu
ZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQyNTAsMTMgKzQ0NTYsMTQg
QEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA5OSw0OSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLjlhcmcuc291cmNlc2l6ZQogICB0ZXN0aW5n
OgogICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CiAgIGltYWdlczoKICAgICAtIHJncmctMjU2eDI1
Ni5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MjgyLDcgKzQ0ODks
NyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDgwLDIwID09fiAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCAyMCwzMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQg
cGl4ZWwgODAsMzAgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLmRlc3Rwb3MKICAgdGVzdGlu
ZzoKQEAgLTQyOTAsNiArNDQ5Nyw3IEBACiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKICAgICAt
IGdyZWVuLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQzMjEsNyAr
NDUyOSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS45YXJnLmRlc3RzaXplCiAgIHRl
c3Rpbmc6CkBAIC00MzI5LDYgKzQ1MzcsNyBAQAogICBpbWFnZXM6CiAgICAgLSByZWQucG5nCiAg
ICAgLSBncmVlbi5wbmcKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00MzYw
LDExICs0NTY5LDEyIEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTksMCA9PX4gMCwyNTUsMCwy
NTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5jYW52YXMKICAgdGVz
dGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5wYWludAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6
IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CiAgICAgdmFyIGN0eDIgPSBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJyk7CkBA
IC00Mzc2LDEwICs0NTg2LDEyIEBACiAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgOTksNDkgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmRyYXdJbWFnZS5zZWxmLjEKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zZWxm
CisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDUwLCA1MCk7CkBAIC00MzkwLDEwICs0NjAyLDEyIEBA
CiAgICAgQGFzc2VydCBwaXhlbCA5OSwwID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBp
eGVsIDAsNDkgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTksNDkgPT1+IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5zZWxmLjIK
ICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zZWxmCisgIHRpbWVvdXQ6IGxvbmcKICAg
Y29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAs
IDEsIDEwMCwgNDkpOwpAQCAtNDQwNiwxNiArNDYyMCwyMCBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
OTksMCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09fiAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UubnVsbAogICB0ZXN0aW5nOgogICAgIC0gMmQu
ZHJhd0ltYWdlLklETAorICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRo
cm93cyBUeXBlRXJyb3IgY3R4LmRyYXdJbWFnZShudWxsLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5kcmF3SW1hZ2UuemVyb2NhbnZhcwogICB0ZXN0aW5nOgogICAgIC0gMmQu
ZHJhd0ltYWdlLnplcm9jYW52YXMKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFy
IG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDAsIDEwKTsKICAgICBAYXNz
ZXJ0IHRocm93cyBJTlZBTElEX1NUQVRFX0VSUiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZh
czIsIDAsIDApOwpAQCAtNDQyNywxOSArNDY0NSwyMyBAQAogICAgIG9mZnNjcmVlbkNhbnZhczIu
d2lkdGggPSAwOwogICAgIG9mZnNjcmVlbkNhbnZhczIuaGVpZ2h0ID0gMDsKICAgICBAYXNzZXJ0
IHRocm93cyBJTlZBTElEX1NUQVRFX0VSUiBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhczIs
IDAsIDApOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS53cm9uZ3R5cGUK
ICAgZGVzYzogSW5jb3JyZWN0IGltYWdlIHR5cGVzIGluIGRyYXdJbWFnZSBkbyBub3QgbWF0Y2gg
YW55IGRlZmluZWQgb3ZlcmxvYWRzLCBzbyBXZWJJREwgdGhyb3dzIGEgVHlwZUVycm9yCiAgIHRl
c3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuSURMCisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTog
fAogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguZHJhd0ltYWdlKHVuZGVmaW5lZCwg
MCwgMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UoMCwgMCwg
MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5kcmF3SW1hZ2UoIiIsIDAsIDAp
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5mbG9hdHNvdXJjZQogICB0
ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnBhaW50CisgIHRpbWVvdXQ6IGxvbmcKICAgY29k
ZTogfAogICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVq
ZWN0KSB7CiAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKQEAgLTQ0NTMs
MTIgKzQ2NzUsMTMgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAg
ICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAuMSwgMTAuMSwgMC4xLCAwLjEsIDAsIDAs
IDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsK
LSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3
SW1hZ2UuemVyb3NvdXJjZQogICBkZXNjOiBkcmF3SW1hZ2Ugd2l0aCB6ZXJvLXNpemVkIHNvdXJj
ZSByZWN0YW5nbGUgdGhyb3dzIElOREVYX1NJWkVfRVJSCiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5k
cmF3SW1hZ2UuemVyb3NvdXJjZQorICB0aW1lb3V0OiBsb25nCiAgIGltYWdlczoKICAgICAtIHJl
ZC5wbmcKICAgY29kZTogfApAQCAtNDQ3OCw3ICs0NzAxLDcgQEAKICAgICAgICAgQGFzc2VydCB0
aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAxLCAw
LCAwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIg
Y3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMTAsIDEwLCAwLCAwLCAwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAg
fSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnplcm9zb3Vy
Y2UuaW1hZ2UKICAgZGVzYzogZHJhd0ltYWdlIHdpdGggemVyby1zaXplZCBzb3VyY2UgcmVjdGFu
Z2xlIGZyb20gaW1hZ2UgdGhyb3dzIElOREVYX1NJWkVfRVJSCkBAIC00NDg4LDYgKzQ3MTEsNyBA
QAogICAgIC0gcmVkLXplcm93aWR0aC5zdmcKICAgICAtIHJlZC16ZXJvaGVpZ2h0LnN2ZwogICAg
IC0gcmVkLXplcm9zaXplLnN2ZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAg
LTQ1MDUsNyArNDcyOSw3IEBACiAgICAgICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJS
IGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0
IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlLCAwLCAwLCAxMDAs
IDUwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKLSAgICB9
KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAyZC5kcmF3SW1hZ2Uu
bmVnYXRpdmVzb3VyY2UKICAgZGVzYzogTmVnYXRpdmUgc291cmNlIHdpZHRoL2hlaWdodCByZXBy
ZXNlbnRzIHRoZSBjb3JyZWN0IHJlY3RhbmdsZQpAQCAtNDUxNCw2ICs0NzM4LDcgQEAKICAgbW96
aWxsYTogeyB0aHJvd3MgfQogICBpbWFnZXM6CiAgICAgLSBnZ3JyLTI1NngyNTYucG5nCisgIHRp
bWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDUzOSwxMyArNDc2NCwxNCBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDUxLDQ4ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUs
MjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwp
OwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5uZWdhdGl2ZWRlc3QKICAgZGVzYzogTmVnYXRpdmUg
ZGVzdGluYXRpb24gd2lkdGgvaGVpZ2h0IHJlcHJlc2VudHMgdGhlIGNvcnJlY3QgcmVjdGFuZ2xl
CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC5kcmF3SW1hZ2UuZGlyZWN0aW9uCiAgIG1vemlsbGE6IHsg
dGhyb3dzIH0KKyAgdGltZW91dDogbG9uZwogICBpbWFnZXM6CiAgICAgLSBnZ3JyLTI1NngyNTYu
cG5nCiAgIGNvZGU6IHwKQEAgLTQ1NzMsMTMgKzQ3OTksMTQgQEAKICAgICAgICAgQGFzc2VydCBw
aXhlbCA1MSw0OCA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSww
LDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBuYW1lOiAy
ZC5kcmF3SW1hZ2UubmVnYXRpdmVkaXIKICAgZGVzYzogTmVnYXRpdmUgZGltZW5zaW9ucyBkbyBu
b3QgYWZmZWN0IHRoZSBkaXJlY3Rpb24gb2YgdGhlIGltYWdlCiAgIHRlc3Rpbmc6CiAgICAgLSAy
ZC5kcmF3SW1hZ2UuZGlyZWN0aW9uCiAgIG1vemlsbGE6IHsgdGhyb3dzIH0KKyAgdGltZW91dDog
bG9uZwogICBpbWFnZXM6CiAgICAgLSBnZ3JyLTI1NngyNTYucG5nCiAgIGNvZGU6IHwKQEAgLTQ2
MDcsNyArNDgzNCw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTEsNDggPT1+IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAg
ICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm91dHNpZGVzb3Vy
Y2UKICAgRElTQUJMRUQ6IGZpeCB0aGlzIHRvIG1hdGNoIHRoZSBjdXJyZW50IHNwZWMgKHRyYW5z
cGFyZW50IGJsYWNrIG91dHNpZGUgc291cmNlKQpAQCAtNDY0NSwxMSArNDg3MiwxMiBAQAogICAg
ICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNl
MSwgMCwgMCwgNSwgLTUsIDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHRocm93cyBJ
TkRFWF9TSVpFX0VSUiBjdHguZHJhd0ltYWdlKHJlc3BvbnNlMSwgMTEwLCA2MCwgLTIwLCAtMjAs
IDAsIDAsIDEwMCwgNTApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsgQG1vei10b2RvCi0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAK
IC0gbmFtZTogMmQuZHJhd0ltYWdlLmJyb2tlbgogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0lt
YWdlLmluY29tcGxldGUuaW1hZ2UKKyAgdGltZW91dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICAg
ICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwpAQCAtNDY2NSwxMiArNDg5MywxMyBA
QAogICAgICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5kcmF3
SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnN2ZwogICBkZXNjOiBkcmF3SW1hZ2UoKSBvZiBh
biBTVkcgaW1hZ2UKICAgdGVzdGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS5zdmcKKyAgdGltZW91
dDogbG9uZwogICBjb2RlOiB8CiAgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwpAQCAtNDY4NCw3ICs0OTEzLDcgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5hbmltYXRlZC5wb3N0
ZXIKICAgZGVzYzogZHJhd0ltYWdlKCkgb2YgYW4gQVBORyBkcmF3cyB0aGUgcG9zdGVyIGZyYW1l
CkBAIC00NjkyLDYgKzQ5MjEsNyBAQAogICAgIC0gMmQuZHJhd0ltYWdlLmFuaW1hdGVkLmltYWdl
CiAgIGltYWdlczoKICAgICAtIGFuaW0tcG9zdGVyLWdyLnBuZworICB0aW1lb3V0OiBsb25nCiAg
IGNvZGU6IHwKICAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
IHJlamVjdCkgewogICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CkBAIC00
NzA1LDExICs0OTM1LDEyIEBACiAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7
CiAgICAgICAgIGN0eC5kcmF3SW1hZ2UocmVzcG9uc2UsIDAsIDApOwogICAgICAgICBAYXNzZXJ0
IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2RvCi0gICAgfSk7CisgICAgfSku
dGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnBhdGgKICAgdGVz
dGluZzoKICAgICAtIDJkLmRyYXdJbWFnZS51bmFmZmVjdAorICB0aW1lb3V0OiBsb25nCiAgIGNv
ZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5yZWN0KDAsIDAsIDEw
MCwgNTApOwpAQCAtNDcyNiwxMyArNDk1NywxNCBAQAogICAgICAgICBjdHguZHJhd0ltYWdlKHJl
c3BvbnNlLCAwLCAwKTsKICAgICAgICAgY3R4LmZpbGwoKTsKICAgICAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLnRyYW5zZm9ybQogICB0ZXN0aW5nOgogICAg
IC0gMmQuZHJhd0ltYWdlLnN1YmplY3QKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZworICB0aW1l
b3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ3NDksMTMgKzQ5ODEsMTQgQEAKICAgICBw
cm9taXNlLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShy
ZXNwb25zZSwgMCwgMCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAs
MjU1OwotICAgIH0pOworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJk
LmRyYXdJbWFnZS5hbHBoYQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0ltYWdlLnN1YmplY3QK
ICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZworICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKQEAgLTQ3NzIsMTMgKzUwMDUsMTQgQEAKICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24ocmVz
cG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwgMCk7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pOworICAgIH0pLnRo
ZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5jbGlwCiAgIHRlc3Rp
bmc6CiAgICAgLSAyZC5kcmF3SW1hZ2Uuc3ViamVjdAogICBpbWFnZXM6CiAgICAgLSByZWQucG5n
CisgIHRpbWVvdXQ6IGxvbmcKICAgY29kZTogfAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwpAQCAtNDc5NiwxMyArNTAzMCwxNCBA
QAogICAgIHByb21pc2UudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICBjdHguZHJh
d0ltYWdlKHJlc3BvbnNlLCAwLCAwKTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4g
MCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAKIC0g
bmFtZTogMmQuZHJhd0ltYWdlLmNvbXBvc2l0ZQogICB0ZXN0aW5nOgogICAgIC0gMmQuZHJhd0lt
YWdlLnN1YmplY3QKICAgaW1hZ2VzOgogICAgIC0gcmVkLnBuZworICB0aW1lb3V0OiBsb25nCiAg
IGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKQEAgLTQ4MTksMTIgKzUwNTQsMTMgQEAKICAgICBwcm9taXNlLnRoZW4o
ZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgY3R4LmRyYXdJbWFnZShyZXNwb25zZSwgMCwg
MCk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0p
OworICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogCiAtIG5hbWU6IDJkLmRyYXdJbWFnZS5u
b3dyYXAKICAgZGVzYzogU3RyZXRjaGVkIGltYWdlcyBkbyBub3QgZ2V0IHBpeGVscyB3cmFwcGlu
ZyBhcm91bmQgdGhlIGVkZ2VzCiAgIGltYWdlczoKICAgICAtIHJlZHRyYW5zcGFyZW50LnBuZwor
ICB0aW1lb3V0OiBsb25nCiAgIGNvZGU6IHwKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKQEAgLTQ4NDIsNyArNTA3OCw3IEBACiAg
ICAgICAgIEBhc3NlcnQgcGl4ZWwgNDUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1
NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CiAKIC0gbmFtZTogMmQuZHJhd0ltYWdlLm5vbmZpbml0ZQogICBkZXNjOiBkcmF3SW1hZ2Uo
KSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC00ODUwLDYgKzUwODYsNyBAQAogICAg
IC0gMmQubm9uZmluaXRlCiAgIGltYWdlczoKICAgICAtIHJlZC5wbmcKKyAgdGltZW91dDogbG9u
ZwogICBjb2RlOiB8CiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CkBAIC00ODY3LDcgKzUxMDQsNyBAQAogICAgICAgICBAbm9uZmlu
aXRlIGN0eC5kcmF3SW1hZ2UoPHJlc3BvbnNlPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4s
IDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+
LCA8NTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOwogICAgICAgICBAbm9uZmluaXRlIGN0eC5k
cmF3SW1hZ2UoPHJlc3BvbnNlPiwgPDAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmlu
aXR5IC1JbmZpbml0eSBOYU4+LCA8MTAwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8NTAgSW5m
aW5pdHkgLUluZmluaXR5IE5hTj4sIDwwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MCBJbmZp
bml0eSAtSW5maW5pdHkgTmFOPiwgPDEwMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDUwIElu
ZmluaXR5IC1JbmZpbml0eSBOYU4+KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKLSAgICB9KTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBu
YW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMi5iYXNpYwogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEo
c3csIHNoKSBleGlzdHMgYW5kIHJldHVybnMgc29tZXRoaW5nCkBAIC00ODc1LDYgKzUxMTIsNyBA
QAogICAgIC0gMmQuaW1hZ2VEYXRhLmNyZWF0ZTIub2JqZWN0CiAgIGNvZGU6IHwKICAgICBAYXNz
ZXJ0IGN0eC5jcmVhdGVJbWFnZURhdGEoMSwgMSkgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTEuYmFzaWMKICAgZGVzYzogY3JlYXRlSW1hZ2VE
YXRhKGltZ2RhdGEpIGV4aXN0cyBhbmQgcmV0dXJucyBzb21ldGhpbmcKQEAgLTQ4ODIsNiArNTEy
MCw3IEBACiAgICAgLSAyZC5pbWFnZURhdGEuY3JlYXRlMS5vYmplY3QKICAgY29kZTogfAogICAg
IEBhc3NlcnQgY3R4LmNyZWF0ZUltYWdlRGF0YShjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpKSAh
PT0gbnVsbDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMi5p
bml0aWFsCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YShzdywgc2gpIHJldHVybnMgdHJhbnNwYXJl
bnQgYmxhY2sgZGF0YSBvZiB0aGUgcmlnaHQgc2l6ZQpAQCAtNDg5OSw2ICs1MTM4LDcgQEAKICAg
ICAgICAgaWYgKGltZ2RhdGEuZGF0YVtpXSAhPT0gMCkKICAgICAgICAgICAgIGlzVHJhbnNwYXJl
bnRCbGFjayA9IGZhbHNlOwogICAgIEBhc3NlcnQgaXNUcmFuc3BhcmVudEJsYWNrOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUxLmluaXRpYWwKICAgZGVzYzog
Y3JlYXRlSW1hZ2VEYXRhKGltZ2RhdGEpIHJldHVybnMgdHJhbnNwYXJlbnQgYmxhY2sgZGF0YSBv
ZiB0aGUgcmlnaHQgc2l6ZQpAQCAtNDkxOSw2ICs1MTU5LDcgQEAKICAgICAgICAgaWYgKGltZ2Rh
dGEyLmRhdGFbaV0gIT09IDApCiAgICAgICAgICAgICBpc1RyYW5zcGFyZW50QmxhY2sgPSBmYWxz
ZTsKICAgICBAYXNzZXJ0IGlzVHJhbnNwYXJlbnRCbGFjazsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5pbWFnZURhdGEuY3JlYXRlMi5sYXJnZQogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEo
c3csIHNoKSB3b3JrcyBmb3Igc2l6ZXMgbXVjaCBsYXJnZXIgdGhhbiB0aGUgY2FudmFzCkBAIC00
OTM0LDYgKzUxNzUsNyBAQAogICAgICAgICBpZiAoaW1nZGF0YS5kYXRhW2ldICE9PSAwKQogICAg
ICAgICAgICAgaXNUcmFuc3BhcmVudEJsYWNrID0gZmFsc2U7CiAgICAgQGFzc2VydCBpc1RyYW5z
cGFyZW50QmxhY2s7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0
ZTIubmVnYXRpdmUKICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKHN3LCBzaCkgdGFrZXMgdGhlIGFi
c29sdXRlIG1hZ25pdHVkZSBvZiB0aGUgc2l6ZSBhcmd1bWVudHMKQEAgLTQ5NDcsNiArNTE4OSw3
IEBACiAgICAgQGFzc2VydCBpbWdkYXRhMS5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTIuZGF0YS5s
ZW5ndGg7CiAgICAgQGFzc2VydCBpbWdkYXRhMi5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTMuZGF0
YS5sZW5ndGg7CiAgICAgQGFzc2VydCBpbWdkYXRhMy5kYXRhLmxlbmd0aCA9PT0gaW1nZGF0YTQu
ZGF0YS5sZW5ndGg7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0
ZTIuemVybwogICBkZXNjOiBjcmVhdGVJbWFnZURhdGEoc3csIHNoKSB0aHJvd3MgSU5ERVhfU0la
RV9FUlIgaWYgc2l6ZSBpcyB6ZXJvCkBAIC00OTU2LDYgKzUxOTksNyBAQAogICAgIEBhc3NlcnQg
dGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5jcmVhdGVJbWFnZURhdGEoMTAsIDApOwogICAgIEBh
c3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5jcmVhdGVJbWFnZURhdGEoMCwgMTApOwog
ICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5jcmVhdGVJbWFnZURhdGEoMCwg
MCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmNyZWF0ZTIubm9uZmlu
aXRlCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YSgpIHRocm93cyBUeXBlRXJyb3IgaWYgYXJndW1l
bnRzIGFyZSBub3QgZmluaXRlCkBAIC00OTY3LDYgKzUyMTEsNyBAQAogICAgICAgICBuZWdpbmZv
YmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4gLUluZmluaXR5OyB9IH0sCiAgICAg
ICAgIG5hbm9iaiA9IHsgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVybiAtSW5maW5pdHk7IH0g
fTsKICAgICBAbm9uZmluaXRlIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlSW1h
Z2VEYXRhKDwxMCBwb3NpbmZvYmogbmVnaW5mb2JqIG5hbm9iaj4sIDwxMCBwb3NpbmZvYmogbmVn
aW5mb2JqIG5hbm9iaj4pOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5j
cmVhdGUxLnplcm8KICAgZGVzYzogY3JlYXRlSW1hZ2VEYXRhKG51bGwpIHRocm93cyBUeXBlRXJy
b3IKQEAgLTQ5NzQsNiArNTIxOSw3IEBACiAgICAgLSAyZC5pbWFnZURhdGEuY3JlYXRlLm51bGwK
ICAgY29kZTogfAogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHguY3JlYXRlSW1hZ2VE
YXRhKG51bGwpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5jcmVhdGUy
LnJvdW5kCiAgIGRlc2M6IGNyZWF0ZUltYWdlRGF0YSh3LCBoKSBpcyByb3VuZGVkIHRoZSBzYW1l
IGFzIGdldEltYWdlRGF0YSgwLCAwLCB3LCBoKQpAQCAtNDk4NCw2ICs1MjMwLDcgQEAKICAgICB2
YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLjAxLCAxMC45OSk7CiAgICAg
QGFzc2VydCBpbWdkYXRhMS53aWR0aCA9PT0gaW1nZGF0YTIud2lkdGg7CiAgICAgQGFzc2VydCBp
bWdkYXRhMS5oZWlnaHQgPT09IGltZ2RhdGEyLmhlaWdodDsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5pbWFnZURhdGEuZ2V0LmJhc2ljCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIGV4aXN0
cyBhbmQgcmV0dXJucyBzb21ldGhpbmcKQEAgLTQ5OTEsNiArNTIzOCw3IEBACiAgICAgLSAyZC5p
bWFnZURhdGEuZ2V0LmJhc2ljCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5nZXRJbWFnZURh
dGEoMCwgMCwgMTAwLCA1MCkgIT09IG51bGw7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLmdldC56ZXJvCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHRocm93cyBJTkRFWF9T
SVpFX0VSUiBpZiBzaXplIGlzIHplcm8KQEAgLTUwMDAsNiArNTI0OCw3IEBACiAgICAgQGFzc2Vy
dCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAxMCwgMCk7CiAg
ICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmdldEltYWdlRGF0YSgxLCAxLCAw
LCAxMCk7CiAgICAgQGFzc2VydCB0aHJvd3MgSU5ERVhfU0laRV9FUlIgY3R4LmdldEltYWdlRGF0
YSgxLCAxLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0
Lm5vbmZpbml0ZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlmIGFy
Z3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtNTAxMSw2ICs1MjYwLDcgQEAKICAgICAgICAgbmVn
aW5mb2JqID0geyB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIC1JbmZpbml0eTsgfSB9LAog
ICAgICAgICBuYW5vYmogPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4gLUluZmluaXR5
OyB9IH07CiAgICAgQG5vbmZpbml0ZSBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LmdldElt
YWdlRGF0YSg8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5l
Z2luZm9iaiBuYW5vYmo+LCA8MTAgcG9zaW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+LCA8MTAgcG9z
aW5mb2JqIG5lZ2luZm9iaiBuYW5vYmo+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5p
bWFnZURhdGEuZ2V0LnNvdXJjZS5vdXRzaWRlCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVy
bnMgdHJhbnNwYXJlbnQgYmxhY2sgb3V0c2lkZSB0aGUgY2FudmFzCkBAIC01MDcxLDYgKzUzMjEs
NyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTcuZGF0YVsyMCo0KzFdID09PSAwOwogICAgIEBhc3Nl
cnQgaW1nZGF0YTcuZGF0YVsyMCo0KzJdID09PSAwOwogICAgIEBhc3NlcnQgaW1nZGF0YTcuZGF0
YVsyMCo0KzNdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5n
ZXQuc291cmNlLm5lZ2F0aXZlCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHdvcmtzIHdpdGggbmVn
YXRpdmUgd2lkdGggYW5kIGhlaWdodCwgYW5kIHJldHVybnMgdG9wLXRvLWJvdHRvbSBsZWZ0LXRv
LXJpZ2h0CkBAIC01MDk2LDYgKzUzNDcsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YTIuZGF0YVsx
XSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMl0gPT09IDA7CiAgICAgQGFzc2Vy
dCBpbWdkYXRhMi5kYXRhWzNdID09PSAwOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmlt
YWdlRGF0YS5nZXQuc291cmNlLnNpemUKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBi
aWdnZXIgSW1hZ2VEYXRhIGZvciBiaWdnZXIgc291cmNlIHJlY3RhbmdsZQpAQCAtNTEwNiw2ICs1
MzU4LDcgQEAKICAgICB2YXIgaW1nZGF0YTIgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDIwLCAy
MCk7CiAgICAgQGFzc2VydCBpbWdkYXRhMi53aWR0aCA+IGltZ2RhdGExLndpZHRoOwogICAgIEBh
c3NlcnQgaW1nZGF0YTIuaGVpZ2h0ID4gaW1nZGF0YTEuaGVpZ2h0OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5nZXQudGlueQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSB3
b3JrcyBmb3Igc2l6ZXMgc21hbGxlciB0aGFuIG9uZSBwaXhlbApAQCAtNTExNiw2ICs1MzY5LDcg
QEAKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YS5sZW5ndGggPT09IGltZ2RhdGEud2lkdGgqaW1n
ZGF0YS5oZWlnaHQqNDsKICAgICBAYXNzZXJ0IGltZ2RhdGEud2lkdGggPT09IDE7CiAgICAgQGFz
c2VydCBpbWdkYXRhLmhlaWdodCA9PT0gMTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5p
bWFnZURhdGEuZ2V0Lm5vbnByZW11bAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1cm5zIG5v
bi1wcmVtdWx0aXBsaWVkIGNvbG91cnMKQEAgLTUxMzAsNiArNTM4NCw3IEBACiAgICAgQGFzc2Vy
dCBpbWdkYXRhLmRhdGFbMl0gPiAyMDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPiAx
MDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbM10gPCAyMDA7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5yYW5nZQogICBkZXNjOiBnZXRJbWFnZURhdGEoKSBy
ZXR1cm5zIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzAsIDI1NV0KQEAgLTUxNDUsNiArNTQwMCw3IEBA
CiAgICAgQGFzc2VydCBpbWdkYXRhMS5kYXRhWzBdID09PSAwOwogICAgIHZhciBpbWdkYXRhMiA9
IGN0eC5nZXRJbWFnZURhdGEoMzAsIDE1LCAxLCAxKTsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRh
dGFbMF0gPT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0
LmNsYW1wCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIGNsYW1wcyBjb2xvdXJzIHRvIHRoZSByYW5n
ZSBbMCwgMjU1XQpAQCAtNTE2Myw2ICs1NDE5LDcgQEAKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRh
dGFbMF0gPT09IDI1NTsKICAgICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMV0gPT09IDI1NTsKICAg
ICBAYXNzZXJ0IGltZ2RhdGEyLmRhdGFbMl0gPT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5pbWFnZURhdGEuZ2V0Lmxlbmd0aAogICBkZXNjOiBnZXRJbWFnZURhdGEoKSByZXR1
cm5zIGEgY29ycmVjdGx5LXNpemVkIFVpbnQ4Q2xhbXBlZEFycmF5CkBAIC01MTcxLDYgKzU0Mjgs
NyBAQAogICBjb2RlOiB8CiAgICAgdmFyIGltZ2RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAs
IDEwLCAxMCk7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGEubGVuZ3RoID09PSBpbWdkYXRhLndp
ZHRoKmltZ2RhdGEuaGVpZ2h0KjQ7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VE
YXRhLmdldC5vcmRlci5jb2xzCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgbGVmdG1v
c3QgY29sdW1ucyBmaXJzdApAQCAtNTE4NSw2ICs1NDQzLDcgQEAKICAgICBAYXNzZXJ0IGltZ2Rh
dGEuZGF0YVswXSA9PT0gMDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVtNYXRoLnJvdW5kKGlt
Z2RhdGEud2lkdGgvMio0KV0gPT09IDI1NTsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVtNYXRo
LnJvdW5kKChpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjQpXSA9PT0gMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0Lm9yZGVyLnJvd3MKICAgZGVzYzog
Z2V0SW1hZ2VEYXRhKCkgcmV0dXJucyB0b3Btb3N0IHJvd3MgZmlyc3QKQEAgLTUxOTksNiArNTQ1
OCw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CiAgICAgQGFzc2VydCBp
bWdkYXRhLmRhdGFbTWF0aC5mbG9vcihpbWdkYXRhLndpZHRoLzIqNCldID09PSAwOwogICAgIEBh
c3NlcnQgaW1nZGF0YS5kYXRhWyhpbWdkYXRhLmhlaWdodC8yKSppbWdkYXRhLndpZHRoKjRdID09
PSAyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLmdldC5vcmRlci5y
Z2IKICAgZGVzYzogZ2V0SW1hZ2VEYXRhKCkgcmV0dXJucyBSIHRoZW4gRyB0aGVuIEIKQEAgLTUy
MTcsNiArNTQ3Nyw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbNV0gPT09IDB4ODg7CiAg
ICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbNl0gPT09IDB4Q0M7CiAgICAgQGFzc2VydCBpbWdkYXRh
LmRhdGFbN10gPT09IDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEu
Z2V0Lm9yZGVyLmFscGhhCiAgIGRlc2M6IGdldEltYWdlRGF0YSgpIHJldHVybnMgQSBpbiB0aGUg
Zm91cnRoIGNvbXBvbmVudApAQCAtNTIyOCw2ICs1NDg5LDcgQEAKICAgICB2YXIgaW1nZGF0YSA9
IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0
YVszXSA8IDIwMDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVszXSA+IDEwMDsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEuZ2V0LnVuYWZmZWN0ZWQKICAgZGVzYzogZ2V0
SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNvbnRleHQgc3RhdGUKQEAgLTUyNTAsNiAr
NTUxMiw3IEBACiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCA1MCwgMCk7CiAgICAgQGFz
c2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA3NSwy
NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1lOiAyZC5pbWFnZURh
dGEub2JqZWN0LnByb3BlcnRpZXMKQEAgLTUyNjEsNiArNTUyNCw3IEBACiAgICAgQGFzc2VydCB0
eXBlb2YoaW1nZGF0YS53aWR0aCkgPT09ICdudW1iZXInOwogICAgIEBhc3NlcnQgdHlwZW9mKGlt
Z2RhdGEuaGVpZ2h0KSA9PT0gJ251bWJlcic7CiAgICAgQGFzc2VydCB0eXBlb2YoaW1nZGF0YS5k
YXRhKSA9PT0gJ29iamVjdCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRh
Lm9iamVjdC5yZWFkb25seQogICBkZXNjOiBJbWFnZURhdGEgb2JqZWN0cyBwcm9wZXJ0aWVzIGFy
ZSByZWFkLW9ubHkKQEAgLTUyODEsNiArNTU0NSw3IEBACiAgICAgQGFzc2VydCBpbWdkYXRhLmRh
dGFbMV0gPT09IDA7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMl0gPT09IDA7CiAgICAgQGFz
c2VydCBpbWdkYXRhLmRhdGFbM10gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLm9iamVjdC5zZXQKICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY2FuIGJlIG1vZGlm
aWVkCkBAIC01MjkyLDYgKzU1NTcsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09
PSAxMDA7CiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMjAwOwogICAgIEBhc3NlcnQgaW1nZGF0YS5k
YXRhWzBdID09PSAyMDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9i
amVjdC51bmRlZmluZWQKICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgY29udmVydHMgdW5kZWZpbmVk
IHRvIDAKQEAgLTUzMDIsNiArNTU2OCw3IEBACiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwog
ICAgIGltZ2RhdGEuZGF0YVswXSA9IHVuZGVmaW5lZDsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0
YVswXSA9PT0gMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0
Lm5hbgogICBkZXNjOiBJbWFnZURhdGEuZGF0YSBjb252ZXJ0cyBOYU4gdG8gMApAQCAtNTMxNSw2
ICs1NTgyLDcgQEAKICAgICBpbWdkYXRhLmRhdGFbMF0gPSAxMDA7CiAgICAgaW1nZGF0YS5kYXRh
WzBdID0gImNoZWVzZSI7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0gPT09IDA7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLm9iamVjdC5zdHJpbmcKICAgZGVzYzog
SW1hZ2VEYXRhLmRhdGEgY29udmVydHMgc3RyaW5ncyB0byBudW1iZXJzIHdpdGggVG9OdW1iZXIK
QEAgLTUzMzEsNiArNTU5OSw3IEBACiAgICAgaW1nZGF0YS5kYXRhWzBdID0gMTAwOwogICAgIGlt
Z2RhdGEuZGF0YVswXSA9ICIgKzEzMGUwICI7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFbMF0g
PT09IDEzMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEub2JqZWN0LmNs
YW1wCiAgIGRlc2M6IEltYWdlRGF0YS5kYXRhIGNsYW1wcyBudW1iZXJzIHRvIFswLCAyNTVdCkBA
IC01MzYyLDYgKzU2MzEsNyBAQAogICAgIGltZ2RhdGEuZGF0YVswXSA9IDEwMDsKICAgICBpbWdk
YXRhLmRhdGFbMF0gPSBJbmZpbml0eTsKICAgICBAYXNzZXJ0IGltZ2RhdGEuZGF0YVswXSA9PT0g
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5vYmplY3Qucm91bmQK
ICAgZGVzYzogSW1hZ2VEYXRhLmRhdGEgcm91bmRzIG51bWJlcnMgd2l0aCByb3VuZC10by16ZXJv
CkBAIC01Mzk3LDYgKzU2NjcsNyBAQAogICAgIEBhc3NlcnQgaW1nZGF0YS5kYXRhWzBdID09PSAw
OwogICAgIGltZ2RhdGEuZGF0YVswXSA9IC0xLjU7CiAgICAgQGFzc2VydCBpbWdkYXRhLmRhdGFb
MF0gPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5udWxs
CiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIHdpdGggbnVsbCBpbWFnZWRhdGEgdGhyb3dzIFR5cGVF
cnJvcgpAQCAtNTQwNCw2ICs1Njc1LDcgQEAKICAgICAtIDJkLmltYWdlRGF0YS5wdXQud3Jvbmd0
eXBlCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdl
RGF0YShudWxsLCAwLCAwKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEu
cHV0Lm5vbmZpbml0ZQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSB0aHJvd3MgVHlwZUVycm9yIGlm
IGFyZ3VtZW50cyBhcmUgbm90IGZpbml0ZQpAQCAtNTQxMyw2ICs1Njg1LDcgQEAKICAgICB2YXIg
aW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMTAsIDEwKTsKICAgICBAbm9uZmluaXRl
IEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHgucHV0SW1hZ2VEYXRhKDxpbWdkYXRhPiwgPDEw
IEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4pOwog
ICAgIEBub25maW5pdGUgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGN0eC5wdXRJbWFnZURhdGEo
PGltZ2RhdGE+LCA8MTAgSW5maW5pdHkgLUluZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5m
aW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1JbmZpbml0eSBOYU4+LCA8MTAgSW5maW5pdHkgLUlu
ZmluaXR5IE5hTj4sIDwxMCBJbmZpbml0eSAtSW5maW5pdHkgTmFOPiwgPDEwIEluZmluaXR5IC1J
bmZpbml0eSBOYU4+KTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0
LmJhc2ljCiAgIGRlc2M6IHB1dEltYWdlRGF0YSgpIHB1dHMgaW1hZ2UgZGF0YSBmcm9tIGdldElt
YWdlRGF0YSgpIG9udG8gdGhlIGNhbnZhcwpAQCAtNTQyNyw2ICs1NzAwLDcgQEAKICAgICBjdHgu
ZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAs
IDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuY3JlYXRlZAogICBkZXNjOiBwdXRJbWFn
ZURhdGEoKSBwdXRzIGltYWdlIGRhdGEgZnJvbSBjcmVhdGVJbWFnZURhdGEoKSBvbnRvIHRoZSBj
YW52YXMKQEAgLTU0NDQsNiArNTcxOCw3IEBACiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApCiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5p
bWFnZURhdGEucHV0Lndyb25ndHlwZQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBkb2VzIG5vdCBh
Y2NlcHQgbm9uLUltYWdlRGF0YSBvYmplY3RzCkBAIC01NDU0LDYgKzU3MjksNyBAQAogICAgIEBh
c3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDAsIDApOwog
ICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBjdHgucHV0SW1hZ2VEYXRhKCJjaGVlc2UiLCAw
LCAwKTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnB1dEltYWdlRGF0YSg0Miwg
MCwgMCk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5jcm9zcwog
ICBkZXNjOiBwdXRJbWFnZURhdGEoKSBhY2NlcHRzIGltYWdlIGRhdGEgZ290IGZyb20gYSBkaWZm
ZXJlbnQgY2FudmFzCkBAIC01NDY5LDYgKzU3NDUsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAw
LCAxMDAsIDUwKQogICAgIGN0eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCk7CiAgICAgQGFz
c2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuaW1hZ2VEYXRhLnB1dC5hbHBoYQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBwdXRzIG5v
bi1zb2xpZCBpbWFnZSBkYXRhIGNvcnJlY3RseQpAQCAtNTQ4Miw2ICs1NzU5LDcgQEAKICAgICBj
dHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCkKICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEs
IDAsIDApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT1+IDAsMjU1LDAsNjQ7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5tb2RpZmllZAogICBkZXNjOiBwdXRJ
bWFnZURhdGEoKSBwdXRzIG1vZGlmaWVkIGltYWdlIGRhdGEgY29ycmVjdGx5CkBAIC01NTAwLDYg
KzU3NzgsNyBAQAogICAgIH0KICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ2RhdGEsIDQ1LCAyMCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS56ZXJvCiAgIGRlc2M6IHB1dEltYWdl
RGF0YSgpIHdpdGggemVyby1zaXplZCBkaXJ0eSByZWN0YW5nbGUgcHV0cyBub3RoaW5nCkBAIC01
NTEzLDYgKzU3OTIsNyBAQAogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKQogICAgIGN0
eC5wdXRJbWFnZURhdGEoaW1nZGF0YSwgMCwgMCwgMCwgMCwgMCwgMCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
aW1hZ2VEYXRhLnB1dC5kaXJ0eS5yZWN0MQogICBkZXNjOiBwdXRJbWFnZURhdGEoKSBvbmx5IG1v
ZGlmaWVzIGFyZWFzIGluc2lkZSB0aGUgZGlydHkgcmVjdGFuZ2xlLCB1c2luZyB3aWR0aCBhbmQg
aGVpZ2h0CkBAIC01NTM0LDYgKzU4MTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNjUsMjUgPT1+
IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMTUgPT1+IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDUgPT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmltYWdlRGF0YS5wdXQuZGlydHkucmVjdDIKICAgZGVzYzogcHV0SW1hZ2VE
YXRhKCkgb25seSBtb2RpZmllcyBhcmVhcyBpbnNpZGUgdGhlIGRpcnR5IHJlY3RhbmdsZSwgdXNp
bmcgeCBhbmQgeQpAQCAtNTU1NSw2ICs1ODM2LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDY1LDI1
ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDE1ID09fiAwLDI1NSwwLDI1
NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmRpcnR5Lm5lZ2F0aXZlCiAgIGRlc2M6IHB1
dEltYWdlRGF0YSgpIGhhbmRsZXMgbmVnYXRpdmUtc2l6ZWQgZGlydHkgcmVjdGFuZ2xlcyBjb3Jy
ZWN0bHkKQEAgLTU1NzYsNiArNTg1OCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA2NSwyNSA9PX4g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwxNSA9PX4gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA1MCw0NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC5kaXJ0eS5vdXRzaWRlCiAgIGRlc2M6IHB1dEltYWdl
RGF0YSgpIGhhbmRsZXMgZGlydHkgcmVjdGFuZ2xlcyBvdXRzaWRlIHRoZSBjYW52YXMgY29ycmVj
dGx5CkBAIC01NTk4LDYgKzU4ODEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw1ID09fiAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgMSw0NSA9PX4gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQuaW1hZ2VEYXRhLnB1dC51bmNoYW5nZWQKICAgZGVzYzogcHV0SW1hZ2VEYXRhKGdldElt
YWdlRGF0YSguLi4pLCAuLi4pIGhhcyBubyBlZmZlY3QKQEAgLTU2MjAsNiArNTkwNCw3IEBACiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbWdkYXRhMi5kYXRhLmxlbmd0aDsgKytpKSB7CiAgICAg
ICAgIEBhc3NlcnQgb2xkZGF0YVtpXSA9PT0gaW1nZGF0YTIuZGF0YVtpXTsKICAgICB9CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQuaW1hZ2VEYXRhLnB1dC51bmFmZmVjdGVkCiAgIGRlc2M6
IHB1dEltYWdlRGF0YSgpIGlzIG5vdCBhZmZlY3RlZCBieSBjb250ZXh0IHN0YXRlCkBAIC01NjM5
LDYgKzU5MjQsNyBAQAogICAgIGN0eC5zY2FsZSgwLjEsIDAuMSk7CiAgICAgY3R4LnB1dEltYWdl
RGF0YShpbWdkYXRhLCAwLCAwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09fiAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5pbWFnZURhdGEucHV0LmNsaXAKICAg
ZGVzYzogcHV0SW1hZ2VEYXRhKCkgaXMgbm90IGFmZmVjdGVkIGJ5IGNsaXBwaW5nIHJlZ2lvbnMK
QEAgLTU2NTYsNiArNTk0Miw3IEBACiAgICAgY3R4LnB1dEltYWdlRGF0YShpbWdkYXRhLCAwLCAw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5pbWFnZURhdGEucHV0LnBhdGgKICAgZGVzYzogcHV0SW1hZ2VEYXRhKCkgZG9lcyBub3QgYWZm
ZWN0IHRoZSBjdXJyZW50IHBhdGgKQEAgLTU2NzAsNiArNTk1Nyw3IEBACiAgICAgY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT1+IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuZGVmYXVs
dHMKICAgdGVzdGluZzoKQEAgLTU2ODIsNiArNTk3MCw3IEBACiAgICAgQGFzc2VydCBjdHgubGlu
ZUNhcCA9PT0gJ2J1dHQnOwogICAgIEBhc3NlcnQgY3R4LmxpbmVKb2luID09PSAnbWl0ZXInOwog
ICAgIEBhc3NlcnQgY3R4Lm1pdGVyTGltaXQgPT09IDEwOworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLmxpbmUud2lkdGguYmFzaWMKICAgZGVzYzogbGluZVdpZHRoIGRldGVybWluZXMgdGhl
IHdpZHRoIG9mIGxpbmUgc3Ryb2tlcwpAQCAtNTcyMSw2ICs2MDEwLDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDg0LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODUsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4NiwyNSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkCiAgIGRlc2M6
IExpbmUgc3Ryb2tlIHdpZHRocyBhcmUgYWZmZWN0ZWQgYnkgc2NhbGUgdHJhbnNmb3JtYXRpb25z
CkBAIC01NzY2LDYgKzYwNTYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODQsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4NSwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDg2LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLmxpbmUud2lkdGguc2NhbGVkZWZhdWx0CiAgIGRlc2M6IERlZmF1bHQgbGluZVdpZHRoIHN0
cm9rZXMgYXJlIGFmZmVjdGVkIGJ5IHNjYWxlIHRyYW5zZm9ybWF0aW9ucwpAQCAtNTc4NCw2ICs2
MDc1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUud2lkdGgu
dmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lV2lkdGggdG8gdmFsaWQgdmFsdWVzIHdvcmtzCkBA
IC01Nzk5LDYgKzYwOTEsNyBAQAogICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9PT0gMS8xMDI0
OwogICAgIGN0eC5saW5lV2lkdGggPSAxMDAwOwogICAgIEBhc3NlcnQgY3R4LmxpbmVXaWR0aCA9
PT0gMTAwMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLndpZHRoLmludmFsaWQK
ICAgZGVzYzogU2V0dGluZyBsaW5lV2lkdGggdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApA
QCAtNTgyMiw2ICs2MTE1LDcgQEAKICAgICBjdHgubGluZVdpZHRoID0gMS41OwogICAgIGN0eC5s
aW5lV2lkdGggPSBOYU47CiAgICAgQGFzc2VydCBjdHgubGluZVdpZHRoID09PSAxLjU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuYnV0dAogICBkZXNjOiBsaW5lQ2FwICdi
dXR0JyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTU4NTgsNiArNjE1Miw3IEBACiAgICAgQGFz
c2VydCBwaXhlbCA3NSwzNCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDc1LDM1
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzYgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAucm91bmQKICAgZGVzYzogbGlu
ZUNhcCAncm91bmQnIGlzIHJlbmRlcmVkIGNvcnJlY3RseQpAQCAtNTkwMyw2ICs2MTk4LDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDY3LDQzID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgNzUsNDMgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4Miw0MyA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmNhcC5zcXVhcmUKICAg
ZGVzYzogbGluZUNhcCAnc3F1YXJlJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTU5MzksNiAr
NjIzNSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSw0NCA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDc1LDQ1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUs
NDYgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAu
b3BlbgogICBkZXNjOiBMaW5lIGNhcHMgYXJlIGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVu
Y2xvc2VkIHJlY3RhbmdsZQpAQCAtNTk2Miw2ICs2MjU5LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVs
IDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuY2xvc2VkCiAgIGRlc2M6IExpbmUgY2FwcyBhcmUg
bm90IGRyYXduIGF0IHRoZSBjb3JuZXJzIG9mIGFuIHVuY2xvc2VkIHJlY3RhbmdsZQpAQCAtNTk4
NSw2ICs2MjgzLDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDEgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCA0OCw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDEsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5j
YXAudmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lQ2FwIHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpA
QCAtNTk5OCw2ICs2Mjk3LDcgQEAKICAgICBAYXNzZXJ0IGN0eC5saW5lQ2FwID09PSAncm91bmQn
OwogICAgIGN0eC5saW5lQ2FwID0gJ3NxdWFyZSc7CiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9
PT0gJ3NxdWFyZSc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5jYXAuaW52YWxp
ZAogICBkZXNjOiBTZXR0aW5nIGxpbmVDYXAgdG8gaW52YWxpZCB2YWx1ZXMgaXMgaWdub3JlZApA
QCAtNjAyNCw2ICs2MzI0LDcgQEAKICAgICBjdHgubGluZUNhcCA9ICdidXR0JzsKICAgICBjdHgu
bGluZUNhcCA9ICdiZXZlbCc7CiAgICAgQGFzc2VydCBjdHgubGluZUNhcCA9PT0gJ2J1dHQnOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuam9pbi5iZXZlbAogICBkZXNjOiBsaW5l
Sm9pbiAnYmV2ZWwnIGlzIHJlbmRlcmVkIGNvcnJlY3RseQpAQCAtNjA3NCw2ICs2Mzc1LDcgQEAK
ICAgICBAYXNzZXJ0IHBpeGVsIDg1LDE1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgODYsMTUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4NiwxNCA9PSAwLDI1
NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLmpvaW4ucm91bmQKICAg
ZGVzYzogbGluZUpvaW4gJ3JvdW5kJyBpcyByZW5kZXJlZCBjb3JyZWN0bHkKQEAgLTYxMjEsNiAr
NjQyMyw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA4NywxMyA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDg4LDEzID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgODgs
MTIgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubGluZS5qb2lu
Lm1pdGVyCiAgIGRlc2M6IGxpbmVKb2luICdtaXRlcicgaXMgcmVuZGVyZWQgY29ycmVjdGx5CkBA
IC02MTYxLDYgKzY0NjQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTAsMTAgPT0gMCwyNTUsMCwy
NTU7CiAgICAgQGFzc2VydCBwaXhlbCA5MSw5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQg
cGl4ZWwgOTIsOCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5s
aW5lLmpvaW4ub3BlbgogICBkZXNjOiBMaW5lIGpvaW5zIGFyZSBub3QgZHJhd24gYXQgdGhlIGNv
cm5lciBvZiBhbiB1bmNsb3NlZCByZWN0YW5nbGUKQEAgLTYxODMsNiArNjQ4Nyw3IEBACiAgICAg
QGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgs
NDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUuam9pbi5jbG9zZWQKICAgZGVzYzog
TGluZSBqb2lucyBhcmUgZHJhd24gYXQgdGhlIGNvcm5lciBvZiBhIGNsb3NlZCByZWN0YW5nbGUK
QEAgLTYyMDUsNiArNjUxMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2Vy
dCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LmxpbmUuam9pbi5wYXJhbGxlbAogICBkZXNjOiBMaW5lIGpvaW5zIGFyZSBkcmF3biBhdCAxODAt
ZGVncmVlIGpvaW5zCkBAIC02MjI1LDYgKzY1MzEsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNDgs
MSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5saW5lLmpvaW4udmFsaWQKICAgZGVzYzogU2V0dGluZyBsaW5lSm9pbiB0
byB2YWxpZCB2YWx1ZXMgd29ya3MKQEAgLTYyMzgsNiArNjU0NSw3IEBACiAgICAgQGFzc2VydCBj
dHgubGluZUpvaW4gPT09ICdyb3VuZCc7CiAgICAgY3R4LmxpbmVKb2luID0gJ21pdGVyJzsKICAg
ICBAYXNzZXJ0IGN0eC5saW5lSm9pbiA9PT0gJ21pdGVyJzsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5saW5lLmpvaW4uaW52YWxpZAogICBkZXNjOiBTZXR0aW5nIGxpbmVKb2luIHRvIGlu
dmFsaWQgdmFsdWVzIGlzIGlnbm9yZWQKQEAgLTYyNjQsNiArNjU3Miw3IEBACiAgICAgY3R4Lmxp
bmVKb2luID0gJ2JldmVsJzsKICAgICBjdHgubGluZUpvaW4gPSAnYnV0dCc7CiAgICAgQGFzc2Vy
dCBjdHgubGluZUpvaW4gPT09ICdiZXZlbCc7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
bGluZS5taXRlci5leGNlZWRlZAogICBkZXNjOiBNaXRlciBqb2lucyBhcmUgbm90IGRyYXduIHdo
ZW4gdGhlIG1pdGVyIGxpbWl0IGlzIGV4Y2VlZGVkCkBAIC02Mjg2LDYgKzY1OTUsNyBAQAogICAg
IEBhc3NlcnQgcGl4ZWwgNDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4
LDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1
NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLmFjdXRlCiAgIGRlc2M6
IE1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0aCBhY3V0ZSBhbmdsZXMKQEAgLTYz
MTUsNiArNjYyNSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhl
bCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUu
bWl0ZXIub2J0dXNlCiAgIGRlc2M6IE1pdGVyIGpvaW5zIGFyZSBkcmF3biBjb3JyZWN0bHkgd2l0
aCBvYnR1c2UgYW5nbGVzCkBAIC02MzQ0LDYgKzY2NTUsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
NDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLnJpZ2h0YW5nbGUKICAgZGVzYzogTWl0ZXIgam9p
bnMgYXJlIG5vdCBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBleGNlZWRlZCwgb24gZXhh
Y3QgcmlnaHQgYW5nbGVzCkBAIC02MzY1LDYgKzY2NzcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
NDgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDQ4LDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5saW5lLm1pdGVyLmxpbmVlZGdlCiAgIGRlc2M6IE1pdGVyIGpvaW5z
IGFyZSBub3QgZHJhd24gd2hlbiB0aGUgbWl0ZXIgbGltaXQgaXMgZXhjZWVkZWQgYXQgdGhlIGNv
cm5lcnMgb2YgYSB6ZXJvLWhlaWdodCByZWN0YW5nbGUKQEAgLTYzODMsNiArNjY5Niw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
NDgsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIud2l0aGluCiAgIGRl
c2M6IE1pdGVyIGpvaW5zIGFyZSBkcmF3biB3aGVuIHRoZSBtaXRlciBsaW1pdCBpcyBub3QgcXVp
dGUgZXhjZWVkZWQKQEAgLTY0MDQsNiArNjcxOCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA0OCwx
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmxpbmUubWl0ZXIudmFsaWQKICAgZGVzYzogU2V0dGluZyBtaXRlckxpbWl0
IHRvIHZhbGlkIHZhbHVlcyB3b3JrcwpAQCAtNjQxOSw2ICs2NzM0LDcgQEAKICAgICBAYXNzZXJ0
IGN0eC5taXRlckxpbWl0ID09PSAxLzEwMjQ7CiAgICAgY3R4Lm1pdGVyTGltaXQgPSAxMDAwOwog
ICAgIEBhc3NlcnQgY3R4Lm1pdGVyTGltaXQgPT09IDEwMDA7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQubGluZS5taXRlci5pbnZhbGlkCiAgIGRlc2M6IFNldHRpbmcgbWl0ZXJMaW1pdCB0
byBpbnZhbGlkIHZhbHVlcyBpcyBpZ25vcmVkCkBAIC02NDQyLDYgKzY3NTgsNyBAQAogICAgIGN0
eC5taXRlckxpbWl0ID0gMS41OwogICAgIGN0eC5taXRlckxpbWl0ID0gTmFOOwogICAgIEBhc3Nl
cnQgY3R4Lm1pdGVyTGltaXQgPT09IDEuNTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5s
aW5lLmNyb3NzCiAgIGNvZGU6IHwKQEAgLTY0NTksNiArNjc3Niw3IEBACiAgICAgQGFzc2VydCBw
aXhlbCA0OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLmxpbmUudW5pb24KICAgY29kZTogfApAQCAtNjQ3OSw2ICs2
Nzk3LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCAyNSwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNDgsNDgg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pbml0aWFs
CiAgIHRlc3Rpbmc6CkBAIC02NDkwLDYgKzY4MDksNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYmVnaW5QYXRoCiAgIHRl
c3Rpbmc6CkBAIC02NTAyLDYgKzY4MjIsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubW92ZVRvLmJhc2ljCiAgIHRlc3Rp
bmc6CkBAIC02NTE3LDYgKzY4MzgsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAg
ICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubW92ZVRvLm5ld3N1YnBhdGgKICAgdGVz
dGluZzoKQEAgLTY1MzIsNiArNjg1NCw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5tb3ZlVG8ubXVsdGlwbGUKICAgdGVz
dGluZzoKQEAgLTY1NDcsNiArNjg3MCw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDUwOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgubW92ZVRvLm5vbmZpbml0ZQogICBkZXNj
OiBtb3ZlVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkCkBAIC02NTYxLDYgKzY4ODUs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguY2xvc2VQYXRoLmVtcHR5CiAgIHRlc3Rpbmc6CkBAIC02NTcyLDYgKzY4OTcs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGwoKTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5h
bWU6IDJkLnBhdGguY2xvc2VQYXRoLm5ld2xpbmUKICAgdGVzdGluZzoKQEAgLTY1ODgsNiArNjkx
NCw3IEBACiAgICAgY3R4LmNsb3NlUGF0aCgpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguY2xvc2VQYXRoLm5leHRwb2ludAogICB0ZXN0aW5nOgpAQCAtNjYwMyw2ICs2OTMw
LDcgQEAKICAgICBjdHgubGluZVRvKDEwMDAsIDI1KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmxpbmVUby5lbnN1cmVzdWJwYXRoLjEKICAgZGVzYzogSWYgdGhlcmUgaXMg
bm8gc3VicGF0aCwgdGhlIHBvaW50IGlzIGFkZGVkIGFuZCBub3RoaW5nIGlzIGRyYXduCkBAIC02
NjE4LDYgKzY5NDYsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCA1MCk7CiAgICAgY3R4LnN0cm9r
ZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8uZW5zdXJlc3VicGF0aC4yCiAgIGRlc2M6IElm
IHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBwb2ludCBpcyBhZGRlZCBhbmQgdXNlZCBmb3Igc3Vi
c2VxdWVudCBkcmF3aW5nCkBAIC02NjM0LDYgKzY5NjMsNyBAQAogICAgIGN0eC5saW5lVG8oMTAw
LCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5saW5lVG8uYmFzaWMK
ICAgdGVzdGluZzoKQEAgLTY2NDgsNiArNjk3OCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDI1
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmxpbmVUby5uZXh0cG9pbnQK
ICAgdGVzdGluZzoKQEAgLTY2NjMsNiArNjk5NCw3IEBACiAgICAgY3R4LmxpbmVUbygxMDAsIDI1
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmxpbmVUby5ub25maW5pdGUK
ICAgZGVzYzogbGluZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApAQCAtNjY3OCw2
ICs3MDEwLDcgQEAKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0NSA9PSAwLDI1NSwwLDI1NTsKKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmxpbmVUby5ub25maW5pdGUuZGV0YWlscwog
ICBkZXNjOiBsaW5lVG8oKSB3aXRoIEluZmluaXR5L05hTiBmb3IgZmlyc3QgYXJnIHN0aWxsIGNv
bnZlcnRzIHRoZSBzZWNvbmQgYXJnCkBAIC02Njg5LDYgKzcwMjIsNyBAQAogICAgICAgY3R4Lmxp
bmVUbyhhcmcxLCB7IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyBjb252ZXJ0ZWQgPSB0cnVlOyByZXR1
cm4gMDsgfSB9KTsKICAgICAgIEBhc3NlcnQgY29udmVydGVkOwogICAgIH0KKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8uZW5zdXJlc3VicGF0aC4xCiAg
IGRlc2M6IElmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlz
IGFkZGVkIChhbmQgbm90aGluZyBpcyBkcmF3biB1cCB0byBpdCkKQEAgLTY3MDUsNiArNzAzOSw3
IEBACiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUs
MCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PSAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5xdWFkcmF0aWNDdXJ2ZVRvLmVuc3Vy
ZXN1YnBhdGguMgogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29u
dHJvbCBwb2ludCBpcyBhZGRlZApAQCAtNjcyMSw2ICs3MDU2LDcgQEAKICAgICBjdHguc3Ryb2tl
KCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0
IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5iYXNpYwogICB0ZXN0aW5nOgpAQCAtNjcz
NSw2ICs3MDcxLDcgQEAKICAgICBjdHgucXVhZHJhdGljQ3VydmVUbygxMDAsIDI1LCAxMDAsIDI1
KTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnF1YWRyYXRpY0N1cnZlVG8u
c2hhcGUKICAgdGVzdGluZzoKQEAgLTY3NTMsNiArNzA5MCw3IEBACiAgICAgQGFzc2VydCBwaXhl
bCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9u
ZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5zY2FsZWQKICAgdGVzdGlu
ZzoKQEAgLTY3NzIsNiArNzExMCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1
LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGgucXVhZHJhdGljQ3VydmVUby5ub25maW5pdGUKICAgZGVzYzogcXVhZHJhdGljQ3Vy
dmVUbygpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTY3ODcsNiArNzEyNiw3IEBA
CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMQogICBkZXNj
OiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRl
ZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpCkBAIC02ODAzLDYgKzcxNDMsNyBAQAog
ICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1
OwogICAgIEBhc3NlcnQgcGl4ZWwgOTUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLmVuc3VyZXN1YnBhdGguMgogICBkZXNj
OiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBwb2ludCBpcyBhZGRl
ZApAQCAtNjgxOSw2ICs3MTYwLDcgQEAKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRv
LmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC02ODMzLDYgKzcxNzUsNyBAQAogICAgIGN0eC5iZXppZXJD
dXJ2ZVRvKDEwMCwgMjUsIDEwMCwgMjUsIDEwMCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IDJkLnBhdGguYmV6aWVyQ3VydmVUby5zaGFwZQogICB0ZXN0aW5nOgpAQCAtNjg1MSw2
ICs3MTk0LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgs
NDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXpp
ZXJDdXJ2ZVRvLnNjYWxlZAogICB0ZXN0aW5nOgpAQCAtNjg3MCw2ICs3MjE0LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5iZXppZXJDdXJ2ZVRvLm5vbmZpbml0
ZQogICBkZXNjOiBiZXppZXJDdXJ2ZVRvKCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZApA
QCAtNjg4NSw2ICs3MjMwLDcgQEAKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5MCw0NSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyY1RvLmVuc3VyZXN1YnBh
dGguMQogICBkZXNjOiBJZiB0aGVyZSBpcyBubyBzdWJwYXRoLCB0aGUgZmlyc3QgY29udHJvbCBw
b2ludCBpcyBhZGRlZCAoYW5kIG5vdGhpbmcgaXMgZHJhd24gdXAgdG8gaXQpCkBAIC02OTAwLDYg
KzcyNDYsNyBAQAogICAgIGN0eC5hcmNUbygxMDAsIDUwLCAyMDAsIDUwLCAwLjEpOwogICAgIGN0
eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uZW5zdXJlc3VicGF0aC4yCiAgIGRl
c2M6IElmIHRoZXJlIGlzIG5vIHN1YnBhdGgsIHRoZSBmaXJzdCBjb250cm9sIHBvaW50IGlzIGFk
ZGVkCkBAIC02OTE2LDYgKzcyNjMsNyBAQAogICAgIGN0eC5saW5lVG8oMTAwLCAyNSk7CiAgICAg
Y3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5jb2luY2lkZS4xCiAgIGRlc2M6
IGFyY1RvKCkgaGFzIG5vIGVmZmVjdCBpZiBQMCA9IFAxCkBAIC02OTM5LDYgKzcyODcsNyBAQAog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDggPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNUby5jb2luY2lkZS4y
CiAgIGRlc2M6IGFyY1RvKCkgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxIGlmIFAxID0gUDIK
QEAgLTY5NTQsNiArNzMwMyw3IEBACiAgICAgY3R4LmFyY1RvKDEwMCwgMjUsIDEwMCwgMjUsIDEp
OwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uY29sbGluZWFyLjEK
ICAgZGVzYzogYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5lLCBhbmQgUDEgYmV0d2Vl
biBQMC9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxCkBAIC02OTc0LDYgKzczMjQsNyBA
QAogICAgIGN0eC5hcmNUbygwLCAyNSwgMTAwLCAyNSwgMSk7CiAgICAgY3R4LnN0cm9rZSgpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmNUby5jb2xsaW5lYXIuMgogICBkZXNjOiBhcmNUbygpIHdpdGgg
YWxsIHBvaW50cyBvbiBhIGxpbmUsIGFuZCBQMiBiZXR3ZWVuIFAwL1AxLCBkcmF3cyBhIHN0cmFp
Z2h0IGxpbmUgdG8gUDEKQEAgLTY5OTQsNiArNzM0NSw3IEBACiAgICAgY3R4LmFyY1RvKDIwMCwg
MjUsIDExMCwgMjUsIDEpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
VG8uY29sbGluZWFyLjMKICAgZGVzYzogYXJjVG8oKSB3aXRoIGFsbCBwb2ludHMgb24gYSBsaW5l
LCBhbmQgUDAgYmV0d2VlbiBQMS9QMiwgZHJhd3MgYSBzdHJhaWdodCBsaW5lIHRvIFAxCkBAIC03
MDE4LDYgKzczNzAsNyBAQAogICAgIGN0eC5hcmNUbygwLCAyNSwgLTIwMCwgMjUsIDEpOwogICAg
IGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1Owor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uc2hhcGUuY3VydmUxCiAgIGRl
c2M6IGFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5kIG9mIHNoYXBlCkBAIC03MDU0LDYg
Kzc0MDcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDUgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA4MCw0NiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDY1
LDQ1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJj
VG8uc2hhcGUuY3VydmUyCiAgIGRlc2M6IGFyY1RvKCkgY3VydmVzIGluIHRoZSByaWdodCBraW5k
IG9mIHNoYXBlCkBAIC03MDg5LDYgKzc0NDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgODAsNDQg
PT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA4MCw0NSA9PSAwLDI1NSwwLDI1NTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDgwLDQ2ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uc2hhcGUuc3RhcnQKICAgZGVzYzogYXJjVG8oKSBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMQpAQCAtNzEwOCw2ICs3NDYzLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uc2hhcGUuZW5kCiAg
IGRlc2M6IGFyY1RvKCkgZG9lcyBub3QgZHJhdyBhbnl0aGluZyBmcm9tIFAxIHRvIFAyCkBAIC03
MTI3LDYgKzc0ODMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA5OCwxID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4
ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5hcmNUby5uZWdhdGl2ZQogICBkZXNjOiBhcmNUbygpIHdpdGggbmVnYXRpdmUgcmFkaXVzIHRo
cm93cyBhbiBleGNlcHRpb24KQEAgLTcxMzQsNiArNzQ5MSw3IEBACiAgICAgLSAyZC5wYXRoLmFy
Y1RvLm5lZ2F0aXZlCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IHRocm93cyBJTkRFWF9TSVpFX0VS
UiBjdHguYXJjVG8oMCwgMCwgMCwgMCwgLTEpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJk
LnBhdGguYXJjVG8uemVyby4xCiAgIGRlc2M6IGFyY1RvKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3
cyBhIHN0cmFpZ2h0IGxpbmUgZnJvbSBQMCB0byBQMQpAQCAtNzE1NCw2ICs3NTEyLDcgQEAKICAg
ICBjdHguYXJjVG8oNTAsIC0yNSwgNTAsIDUwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmFyY1RvLnplcm8uMgogICBkZXNjOiBhcmNUbygpIHdpdGggemVybyByYWRp
dXMgZHJhd3MgYSBzdHJhaWdodCBsaW5lIGZyb20gUDAgdG8gUDEsIGV2ZW4gd2hlbiBhbGwgcG9p
bnRzIGFyZSBjb2xsaW5lYXIKQEAgLTcxNzQsNiArNzUzMyw3IEBACiAgICAgY3R4LmFyY1RvKDIw
MCwgMjUsIDUwLCAyNSwgMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmNUby50cmFuc2Zvcm1hdGlvbgogICBkZXNjOiBhcmNUbyBqb2lucyB1cCB0byB0aGUgbGFzdCBz
dWJwYXRoIHBvaW50IGNvcnJlY3RseQpAQCAtNzE5Niw2ICs3NTU2LDcgQEAKICAgICBAYXNzZXJ0
IHBpeGVsIDAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0OSA9PSAw
LDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09IDAsMjU1LDAsMjU1OworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjVG8uc2NhbGUKICAgZGVzYzogYXJjVG8g
c2NhbGVzIHRoZSBjdXJ2ZSwgbm90IGp1c3QgdGhlIGNvbnRyb2wgcG9pbnRzCkBAIC03MjE5LDYg
Kzc1ODAsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMCw0OSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDUwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTks
NDkgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmNU
by5ub25maW5pdGUKICAgZGVzYzogYXJjVG8oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVk
CkBAIC03MjM0LDYgKzc1OTYsNyBAQAogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDQ1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogMmQucGF0aC5hcmMuZW1wdHkKQEAg
LTcyNDksNiArNzYxMiw3IEBACiAgICAgY3R4LmFyYygyMDAsIDI1LCA1LCAwLCAyKk1hdGguUEks
IHRydWUpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLm5vbmVtcHR5
CiAgIGRlc2M6IGFyYygpIHdpdGggYSBub24tZW1wdHkgcGF0aCBkb2VzIGRyYXcgYSBzdHJhaWdo
dCBsaW5lIHRvIHRoZSBzdGFydCBwb2ludApAQCAtNzI2NCw2ICs3NjI4LDcgQEAKICAgICBjdHgu
YXJjKDIwMCwgMjUsIDUsIDAsIDIqTWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5hcmMuZW5kCiAgIGRlc2M6IGFyYygpIGFkZHMgdGhlIGVuZCBwb2lu
dCBvZiB0aGUgYXJjIHRvIHRoZSBzdWJwYXRoCkBAIC03MjgwLDYgKzc2NDUsNyBAQAogICAgIGN0
eC5saW5lVG8oMTAwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmMuZGVmYXVsdAogICBkZXNjOiBhcmMoKSB3aXRoIG1pc3NpbmcgbGFzdCBhcmd1bWVudCBkZWZh
dWx0cyB0byBjbG9ja3dpc2UKQEAgLTcyOTQsNiArNzY2MCw3IEBACiAgICAgY3R4LmFyYygxMDAs
IDAsIDE1MCwgLU1hdGguUEksIE1hdGguUEkvMik7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguYXJjLmFuZ2xlLjEKICAgZGVzYzogYXJjKCkgZHJhd3MgcGkvMiAuLiAtcGkgYW50
aWNsb2Nrd2lzZSBjb3JyZWN0bHkKQEAgLTczMDgsNiArNzY3NSw3IEBACiAgICAgY3R4LmFyYygx
MDAsIDAsIDE1MCwgTWF0aC5QSS8yLCAtTWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjIKICAgZGVzYzogYXJjKCkgZHJhd3MgLTNwaS8y
IC4uIC1waSBhbnRpY2xvY2t3aXNlIGNvcnJlY3RseQpAQCAtNzMyMiw2ICs3NjkwLDcgQEAKICAg
ICBjdHguYXJjKDEwMCwgMCwgMTUwLCAtMypNYXRoLlBJLzIsIC1NYXRoLlBJLCB0cnVlKTsKICAg
ICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuYW5nbGUuMwogICBkZXNjOiBhcmMo
KSB3cmFwcyBhbmdsZXMgbW9kIDJwaSB3aGVuIGFudGljbG9ja3dpc2UgYW5kIGVuZCA+IHN0YXJ0
KzJwaQpAQCAtNzMzNiw2ICs3NzA1LDcgQEAKICAgICBjdHguYXJjKDEwMCwgMCwgMTUwLCAoNTEy
KzEvMikqTWF0aC5QSSwgKDEwMjQtMSkqTWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LmZpbGwoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguYXJjLmFuZ2xlLjQKICAgZGVzYzogYXJjKCkgZHJhd3MgYSBmdWxs
IGNpcmNsZSB3aGVuIGNsb2Nrd2lzZSBhbmQgZW5kID4gc3RhcnQrMnBpCkBAIC03MzUzLDYgKzc3
MjMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNz
ZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9
PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5hbmds
ZS41CiAgIGRlc2M6IGFyYygpIHdyYXBzIGFuZ2xlcyBtb2QgMnBpIHdoZW4gY2xvY2t3aXNlIGFu
ZCBzdGFydCA+IGVuZCsycGkKQEAgLTczNjcsNiArNzczOCw3IEBACiAgICAgY3R4LmFyYygxMDAs
IDAsIDE1MCwgKDEwMjQtMSkqTWF0aC5QSSwgKDUxMisxLzIpKk1hdGguUEksIGZhbHNlKTsKICAg
ICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7Cisg
ICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuYW5nbGUuNgogICBkZXNjOiBhcmMo
KSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gYW50aWNsb2Nrd2lzZSBhbmQgc3RhcnQgPiBlbmQr
MnBpCkBAIC03Mzg0LDYgKzc3NTYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFz
c2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1l
OiAyZC5wYXRoLmFyYy56ZXJvLjEKICAgZGVzYzogYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIHN0
YXJ0QW5nbGUgPSBlbmRBbmdsZSBhbmQgYW50aWNsb2Nrd2lzZQpAQCAtNzM5OCw2ICs3NzcxLDcg
QEAKICAgICBjdHguYXJjKDUwLCAyNSwgNTAsIDAsIDAsIHRydWUpOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnplcm8uMgogICBkZXNjOiBhcmMoKSBkcmF3cyBub3Ro
aW5nIHdoZW4gc3RhcnRBbmdsZSA9IGVuZEFuZ2xlIGFuZCBjbG9ja3dpc2UKQEAgLTc0MTIsNiAr
Nzc4Niw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAwLCBmYWxzZSk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMudHdvcGllLjEKICAgZGVzYzogYXJjKCkg
ZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0YXJ0ICsgMnBpLWUgYW5kIGFudGljbG9ja3dpc2UK
QEAgLTc0MjYsNiArNzgwMSw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDUwLCAwLCAyKk1hdGgu
UEkgLSAxZS00LCB0cnVlKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFy
Yy50d29waWUuMgogICBkZXNjOiBhcmMoKSBkcmF3cyBhIGZ1bGwgY2lyY2xlIHdoZW4gZW5kID0g
c3RhcnQgKyAycGktZSBhbmQgY2xvY2t3aXNlCkBAIC03NDQwLDYgKzc4MTYsNyBAQAogICAgIGN0
eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipNYXRoLlBJIC0gMWUtNCwgZmFsc2UpOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnR3b3BpZS4zCiAgIGRlc2M6IGFyYygpIGRy
YXdzIGEgZnVsbCBjaXJjbGUgd2hlbiBlbmQgPSBzdGFydCArIDJwaStlIGFuZCBhbnRpY2xvY2t3
aXNlCkBAIC03NDU0LDYgKzc4MzEsNyBAQAogICAgIGN0eC5hcmMoNTAsIDI1LCA1MCwgMCwgMipN
YXRoLlBJICsgMWUtNCwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC5hcmMudHdvcGllLjQKICAgZGVzYzogYXJjKCkgZHJhd3Mgbm90aGluZyB3aGVuIGVuZCA9IHN0
YXJ0ICsgMnBpK2UgYW5kIGNsb2Nrd2lzZQpAQCAtNzQ2OCw2ICs3ODQ2LDcgQEAKICAgICBjdHgu
YXJjKDUwLCAyNSwgNTAsIDAsIDIqTWF0aC5QSSArIDFlLTQsIGZhbHNlKTsKICAgICBjdHguc3Ry
b2tlKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyMCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRv
bmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5zaGFwZS4xCiAgIGRlc2M6IGFyYygpIGZyb20g
MCB0byBwaSBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBoYWxmCkBAIC03NDg3
LDYgKzc4NjYsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMSw0OCA9PSAwLDI1NSwwLDI1NTsKICAg
ICBAYXNzZXJ0IHBpeGVsIDIwLDQ4ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5h
cmMuc2hhcGUuMgogICBkZXNjOiBhcmMoKSBmcm9tIDAgdG8gcGkgZHJhd3Mgc3R1ZmYgaW4gdGhl
IHJpZ2h0IGhhbGYKQEAgLTc1MDYsNiArNzg4Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsNDggPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLmFyYy5zaGFwZS4zCiAgIGRlc2M6IGFyYygpIGZyb20gMCB0byAt
cGkvMiBkb2VzIG5vdCBkcmF3IGFueXRoaW5nIGluIHRoZSB3cm9uZyBxdWFkcmFudApAQCAtNzUy
NCw2ICs3OTA1LDcgQEAKICAgICBAYXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAg
ICAgQGFzc2VydCBwaXhlbCAxLDQ4ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICBAYXNz
ZXJ0IHBpeGVsIDk4LDQ4ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguYXJjLnNoYXBlLjQKICAgZGVzYzogYXJjKCkgZnJvbSAwIHRvIC1waS8yIGRyYXdz
IHN0dWZmIGluIHRoZSByaWdodCBxdWFkcmFudApAQCAtNzU0Miw2ICs3OTI0LDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDk4LDEgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCAxLDQ4
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7
CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMuc2hhcGUuNQogICBkZXNjOiBh
cmMoKSBmcm9tIDAgdG8gNXBpIGRvZXMgbm90IGRyYXcgY3JhenkgdGhpbmdzCkBAIC03NTYwLDYg
Kzc5NDMsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBA
YXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0
OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmFyYy5z
ZWxmaW50ZXJzZWN0LjEKICAgZGVzYzogYXJjKCkgd2l0aCBsaW5lV2lkdGggPiAyKnJhZGl1cyBp
cyBkcmF3biBzZW5zaWJseQpAQCAtNzU3OCw2ICs3OTYyLDcgQEAKICAgICBjdHguc3Ryb2tlKCk7
CiAgICAgQGFzc2VydCBwaXhlbCAxLDEgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5hcmMuc2VsZmludGVyc2VjdC4yCiAgIGRlc2M6IGFyYygpIHdpdGggbGluZVdp
ZHRoID4gMipyYWRpdXMgaXMgZHJhd24gc2Vuc2libHkKQEAgLTc2MDAsNiArNzk4NSw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA5NywyID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwg
OTcsMyA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDIsNDggPT0gMCwyNTUsMCwy
NTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMubmVnYXRpdmUKICAgZGVz
YzogYXJjKCkgd2l0aCBuZWdhdGl2ZSByYWRpdXMgdGhyb3dzIElOREVYX1NJWkVfRVJSCkBAIC03
NjA3LDYgKzc5OTMsNyBAQAogICAgIC0gMmQucGF0aC5hcmMubmVnYXRpdmUKICAgY29kZTogfAog
ICAgIEBhc3NlcnQgdGhyb3dzIElOREVYX1NJWkVfRVJSIGN0eC5hcmMoMCwgMCwgLTEsIDAsIDAs
IHRydWUpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguYXJjLnplcm9yYWRpdXMK
ICAgZGVzYzogYXJjKCkgd2l0aCB6ZXJvIHJhZGl1cyBkcmF3cyBhIGxpbmUgdG8gdGhlIHN0YXJ0
IHBvaW50CkBAIC03NjIyLDYgKzgwMDksNyBAQAogICAgIGN0eC5hcmMoMjAwLCAyNSwgMCwgMCwg
TWF0aC5QSSwgdHJ1ZSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMu
c2NhbGUuMQogICBkZXNjOiBOb24tdW5pZm9ybWx5IHNjYWxlZCBhcmNzIGFyZSB0aGUgcmlnaHQg
c2hhcGUKQEAgLTc2NTUsNiArODA0Myw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAs
MjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAg
QGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmFyYy5zY2FsZS4yCiAgIGRlc2M6IEhpZ2hseSBzY2FsZWQgYXJjcyBhcmUg
dGhlIHJpZ2h0IHNoYXBlCkBAIC03Njc4LDYgKzgwNjcsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwg
MSw0OCA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDQ4ID09IDAsMjU1LDAs
MjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTgsNDggPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQucGF0aC5hcmMubm9uZmluaXRlCiAgIGRlc2M6IGFyYygpIHdpdGgg
SW5maW5pdHkvTmFOIGlzIGlnbm9yZWQKQEAgLTc2OTUsNiArODA4NSw3IEBACiAgICAgY3R4LmZp
bGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgOTAsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIAogLSBuYW1l
OiAyZC5wYXRoLnJlY3QuYmFzaWMKQEAgLTc3MDcsNiArODA5OCw3IEBACiAgICAgY3R4LnJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1
ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC5u
ZXdzdWJwYXRoCiAgIHRlc3Rpbmc6CkBAIC03NzIyLDYgKzgxMTQsNyBAQAogICAgIGN0eC5yZWN0
KDIwMCwgMjUsIDEsIDEpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVj
dC5jbG9zZWQKICAgdGVzdGluZzoKQEAgLTc3MzUsNiArODEyOCw3IEBACiAgICAgY3R4LnJlY3Qo
MTAwLCA1MCwgMTAwLCAxMDApOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVs
IDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
cmVjdC5lbmQuMQogICB0ZXN0aW5nOgpAQCAtNzc0OCw2ICs4MTQyLDcgQEAKICAgICBjdHgubGlu
ZVRvKC0yMDAwLCAtMTAwMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5y
ZWN0LmVuZC4yCiAgIHRlc3Rpbmc6CkBAIC03NzY2LDYgKzgxNjEsNyBAQAogICAgIEBhc3NlcnQg
cGl4ZWwgOTgsMSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDEsNDggPT0gMCwy
NTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OCw0OCA9PSAwLDI1NSwwLDI1NTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby4xCiAgIHRlc3Rpbmc6CkBAIC03
Nzc5LDYgKzgxNzUsNyBAQAogICAgIGN0eC5yZWN0KDAsIDUwLCAxMDAsIDApOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjIKICAgdGVzdGluZzoKQEAgLTc3
OTIsNiArODE4OSw3IEBACiAgICAgY3R4LnJlY3QoNTAsIC0xMDAsIDAsIDI1MCk7CiAgICAgY3R4
LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uMwogICB0ZXN0aW5nOgpAQCAt
NzgwNSw2ICs4MjAzLDcgQEAKICAgICBjdHgucmVjdCg1MCwgMjUsIDAsIDApOwogICAgIGN0eC5z
dHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgucmVjdC56ZXJvLjQKICAgdGVzdGluZzoKQEAgLTc4
MTgsNiArODIxNyw3IEBACiAgICAgY3R4LmxpbmVUbygwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0Lnplcm8uNQogICB0ZXN0aW5nOgpAQCAtNzgzMSw2ICs4
MjMxLDcgQEAKICAgICBjdHgucmVjdCgxMDAsIDI1LCAwLCAwKTsKICAgICBjdHguc3Ryb2tlKCk7
CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLnJlY3QuemVyby42CiAgIHRlc3Rpbmc6CkBAIC03ODQ2LDYgKzgy
NDcsNyBAQAogICAgIGN0eC5yZWN0KDEwMCwgMjUsIDEwMDAsIDApOwogICAgIGN0eC5zdHJva2Uo
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KKyAg
ICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnJlY3QubmVnYXRpdmUKICAgdGVzdGluZzoK
QEAgLTc4NjQsNiArODI2Niw3IEBACiAgICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDI1NSww
LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDI1LDM3ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3Nl
cnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTog
MmQucGF0aC5yZWN0LndpbmRpbmcKICAgdGVzdGluZzoKQEAgLTc4ODIsNiArODI4NSw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDM3ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwyNTUs
MCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5yZWN0LnNlbGZpbnRlcnNl
Y3QKICAgY29kZTogfApAQCAtNzg5Myw2ICs4Mjk3LDcgQEAKICAgICBjdHgucmVjdCg0NSwgMjAs
IDEwLCAxMCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0g
MCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgu
cmVjdC5ub25maW5pdGUKICAgZGVzYzogcmVjdCgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9y
ZWQKQEAgLTc5MDgsNiArODMxMyw3IEBACiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBp
eGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgOTAsNDUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLm92ZXJsYXAK
ICAgdGVzdGluZzoKQEAgLTc5MjEsNiArODMyNyw3IEBACiAgICAgY3R4LnJlY3QoMTAsIDEwLCA4
MCwgMzApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PX4gMCwx
MjcsMCwyNTUgKy8tIDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndp
bmRpbmcuYWRkCiAgIHRlc3Rpbmc6CkBAIC03OTQwLDYgKzgzNDcsNyBAQAogICAgIGN0eC5saW5l
VG8oMCwgNTApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAw
LDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmZpbGwud2luZGlu
Zy5zdWJ0cmFjdC4xCiAgIHRlc3Rpbmc6CkBAIC03OTU5LDYgKzgzNjcsNyBAQAogICAgIGN0eC5s
aW5lVG8oMTAwLCAwKTsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUg
PT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5maWxsLndp
bmRpbmcuc3VidHJhY3QuMgogICB0ZXN0aW5nOgpAQCAtNzk3Nyw2ICs4Mzg2LDcgQEAKICAgICBj
dHgubGluZVRvKDEwMCwgMCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguZmls
bC53aW5kaW5nLnN1YnRyYWN0LjMKICAgdGVzdGluZzoKQEAgLTgwMDEsNiArODQxMSw3IEBACiAg
ICAgY3R4LmxpbmVUbygxMDAsIDApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhl
bCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmZpbGwuY2xvc2VkLmJhc2ljCiAgIHRlc3Rpbmc6CkBAIC04MDE1LDYgKzg0MjYsNyBAQAogICAg
IGN0eC5saW5lVG8oMCwgNTApOwogICAgIGN0eC5maWxsKCk7CiAgICAgQGFzc2VydCBwaXhlbCA1
MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmZp
bGwuY2xvc2VkLnVuYWZmZWN0ZWQKICAgdGVzdGluZzoKQEAgLTgwMzIsNiArODQ0NCw3IEBACiAg
ICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDkwLDEwID09IDAsMjU1LDAsMjU1Owog
ICAgIEBhc3NlcnQgcGl4ZWwgMTAsNDAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQucGF0aC5zdHJva2Uub3ZlcmxhcAogICBkZXNjOiBTdHJva2VkIHN1YnBhdGhz
IGFyZSBjb21iaW5lZCBiZWZvcmUgYmVpbmcgZHJhd24KQEAgLTgwNDgsNiArODQ2MSw3IEBACiAg
ICAgY3R4LmxpbmVUbygxMDAsIDMwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PX4gMCwxMjcsMCwyNTUgKy8tIDE7CisgICAgdC5kb25lKCk7CiAKIC0gbmFt
ZTogMmQucGF0aC5zdHJva2UudW5pb24KICAgZGVzYzogU3Ryb2tlcyBpbiBvcHBvc2l0ZSBkaXJl
Y3Rpb25zIGFyZSB1bmlvbmVkLCBub3Qgc3VidHJhY3RlZApAQCAtODA2NCw2ICs4NDc4LDcgQEAK
ICAgICBjdHgubGluZVRvKDAsIDQwKTsKICAgICBjdHguc3Ryb2tlKCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5w
YXRoLnN0cm9rZS51bmFmZmVjdGVkCiAgIGRlc2M6IFN0cm9raW5nIGRvZXMgbm90IHN0YXJ0IGEg
bmV3IHBhdGggb3Igc3VicGF0aApAQCAtODA4Myw2ICs4NDk4LDcgQEAKICAgICBjdHguc3Ryb2tl
U3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAs
MjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5zdHJv
a2Uuc2NhbGUxCiAgIGRlc2M6IFN0cm9rZSBsaW5lIHdpZHRocyBhcmUgc2NhbGVkIGJ5IHRoZSBj
dXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeApAQCAtODExNCw2ICs4NTMwLDcgQEAKICAgICBA
YXNzZXJ0IHBpeGVsIDAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA1MCw0
OSA9PSAwLDI1NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDk5LDQ5ID09IDAsMjU1LDAsMjU1
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnNjYWxlMgogICBkZXNj
OiBTdHJva2UgbGluZSB3aWR0aHMgYXJlIHNjYWxlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1h
dGlvbiBtYXRyaXgKQEAgLTgxNDcsNiArODU2NCw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5
ID09IDAsMjU1LDAsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7
CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsK
IAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5za2V3CiAgIGRlc2M6IFN0cm9rZXMgbGluZXMgYXJl
IHNrZXdlZCBieSB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKQEAgLTgxOTMsNiAr
ODYxMSw3IEBACiAgICAgQGFzc2VydCBwaXhlbCAwLDQ5ID09IDAsMjU1LDAsMjU1OwogICAgIEBh
c3NlcnQgcGl4ZWwgNTAsNDkgPT0gMCwyNTUsMCwyNTU7CiAgICAgQGFzc2VydCBwaXhlbCA5OSw0
OSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9r
ZS5lbXB0eQogICBkZXNjOiBFbXB0eSBzdWJwYXRocyBhcmUgbm90IHN0cm9rZWQKQEAgLTgyMTAs
NiArODYyOSw3IEBACiAgICAgY3R4Lm1vdmVUbyg2MCwgMjUpOwogICAgIGN0eC5zdHJva2UoKTsK
ICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmxpbmUKICAgZGVzYzogWmVyby1sZW5ndGgg
bGluZSBzZWdtZW50cyBmcm9tIGxpbmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAg
LTgyMjcsNiArODY0Nyw3IEBACiAgICAgY3R4LmxpbmVUbyg1MCwgMjUpOwogICAgIGN0eC5zdHJv
a2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8K
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0cm9rZS5wcnVuZS5jbG9zZWQKICAg
ZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIGNsb3NlZCBwYXRocyBhcmUgcmVt
b3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAgLTgyNDUsNiArODY2Niw3IEBACiAgICAgY3R4LmNsb3Nl
UGF0aCgpOwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OyBAbW96LXRvZG8KKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLnN0
cm9rZS5wcnVuZS5jdXJ2ZQogICBkZXNjOiBaZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGZyb20g
cXVhZHJhdGljQ3VydmVUbyBhbmQgYmV6aWVyQ3VydmVUbyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ry
b2tpbmcKQEAgLTgyNjYsNiArODY4OCw3IEBACiAgICAgY3R4LmJlemllckN1cnZlVG8oNTAsIDI1
LCA1MCwgMjUsIDUwLCAyNSk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwg
NTAsMjUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnBhdGguc3Ryb2tlLnBydW5lLmFyYwogICBkZXNjOiBaZXJvLWxlbmd0aCBsaW5lIHNlZ21l
bnRzIGZyb20gYXJjVG8gYW5kIGFyYyBhcmUgcmVtb3ZlZCBiZWZvcmUgc3Ryb2tpbmcKQEAgLTgy
ODcsNiArODcxMCw3IEBACiAgICAgY3R4LmFyYyg1MCwgMjUsIDEwLCAwLCAwLCBmYWxzZSk7CiAg
ICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7
IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnBydW5l
LnJlY3QKICAgZGVzYzogWmVyby1sZW5ndGggbGluZSBzZWdtZW50cyBmcm9tIHJlY3QgYW5kIHN0
cm9rZVJlY3QgYXJlIHJlbW92ZWQgYmVmb3JlIHN0cm9raW5nCkBAIC04MzA0LDYgKzg3MjgsNyBA
QAogICAgIGN0eC5zdHJva2UoKTsKICAgICBjdHguc3Ryb2tlUmVjdCg1MCwgMjUsIDAsIDApOwog
ICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7IEBtb3otdG9kbworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguc3Ryb2tlLnBydW5lLmNvcm5lcgogICBkZXNjOiBa
ZXJvLWxlbmd0aCBsaW5lIHNlZ21lbnRzIGFyZSByZW1vdmVkIGJlZm9yZSBzdHJva2luZyB3aXRo
IG1pdGVycwpAQCAtODMyNCw2ICs4NzQ5LDcgQEAKICAgICBjdHgubGluZVRvKC0xMDAsIDEwMDAp
OwogICAgIGN0eC5zdHJva2UoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGgudHJhbnNmb3JtYXRpb24uYmFz
aWMKICAgdGVzdGluZzoKQEAgLTgzMzcsNiArODc2Myw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9
ICcjMGYwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwy
NTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC50cmFuc2Zvcm1hdGlv
bi5tdWx0aXBsZQogICBkZXNjOiBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgd2hpbGUgYnVp
bGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmcKQEAgLTgzNjEsNiArODc4OCw3IEBACiAgICAg
Y3R4LnRyYW5zbGF0ZSgwLCA1MCk7CiAgICAgY3R4LnN0cm9rZSgpOwogICAgIEBhc3NlcnQgcGl4
ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0
aC50cmFuc2Zvcm1hdGlvbi5jaGFuZ2luZwogICBkZXNjOiBUcmFuc2Zvcm1hdGlvbnMgYXJlIGFw
cGxpZWQgd2hpbGUgYnVpbGRpbmcgcGF0aHMsIG5vdCB3aGVuIGRyYXdpbmcKQEAgLTgzODIsNiAr
ODgxMCw3IEBACiAgICAgY3R4LnNjYWxlKDAuMSwgMC4xKTsKICAgICBjdHguZmlsbCgpOwogICAg
IEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogMmQucGF0aC5jbGlwLmVtcHR5CiAgIHRlc3Rpbmc6CkBAIC04Mzk0LDYgKzg4MjMsNyBA
QAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEw
MCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLmJhc2ljLjEKICAgdGVzdGluZzoKQEAgLTg0
MDcsNiArODgzNyw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICBjdHguZmls
bFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSww
LDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmNsaXAuYmFzaWMuMgogICB0
ZXN0aW5nOgpAQCAtODQyMCw2ICs4ODUxLDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAn
OwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUw
LDI1ID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xp
cC5pbnRlcnNlY3QKICAgdGVzdGluZzoKQEAgLTg0MzYsNiArODg2OCw3IEBACiAgICAgY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAg
QGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC5wYXRoLmNsaXAud2luZGluZy4xCiAgIHRlc3Rpbmc6CkBAIC04NDU3LDYgKzg4OTAs
NyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAg
dC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5jbGlwLndpbmRpbmcuMgogICB0ZXN0aW5nOgpA
QCAtODQ4MSw2ICs4OTE1LDcgQEAKICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0
eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAs
MjU1LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguY2xpcC51bmFmZmVj
dGVkCiAgIHRlc3Rpbmc6CkBAIC04NDk4LDYgKzg5MzMsNyBAQAogICAgIGN0eC5saW5lVG8oMCwg
MCk7CiAgICAgY3R4LmZpbGwoKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAs
MjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNp
Yy4xCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlz
IGluc2lkZSB0aGUgcGF0aApAQCAtODUwNyw2ICs4OTQzLDcgQEAKICAgICBjdHgucmVjdCgwLCAw
LCAyMCwgMjApOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMTAsIDEwKSA9PT0gdHJ1
ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDMwLCAxMCkgPT09IGZhbHNlOworICAg
IHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5iYXNpYy4yCiAgIGRl
c2M6IGlzUG9pbnRJblBhdGgoKSBkZXRlY3RzIHdoZXRoZXIgdGhlIHBvaW50IGlzIGluc2lkZSB0
aGUgcGF0aApAQCAtODUxNiw2ICs4OTUzLDcgQEAKICAgICBjdHgucmVjdCgyMCwgMCwgMjAsIDIw
KTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkgPT09IGZhbHNlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDEwKSA9PT0gdHJ1ZTsKKyAgICB0LmRvbmUo
KTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGguZWRnZQogICBkZXNjOiBpc1BvaW50
SW5QYXRoKCkgY291bnRzIHBvaW50cyBvbiB0aGUgcGF0aCBhcyBiZWluZyBpbnNpZGUKQEAgLTg1
MzUsNiArODk3Myw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgxMCwgMjAuMDEp
ID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKC0wLjAxLCAxMCkgPT09
IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMjAuMDEsIDEwKSA9PT0gZmFs
c2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLmVtcHR5
CiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyB3aGVuIHRoZXJlIGlzIG5vIHBhdGgKQEAg
LTg1NDIsNiArODk4MSw3IEBACiAgICAgLSAyZC5wYXRoLmlzUG9pbnRJblBhdGgKICAgY29kZTog
fAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMCwgMCkgPT09IGZhbHNlOworICAgIHQu
ZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5zdWJwYXRoCiAgIGRlc2M6
IGlzUG9pbnRJblBhdGgoKSB1c2VzIHRoZSBjdXJyZW50IHBhdGgsIG5vdCBqdXN0IHRoZSBzdWJw
YXRoCkBAIC04NTU2LDYgKzg5OTYsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgo
MTAsIDEwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwgMTAp
ID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNTAsIDEwKSA9PT0gdHJ1
ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgub3V0c2lk
ZQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgd29ya3Mgb24gcGF0aHMgb3V0c2lkZSB0aGUgY2Fu
dmFzCkBAIC04NTcwLDYgKzkwMTEsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgo
MzAsIC0yMCkgPT09IGZhbHNlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDAp
ID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMzAsIDIwKSA9PT0gZmFs
c2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5QYXRoLnVuY2xv
c2VkCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBvbiB1bmNsb3NlZCBzdWJwYXRocwpA
QCAtODU4Miw2ICs5MDI0LDcgQEAKICAgICBjdHgubGluZVRvKDAsIDIwKTsKICAgICBAYXNzZXJ0
IGN0eC5pc1BvaW50SW5QYXRoKDEwLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQ
b2ludEluUGF0aCgzMCwgMTApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5wYXRoLmlzUG9pbnRJblBhdGguYXJjCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSB3b3JrcyBv
biBhcmNzCkBAIC04NTk3LDYgKzkwNDAsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBh
dGgoNzAsIDIwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCgzMCwg
MzApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAzMCkgPT09
IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC5i
aWdhcmMKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIHVuY2xvc2VkIGFyY3MgbGFy
Z2VyIHRoYW4gMnBpCkBAIC04NjEzLDYgKzkwNTcsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9p
bnRJblBhdGgoNzAsIDIwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCgzMCwgMzApID09PSBmYWxzZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcwLCAz
MCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludElu
UGF0aC5iZXppZXIKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIHdvcmtzIG9uIEJlemllciBjdXJ2
ZXMKQEAgLTg2NDEsNiArOTA4Niw3IEBACiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3
MCwgMzApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzUsIDIwKSA9
PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3NSwgMzApID09PSBmYWxz
ZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgud2luZGlu
ZwogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgdXNlcyB0aGUgbm9uLXplcm8gd2luZGluZyBudW1i
ZXIgcnVsZQpAQCAtODY2Nyw2ICs5MTEzLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDUsIDQ1KSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDI1LCA0
NSkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg0NSwgNDUpID09PSB0
cnVlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2ludEluUGF0aC50cmFu
c2Zvcm0uMQogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFuc2Zvcm1hdGlvbnMg
Y29ycmVjdGx5CkBAIC04NjgxLDYgKzkxMjgsNyBAQAogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJ
blBhdGgoNTEsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDY5
LCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0aCg3MSwgMTApID09
PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRoLmlzUG9pbnRJblBhdGgu
dHJhbnNmb3JtLjIKICAgZGVzYzogaXNQb2ludEluUGF0aCgpIGhhbmRsZXMgdHJhbnNmb3JtYXRp
b25zIGNvcnJlY3RseQpAQCAtODY5NSw2ICs5MTQzLDcgQEAKICAgICBAYXNzZXJ0IGN0eC5pc1Bv
aW50SW5QYXRoKDUxLCAxMCkgPT09IHRydWU7CiAgICAgQGFzc2VydCBjdHguaXNQb2ludEluUGF0
aCg2OSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoNzEsIDEw
KSA9PT0gZmFsc2U7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQucGF0aC5pc1BvaW50SW5Q
YXRoLnRyYW5zZm9ybS4zCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSBoYW5kbGVzIHRyYW5zZm9y
bWF0aW9ucyBjb3JyZWN0bHkKQEAgLTg3MDksNiArOTE1OCw3IEBACiAgICAgQGFzc2VydCBjdHgu
aXNQb2ludEluUGF0aCg1MSwgMTApID09PSB0cnVlOwogICAgIEBhc3NlcnQgY3R4LmlzUG9pbnRJ
blBhdGgoNjksIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDcx
LCAxMCkgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnBhdGguaXNQb2lu
dEluUGF0aC50cmFuc2Zvcm0uNAogICBkZXNjOiBpc1BvaW50SW5QYXRoKCkgaGFuZGxlcyB0cmFu
c2Zvcm1hdGlvbnMgY29ycmVjdGx5CkBAIC04NzIxLDYgKzkxNzEsNyBAQAogICAgIEBhc3NlcnQg
Y3R4LmlzUG9pbnRJblBhdGgoNjAsIDEwKSA9PT0gZmFsc2U7CiAgICAgQGFzc2VydCBjdHguaXNQ
b2ludEluUGF0aCgxMTAsIDEwKSA9PT0gdHJ1ZTsKICAgICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5Q
YXRoKDExMCwgNjApID09PSBmYWxzZTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5wYXRo
LmlzUG9pbnRJblBhdGgubm9uZmluaXRlCiAgIGRlc2M6IGlzUG9pbnRJblBhdGgoKSByZXR1cm5z
IGZhbHNlIGZvciBub24tZmluaXRlIGFyZ3VtZW50cwpAQCAtODczNSw2ICs5MTg2LDcgQEAKICAg
ICBAYXNzZXJ0IGN0eC5pc1BvaW50SW5QYXRoKDAsIC1JbmZpbml0eSkgPT09IGZhbHNlOwogICAg
IEBhc3NlcnQgY3R4LmlzUG9pbnRJblBhdGgoMCwgTmFOKSA9PT0gZmFsc2U7CiAgICAgQGFzc2Vy
dCBjdHguaXNQb2ludEluUGF0aChOYU4sIE5hTikgPT09IGZhbHNlOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmNvb3JkaW5hdGVzcGFjZQogICBkZXNjOiBDb29yZGluYXRlIHNwYWNlIGdv
ZXMgZnJvbSB0b3AtbGVmdCB0byBib3R0b20tcmlnaHQKQEAgLTg3NTAsNiArOTIwMiw3IEBACiAg
ICAgQGFzc2VydCBwaXhlbCA3NSwxMiA9PSAwLDAsMjU1LDI1NTsKICAgICBAYXNzZXJ0IHBpeGVs
IDI1LDM3ID09IDAsMCwyNTUsMjU1OwogICAgIEBhc3NlcnQgcGl4ZWwgNzUsMzcgPT0gMCwwLDI1
NSwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQubWlzc2luZ2FyZ3MKICAgZGVzYzog
TWlzc2luZyBhcmd1bWVudHMgY2F1c2UgVHlwZUVycm9yCkBAIC04NzY4LDcgKzkyMjEsNiBAQAog
ICAgICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3IgY3R4LnRyYW5zZm9ybSgxLCAwLCAwLCAx
LCAwKTsKICAgICB9CiAgICAgaWYgKGN0eC5zZXRUcmFuc2Zvcm0pIHsKLSAgICAgICAgQGFzc2Vy
dCB0aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRUcmFuc2Zvcm0oKTsKICAgICAgICAgQGFzc2VydCB0
aHJvd3MgVHlwZUVycm9yIGN0eC5zZXRUcmFuc2Zvcm0oMSk7CiAgICAgICAgIEBhc3NlcnQgdGhy
b3dzIFR5cGVFcnJvciBjdHguc2V0VHJhbnNmb3JtKDEsIDApOwogICAgICAgICBAYXNzZXJ0IHRo
cm93cyBUeXBlRXJyb3IgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwKTsKQEAgLTg4NTEsNiArOTMw
Myw3IEBACiAgICAgdmFyIGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMCk7
CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIGcuYWRkQ29sb3JTdG9wKCk7IEBtb3otdG9k
bwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBnLmFkZENvbG9yU3RvcCgwKTsgQG1vei10
b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudm9pZHJldHVybgogICBkZXNjOiB2b2lk
IG1ldGhvZHMgcmV0dXJuIHVuZGVmaW5lZApAQCAtODg4Niw2ICs5MzM5LDcgQEAKICAgICB9CiAg
ICAgQGFzc2VydCBjdHguZHJhd0ltYWdlKG9mZnNjcmVlbkNhbnZhcywgMCwgMCwgMSwgMSwgMCwg
MCwgMCwgMCkgPT09IHVuZGVmaW5lZDsKICAgICBAYXNzZXJ0IGN0eC5jcmVhdGVMaW5lYXJHcmFk
aWVudCgwLCAwLCAwLCAwKS5hZGRDb2xvclN0b3AoMCwgJ3doaXRlJykgPT09IHVuZGVmaW5lZDsK
KyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jYW52YXMucmVmZXJlbmNlCiAgIGRlc2M6IGNh
bnZhcyByZWZlcnMgYmFjayB0byBpdHMgY2FudmFzCkBAIC04ODkzLDYgKzkzNDcsNyBAQAogICAg
IC0gMmQuY2FudmFzCiAgIGNvZGU6IHwKICAgICBAYXNzZXJ0IGN0eC5jYW52YXMgPT09IG9mZnNj
cmVlbkNhbnZhczsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC5jYW52YXMucmVhZG9ubHkK
ICAgZGVzYzogY2FudmFzIGlzIHJlYWRvbmx5CkBAIC04OTA0LDYgKzkzNTksNyBAQAogICAgIEBh
c3NlcnQgb2Zmc2NyZWVuQ2FudmFzMiAhPT0gZDsKICAgICBjdHguY2FudmFzID0gb2Zmc2NyZWVu
Q2FudmFzMjsKICAgICBAYXNzZXJ0IGN0eC5jYW52YXMgPT09IGQ7CisgICAgdC5kb25lKCk7CiAK
IC0gbmFtZTogMmQuZ2V0Y29udGV4dC5leGlzdHMKICAgZGVzYzogVGhlIDJEIGNvbnRleHQgaXMg
aW1wbGVtZW50ZWQKQEAgLTg5MTIsNiArOTM2OCw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zm
c2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2Vy
dCBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykgIT09IG51bGw7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQuZ2V0Y29udGV4dC5leHRyYWFyZ3MKICAgZGVzYzogVGhlIDJEIGNv
bnRleHQgaWdub3JlcyBleHRyYSBnZXRDb250ZXh0IGFyZ3VtZW50cwpAQCAtODkyMCw2ICs5Mzc3
LDcgQEAKICAgY29kZTogfAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVl
bkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4
dCgnMmQnLCBmYWxzZSwge30sIFtdLCAxLCAiMiIpICE9PSBudWxsOworICAgIHQuZG9uZSgpOwog
CiAtIG5hbWU6IDJkLmdldGNvbnRleHQudW5pcXVlCiAgIGRlc2M6IGdldENvbnRleHQoJzJkJykg
cmV0dXJucyB0aGUgc2FtZSBvYmplY3QKQEAgLTg5MjgsNiArOTM4Niw3IEBACiAgIGNvZGU6IHwK
ICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMyLmdldENvbnRleHQoJzJkJykgPT09IG9mZnNj
cmVlbkNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAy
ZC5nZXRjb250ZXh0LnNoYXJlZAogICBkZXNjOiBnZXRDb250ZXh0KCcyZCcpIHJldHVybnMgb2Jq
ZWN0cyB3aGljaCBzaGFyZSBjYW52YXMgc3RhdGUKQEAgLTg5MzksNiArOTM5OCw3IEBACiAgICAg
Y3R4Mi5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgIEBhc3NlcnQgcGl4ZWwgNTAsMjUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogY29udGV4dC5lbXB0eXN0cmluZwogICBkZXNjOiBnZXRDb250ZXh0IHdpdGgg
ZW1wdHkgc3RyaW5nIHJldHVybnMgbnVsbApAQCAtODk0Nyw2ICs5NDA3LDcgQEAKICAgY29kZTog
fAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250
ZXh0KCIiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBjb250ZXh0LnVucmVjb2duaXNlZC5i
YWRuYW1lCiAgIGRlc2M6IGdldENvbnRleHQgd2l0aCB1bnJlY29nbmlzZWQgY29udGV4dCBuYW1l
IHJldHVybnMgbnVsbApAQCAtODk1NSw2ICs5NDE2LDcgQEAKICAgY29kZTogfAogICAgIHZhciBv
ZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKICAgICBAYXNz
ZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250ZXh0KCdUaGlzIGlz
IG5vdCBhbiBpbXBsZW1lbnRlZCBjb250ZXh0IGluIGFueSByZWFsIGJyb3dzZXInKTsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiBjb250ZXh0LnVucmVjb2duaXNlZC5iYWRzdWZmaXgKICAgZGVz
YzogQ29udGV4dCBuYW1lICIyZCIgcGx1cyBhIHN1ZmZpeCBpcyB1bnJlY29nbmlzZWQKQEAgLTg5
NjMsNiArOTQyNSw3IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9y
IG9mZnNjcmVlbkNhbnZhczIuZ2V0Q29udGV4dCgiMmQjIik7CisgICAgdC5kb25lKCk7CiAKIC0g
bmFtZTogY29udGV4dC51bnJlY29nbmlzZWQubnVsbHN1ZmZpeAogICBkZXNjOiBDb250ZXh0IG5h
bWUgIjJkIiBwbHVzIGEgIlwwIiBzdWZmaXggaXMgdW5yZWNvZ25pc2VkCkBAIC04OTcxLDYgKzk0
MzQsNyBAQAogICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3Jl
ZW5DYW52YXMyLmdldENvbnRleHQoIjJkXDAiKTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBj
b250ZXh0LnVucmVjb2duaXNlZC51bmljb2RlCiAgIGRlc2M6IENvbnRleHQgbmFtZSB3aGljaCBr
aW5kIG9mIGxvb2tzIGxpa2UgIjJkIiBpcyB1bnJlY29nbmlzZWQKQEAgLTg5NzksNiArOTQ0Myw3
IEBACiAgIGNvZGU6IHwKICAgICB2YXIgb2Zmc2NyZWVuQ2FudmFzMiA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CiAgICAgQGFzc2VydCB0aHJvd3MgVHlwZUVycm9yIG9mZnNjcmVlbkNh
bnZhczIuZ2V0Q29udGV4dCgiMlx1RkY0NCIpOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGNv
bnRleHQuY2FzZXNlbnNpdGl2ZQogICBkZXNjOiBDb250ZXh0IG5hbWUgIjJEIiBpcyB1bnJlY29n
bmlzZWQ7IG1hdGNoaW5nIGlzIGNhc2Ugc2Vuc2l0aXZlCkBAIC04OTg3LDYgKzk0NTIsNyBAQAog
ICBjb2RlOiB8CiAgICAgdmFyIG9mZnNjcmVlbkNhbnZhczIgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDEwMCwgNTApOwogICAgIEBhc3NlcnQgdGhyb3dzIFR5cGVFcnJvciBvZmZzY3JlZW5DYW52YXMy
LmdldENvbnRleHQoJzJEJyk7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogY29udGV4dC5hcmd1
bWVudHMubWlzc2luZwogICB0ZXN0aW5nOgpAQCAtODk5NCw2ICs5NDYwLDcgQEAKICAgY29kZTog
fAogICAgIHZhciBvZmZzY3JlZW5DYW52YXMyID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHRocm93cyBUeXBlRXJyb3Igb2Zmc2NyZWVuQ2FudmFzMi5nZXRDb250
ZXh0KCk7IEBtb3otdG9kbworICAgIHQuZG9uZSgpOwogCiAKIC0gbmFtZTogaW5pdGlhbC5jb2xv
dXIKQEAgLTkwMDIsNiArOTQ2OSw3IEBACiAgICAgLSBpbml0aWFsLmNvbG91cgogICBjb2RlOiB8
CiAgICAgQGFzc2VydCBwaXhlbCAyMCwyMCA9PSAwLDAsMCwwOworICAgIHQuZG9uZSgpOwogCiAt
IG5hbWU6IGluaXRpYWwucmVzZXQuZGlmZmVyZW50CiAgIGRlc2M6IENoYW5naW5nIHNpemUgcmVz
ZXRzIGNhbnZhcyB0byB0cmFuc3BhcmVudCBibGFjawpAQCAtOTAxMyw2ICs5NDgxLDcgQEAKICAg
ICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDI1NSwwLDAsMjU1OwogICAgIG9mZnNjcmVlbkNhbnZh
cy53aWR0aCA9IDUwOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0
LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LnNhbWUKICAgZGVzYzogU2V0dGluZyBz
aXplIChub3QgY2hhbmdpbmcgdGhlIHZhbHVlKSByZXNldHMgY2FudmFzIHRvIHRyYW5zcGFyZW50
IGJsYWNrCkBAIC05MDI1LDYgKzk0OTQsNyBAQAogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0g
MjU1LDAsMCwyNTU7CiAgICAgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID0gMTAwOwogICAgIEBhc3Nl
cnQgcGl4ZWwgMjAsMjAgPT0gMCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0
aWFsLnJlc2V0LnBhdGgKICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRz
IHRoZSBjdXJyZW50IHBhdGgKQEAgLTkwMzcsNiArOTUwNyw3IEBACiAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICBjdHguZmlsbCgpOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAsMjAgPT0g
MCwwLDAsMDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBpbml0aWFsLnJlc2V0LmNsaXAKICAg
ZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRoZSBjdXJyZW50IGNsaXAg
cmVnaW9uCkBAIC05MDUwLDYgKzk1MjEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgIEBhc3NlcnQgcGl4ZWwgMjAs
MjAgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogaW5pdGlhbC5yZXNl
dC50cmFuc2Zvcm0KICAgZGVzYzogUmVzZXR0aW5nIHRoZSBjYW52YXMgc3RhdGUgcmVzZXRzIHRo
ZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeApAQCAtOTA2Miw2ICs5NTM0LDcgQEAKICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICBAYXNzZXJ0IHBpeGVsIDIwLDIwID09IDAsMjU1LDAsMjU1OworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IGluaXRpYWwucmVzZXQuZ3JhZGllbnQKICAgZGVzYzogUmVzZXR0aW5nIHRo
ZSBjYW52YXMgc3RhdGUgZG9lcyBub3QgaW52YWxpZGF0ZSBhbnkgZXhpc3RpbmcgZ3JhZGllbnRz
CkBAIC05MDc4LDYgKzk1NTEsNyBAQAogICAgIGN0eC5maWxsU3R5bGUgPSBnOwogICAgIGN0eC5m
aWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1
LDAsMjU1OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IGluaXRpYWwucmVzZXQucGF0dGVybgog
ICBkZXNjOiBSZXNldHRpbmcgdGhlIGNhbnZhcyBzdGF0ZSBkb2VzIG5vdCBpbnZhbGlkYXRlIGFu
eSBleGlzdGluZyBwYXR0ZXJucwpAQCAtOTA5NCw2ICs5NTY4LDcgQEAKICAgICBjdHguZmlsbFN0
eWxlID0gcDsKICAgICBjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgQGFzc2VydCBw
aXhlbCA1MCwyNSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXpl
LmF0dHJpYnV0ZXMuaWRsLnNldC56ZXJvCiAgIGRlc2M6IFNldHRpbmcgd2lkdGgvaGVpZ2h0IElE
TCBhdHRyaWJ1dGVzIHRvIDAKQEAgLTkxMDUsNiArOTU4MCw3IEBACiAgICAgb2Zmc2NyZWVuQ2Fu
dmFzLmhlaWdodCA9IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMud2lkdGggPT09IDA7
CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAwOworICAgIHQuZG9uZSgp
OwogCiAtIG5hbWU6IHNpemUuYXR0cmlidXRlcy5pZGwKICAgZGVzYzogR2V0dGluZy9zZXR0aW5n
IHdpZHRoL2hlaWdodCBJREwgYXR0cmlidXRlcwpAQCAtOTEzMCw2ICs5NjA2LDcgQEAKICAgICBv
ZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0gImZvbyI7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52
YXMud2lkdGggPT09IDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSAw
OworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IHNpemUuYXR0cmlidXRlcy5kZWZhdWx0CiAgIGRl
c2M6IERlZmF1bHQgd2lkdGgvaGVpZ2h0IHdoZW4gYXR0cmlidXRlcyBhcmUgbWlzc2luZwpAQCAt
OTEzOSw2ICs5NjE2LDcgQEAKICAgY29kZTogfAogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFz
LndpZHRoID09PSAxMDA7CiAgICAgQGFzc2VydCBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID09PSA1
MDsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiBzaXplLmF0dHJpYnV0ZXMucmVmbGVjdC5zZXRp
ZGwKICAgZGVzYzogU2V0dGluZyBJREwgYXR0cmlidXRlcyB1cGRhdGVzIElETCBhbmQgY29udGVu
dCBhdHRyaWJ1dGVzCkBAIC05MTQ5LDYgKzk2MjcsNyBAQAogICAgIG9mZnNjcmVlbkNhbnZhcy5o
ZWlnaHQgPSA2MDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gMTIwOwog
ICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhlaWdodCA9PT0gNjA7CisgICAgdC5kb25lKCk7
CiAKIC0gbmFtZTogc2l6ZS5hdHRyaWJ1dGVzLnJlZmxlY3Quc2V0aWRsemVybwogICBkZXNjOiBT
ZXR0aW5nIElETCBhdHRyaWJ1dGVzIHRvIDAgdXBkYXRlcyBJREwgYW5kIGNvbnRlbnQgYXR0cmli
dXRlcwpAQCAtOTE1OSw2ICs5NjM4LDcgQEAKICAgICBvZmZzY3JlZW5DYW52YXMuaGVpZ2h0ID0g
MDsKICAgICBAYXNzZXJ0IG9mZnNjcmVlbkNhbnZhcy53aWR0aCA9PT0gMDsKICAgICBAYXNzZXJ0
IG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPT09IDA7CisgICAgdC5kb25lKCk7CiAKIC0gbWV0YTog
fAogICAgIGNhc2VzID0gWwpAQCAtOTE5MCw2ICs5NjcwLDggQEAKICAgICAgICAgICAgIGNvZGUg
Kz0gIkBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLndpZHRoID09PSAlcztcbkBhc3NlcnQgb2Zmc2Ny
ZWVuQ2FudmFzLmhlaWdodCA9PT0gJXM7XG4iICUgKGV4cCwgZXhwKQogICAgICAgICAgICAgZXhw
ZWN0ZWQgPSBOb25lCiAKKyAgICAgICAgY29kZSArPSAidC5kb25lKCk7XG4iCisKICAgICAgICAg
aWYgZXhwID09IDA6CiAgICAgICAgICAgICBleHBlY3RlZCA9IE5vbmUgIyBjYW4ndCBnZW5lcmF0
ZSB6ZXJvLXNpemVkIFBOR3MgZm9yIHRoZSBleHBlY3RlZCBpbWFnZQogCkBAIC05MjE2LDYgKzk2
OTgsNyBAQAogICAgIG9mZnNjcmVlbkNhbnZhcy5oZWlnaHQgPSBuOwogICAgIEBhc3NlcnQgb2Zm
c2NyZWVuQ2FudmFzLndpZHRoID09PSBuOwogICAgIEBhc3NlcnQgb2Zmc2NyZWVuQ2FudmFzLmhl
aWdodCA9PT0gbjsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmZvbnQucGFyc2Uu
YmFzaWMKICAgdGVzdGluZzoKQEAgLTkyMjcsNiArOTcxMCw3IEBACiAKICAgICBjdHguZm9udCA9
ICcyMFBYICAgU0VSSUYnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsg
QG1vei10b2RvCisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBhcnNlLnRp
bnkKICAgdGVzdGluZzoKQEAgLTkyMzUsNiArOTcxOSw3IEBACiAgIGNvZGU6IHwKICAgICBjdHgu
Zm9udCA9ICcxcHggc2Fucy1zZXJpZic7CiAgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJzFweCBz
YW5zLXNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0LmZvbnQucGFyc2Uu
Y29tcGxleAogICB0ZXN0aW5nOgpAQCAtOTI0NCw2ICs5NzI5LDcgQEAKICAgY29kZTogfAogICAg
IGN0eC5mb250ID0gJ3NtYWxsLWNhcHMgaXRhbGljIDQwMCAxMnB4LzIgVW5rbm93biBGb250LCBz
YW5zLXNlcmlmJzsKICAgICBAYXNzZXJ0IGN0eC5mb250ID09PSAnaXRhbGljIHNtYWxsLWNhcHMg
MTJweCAiVW5rbm93biBGb250Iiwgc2Fucy1zZXJpZic7IEBtb3otdG9kbworICAgIHQuZG9uZSgp
OwogCiAgICMgVE9ETzoKICAgIyAgIDJkLnRleHQuZm9udC5wYXJzZS5zaXplLmFic29sdXRlCkBA
IC05MjY0LDYgKzk3NTAsNyBAQAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnbWVzc2FnZS1i
b3gnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgIT09ICdtZXNzYWdlLWJveCc7CisgICAgdC5kb25l
KCk7CiAKIC0gbmFtZTogMmQudGV4dC5mb250LnBhcnNlLmludmFsaWQKICAgdGVzdGluZzoKQEAg
LTkyNzIsNiArOTc1OSwxMCBAQAogICAgIGN0eC5mb250ID0gJzIwcHggc2VyaWYnOwogICAgIEBh
c3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsKIAorICAgIGN0eC5mb250ID0gJzIwcHgg
c2VyaWYnOworICAgIGN0eC5mb250ID0gJyc7CisgICAgQGFzc2VydCBjdHguZm9udCA9PT0gJzIw
cHggc2VyaWYnOworCiAgICAgY3R4LmZvbnQgPSAnMjBweCBzZXJpZic7CiAgICAgY3R4LmZvbnQg
PSAnYm9ndXMnOwogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsKQEAgLTky
OTksMTQgKzk3OTAsMjIgQEAKICAgICBjdHguZm9udCA9ICcyMHB4IHNlcmlmJzsKICAgICBjdHgu
Zm9udCA9ICcxZW0gc2VyaWY7IGJhY2tncm91bmQ6IGdyZWVuOyBtYXJnaW46IDEwcHgnOwogICAg
IEBhc3NlcnQgY3R4LmZvbnQgPT09ICcyMHB4IHNlcmlmJzsKKyAgICB0LmRvbmUoKTsKIAogLSBu
YW1lOiAyZC50ZXh0LmZvbnQuZGVmYXVsdAogICB0ZXN0aW5nOgogICAgIC0gMmQudGV4dC5mb250
LmRlZmF1bHQKICAgY29kZTogfAogICAgIEBhc3NlcnQgY3R4LmZvbnQgPT09ICcxMHB4IHNhbnMt
c2VyaWYnOworICAgIHQuZG9uZSgpOwogCi0KKy0gbmFtZTogMmQudGV4dC5mb250LnJlbGF0aXZl
X3NpemUKKyAgdGVzdGluZzoKKyAgICAtIDJkLnRleHQuZm9udC5yZWxhdGl2ZV9zaXplCisgIGNv
ZGU6IHwKKyAgICBjdHguZm9udCA9ICcxZW0gc2Fucy1zZXJpZic7CisgICAgQGFzc2VydCBjdHgu
Zm9udCA9PT0gJzEwcHggc2Fucy1zZXJpZic7CisgICAgdC5kb25lKCk7CiAKIC0gbmFtZTogMmQu
dGV4dC5hbGlnbi52YWxpZAogICB0ZXN0aW5nOgpAQCAtOTMyNyw2ICs5ODI2LDcgQEAKIAogICAg
IGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJzsKICAgICBAYXNzZXJ0IGN0eC50ZXh0QWxpZ24gPT09
ICdjZW50ZXInOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuYWxpZ24uaW52YWxp
ZAogICB0ZXN0aW5nOgpAQCAtOTM0NywxMiArOTg0NywxNCBAQAogICAgIGN0eC50ZXh0QWxpZ24g
PSAnc3RhcnQnOwogICAgIGN0eC50ZXh0QWxpZ24gPSAnZW5kXDAnOwogICAgIEBhc3NlcnQgY3R4
LnRleHRBbGlnbiA9PT0gJ3N0YXJ0JzsKKyAgICB0LmRvbmUoKTsKIAogLSBuYW1lOiAyZC50ZXh0
LmFsaWduLmRlZmF1bHQKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQuYWxpZ24uZGVmYXVsdAog
ICBjb2RlOiB8CiAgICAgQGFzc2VydCBjdHgudGV4dEFsaWduID09PSAnc3RhcnQnOworICAgIHQu
ZG9uZSgpOwogCiAKIC0gbmFtZTogMmQudGV4dC5iYXNlbGluZS52YWxpZApAQCAtOTM3Nyw2ICs5
ODc5LDcgQEAKIAogICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9tJzsKICAgICBAYXNzZXJ0
IGN0eC50ZXh0QmFzZWxpbmUgPT09ICdib3R0b20nOworICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6
IDJkLnRleHQuYmFzZWxpbmUuaW52YWxpZAogICB0ZXN0aW5nOgpAQCAtOTM5NywxMiArOTkwMCwx
NCBAQAogICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJzsKICAgICBjdHgudGV4dEJhc2VsaW5l
ID0gJ21pZGRsZVwwJzsKICAgICBAYXNzZXJ0IGN0eC50ZXh0QmFzZWxpbmUgPT09ICd0b3AnOwor
ICAgIHQuZG9uZSgpOwogCiAtIG5hbWU6IDJkLnRleHQuYmFzZWxpbmUuZGVmYXVsdAogICB0ZXN0
aW5nOgogICAgIC0gMmQudGV4dC5iYXNlbGluZS5kZWZhdWx0CiAgIGNvZGU6IHwKICAgICBAYXNz
ZXJ0IGN0eC50ZXh0QmFzZWxpbmUgPT09ICdhbHBoYWJldGljJzsKKyAgICB0LmRvbmUoKTsKIAog
LSBuYW1lOiAyZC50ZXh0LmRyYXcuZmlsbC5iYXNpYwogICBkZXNjOiBmaWxsVGV4dCBkcmF3cyBm
aWxsZWQgdGV4dApAQCAtOTQxNyw2ICs5OTIyLDcgQEAKICAgICBjdHguc3Ryb2tlU3R5bGUgPSAn
I2YwMCc7CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4
LmZpbGxUZXh0KCdQQVNTJywgNSwgMzUpOworICAgIHQuZG9uZSgpOwogICBleHBlY3RlZDogJnBh
c3NmaWxsIHwKICAgICBzaXplIDEwMCA1MAogICAgIGNyLnNldF9zb3VyY2VfcmdiKDAsIDAsIDAp
CkBAIC05NDUwLDYgKzk5NTYsNyBAQAogCiAgICAgQGFzc2VydCBwaXhlbCA1MCwyNSA9PSAwLDI1
NSwwLDI1NTsKICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT0gMCwyNTUsMCwyNTU7CisgICAgdC5k
b25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLnJ0
bApAQCAtOTQ2NCw2ICs5OTcxLDcgQEAKICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2YwMCc7CiAg
ICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0
KCdcdTIwMmVGQUlMIFx4YTAgXHhhMCBTU0FQJywgNSwgMzUpOworICAgIHQuZG9uZSgpOwogICBl
eHBlY3RlZDogKnBhc3NmaWxsCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgu
bGFyZ2UKQEAgLTk0NzcsNiArOTk4NSw3IEBACiAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
ICAgICBjdHguZm9udCA9ICczNXB4IEFyaWFsLCBzYW5zLXNlcmlmJzsKICAgICBjdHguZmlsbFRl
eHQoJ1BBU1MnLCA1LCAzNSwgMjAwKTsKKyAgICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6ICpwYXNz
ZmlsbAogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnNtYWxsCkBAIC05NDkw
LDYgKzk5OTksNyBAQAogICAgIGN0eC5mb250ID0gJzM1cHggQXJpYWwsIHNhbnMtc2VyaWYnOwog
ICAgIGN0eC5maWxsVGV4dCgnZmFpbCBmYWlsIGZhaWwgZmFpbCBmYWlsJywgLTEwMCwgMzUsIDkw
KTsKICAgICBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKKyAgICB0LmRvbmUoKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguemVybwpA
QCAtOTUwMyw2ICsxMDAxMyw3IEBACiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1z
ZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWlsIGZhaWwnLCA1LCAz
NSwgMCk7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5kb25lKCk7CiAg
IGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLm5l
Z2F0aXZlCkBAIC05NTE2LDYgKzEwMDI3LDcgQEAKICAgICBjdHguZm9udCA9ICczNXB4IEFyaWFs
LCBzYW5zLXNlcmlmJzsKICAgICBjdHguZmlsbFRleHQoJ2ZhaWwgZmFpbCBmYWlsIGZhaWwgZmFp
bCcsIDUsIDM1LCAtMSk7CiAgICAgX2Fzc2VydEdyZWVuKGN0eCwgMTAwLCA1MCk7CisgICAgdC5k
b25lKCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5maWxsLm1h
eFdpZHRoLk5hTgpAQCAtOTUyOSw2ICsxMDA0MSw3IEBACiAgICAgY3R4LmZvbnQgPSAnMzVweCBB
cmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LmZpbGxUZXh0KCdmYWlsIGZhaWwgZmFpbCBmYWls
IGZhaWwnLCA1LCAzNSwgTmFOKTsKICAgICBfYXNzZXJ0R3JlZW4oY3R4LCAxMDAsIDUwKTsKKyAg
ICB0LmRvbmUoKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnN0
cm9rZS5iYXNpYwpAQCAtOTU0NSw2ICsxMDA1OCw3IEBACiAgICAgY3R4LmxpbmVXaWR0aCA9IDE7
CiAgICAgY3R4LmZvbnQgPSAnMzVweCBBcmlhbCwgc2Fucy1zZXJpZic7CiAgICAgY3R4LnN0cm9r
ZVRleHQoJ1BBU1MnLCA1LCAzNSk7CisgICAgdC5kb25lKCk7CiAgIGV4cGVjdGVkOiB8CiAgICAg
c2l6ZSAxMDAgNTAKICAgICBjci5zZXRfc291cmNlX3JnYigwLCAwLCAwKQpAQCAtOTU4MCw2ICsx
MDA5NCw3IEBACiAKICAgICBAYXNzZXJ0IHBpeGVsIDUwLDI1ID09IDAsMjU1LDAsMjU1OwogICAg
IEBhc3NlcnQgcGl4ZWwgNSw0NSA9PSAwLDI1NSwwLDI1NTsKKyAgICB0LmRvbmUoKTsKICAgZXhw
ZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3Lmtlcm4uY29uc2lzdGVudApAQCAt
OTU5OCw2ICsxMDExMyw3IEBACiAgICAgY3R4LmZpbGxUZXh0KCdUb1RvVG9Ub1RvVG9UbycsIC01
MCwgNDUpOwogICAgIGN0eC5zdHJva2VUZXh0KCdWQVZBVkFWQVZBVkFWQScsIC01MCwgMjUpOwog
ICAgIGN0eC5zdHJva2VUZXh0KCdUb1RvVG9Ub1RvVG9UbycsIC01MCwgNDUpOworICAgIHQuZG9u
ZSgpOwogICBleHBlY3RlZDogZ3JlZW4KIAogIyBDYW52YXNUZXN0IGlzOgpAQCAtOTYyMyw4ICsx
MDEzOSw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKQEAg
LTk2MzMsNyArMTAxNDksNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7
CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0g
bmFtZTogMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguYm91bmQKQEAgLTk2NDQsOCArMTAxNjAs
OCBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBD
YW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC05NjU0
LDcgKzEwMTcwLDcgQEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAg
ICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6
IDJkLnRleHQuZHJhdy5mb250ZmFjZQpAQCAtOTY2NCw4ICsxMDE4MCw4IEBACiAgICAgLSBDYW52
YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc2N3B4IENhbnZhc1Rlc3QnOwotICAg
IGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5m
aWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
ICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk2NzQsNyArMTAxOTAsNyBAQAog
ICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNz
ZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3
NSwyNSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFz
cywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmZv
bnRmYWNlLnJlcGVhdApAQCAtOTY5MCwxNCArMTAyMDYsMTQgQEAKICAgICBjdHguZm9udCA9ICc2
N3B4IENhbnZhc1Rlc3QnOwogICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAgY3R4LmZp
bGxUZXh0KCdBQScsIDAsIDUwKTsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQo
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgICAgICBjdHguZmlsbFRleHQoJ0FBJywgMCwgNTApOwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDUsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
OTUsNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsK
LSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3Rl
ZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlCkBAIC05
NzA5LDggKzEwMjI1LDggQEAKICAgZm9udGhhY2s6IDAKICAgY29kZTogfAogICAgIGN0eC5mb250
ID0gJzY3cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihm
dW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwpAQCAtOTcxOSw3ICsxMDIzNSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgOTUsNSA9PX4g
MCwyNTUsMCwyNTU7IEBtb3otdG9kbwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAw
LDI1NSwwLDI1NTsgQG1vei10b2RvCiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAs
MjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNz
LCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFz
ZWxpbmUudG9wCkBAIC05NzMwLDggKzEwMjQ2LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29k
ZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7
Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTc0Myw3ICsxMDI1OSw3IEBACiAgICAgICAgIEBhc3Nl
cnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUs
NDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1
NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwog
ICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYm90dG9t
CkBAIC05NzU0LDggKzEwMjcwLDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAg
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAg
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwpAQCAtOTc2Nyw3ICsxMDI4Myw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwg
NzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAs
MjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsK
LSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3Rl
ZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUubWlkZGxlCkBAIC05Nzc4
LDggKzEwMjk0LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250
ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0
KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihm
dW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAn
OwpAQCAtOTc5MSw3ICsxMDMwNyw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+
IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwg
NTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4K
IAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYmFzZWxpbmUuYWxwaGFiZXRpYwpAQCAtOTgwMSw4ICsx
MDMxNyw4IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1
MHB4IENhbnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAg
LTk4MTQsNyArMTAzMzAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1
NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAg
ICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7
CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0g
bmFtZTogMmQudGV4dC5kcmF3LmJhc2VsaW5lLmlkZW9ncmFwaGljCkBAIC05ODI0LDggKzEwMzQw
LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHgg
Q2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUp
IHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigp
IHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTgz
Nyw3ICsxMDM1Myw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRv
ZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9k
bwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVj
dGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQuZHJhdy5iYXNlbGluZS5oYW5naW5nCkBAIC05
ODQ3LDggKzEwMzYzLDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5m
b250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1l
b3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhl
bihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAg
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMw
ZjAnOwpAQCAtOTg2MCw3ICsxMDM3Niw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUg
PT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAs
MjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9
KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3Jl
ZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24ubGVmdApAQCAtOTg3MSw4ICsxMDM4Nyw4
IEBACiAgICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENh
bnZhc1Rlc3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
IHN0ZXBfdGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7
CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCAxMDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk4ODQs
NyArMTA0MDAsNyBAQAogICAgICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1
NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAg
QGFzc2VydCBwaXhlbCA5NSw0NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAg
ICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTog
MmQudGV4dC5kcmF3LmFsaWduLnJpZ2h0CkBAIC05ODk1LDggKzEwNDExLDggQEAKICAgICAtIENh
bnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0g
ICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0
KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4
LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTAp
OwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAtOTkwOCw3ICsxMDQyNCw3IEBA
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVs
IDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9w
YXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcu
YWxpZ24uc3RhcnQubHRyCkBAIC05OTIwLDggKzEwNDM2LDggQEAKICAgY2FudmFzOiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjUwIiBkaXI9Imx0ciIKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
OTkzMyw3ICsxMDQ0OSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1
LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsK
KyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBu
YW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24uc3RhcnQucnRsCkBAIC05OTQ2LDggKzEwNDYyLDggQEAK
ICAgY2FudmFzOiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIiBkaXI9InJ0bCIKICAgY29kZTogfAog
ICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAg
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisg
ICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsK
ICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0
eWxlID0gJyMwZjAnOwpAQCAtOTk1OSw3ICsxMDQ3NSw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+
IDAsMjU1LDAsMjU1OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1
NTsKLSAgICB9KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBl
Y3RlZDogZ3JlZW4KIAogLSBuYW1lOiAyZC50ZXh0LmRyYXcuYWxpZ24uZW5kLmx0cgpAQCAtOTk3
MSw4ICsxMDQ4Nyw4IEBACiAgIGNhbnZhczogd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCIgZGlyPSJs
dHIiCiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwotICAgIGRl
ZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgp
IHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91dChyZXNv
bHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5maWxs
U3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKICAg
ICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTk5ODQsNyArMTA1MDAsNyBAQAogICAg
ICAgICBAYXNzZXJ0IHBpeGVsIDc1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2Vy
dCBwaXhlbCA1LDQ1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA5NSw0
NSA9PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywg
dF9mYWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LmFsaWdu
LmVuZC5ydGwKQEAgLTk5OTcsOCArMTA1MTMsOCBAQAogICBjYW52YXM6IHdpZHRoPSIxMDAiIGhl
aWdodD0iNTAiIGRpcj0icnRsIgogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52
YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewog
ICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJlY3QoMCwg
MCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CkBAIC0xMDAxMCw3
ICsxMDUyNiw3IEBACiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDUsNDUgPT1+IDAsMjU1LDAsMjU1OwogICAgICAgICBA
YXNzZXJ0IHBpeGVsIDk1LDQ1ID09fiAwLDI1NSwwLDI1NTsKLSAgICB9KSwgNTAwKTsKKyAgICAg
IH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3JlZW4KIAogLSBuYW1lOiAy
ZC50ZXh0LmRyYXcuYWxpZ24uY2VudGVyCkBAIC0xMDAyMSw4ICsxMDUzNyw4IEBACiAgICAgLSBD
YW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rlc3QnOwot
ICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBfdGltZW91
dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0
eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKQEAgLTEwMDM0LDcgKzEwNTUwLDcg
QEAKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAg
IEBhc3NlcnQgcGl4ZWwgNSw0NSA9PX4gMCwyNTUsMCwyNTU7CiAgICAgICAgIEBhc3NlcnQgcGl4
ZWwgOTUsNDUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAKQEAgLTEwMDQ2LDE1ICsxMDU2
MiwxNSBAQAogICAgIC0gQ2FudmFzVGVzdAogICBjb2RlOiB8CiAgICAgY3R4LmZvbnQgPSAnNTBw
eCBDYW52YXNUZXN0JzsKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2
ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyNmMDAnOwogICAgICAgICBjdHguZmlsbFJl
Y3QoMCwgMCwgMTAwLCA1MCk7CiAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiAgICAg
ICAgIGN0eC5maWxsVGV4dCgnRSBFRScsIC0xMDAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBp
eGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9
PX4gMCwyNTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9m
YWlsKTsKICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnNwYWNlLmNv
bGxhcHNlLnNwYWNlCkBAIC0xMDA2NSwxNSArMTA1ODEsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QK
ICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJU
ZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgewor
ICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUs
IDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHls
ZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAg
ICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHguZmlsbFRleHQoJ0UgIEVFJywg
LTEwMCwgMzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUsMjUgPT1+IDAsMjU1LDAsMjU1
OyBAbW96LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwyNTUsMCwyNTU7
Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKICAgZXhwZWN0
ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLm90aGVyCkBA
IC0xMDA4NCwxNSArMTA2MDAsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAg
IGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3Rl
cF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAg
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAg
ICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxl
ID0gJyMwZjAnOwogICAgICAgICBjdHguZmlsbFRleHQoJ0UgXHgwOVx4MGFceDBjXHgwZCAgXHgw
OVx4MGFceDBjXHgwZEVFJywgLTEwMCwgMzcuNSk7CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgMjUs
MjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwy
NSA9PX4gMCwyNTUsMCwyNTU7IEBtb3otdG9kbwotICAgIH0pLCA1MDApOworICAgICAgfSkudGhl
bih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgogCiAtIG5hbWU6IDJkLnRleHQu
ZHJhdy5zcGFjZS5jb2xsYXBzZS5ub25zcGFjZQpAQCAtMTAxMDMsMTUgKzEwNjE5LDE1IEBACiAg
ICAgLSBDYW52YXNUZXN0CiAgIGNvZGU6IHwKICAgICBjdHguZm9udCA9ICc1MHB4IENhbnZhc1Rl
c3QnOwotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uICgpIHsKKyAgICBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7IHN0ZXBf
dGltZW91dChyZXNvbHZlLCA1MDApOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKICAgICAgICAgY3R4LmZp
bGxUZXh0KCdFXHgwYiBFRScsIC0xNTAsIDM3LjUpOwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1
LDI1ID09fiAwLDI1NSwwLDI1NTsKICAgICAgICAgQGFzc2VydCBwaXhlbCA3NSwyNSA9PX4gMCwy
NTUsMCwyNTU7Ci0gICAgfSksIDUwMCk7CisgICAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsK
ICAgZXhwZWN0ZWQ6IGdyZWVuCiAKIC0gbmFtZTogMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNl
LnN0YXJ0CkBAIC0xMDEyMiwxNSArMTA2MzgsMTUgQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29k
ZTogfAogICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7
Ci0gICAgc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7
IH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcj
ZjAwJzsKICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogICAgICAgICBjdHguZmlsbFRleHQoJyBFRScsIDAsIDM3LjUp
OwogICAgICAgICBAYXNzZXJ0IHBpeGVsIDI1LDI1ID09fiAwLDI1NSwwLDI1NTsgQG1vei10b2Rv
CiAgICAgICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OwotICAgIH0pLCA1
MDApOworICAgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CiAgIGV4cGVjdGVkOiBncmVlbgog
CiAtIG5hbWU6IDJkLnRleHQuZHJhdy5zcGFjZS5jb2xsYXBzZS5lbmQKQEAgLTEwMTQxLDggKzEw
NjU3LDggQEAKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAogICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7Ci0gICAgZGVmZXJUZXN0KCk7Ci0gICAgc3RlcF90aW1lb3V0KHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24gKCkgeworICAgIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pCisgICAgICAudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKICAgICAgICAgY3R4LmZpbGxS
ZWN0KDAsIDAsIDEwMCwgNTApOwogICAgICAgICBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwpAQCAt
MTAxNTAsMTcgKzEwNjY2LDIyIEBACiAgICAgICAgIGN0eC5maWxsVGV4dCgnRUUgJywgMTAwLCAz
Ny41KTsKICAgICAgICAgQGFzc2VydCBwaXhlbCAyNSwyNSA9PX4gMCwyNTUsMCwyNTU7CiAgICAg
ICAgIEBhc3NlcnQgcGl4ZWwgNzUsMjUgPT1+IDAsMjU1LDAsMjU1OyBAbW96LXRvZG8KLSAgICB9
KSwgNTAwKTsKKyAgICAgIH0pLnRoZW4odF9wYXNzLCB0X2ZhaWwpOwogICBleHBlY3RlZDogZ3Jl
ZW4KIAogLSBuYW1lOiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguYmFzaWMKKyAgZGVzYzogVGhlIHdp
ZHRoIG9mIGNoYXJhY3RlciBpcyBzYW1lIGFzIGZvbnQgdXNlZCBmb3IgT2Zmc2NyZWVuQ2FudmFz
CiAgIHRlc3Rpbmc6CiAgICAgLSAyZC50ZXh0Lm1lYXN1cmUKICAgZm9udHM6CiAgICAgLSBDYW52
YXNUZXN0CiAgIGNvZGU6IHwKLSAgICBkZWZlclRlc3QoKTsKLSAgICBzdGVwX3RpbWVvdXQodC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNh
bnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNl
bGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChm
KTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOwor
ICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2FudmFz
VGVzdCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGggPT09IDUw
OwogICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUEnKS53aWR0aCA9PT0gMTAwOwpA
QCAtMTAxNjgsMzAgKzEwNjg5LDM4IEBACiAKICAgICAgICAgY3R4LmZvbnQgPSAnMTAwcHggQ2Fu
dmFzVGVzdCc7CiAgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykud2lkdGggPT09
IDEwMDsKLSAgICB9KSwgNTAwKTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKIAogLSBu
YW1lOiAyZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHkKLSAgZGVzYzogVGhlIGVtcHR5IHN0cmlu
ZyBoYXMgemVybyB3aWR0aAorICBkZXNjOiBUaGUgZW1wdHkgc3RyaW5nIGhhcyB6ZXJvIHdpZHRo
IGZvciBPZmZzY3JlZW5DYW52YXMKICAgdGVzdGluZzoKICAgICAtIDJkLnRleHQubWVhc3VyZQog
ICBmb250czoKICAgICAtIENhbnZhc1Rlc3QKICAgY29kZTogfAotICAgIGRlZmVyVGVzdCgpOwot
ICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIg
ZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsK
KyAgICBsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250
cyk7CisgICAgZm9udHMuYWRkKGYpOworICAgIGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQo
cmVzb2x2ZSwgNTAwKTsgfSk7CisgICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4
LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRl
eHQoIiIpLndpZHRoID09PSAwOwotICAgIH0pLCA1MDApOworICAgIH0pLnRoZW4odF9wYXNzLCB0
X2ZhaWwpOwogCiAtIG5hbWU6IDJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZQotICBkZXNjOiBT
cGFjZSBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gVSswMDIwIGFuZCBjb2xsYXBzZWQgKHBl
ciBDU1MpCisgIGRlc2M6IFNwYWNlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBVKzAwMjAg
YW5kIGNvbGxhcHNlZCAocGVyIENTUykgZm9yIE9mZnNjcmVlbkNhbnZhcwogICB0ZXN0aW5nOgog
ICAgIC0gMmQudGV4dC5tZWFzdXJlLnNwYWNlcwogICBmb250czoKICAgICAtIENhbnZhc1Rlc3QK
ICAgY29kZTogfAotICAgIGRlZmVyVGVzdCgpOwotICAgIHN0ZXBfdGltZW91dCh0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVz
dCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKKyAgICBsZXQgZm9udHMgPSAoc2VsZi5mb250
cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7CisgICAgZm9udHMuYWRkKGYpOworICAg
IGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7CisgICAgfSku
dGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsK
ICAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EgQicpLndpZHRoID09PSAxNTA7CiAg
ICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBICBCJykud2lkdGggPT09IDE1MDsgQG1v
ei10b2RvCkBAIC0xMDIwMCw2ICsxMDcyOSwxNDEgQEAKIAogICAgICAgICBAYXNzZXJ0IGN0eC5t
ZWFzdXJlVGV4dCgnIEFCJykud2lkdGggPT09IDEwMDsgQG1vei10b2RvCiAgICAgICAgIEBhc3Nl
cnQgY3R4Lm1lYXN1cmVUZXh0KCdBQiAnKS53aWR0aCA9PT0gMTAwOyBAbW96LXRvZG8KLSAgICB9
KSwgNTAwKTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworLSBuYW1lOiAyZC50ZXh0
Lm1lYXN1cmUuYWR2YW5jZXMKKyAgZGVzYzogVGVzdGluZyB3aWR0aCBhZHZhbmNlcyBmb3IgT2Zm
c2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuYWR2YW5jZXMK
KyAgZm9udHM6CisgICAgLSBDYW52YXNUZXN0CisgIGNvZGU6IHwKKyAgICB2YXIgZiA9IG5ldyBG
b250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFzVGVzdC50dGYiKTsKKyAgICBsZXQg
Zm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBkb2N1bWVudC5mb250cyk7CisgICAg
Zm9udHMuYWRkKGYpOworICAgIGZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBzdGVwX3RpbWVvdXQocmVzb2x2ZSwg
NTAwKTsgfSk7CisgICAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICAgICAgY3R4LmZvbnQgPSAn
NTBweCBDYW52YXNUZXN0JzsKKyAgICAgICAgY3R4LmRpcmVjdGlvbiA9ICdsdHInOworICAgICAg
ICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICAgICAgLy8gU29tZSBwbGF0Zm9ybXMgbWF5IHJldHVy
biAnLTAnLgorICAgICAgICBAYXNzZXJ0IE1hdGguYWJzKGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8n
KS5hZHZhbmNlc1swXSkgPT09IDA7CisgICAgICAgIC8vIERpZmZlcmVudCBwbGF0Zm9ybXMgbWF5
IHJlbmRlciB0ZXh0IHNsaWdodGx5IGRpZmZlcmVudC4KKyAgICAgICAgQGFzc2VydCBjdHgubWVh
c3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbMV0gPj0gMzY7CisgICAgICAgIEBhc3NlcnQgY3R4
Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzJdID49IDU4OworICAgICAgICBAYXNzZXJ0
IGN0eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSA+PSA3MDsKKyAgICAgICAgQGFz
c2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJykuYWR2YW5jZXNbNF0gPj0gODA7CisKKyAgICAg
ICAgdmFyIHRtID0gY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpOworICAgICAgICBAYXNzZXJ0IGN0
eC5tZWFzdXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1swXSA9PT0gdG0uYWR2YW5jZXNbMF07Cisg
ICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzFdID09PSB0
bS5hZHZhbmNlc1sxXTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0hlbGxvJyku
YWR2YW5jZXNbMl0gPT09IHRtLmFkdmFuY2VzWzJdOworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFz
dXJlVGV4dCgnSGVsbG8nKS5hZHZhbmNlc1szXSA9PT0gdG0uYWR2YW5jZXNbM107CisgICAgICAg
IEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdIZWxsbycpLmFkdmFuY2VzWzRdID09PSB0bS5hZHZh
bmNlc1s0XTsKKyAgICB9KS50aGVuKHRfcGFzcywgdF9mYWlsKTsKKworLSBuYW1lOiAyZC50ZXh0
Lm1lYXN1cmUuYWN0dWFsQm91bmRpbmdCb3gKKyAgZGVzYzogVGVzdGluZyBhY3R1YWxCb3VuZGlu
Z0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1
cmUuYWN0dWFsQm91bmRpbmdCb3gKKyAgZm9udHM6CisgICAgLSBDYW52YXNUZXN0CisgIGNvZGU6
IHwKKyAgICB2YXIgZiA9IG5ldyBGb250RmFjZSgiQ2FudmFzVGVzdCIsICIvZm9udHMvQ2FudmFz
VGVzdC50dGYiKTsKKyAgICBsZXQgZm9udHMgPSAoc2VsZi5mb250cyA/IHNlbGYuZm9udHMgOiBk
b2N1bWVudC5mb250cyk7CisgICAgZm9udHMuYWRkKGYpOworICAgIGZvbnRzLnJlYWR5LnRoZW4o
KCkgPT4geworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyBz
dGVwX3RpbWVvdXQocmVzb2x2ZSwgNTAwKTsgfSk7CisgICAgfSkudGhlbihmdW5jdGlvbigpIHsK
KyAgICAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICAgICAgY3R4LmRpcmVj
dGlvbiA9ICdsdHInOworICAgICAgICBjdHguYWxpZ24gPSAnbGVmdCcKKyAgICAgICAgY3R4LmJh
c2VsaW5lID0gJ2FscGhhYmV0aWMnCisgICAgICAgIC8vIFNvbWUgcGxhdGZvcm1zIG1heSByZXR1
cm4gJy0wJy4KKyAgICAgICAgQGFzc2VydCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5h
Y3R1YWxCb3VuZGluZ0JveExlZnQpID09PSAwOworICAgICAgICAvLyBEaWZmZXJlbnQgcGxhdGZv
cm1zIG1heSByZW5kZXIgdGV4dCBzbGlnaHRseSBkaWZmZXJlbnQuCisgICAgICAgIEBhc3NlcnQg
Y3R4Lm1lYXN1cmVUZXh0KCdBJykuYWN0dWFsQm91bmRpbmdCb3hSaWdodCA+PSA1MDsKKyAgICAg
ICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCA+
PSAzNTsKKyAgICAgICAgQGFzc2VydCBNYXRoLmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5hY3R1
YWxCb3VuZGluZ0JveERlc2NlbnQpID09PSAwOworCisgICAgICAgIEBhc3NlcnQgTWF0aC5hYnMo
Y3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuYWN0dWFsQm91bmRpbmdCb3hMZWZ0KSA9PT0gMDsKKyAg
ICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveFJp
Z2h0ID49IDIwMDsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5hY3R1
YWxCb3VuZGluZ0JveEFzY2VudCA+PSA4NTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRl
eHQoJ0FCQ0QnKS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQgPj0gMzc7CisgICAgfSkudGhlbih0
X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4dC5tZWFzdXJlLmZvbnRCb3VuZGluZ0Jv
eAorICBkZXNjOiBUZXN0aW5nIGZvbnRCb3VuZGluZ0JveCBmb3IgT2Zmc2NyZWVuQ2FudmFzCisg
IHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuZm9udEJvdW5kaW5nQm94CisgIGZvbnRz
OgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2Uo
IkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZvbnRzID0g
KHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFk
ZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0p
OworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250ID0gJzUwcHggQ2Fu
dmFzVGVzdCc7CisgICAgICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAgY3R4LmFs
aWduID0gJ2xlZnQnCisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJykuZm9udEJv
dW5kaW5nQm94QXNjZW50ID09PSA4NTsKKyAgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQo
J0EnKS5mb250Qm91bmRpbmdCb3hEZXNjZW50ID09PSAzOTsKKworICAgICAgICBAYXNzZXJ0IGN0
eC5tZWFzdXJlVGV4dCgnQUJDRCcpLmZvbnRCb3VuZGluZ0JveEFzY2VudCA9PT0gODU7CisgICAg
ICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZm9udEJvdW5kaW5nQm94RGVzY2Vu
dCA9PT0gMzk7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFpbCk7CisKKy0gbmFtZTogMmQudGV4
dC5tZWFzdXJlLmVtSGVpZ2h0cworICBkZXNjOiBUZXN0aW5nIGVtSGVpZ2h0cyBmb3IgT2Zmc2Ny
ZWVuQ2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0Lm1lYXN1cmUuZW1IZWlnaHRzCisg
IGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8CisgICAgdmFyIGYgPSBuZXcgRm9u
dEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rlc3QudHRmIik7CisgICAgbGV0IGZv
bnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9jdW1lbnQuZm9udHMpOworICAgIGZv
bnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3RlcF90aW1lb3V0KHJlc29sdmUsIDUw
MCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGN0eC5mb250ID0gJzUw
cHggQ2FudmFzVGVzdCc7CisgICAgICAgIGN0eC5kaXJlY3Rpb24gPSAnbHRyJzsKKyAgICAgICAg
Y3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBJyku
ZW1IZWlnaHRBc2NlbnQgPT09IDM3LjU7CisgICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0
KCdBJykuZW1IZWlnaHREZXNjZW50ID09PSAxMi41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFz
dXJlVGV4dCgnQScpLmVtSGVpZ2h0RGVzY2VudCArIGN0eC5tZWFzdXJlVGV4dCgnQScpLmVtSGVp
Z2h0QXNjZW50ID09PSA1MDsKKworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQUJD
RCcpLmVtSGVpZ2h0QXNjZW50ID09PSAzNy41OworICAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJl
VGV4dCgnQUJDRCcpLmVtSGVpZ2h0RGVzY2VudCA9PT0gMTIuNTsKKyAgICAgICAgQGFzc2VydCBj
dHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5lbUhlaWdodERlc2NlbnQgKyBjdHgubWVhc3VyZVRleHQo
J0FCQ0QnKS5lbUhlaWdodEFzY2VudCA9PT0gNTA7CisgICAgfSkudGhlbih0X3Bhc3MsIHRfZmFp
bCk7CisKKy0gbmFtZTogMmQudGV4dC5tZWFzdXJlLmJhc2VsaW5lcworICBkZXNjOiBUZXN0aW5n
IGJhc2VsaW5lcyBmb3IgT2Zmc2NyZWVuQ2FudmFzCisgIHRlc3Rpbmc6CisgICAgLSAyZC50ZXh0
Lm1lYXN1cmUuYmFzZWxpbmVzCisgIGZvbnRzOgorICAgIC0gQ2FudmFzVGVzdAorICBjb2RlOiB8
CisgICAgdmFyIGYgPSBuZXcgRm9udEZhY2UoIkNhbnZhc1Rlc3QiLCAiL2ZvbnRzL0NhbnZhc1Rl
c3QudHRmIik7CisgICAgbGV0IGZvbnRzID0gKHNlbGYuZm9udHMgPyBzZWxmLmZvbnRzIDogZG9j
dW1lbnQuZm9udHMpOworICAgIGZvbnRzLmFkZChmKTsKKyAgICBmb250cy5yZWFkeS50aGVuKCgp
ID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDUwMCk7IH0pOworICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgICAgY3R4LmZvbnQgPSAnNTBweCBDYW52YXNUZXN0JzsKKyAgICAgICBjdHguZGlyZWN0aW9u
ID0gJ2x0cic7CisgICAgICAgY3R4LmFsaWduID0gJ2xlZnQnCisgICAgICAgQGFzc2VydCBNYXRo
LmFicyhjdHgubWVhc3VyZVRleHQoJ0EnKS5nZXRCYXNlbGluZXMoKS5hbHBoYWJldGljKSA9PT0g
MDsKKyAgICAgICBAYXNzZXJ0IGN0eC5tZWFzdXJlVGV4dCgnQScpLmdldEJhc2VsaW5lcygpLmlk
ZW9ncmFwaGljID09PSAtMzk7CisgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0EnKS5n
ZXRCYXNlbGluZXMoKS5oYW5naW5nID09PSA2ODsKKworICAgICAgIEBhc3NlcnQgTWF0aC5hYnMo
Y3R4Lm1lYXN1cmVUZXh0KCdBQkNEJykuZ2V0QmFzZWxpbmVzKCkuYWxwaGFiZXRpYykgPT09IDA7
CisgICAgICAgQGFzc2VydCBjdHgubWVhc3VyZVRleHQoJ0FCQ0QnKS5nZXRCYXNlbGluZXMoKS5p
ZGVvZ3JhcGhpYyA9PT0gLTM5OworICAgICAgIEBhc3NlcnQgY3R4Lm1lYXN1cmVUZXh0KCdBQkNE
JykuZ2V0QmFzZWxpbmVzKCkuaGFuZ2luZyA9PT0gNjg7CisgICAgfSkudGhlbih0X3Bhc3MsIHRf
ZmFpbCk7CiAKICMgVE9ETzogc2hhZG93cywgYWxwaGEsIGNvbXBvc2l0ZSwgY2xpcApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5nZXRU
cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1ZGNmMDY0ZWU4MjE3ZGIxZDA3OTAy
Njc5MWUxMDlmZjcwODVhZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLmdldFRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBnZXRUcmFuc2Zvcm0gd29ya3MgY29y
cmVjdGx5LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5nZXRUcmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNiNzBhYzIwODY3NGM1YmYyNDlj
NmY1OGI0NjQ3Yjk4YmU2ZDVlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24uZ2V0VHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw0MCBAQAor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+
Cis8c2NyaXB0PgorLy8gRW5zdXJlIHRoYXQgY29udGV4dDJkLmdldFRyYW5zZm9ybSB3b3Jrcwor
Y29uc3QgZXBzaWxvbiA9IDFlLTU7Citjb25zdCBjYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFz
KDMwMCwgMTUwKTsKK2NvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGN0eC5nZXRUcmFuc2Zvcm0o
KS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFsxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAx
LCAwLCAwLCAwLCAwLCAxXSwKKyAgICAiQXNzZXJ0IHRoYXQgYW4gdW50cmFuc2Zvcm1lZCBtYXRy
aXggaXMgaWRlbnRpdHkiKTsKKworICBjdHguc2NhbGUoMiwgMyk7CisgIHRyYW5zZm9ybSA9IGN0
eC5nZXRUcmFuc2Zvcm0oKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJhbnNmb3Jt
KCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMiwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwg
MSwgMCwgMCwgMCwgMCwgMV0sCisgICAgIkFzc2VydCB0aGF0IGNvbnRleHQyZCBzY2FsaW5nIHdv
cmtzIik7CisKKyAgY3R4LnJvdGF0ZShNYXRoLlBJLzIpOworICB0cmFuc2Zvcm0gPSBjdHguZ2V0
VHJhbnNmb3JtKCk7CisgIGFzc2VydF9hcnJheV9hcHByb3hfZXF1YWxzKGN0eC5nZXRUcmFuc2Zv
cm0oKS50b0Zsb2F0MzJBcnJheSgpLAorICAgIFswLCAzLCAwLCAwLCAtMiwgMCwgMCwgMCwgMCwg
MCwgMSwgMCwgMCwgMCwgMCwgMV0sIGVwc2lsb24sCisgICAgIkFzc2VydCB0aGF0IGNvbnRleHQy
ZCByb3RhdGUgd29ya3MiKTsKKworICBjdHgudHJhbnNsYXRlKDEsIC0xKTsKKyAgdHJhbnNmb3Jt
ID0gY3R4LmdldFRyYW5zZm9ybSgpOworICBhc3NlcnRfYXJyYXlfYXBwcm94X2VxdWFscyhjdHgu
Z2V0VHJhbnNmb3JtKCkudG9GbG9hdDMyQXJyYXkoKSwKKyAgICBbMCwgMywgMCwgMCwgLTIsIDAs
IDAsIDAsIDAsIDAsIDEsIDAsIDIsIDMsIDAsIDFdLCBlcHNpbG9uLAorICAgICJBc3NlcnQgY29u
dGV4dDJkIHRyYW5zbGF0ZSB3b3Jrcy4iKTsKKworICBjdHgucmVzZXRUcmFuc2Zvcm0oKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyhjdHguZ2V0VHJhbnNmb3JtKCkudG9GbG9hdDMyQXJyYXkoKSwK
KyAgICBbMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMV0sCisg
ICAgIkFzc2VydCB0aGF0IGEgcmVzZXQgbWF0cml4IGlzIGlkZW50aXR5Iik7Cit9LCAnVGhpcyB0
ZXN0IGVuc3VyZXMgdGhhdCBnZXRUcmFuc2Zvcm0gd29ya3MgY29ycmVjdGx5LicpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
Lm9yZGVyLmh0bWwKaW5kZXggOGQwMWI1YWFjNmZjYTk3MDIxYzYzOTRmMDkwMzc3YTUyYjgxMWZj
YS4uYWVkOTJiZjVjYmI4OGQ0M2FiYjE3ZjlhZTg1NzczNGY5YjRkYWNmNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5vcmRlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbApAQCAtMyw3ICsz
LDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ub3Jk
ZXI8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ub3JkZXI8L2gxPgogPHAgY2xhc3M9ImRlc2MiPlRy
YW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgcmlnaHQgb3JkZXI8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJUcmFuc2Zvcm1hdGlv
bnMgYXJlIGFwcGxpZWQgaW4gdGhlIHJpZ2h0IG9yZGVyIik7Cit2YXIgdF9wYXNzID0gdC5kb25l
LmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7Cisg
ICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3Jl
ZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBA
QCBjdHgucm90YXRlKE1hdGguUEkgLyAyKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHgu
ZmlsbFJlY3QoMCwgLTUwLCA1MCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywg
NzUsMjUsIDAsMjU1LDAsMjU1LCAiNzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7
CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi5vcmRlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
Lm9yZGVyLndvcmtlci5qcwppbmRleCBlNmFhMTY5ZWQ4NWM2OGNkNGE5NTQyYjVjY2NjNmFkOGY1
MTYyNGQ4Li43OTA0ZmM0NGNlMjU0YmRmNDhjNmQ4MWJlNDM0ZWY1Njc1Y2JkZmM0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLndvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLm9yZGVyLndvcmtl
ci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0
cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgiVHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVk
IGluIHRoZSByaWdodCBvcmRlciIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAgY3R4LnJvdGF0ZShN
YXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIC01
MCwgNTAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSww
LDI1NSwgIjc1LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUu
ZGlyZWN0aW9uLmh0bWwKaW5kZXggODFkZmRhZGY4NzYxM2QyYjdlMmEwNDJiOTI0YWZiYjk0ZTFm
MDNlZC4uNTdiMjcwOTM1YTc0NTkwMzgxZjE3Y2VjMzQ3ZTc0NTMzZTMyYzBkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUu
ZGlyZWN0aW9uLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRl
c3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb248L3RpdGxlPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLmRpcmVjdGlvbjwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+cm90YXRlKCkgaXMg
Y2xvY2t3aXNlPC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5
bmNfdGVzdCgicm90YXRlKCkgaXMgY2xvY2t3aXNlIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJp
bmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAg
dGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5D
YW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBj
dHgucm90YXRlKE1hdGguUEkgLyAyKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmls
bFJlY3QoMCwgLTEwMCwgNTAsIDEwMCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsK
IAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLndvcmtlci5qcwppbmRleCAzMjgyOTZmY2UxN2My
YjY2NGUxMzUxMDBmN2Y1OTMzNWU0NTI4OTM0Li41ZmM4NzM3MjJlMjQ2ZWY1MDcyOTBhZTE3ZTlm
YTdmZTFjMjM3Zjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS5kaXJlY3Rpb24ud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlv
bnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLmRpcmVjdGlvbi53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIGlzIGNsb2Nrd2lzZSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIy
LDYgQEAgY3R4LnJvdGF0ZShNYXRoLlBJIC8gMik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIC0xMDAsIDUwLCAxMDApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNh
bnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5k
b25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5yb3RhdGUubm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbAppbmRleCBmYjZhNzNmYmY2MTA3OWJh
YmYzYjRkODVhYWZiNGY3NGQzZTZmZWVmLi5lMTc5NmM2Njc1ZDBlNWFmNTViZDYyY2VjZTgyZDI3
MjU3MzUzMjI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRs
ZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLm5vbmZpbml0
ZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+
CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj5yb3RhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgd2l0
aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnJv
dGF0ZShOYU4pOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAt
MTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1
LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUubm9u
ZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24u
cm90YXRlLm5vbmZpbml0ZS53b3JrZXIuanMKaW5kZXggZGJmZGZjNzZjNTcwMjhlOThkNjllM2M2
ZDEzYWQyOGM5YzQzZmVmMS4uMGY1ODgzNDQ3MDEzNjczZWE4M2ZiMDc2MjQyZjhkNWVkODE2Mjhk
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3Rh
dGUubm9uZmluaXRlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8v
IE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWlt
cG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190
ZXN0KCJyb3RhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNz
ID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVh
c29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjEs
NyArMjUsNiBAQCBjdHgucm90YXRlKE5hTik7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS5yYWRpYW5zLmh0bWwKaW5kZXggNTViYzI5MzA5ODEzMjliZDM4NGI0
Njk1Y2NjMDEzYTM0ZTYyNjc4ZC4uMzNiMzU5ZTA1MDRiZWQzY2YxNWY4MDA4MzYyZGJhNGJmYjQz
MmY2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5y
b3RhdGUucmFkaWFucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLnJhZGlhbnMuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3Jl
ZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnM8L3RpdGxlPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
MmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLnJhZGlhbnM8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJvdGF0
ZSgpIHVzZXMgcmFkaWFuczwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInJvdGF0ZSgpIHVzZXMgcmFkaWFucyIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIyLDcgKzI2
LDYgQEAgY3R4LnJvdGF0ZShNYXRoLlBJKTsgLy8gc2hvdWxkIGZhaWwgb2J2aW91c2x5IGlmIHRo
aXMgaXMgMy4xIGRlZ3JlZXMKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3Qo
LTEwMCwgLTUwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1
LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90
YXRlLnJhZGlhbnMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUucmFkaWFucy53b3JrZXIuanMKaW5kZXggMjQzZWQ1ZTQ2YzExMTdiZWFhOGI2
MGY0ZjFiY2YzNzQ1M2FhMDBhNi4uNTIwNmMyMDViYjlkY2M3OTEwMzk3NWFiZDZhYmUwNmVhZjI4
NjdlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5y
b3RhdGUucmFkaWFucy53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUucmFkaWFucy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8g
Tm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1w
b3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8y
ZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rl
c3QoInJvdGF0ZSgpIHVzZXMgcmFkaWFucyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnJv
dGF0ZShNYXRoLlBJKTsgLy8gc2hvdWxkIGZhaWwgb2J2aW91c2x5IGlmIHRoaXMgaXMgMy4xIGRl
Z3JlZXMKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAx
MDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXAuaHRt
bAppbmRleCA5YzEzMzNhMzYxMTYzMDMwMWJiYTRmN2U1MDg1OTczOWRjZmJmMjUxLi5jMDgyNDI2
ZTMwZTE5MWJkYzI0NzNmZWU4OWI2MGY0MTE4NTJmNzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcC5odG1sCkBAIC0zLDcg
KzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5y
b3RhdGUud3JhcDwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcDwvaDE+CiA8cCBj
bGFzcz0iZGVzYyI+cm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUgdmFsdWVzIGNvcnJlY3Rs
eTwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InJvdGF0ZSgpIHdyYXBzIGxhcmdlIHBvc2l0aXZlIHZhbHVlcyBjb3JyZWN0bHkiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yNyw3ICszMSw2IEBAIGN0eC5maWxsUmVjdCgtMTAwLCAtNTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDk4LDIsIDAsMjU1LDAs
MjU1LCAiOTgsMiIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgOTgsNDcsIDAsMjU1LDAsMjU1LCAiOTgsNDciLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5yb3RhdGUud3JhcC53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwLndvcmtlci5qcwppbmRleCA1YTdhNDEzYTYyYzQ3MjY3NzE3
NmYxYjlmZTY4ZTM5OTQyZDFmYWZkLi5mYTU1M2YwNmE2ZDVmOTE0NTkwNDNmYjI4YjcxMzc0ZGYw
MjYyM2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnJvdGF0ZS53cmFwLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnJvdGF0ZS53cmFwLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3Rl
OgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRT
Y3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgi
cm90YXRlKCkgd3JhcHMgbGFyZ2UgcG9zaXRpdmUgdmFsdWVzIGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTIzLDcgKzI3LDYgQEAgY3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0
UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1
NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMiwgMCwyNTUsMCwy
NTUsICI5OCwyIiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA5OCw0NywgMCwyNTUsMCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS5odG1sCmluZGV4IDEwOGY2ZDgzMDc4NmE2
NTFkNDkzNmM1ZDg1NWQ3ZTY2YWYwNmQ5ZjAuLjkzOWVhYmNkZTY1Mzg2MzMwODE1YmNmYTczZGY4
YmRlYzVkZTU3ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3Jt
YXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBA
QAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUu
d3JhcG5lZ2F0aXZlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmU8
L2gxPgogPHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgpIHdyYXBzIGxhcmdlIG5lZ2F0aXZlIHZhbHVl
cyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJyb3RhdGUoKSB3cmFwcyBsYXJnZSBuZWdhdGl2ZSB2YWx1ZXMgY29ycmVjdGx5
Iik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEw
MCwgNTApOwpAQCAtMjQsNyArMjgsNiBAQCBjdHguZmlsbFJlY3QoLTEwMCwgLTUwLCAxMDAsIDUw
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUw
LDI1IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCwy
LCAwLDI1NSwwLDI1NSwgIjk4LDIiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDk4LDQ3LCAwLDI1NSwwLDI1NSwgIjk4LDQ3IiwgIjAsMjU1LDAsMjU1Iik7
Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNm
b3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS53cmFwbmVnYXRpdmUud29ya2VyLmpz
CmluZGV4IDVkMTNiMzIyNGY4MTIxODk3NTk0ZmY2ZjFiOWU0NTdjY2Y4Mjk4MmYuLmQwNGI3OWYz
YmM1NzRkNGQxNjZhYTI3OGE3NzcyNjJjOTk3NGJjOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLndyYXBuZWdhdGl2ZS53b3JrZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUud3JhcG5l
Z2F0aXZlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3Jp
cHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9u
L2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgd3JhcHMg
bGFyZ2UgbmVnYXRpdmUgdmFsdWVzIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIwLDcgKzI0LDYgQEAg
Y3R4LmZpbGxSZWN0KC0xMDAsIC01MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVu
Q2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwogX2Fz
c2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTgsMiwgMCwyNTUsMCwyNTUsICI5OCwyIiwgIjAs
MjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA5OCw0NywgMCwyNTUs
MCwyNTUsICI5OCw0NyIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJv
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJv
Lmh0bWwKaW5kZXggMWQwYTNlNGMwM2NjNTU1NWM0MGE4Y2E1OWM0ZjRmNzllOTQ0MTUxYy4uOTMw
ODAyNzIzYzlmYzgyMTg4ZTAwNzlhZWY3NmIzOGM1OGVjZWVmNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm8uaHRtbApAQCAt
Myw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRp
b24ucm90YXRlLnplcm88L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24ucm90YXRlLnplcm88L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnJvdGF0ZSgpIGJ5IDAgZG9lcyBub3RoaW5nPC9wPgpAQCAtMTEsNiAr
MTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgYnkgMCBk
b2VzIG5vdGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwg
PSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsK
IHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3Jl
ZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC5yb3RhdGUoMCk7CiBjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5yb3RhdGUuemVyby53b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcwppbmRl
eCA0YjY2NGJlODBiYTUwZjQ3YWZiNTgxZWJiN2UyODEzMDI3YWRlN2I0Li41ZWRmOTY0ZjZjMjI1
NWY4ZmVjNzQxNGMzNTIzN2QzNDdiY2NkYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRp
b25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnJvdGF0ZS56ZXJvLndvcmtlci5qcwpAQCAt
NCw5ICs0LDEzIEBACiAvLyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIik7Ci1pbXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOwor
aW1wb3J0U2NyaXB0cygiLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAK
IHZhciB0ID0gYXN5bmNfdGVzdCgicm90YXRlKCkgYnkgMCBkb2VzIG5vdGhpbmciKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0xOCw3ICsyMiw2IEBAIGN0eC5yb3RhdGUoMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25l
KCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS5iYXNpYy5odG1sCmluZGV4IDFmNzYwYzEwMTU2NDMyNjVlMzk4NWQ5YTQ1NDNi
M2Y0MzQ2MmZhZjUuLjdkOGMwZjZiMjFiYTZkOWI2NDZjOGQ0NTRmYzQ0NWViNjBlMGRiZDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFz
aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
LmJhc2ljLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6
IDJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2Nh
bnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJj
ZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNj
YWxlLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdvcmtzPC9wPgpAQCAtMTEs
NiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgic2NhbGUoKSB3b3Jr
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNjYWxlKDIsIDQpOwogY3R4LmZpbGxTdHls
ZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCA1MCwgMTIuNSk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA5MCw0MCwgMCwyNTUsMCwyNTUsICI5MCw0MCIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmJhc2ljLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMud29ya2VyLmpzCmluZGV4IGQzNWEz
NTBjYWFjYWJjYjk5Njg3MjkxMzQ2YjIyNzg5NmUwOTcyMjguLmJjN2I1MDQyZmZkOWYwOTIwMmQz
ZmYzYzg0OGRlYTgyNTk4MmViYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuYmFzaWMud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRT
Y3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQg
PSBhc3luY190ZXN0KCJzY2FsZSgpIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgu
c2NhbGUoMiwgNCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAs
IDUwLCAxMi41KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDkwLDQwLCAwLDI1NSww
LDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uu
aHRtbAppbmRleCA1MzgzYjU0Y2Y4MDdlNGRkYmMwMTA2NmY1MDUzYzM0MzM4ZTM0NWNlLi5lYmVm
OWVmODNjYTQ2N2E5NDMxMjQxNWViZDg0ZmU3NzgyZjVlZTk5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZS5odG1sCkBAIC0z
LDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlv
bi5zY2FsZS5sYXJnZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5q
cyI+PC9zY3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5sYXJnZTwvaDE+CiA8
cCBjbGFzcz0iZGVzYyI+c2NhbGUoKSB3aXRoIGxhcmdlIHNjYWxlIGZhY3RvcnMgd29ya3M8L3A+
CkBAIC0xMSw2ICsxMSwxMCBAQAogPHAgY2xhc3M9Im5vdGVzIj5Ob3QgcmVhbGx5IHRoYXQgbGFy
Z2UgYXQgYWxsLCBidXQgaXQgaGl0cyB0aGUgbGltaXRzIGluIEZpcmVmb3guCiA8c2NyaXB0Pgog
dmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbGFyZ2Ugc2NhbGUgZmFjdG9ycyB3b3Jr
cyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1
bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygx
MDAsIDUwKTsKQEAgLTIyLDcgKzI2LDYgQEAgY3R4LnNjYWxlKDFlNSwgMWU1KTsKIGN0eC5maWxs
U3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLmxhcmdlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCmluZGV4IGE5MjI1
NTQyMDc3M2M4ZjJlZGFhYTY2MGNkZWUxMTEwOTA1NmE0NmEuLjQxMjY4MGUzOGE0OTMxYzQ0OTZh
YzU1NWUwOTdjNjQ3M2EwZDQyMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubGFyZ2Uud29ya2VyLmpzCkBAIC00LDkgKzQs
MTMgQEAKIC8vIE5vdGU6PHAgY2xhc3M9Im5vdGVzIj5Ob3QgcmVhbGx5IHRoYXQgbGFyZ2UgYXQg
YWxsLCBidXQgaXQgaGl0cyB0aGUgbGltaXRzIGluIEZpcmVmb3guCiAKIGltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2Fu
dmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52
YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbGFyZ2Ug
c2NhbGUgZmFjdG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE4LDcgKzIyLDYgQEAgY3R4LnNjYWxlKDFl
NSwgMWU1KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMSwg
MSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1
MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52
YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLmh0
bWwKaW5kZXggY2VhNzAzMDZmNDI3ODM5MWMyYjU3OTBkMzdiZTUwYjY2ZWY3OTJlZi4uYzA2ZmU2
MTQxMjk3NWExMGNjZTY5MGZlMWMwZjI5NmQyODg5YWI1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5tdWx0aXBsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlwbGUuaHRtbApA
QCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3Jt
YXRpb24uc2NhbGUubXVsdGlwbGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMt
dGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUubXVsdGlw
bGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPk11bHRpcGxlIHNjYWxlKClzIGNvbWJpbmU8L3A+CkBA
IC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJNdWx0aXBs
ZSBzY2FsZSgpcyBjb21iaW5lIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjMsNyArMjcsNiBAQCBjdHguc2NhbGUoTWF0
aC5zcXJ0KDIpLCBNYXRoLnNxcnQoMikpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5m
aWxsUmVjdCgwLCAwLCA1MCwgMjUpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAs
NDAsIDAsMjU1LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS5tdWx0aXBsZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnNjYWxlLm11bHRpcGxlLndvcmtlci5qcwppbmRleCAxMzQxMTY2YTNkYWY0ZTg1OWVl
NDEzNDc0NjU3Y2VlYmNjODNmNDYzLi44ZjEzMDRjZDEwMTY1ODEwOTIxNjYyODJmOGYxMzIzMTZl
NThiMzgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnNjYWxlLm11bHRpcGxlLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRy
YW5zZm9ybWF0aW9uLnNjYWxlLm11bHRpcGxlLndvcmtlci5qcwpAQCAtNCw5ICs0LDEzIEBACiAv
LyBOb3RlOgogCiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Ci1p
bXBvcnRTY3JpcHRzKCIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyIpOworaW1wb3J0U2NyaXB0cygi
LzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIik7CiAKIHZhciB0ID0gYXN5bmNf
dGVzdCgiTXVsdGlwbGUgc2NhbGUoKXMgY29tYmluZSIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTE5LDcgKzIzLDYgQEAg
Y3R4LnNjYWxlKE1hdGguc3FydCgyKSwgTWF0aC5zcXJ0KDIpKTsKIGN0eC5maWxsU3R5bGUgPSAn
IzBmMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3Jl
ZW5DYW52YXMsIDkwLDQwLCAwLDI1NSwwLDI1NSwgIjkwLDQwIiwgIjAsMjU1LDAsMjU1Iik7Ci0K
IHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUuaHRtbAppbmRleCA0ODgxMzgzZmQ4Y2QxYzY4
YTgxYjJmMThhMWJhNTk2NzBkMzgyMWI3Li4yYTE4NzkyNzQxZTQ0NDg1ZTE1ZTlhMTcxOTc4NmE5
MjhiM2QxOWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNjYWxlLm5lZ2F0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9m
ZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZTwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAKIDxo
MT4yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+
c2NhbGUoKSB3aXRoIG5lZ2F0aXZlIHNjYWxlIGZhY3RvcnMgd29ya3M8L3A+CkBAIC0xMSw2ICsx
MSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdpdGggbmVn
YXRpdmUgc2NhbGUgZmFjdG9ycyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQp
OwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93
IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFz
ID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTMwLDcgKzM0LDYgQEAgY3R4LmZp
bGxSZWN0KDUwLCAtNTAsIDUwLCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9m
ZnNjcmVlbkNhbnZhcywgMjUsMjUsIDAsMjU1LDAsMjU1LCAiMjUsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDI1LCAwLDI1NSwwLDI1NSwgIjc1
LDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubmVnYXRpdmUud29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2
ZS53b3JrZXIuanMKaW5kZXggMjdkNmRlMGM1MzA0YzMyZGJmYjQxMDNjY2VjMDE3ZDkxMGMxOGRk
OC4uZDY5N2EyNTg1NmJiOTBmNjU2ZmE0ZDAyMDg1MzExNzkyNjA5YWIyZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5uZWdhdGl2ZS53b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5u
ZWdhdGl2ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2Ny
aXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1v
bi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2Vz
L2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0aCBu
ZWdhdGl2ZSBzY2FsZSBmYWN0b3JzIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQo
dCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhy
b3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52
YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjYsNyArMzAsNiBAQCBjdHgu
ZmlsbFJlY3QoNTAsIC01MCwgNTAsIDUwKTsKIGN0eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAyNSwyNSwgMCwyNTUsMCwyNTUsICIyNSwyNSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNzUsMjUsIDAsMjU1LDAsMjU1LCAi
NzUsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRl
Lmh0bWwKaW5kZXggN2ZmYTMwMjMyMzMzZTRiODU3ZjAyOThjMzI0NjgwNWI0ZGRhZmViMi4uMTQ0
MzM1ZTNjZjFhZTk1MzRlNWFkMWMxNmViNjk4OTM2YWI5MGUxZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3Ry
YW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1j
YW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0ZS5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFu
c2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFz
LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
bm9uZmluaXRlPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj5zY2FsZSgpIHdpdGggSW5maW5pdHkvTmFO
IGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBh
c3luY190ZXN0KCJzY2FsZSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3ZhciB0
X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsK
IAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBA
IC0yOSw3ICszMyw2IEBAIGN0eC5zY2FsZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxT
dHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2Vy
dFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwy
NTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUud29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS5ub25maW5pdGUud29ya2Vy
LmpzCmluZGV4IGY4OTk1MGZlNmUxMmFjMTYzYWJiZjEwMjk2ODk3MTVkZTRlODA2YTEuLjlkY2Nh
ZGJhYzhiMzljNTlmMDRlZGZlN2ZjMzA0YTIwZjkwMDExZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFu
c2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLm5vbmZpbml0
ZS53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZh
cy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3QoInNjYWxlKCkgd2l0aCBJbmZpbml0
eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRf
ZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsK
K30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9m
ZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI1LDcgKzI5LDYgQEAgY3R4LnNjYWxlKEluZmlu
aXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0x
MDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwg
MCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNjYWxl
Lnplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUu
emVyby5odG1sCmluZGV4IDA5MmJhODZkM2Y5YTlkZDIyNTlhNTQ3ZWMzNTIyYThiYTEzMWI2NTUu
Ljk1YWE1Yjk3YTRiYzlmYzI4ODRhMjAyYTk1ZjkxZjJjNWNjOWRhOTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNh
bnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2NhbGUuemVyby5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1h
dGlvbi5zY2FsZS56ZXJvPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3Rz
LmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNjYWxlLnplcm88L2gxPgog
PHAgY2xhc3M9ImRlc2MiPnNjYWxlKCkgd2l0aCBhIHNjYWxlIGZhY3RvciBvZiB6ZXJvIHdvcmtz
PC9wPgpAQCAtMTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgi
c2NhbGUoKSB3aXRoIGEgc2NhbGUgZmFjdG9yIG9mIHplcm8gd29ya3MiKTsKK3ZhciB0X3Bhc3Mg
PSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFz
b24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFy
IG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0zMSw3
ICszNSw2IEBAIGN0eC5maWxsU3R5bGUgPSAnI2YwMCc7CiBjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CiBjdHgucmVzdG9yZSgpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAK
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
Y2FsZS56ZXJvLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24uc2NhbGUuemVyby53b3JrZXIuanMKaW5kZXggMjU1OTM1N2RiMDAzNGRiZGU0YjI2ODcwN2Zh
NjEwNzRhMmNjNTkwZi4uNmJiZmIyNWMyMjMxMzVjYmVlMWEwYTJiZDE2N2IyMDBmZjNhMjllNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zY2FsZS56
ZXJvLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnNjYWxlLnplcm8ud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9y
dFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9j
b21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291
cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzY2FsZSgpIHdp
dGggYSBzY2FsZSBmYWN0b3Igb2YgemVybyB3b3JrcyIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI3LDcgKzMxLDYgQEAg
Y3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIGN0
eC5yZXN0b3JlKCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9y
bS5tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5z
ZXRUcmFuc2Zvcm0ubXVsdGlwbGUuaHRtbAppbmRleCA2NjZiNGM1NGEzMmYyN2RjZTgxNzg3NjIz
MzU5MTVhOTU1YmYyYTJhLi44N2VlZTQzNWViNGY3NGU1OTgwMWQ1MDEwMGY4M2UwZjY1NzdmN2I5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRy
YW5zZm9ybS5tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0
bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5t
dWx0aXBsZTwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+CiAKIDxoMT4yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGU8L2gx
PgogPHAgY2xhc3M9ImRlc2MiPjwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2
YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFy
IHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNv
bjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3
IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTIzLDcgKzI3LDYgQEAgY3R4LnNldFRyYW5z
Zm9ybSgyLDAsIDAsMiwgMCwwKTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJl
Y3QoMCwgMCwgNTAsIDI1KTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDc1LDM1LCAw
LDI1NSwwLDI1NSwgIjc1LDM1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJh
bnNmb3JtLm11bHRpcGxlLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2V0VHJhbnNmb3JtLm11bHRpcGxlLndvcmtlci5qcwppbmRleCA4MzUzMDE2MjRh
ZTAwYjE3ZWE1ZGNkOTViY2ZkMmEzOTcwN2IyZGNiLi41NTJiMWY5MzQ1YTc4MDU4NDczZTc3OWI5
MDFlMDkwMWIzM2M1M2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5tdWx0aXBsZS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubXVsdGlwbGUud29ya2Vy
LmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3Rz
LmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMu
anMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC5zZXRUcmFuc2Zvcm0oMiwwLCAwLDIsIDAsMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwog
Y3R4LmZpbGxSZWN0KDAsIDAsIDUwLCAyNSk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFz
LCA3NSwzNSwgMCwyNTUsMCwyNTUsICI3NSwzNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUo
KTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnNldFRyYW5zZm9ybS5ub25maW5pdGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQu
dHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCmluZGV4IGZjYTVkNWRm
OTE5YjdkZTQ5NWY4YTBmNmYxZWYzNWM1MjUzYWFhOTYuLjQ2ZGQ1NjVhNjgyM2I2YWFmZGQ2NWY2
ZTM0M2UxM2ViZjJjODc3YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sCkBA
IC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0OiAyZC50cmFuc2Zvcm1h
dGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnNldFRy
YW5zZm9ybS5ub25maW5pdGU8L2gxPgogPHAgY2xhc3M9ImRlc2MiPnNldFRyYW5zZm9ybSgpIHdp
dGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQ8L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2Ny
aXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJzZXRUcmFuc2Zvcm0oKSB3aXRoIEluZmluaXR5L05h
TiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIgdF9mYWls
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29uOworfSk7
CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcgT2Zmc2Ny
ZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTcsNyArMTAxLDYgQEAgY3R4LnNldFRyYW5zZm9ybSgw
LCAwLCAwLCAwLCBJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsK
IGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVl
bkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQog
dC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIu
anMKaW5kZXggMTJjZGJjYTkyM2IxZGY2YzExMTBhNGE1ZDI4NmQwOTNhZjgxOWRhNC4uY2M4MjYz
MzUyMzhmNTE0MDgwZGZlMzQ5NDc1ODUwMzcyYTc3YjUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5z
Zm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0ubm9uZmluaXRlLndvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5z
Zm9ybS5ub25maW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGlt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMo
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJzZXRUcmFu
c2Zvcm0oKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5k
b25lLmJpbmQodCk7Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7
CisgICAgdGhyb3cgcmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZz
Y3JlZW5DYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtOTMsNyArOTcs
NiBAQCBjdHguc2V0VHJhbnNmb3JtKDAsIDAsIDAsIDAsIEluZmluaXR5LCBJbmZpbml0eSk7CiBj
dHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwy
NSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMv
dHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNr
ZXdlZC5odG1sCmluZGV4IGQzNjUwMmQzZDU5YjMwZjVmOGU3NmRjZjNkN2NiMzc1ZGIyMWI3N2Mu
LjZjOTExZjhhOWJiNzIwZmZlOGE2ZTY0MDY1YjUzZDk5YzQ0ZWQ5MDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZh
cy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24uc2V0VHJhbnNm
b3JtLnNrZXdlZC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkPC90aXRsZT4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvY29tbW9uL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29u
dGV4dC9yZXNvdXJjZXMvY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5z
Zm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQ8L2gxPgogPHAgY2xhc3M9ImRlc2MiPjwvcD4K
QEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoIiIpOwor
dmFyIHRfcGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUw
KTsKQEAgLTQ0LDcgKzQ4LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMTks
IDAsMjU1LDAsMjU1LCAiMzksMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZz
Y3JlZW5DYW52YXMsIDYxLDE5LCAwLDI1NSwwLDI1NSwgIjYxLDE5IiwgIjAsMjU1LDAsMjU1Iik7
CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwzMSwgMCwyNTUsMCwyNTUsICIzOSwz
MSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMzEs
IDAsMjU1LDAsMjU1LCAiNjEsMzEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi5zZXRU
cmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24uc2V0VHJhbnNmb3JtLnNrZXdlZC53b3JrZXIuanMKaW5kZXggNmQ3MjhiZmYzODgw
ZDdiMzU3OWI1NGY0NTRiNGYzNjljNjMzZmI5MC4uZjczMWVjZGNhYjBlMWJiNWI5YTU5Y2RkMmY0
NTcyMWE3MWJkMjRjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zv
cm1hdGlvbi5zZXRUcmFuc2Zvcm0uc2tld2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3Jt
YXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnNldFRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCkBA
IC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7
CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsK
IAogdmFyIHQgPSBhc3luY190ZXN0KCIiKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsK
K3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyBy
ZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9
IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC00MCw3ICs0NCw2IEBAIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDM5LDE5LCAwLDI1NSwwLDI1NSwgIjM5LDE5IiwgIjAsMjU1
LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA2MSwxOSwgMCwyNTUsMCwy
NTUsICI2MSwxOSIsICIwLDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZh
cywgMzksMzEsIDAsMjU1LDAsMjU1LCAiMzksMzEiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQ
aXhlbChvZmZzY3JlZW5DYW52YXMsIDYxLDMxLCAwLDI1NSwwLDI1NSwgIjYxLDMxIiwgIjAsMjU1
LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJh
bnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS5odG1sCmlu
ZGV4IGI1ODkwYzEwZjJhZGVkZThkZmFjYWY5Mzc1ZWRjNTBkZTJjYWQ1YWIuLjUwNjM5NTljOGMy
NmM4ZDlkMzVlY2ViYjExZGI1NTVlOGY3YjBkNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1h
dGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkuaHRt
bApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZzY3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNm
b3JtYXRpb24udHJhbnNmb3JtLmlkZW50aXR5PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2NhbnZh
cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLzJkY29udGV4dC9yZXNvdXJjZXMv
Y2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KIAogPGgxPjJkLnRyYW5zZm9ybWF0aW9uLnRyYW5z
Zm9ybS5pZGVudGl0eTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNmb3JtKCkgd2l0aCB0aGUg
aWRlbnRpdHkgbWF0cml4IGRvZXMgbm90aGluZzwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxz
Y3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggdGhlIGlkZW50aXR5
IG1hdHJpeCBkb2VzIG5vdGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3Zh
ciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFz
b247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5l
dyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0yMiw3ICsyNiw2IEBAIGN0eC50cmFuc2Zv
cm0oMSwwLCAwLDEsIDAsMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0
KDAsIDAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAs
MjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9v
ZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zv
cm0uaWRlbnRpdHkud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1h
dGlvbi50cmFuc2Zvcm0uaWRlbnRpdHkud29ya2VyLmpzCmluZGV4IDE2NmZjNWI0Yjg0ZTdjODMz
Y2E5Yjc4YmJjZThlYmQ3MzM0NGVhYTEuLjZiNWZiZGFkZjQ0OGY4ZmZiMzgzNDMwNGQ0OTgxYTEy
YjA2ODc2MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRp
b24udHJhbnNmb3JtLmlkZW50aXR5Lndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25z
LzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5pZGVudGl0eS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggdGhlIGlkZW50aXR5IG1hdHJpeCBkb2Vz
IG5vdGhpbmciKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0
LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQu
c3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5D
YW52YXMoMTAwLCA1MCk7CkBAIC0xOCw3ICsyMiw2IEBAIGN0eC50cmFuc2Zvcm0oMSwwLCAwLDEs
IDAsMCk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwg
NTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAi
NTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11
bHRpcGx5Lmh0bWwKaW5kZXggMWM2ZDE2NjFkYjU2YWU2MDA2N2VmMzY1MmJiYjFjYmE0M2U1OTE5
Mi4uZDM2YTUzOTBlMDI0N2ZmZDdjNTI3N2RiMjg4ODgyM2JkMmEyNjFiYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHku
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9y
bS5tdWx0aXBseS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0
ZXN0OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubXVsdGlwbHk8L3RpdGxlPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNm
b3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5PC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50cmFuc2Zv
cm0oKSBtdWx0aXBsaWVzIHRoZSBDVE08L3A+CkBAIC0xMSw2ICsxMSwxMCBAQAogCiA8c2NyaXB0
PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0iKTsK
K3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlv
bigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1
MCk7CkBAIC0yMyw3ICsyNyw2IEBAIGN0eC50cmFuc2Zvcm0oLTIsMSwgMy8yLC0xLzIsIDEsLTIp
OwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
IF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90
cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11bHRpcGx5Lndvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2Ny
ZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm11
bHRpcGx5Lndvcmtlci5qcwppbmRleCBmMDFkM2Q5OTJmZGU1ZjJlOGJlOTBjNjc4ZDAyNDI1OWYw
ZmZlNDM3Li5mNjEzZjMyOGE4OTZmNzkwYWNiMjg2ZDdkN2M1NTcxZDAzZmIyZjczIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5tdWx0
aXBseS53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0ubXVsdGlwbHkud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6
CiAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNj
cmlwdHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250
ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0
cmFuc2Zvcm0oKSBtdWx0aXBsaWVzIHRoZSBDVE0iKTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmlu
ZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0
aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNh
bnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7CkBAIC0xOSw3ICsyMyw2IEBAIGN0
eC50cmFuc2Zvcm0oLTIsMSwgMy8yLC0xLzIsIDEsLTIpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQu
ZG9uZSgpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNm
b3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLmh0bWwKaW5kZXggMjA3MWM3M2Q4
ZjFjNmRmZDI3YWNiYzQ0ZGI3ZWUwN2Q3M2MzZGY4NC4uYzhmMjdiODc0YWY0ZWU1ZTA4MzEwYjNk
NzAwMjg5ZDE0MzZkZDNjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0
aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0ubm9uZmluaXRlLmh0bWwKQEAgLTMsNyAr
Myw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2FudmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zZm9ybS5ub25maW5pdGU8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVz
dHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZp
bml0ZTwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNmb3JtKCkgd2l0aCBJbmZpbml0eS9OYU4g
aXMgaWdub3JlZDwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFz
eW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQiKTsKK3Zh
ciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAwLCA1MCk7
CkBAIC05Nyw3ICsxMDEsNiBAQCBjdHgudHJhbnNmb3JtKDAsIDAsIDAsIDAsIEluZmluaXR5LCBJ
bmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4LmZpbGxSZWN0KC0xMDAsIC0x
MCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCA1MCwyNSwgMCwyNTUs
MCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRvbmUoKTsKIAogfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNj
cmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5u
b25maW5pdGUud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlv
bi50cmFuc2Zvcm0ubm9uZmluaXRlLndvcmtlci5qcwppbmRleCAxZWUzNjU5NjI4Yzk3MGUxOTZk
ZWJkMWJhMGJiN2EzZjgyOWI5MThiLi5iMDYyY2E5Y2I4YzQ1NzgxNzAzZjBkMWRhNjg1ODMxYTNi
ZmM3N2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnRyYW5zZm9ybS5ub25maW5pdGUud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtLm5vbmZpbml0ZS53b3JrZXIuanMKQEAgLTQsOSAr
NCwxMyBAQAogLy8gTm90ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOwotaW1wb3J0U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9y
dFNjcmlwdHMoIi8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIg
dCA9IGFzeW5jX3Rlc3QoInRyYW5zZm9ybSgpIHdpdGggSW5maW5pdHkvTmFOIGlzIGlnbm9yZWQi
KTsKK3ZhciB0X3Bhc3MgPSB0LmRvbmUuYmluZCh0KTsKK3ZhciB0X2ZhaWwgPSB0LnN0ZXBfZnVu
YyhmdW5jdGlvbihyZWFzb24pIHsKKyAgICB0aHJvdyByZWFzb247Cit9KTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKIAogdmFyIG9mZnNjcmVlbkNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMoMTAw
LCA1MCk7CkBAIC05Myw3ICs5Nyw2IEBAIGN0eC50cmFuc2Zvcm0oMCwgMCwgMCwgMCwgSW5maW5p
dHksIEluZmluaXR5KTsKIGN0eC5maWxsU3R5bGUgPSAnIzBmMCc7CiBjdHguZmlsbFJlY3QoLTEw
MCwgLTEwLCAxMDAsIDUwKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDUwLDI1LCAw
LDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7Ci0KIHQuZG9uZSgpOwogCiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNm
b3JtLnNrZXdlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0uc2tld2VkLmh0bWwKaW5kZXggODM3NjllMDM0NDY2M2Q5NGY1NGZiMWM2NjQ2NDc2
MDZmOWU5NjA1MC4uYzY5MWFhNTA0MTFjMDJlYzJlZGRjN2FiODBiNGUxOTU4ZDA5NjgwMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0u
c2tld2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2Zvcm0uc2tld2VkLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8dGl0bGU+T2Zmc2NyZWVuQ2Fu
dmFzIHRlc3Q6IDJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybS5za2V3ZWQ8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9jb21tb24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRj
b250ZXh0L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJh
bnNmb3JtYXRpb24udHJhbnNmb3JtLnNrZXdlZDwvaDE+CiA8cCBjbGFzcz0iZGVzYyI+dHJhbnNm
b3JtKCkgd2l0aCBza2V3eSBtYXRyaXggdHJhbnNmb3JtcyBjb3JyZWN0bHk8L3A+CkBAIC0xMSw2
ICsxMSwxMCBAQAogCiA8c2NyaXB0PgogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2Zvcm0oKSB3
aXRoIHNrZXd5IG1hdHJpeCB0cmFuc2Zvcm1zIGNvcnJlY3RseSIpOwordmFyIHRfcGFzcyA9IHQu
ZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikg
eworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zm
c2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTQ0LDcgKzQ4
LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMTksIDAsMjU1LDAsMjU1LCAi
MzksMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5DYW52YXMsIDYx
LDE5LCAwLDI1NSwwLDI1NSwgIjYxLDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNzZXJ0UGl4ZWwo
b2Zmc2NyZWVuQ2FudmFzLCAzOSwzMSwgMCwyNTUsMCwyNTUsICIzOSwzMSIsICIwLDI1NSwwLDI1
NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMzEsIDAsMjU1LDAsMjU1LCAi
NjEsMzEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2Fu
dmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tld2VkLndv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zm
c2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNmb3Jt
LnNrZXdlZC53b3JrZXIuanMKaW5kZXggYjhhZTgzZmRhN2QzZGJkZGFkN2ZkMjYyMjY1NmRiMmZm
MjhmMWY3My4uNzI2ZmJhNzg3N2ZlZDRlZGIzMDg1ZmIyOGQwYWZhMDFkMGY3NDk0NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2Zvcm0uc2tl
d2VkLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9u
LnRyYW5zZm9ybS5za2V3ZWQud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlw
dHMoIi9jb21tb24vY2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0
L3Jlc291cmNlcy9jYW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFu
c2Zvcm0oKSB3aXRoIHNrZXd5IG1hdHJpeCB0cmFuc2Zvcm1zIGNvcnJlY3RseSIpOwordmFyIHRf
cGFzcyA9IHQuZG9uZS5iaW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHJlYXNvbikgeworICAgIHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewog
CiB2YXIgb2Zmc2NyZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAg
LTQwLDcgKzQ0LDYgQEAgX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgMzksMTksIDAsMjU1
LDAsMjU1LCAiMzksMTkiLCAiMCwyNTUsMCwyNTUiKTsKIF9hc3NlcnRQaXhlbChvZmZzY3JlZW5D
YW52YXMsIDYxLDE5LCAwLDI1NSwwLDI1NSwgIjYxLDE5IiwgIjAsMjU1LDAsMjU1Iik7CiBfYXNz
ZXJ0UGl4ZWwob2Zmc2NyZWVuQ2FudmFzLCAzOSwzMSwgMCwyNTUsMCwyNTUsICIzOSwzMSIsICIw
LDI1NSwwLDI1NSIpOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgNjEsMzEsIDAsMjU1
LDAsMjU1LCAiNjEsMzEiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUu
YmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLmJhc2ljLmh0bWwKaW5kZXggMjk3OGJlODE0OTU3ZTFiODIyYWUzNjYzZWI4MDU5ZDMwOTcy
MzBmZi4uMGNkZjJhMWY5ZWFjOGEzZTQ0YjVhNDAyNjdjMjNiMjYzMTllOTEyMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4t
Y2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0
ZS5iYXNpYy5odG1sCkBAIC0zLDcgKzMsNyBAQAogPHRpdGxlPk9mZnNjcmVlbkNhbnZhcyB0ZXN0
OiAyZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUuYmFzaWM8L3RpdGxlPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21t
b24vY2FudmFzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvMmRjb250ZXh0L3Jl
c291cmNlcy9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgogCiA8aDE+MmQudHJhbnNmb3JtYXRp
b24udHJhbnNsYXRlLmJhc2ljPC9oMT4KIDxwIGNsYXNzPSJkZXNjIj50cmFuc2xhdGUoKSB3b3Jr
czwvcD4KQEAgLTExLDYgKzExLDEwIEBACiAKIDxzY3JpcHQ+CiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InRyYW5zbGF0ZSgpIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjIsNyArMjYsNiBAQCBjdHgudHJhbnNsYXRl
KDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAt
NTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1
LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUu
YmFzaWMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50
cmFuc2xhdGUuYmFzaWMud29ya2VyLmpzCmluZGV4IGUwMTlhYmIyNWE1NDUwZTRjMTI0Y2I3OThm
YjRiODQzNGNiMThkNjYuLjVmNmQwMzkzYjFhNWM1NDk3YjkyOWIzNjE4YTRjNWU3NDQ2NDhmMjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNs
YXRlLmJhc2ljLndvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9y
bWF0aW9uLnRyYW5zbGF0ZS5iYXNpYy53b3JrZXIuanMKQEAgLTQsOSArNCwxMyBAQAogLy8gTm90
ZToKIAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwotaW1wb3J0
U2NyaXB0cygiL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiKTsKK2ltcG9ydFNjcmlwdHMoIi8yZGNv
bnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyIpOwogCiB2YXIgdCA9IGFzeW5jX3Rlc3Qo
InRyYW5zbGF0ZSgpIHdvcmtzIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7Cit2YXIg
dF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cgcmVhc29u
OworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMgPSBuZXcg
T2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMTgsNyArMjIsNiBAQCBjdHgudHJhbnNsYXRl
KDEwMCwgNTApOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKIGN0eC5maWxsUmVjdCgtMTAwLCAt
NTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNjcmVlbkNhbnZhcywgOTAsNDAsIDAsMjU1
LDAsMjU1LCAiOTAsNDAiLCAiMCwyNTUsMCwyNTUiKTsKLQogdC5kb25lKCk7CiAKIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZz
Y3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUu
bm9uZmluaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRy
YW5zbGF0ZS5ub25maW5pdGUuaHRtbAppbmRleCAwYTkwZjcyNWIzNGViYTUyOGQwNmZiMTJjNDZk
ZWU3OGRjMzc4MmU4Li5kMmU4N2M1ZTVjMmNiNzU2YTk1MWI3MzQ3N2E0ODQ1YzJmOTI3Y2EyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29m
ZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0
ZS5ub25maW5pdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0
aW9uLnRyYW5zbGF0ZS5ub25maW5pdGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDx0aXRsZT5PZmZz
Y3JlZW5DYW52YXMgdGVzdDogMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZTwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii8yZGNvbnRleHQvcmVzb3VyY2VzL2NhbnZhcy10ZXN0cy5qcyI+PC9zY3JpcHQ+CiAK
IDxoMT4yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlPC9oMT4KIDxwIGNsYXNz
PSJkZXNjIj50cmFuc2xhdGUoKSB3aXRoIEluZmluaXR5L05hTiBpcyBpZ25vcmVkPC9wPgpAQCAt
MTEsNiArMTEsMTAgQEAKIAogPHNjcmlwdD4KIHZhciB0ID0gYXN5bmNfdGVzdCgidHJhbnNsYXRl
KCkgd2l0aCBJbmZpbml0eS9OYU4gaXMgaWdub3JlZCIpOwordmFyIHRfcGFzcyA9IHQuZG9uZS5i
aW5kKHQpOwordmFyIHRfZmFpbCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlYXNvbikgeworICAg
IHRocm93IHJlYXNvbjsKK30pOwogdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgb2Zmc2NyZWVu
Q2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcygxMDAsIDUwKTsKQEAgLTI5LDcgKzMzLDYgQEAg
Y3R4LnRyYW5zbGF0ZShJbmZpbml0eSwgSW5maW5pdHkpOwogY3R4LmZpbGxTdHlsZSA9ICcjMGYw
JzsKIGN0eC5maWxsUmVjdCgtMTAwLCAtMTAsIDEwMCwgNTApOwogX2Fzc2VydFBpeGVsKG9mZnNj
cmVlbkNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsK
LQogdC5kb25lKCk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50
cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLndvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zv
cm1hdGlvbnMvMmQudHJhbnNmb3JtYXRpb24udHJhbnNsYXRlLm5vbmZpbml0ZS53b3JrZXIuanMK
aW5kZXggZWEyNjE3ODE1MWZlYTAwYWYyOWZhOGJjN2ZlYjkzM2EzZTkyNDcxYS4uMzA1NWM1ODgw
Njg3MmM4NWJjMGJhMjQxYjA2MmU3MThiNzUwMDdlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9y
bWF0aW9ucy8yZC50cmFuc2Zvcm1hdGlvbi50cmFuc2xhdGUubm9uZmluaXRlLndvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL29mZnNjcmVl
bi1jYW52YXMvdHJhbnNmb3JtYXRpb25zLzJkLnRyYW5zZm9ybWF0aW9uLnRyYW5zbGF0ZS5ub25m
aW5pdGUud29ya2VyLmpzCkBAIC00LDkgKzQsMTMgQEAKIC8vIE5vdGU6CiAKIGltcG9ydFNjcmlw
dHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKLWltcG9ydFNjcmlwdHMoIi9jb21tb24v
Y2FudmFzLXRlc3RzLmpzIik7CitpbXBvcnRTY3JpcHRzKCIvMmRjb250ZXh0L3Jlc291cmNlcy9j
YW52YXMtdGVzdHMuanMiKTsKIAogdmFyIHQgPSBhc3luY190ZXN0KCJ0cmFuc2xhdGUoKSB3aXRo
IEluZmluaXR5L05hTiBpcyBpZ25vcmVkIik7Cit2YXIgdF9wYXNzID0gdC5kb25lLmJpbmQodCk7
Cit2YXIgdF9mYWlsID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVhc29uKSB7CisgICAgdGhyb3cg
cmVhc29uOworfSk7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBvZmZzY3JlZW5DYW52YXMg
PSBuZXcgT2Zmc2NyZWVuQ2FudmFzKDEwMCwgNTApOwpAQCAtMjUsNyArMjksNiBAQCBjdHgudHJh
bnNsYXRlKEluZmluaXR5LCBJbmZpbml0eSk7CiBjdHguZmlsbFN0eWxlID0gJyMwZjAnOwogY3R4
LmZpbGxSZWN0KC0xMDAsIC0xMCwgMTAwLCA1MCk7CiBfYXNzZXJ0UGl4ZWwob2Zmc2NyZWVuQ2Fu
dmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOwotCiB0LmRv
bmUoKTsKIAogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy93M2MtaW1wb3J0LmxvZwppbmRleCA0NDY2ZWYwZTZj
NGU0ODdmMDk4NTJlZjhiNTdlNDY0M2ZlYTU5OTE0Li5hOTVlYjg3MWI1NTNkNTEyODA4NWUxMzA3
NDVjZjMwZWI1MjQ3OTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvdHJhbnNmb3JtYXRpb25zL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
b2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDYg
KzE0LDcgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25l
CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8y
ZC50cmFuc2Zvcm1hdGlvbi5nZXRUcmFuc2Zvcm0uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMv
MmQudHJhbnNmb3JtYXRpb24ub3JkZXIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy90cmFuc2Zvcm1hdGlvbnMvMmQudHJh
bnNmb3JtYXRpb24ub3JkZXIud29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RyYW5zZm9ybWF0aW9ucy8yZC50cmFu
c2Zvcm1hdGlvbi5yb3RhdGUuZGlyZWN0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjIxM2M1M2E0NDhhYmJmNDU2OTc5NjI1ZTI3YjliZDFm
YjI4OTM4Yi4uMjc2ZjY4NjBjM2ZkYTBiMWQ1YWIzNWE0MzY0ZTZjNWYxMjJiMDM4OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2LDggKzI2LDEwIEBA
IHN3aXBlIFsgUGFzcyBdCiAjIE9mZnNjcmVlbkNhbnZhcwogd2Via2l0Lm9yZy9iLzIwMzE0NiBm
YXN0L2NhbnZhcy9vZmZzY3JlZW4tZW5hYmxlZC5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2Iv
MjAzMTQ2IGh0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KLSMgU2VlIHdlYmtpdC5v
cmcvYi8yMDU0NDUgYmVmb3JlIGVuYWJsaW5nIHRoaXMgYmFjawotIyB3ZWJraXQub3JnL2IvMjAz
MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcyBbIFBh
c3MgXQord2Via2l0Lm9yZy9iLzIwMzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8xODY3NTkgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzL3RleHQgWyBTa2lwIF0KK3dl
YmtpdC5vcmcvYi8yMDYwNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3Jl
ZW4tY2FudmFzL2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnN2Zy53
b3JrZXIuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzIwNjA1NSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL29mZnNjcmVlbi1jYW52YXMvZHJhd2luZy1pbWFnZXMtdG8tdGhlLWNh
bnZhcy8yZC5kcmF3SW1hZ2UuemVyb3NvdXJjZS5pbWFnZS53b3JrZXIuaHRtbCBbIFNraXAgXQog
CiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVj
aWZpYyBkaXJlY3Rvcmllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNDg1OGUyOGI4YjEzYjRhMjE1MDU1N2YzOTAwZmZkYzQ0MWY0MTUwMC4uZTQ5NTAx
ODY3NDYwMDRhZjQ0MmNhYWYxZGM5ZjgwNGYzMzkzYWFmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUsOCArNSwxMCBAQAogIyBPZmZzY3JlZW5DYW52
YXMKIHdlYmtpdC5vcmcvYi8yMDMxNDYgZmFzdC9jYW52YXMvb2Zmc2NyZWVuLWVuYWJsZWQuaHRt
bCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzE0NiBodHRwL3dwdC9vZmZzY3JlZW4tY2FudmFz
IFsgUGFzcyBdCi0jIFNlZSB3ZWJraXQub3JnL2IvMjA1NDQ1IGJlZm9yZSBlbmFibGluZyB0aGlz
IGJhY2sKLSMgd2Via2l0Lm9yZy9iLzIwMzE0NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL29mZnNjcmVlbi1jYW52YXMgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8yMDMxNDYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFzIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMTg2NzU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVu
LWNhbnZhcy90ZXh0IFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMjA2MDU1IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvb2Zmc2NyZWVuLWNhbnZhcy9kcmF3aW5nLWltYWdlcy10by10aGUt
Y2FudmFzLzJkLmRyYXdJbWFnZS5zdmcud29ya2VyLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcv
Yi8yMDYwNTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9vZmZzY3JlZW4tY2FudmFz
L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvMmQuZHJhd0ltYWdlLnplcm9zb3VyY2UuaW1h
Z2Uud29ya2VyLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>